on 08-14-2013 3:46 PM
Buen Día.
Necesito elaborar un reporte donde me aparezca el saldo acumulado tal como lo muestra el detalle de una cuenta en SAP.
Sera que alguien me puede ayudar por favor.
Utilizo SAP 8.82
Gracias
Buen día Marcela,
Podrías comentarme si utilizarás crystal reports para generar tu reporte, si es así, sería más sencillo tener un campo de total acumulado, agrupando tu reporte por cuenta. Quedaría algo como esto:
Donde la columna "SALDO" es el total acumulado a nivel detalle.
En SQL es un poco más elaborado, mas no es imposible, te dejo un pequeño query que puede ayudarte:
SELECT T2.FormatCode, T2.AcctName, T1.Debit, T1.Credit, T1.Debit-T1.Credit [Balance],
(SELECT SUM(T.Debit-T.Credit) FROM JDT1 T WHERE T.Account = T1.Account AND T.TransId <= T1.TransId) [Saldo],
T1.TransId
FROM JDT1 T1
INNER JOIN OACT T2 ON T1.Account = T2.AcctCode
Espero sean de utilidad para que puedas elaborarlo.
Saludos cordiales,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola Carlos Gracias por responder, Te comento que si lo deseo elaborarlo en Crystal. Te Explico un poco mejor lo que quiero lograr:
Veras lo que deseo es ver el detalle de la cuenta tal cual lo muestra SAP con el Saldo Acumulado, pero las cuentas que se desean ver son de Ventas entonces al mismo tiempo tendría que restar las devoluciones. porque se desea ver en gráfica el saldo acumulado por semana.
Primero lo había realizado: 'Vtas' union all 'Devoluciones' y el saldo acumulado en Ventas y Devoluciones estaban bien, pero luego tenia el problema para mostrarlo en la grafica porque si en una semana hubo devolución debía restarla.
y luego lo intente hacer con este query:
SELECT Mes=DATENAME(MONTH, T0.RefDate),
Semana=DATEpart(WK, t0.refdate),
(t0.Credit-t0.Debit)'CreditoC/D(ML)',
t0.credit,
t0.debit,
CASE
WHEN (isnull((SELECT T.DEBIT FROM dbo.JDT1 T WHERE T.Account in ('CtaDev1','CtaDev2') and DATEpart(WK, t.refdate) = DATEpart(WK, t0.refdate) and t.Debit=t0.Credit),0)*-1) = 0 THEN ((isnull((SELECT sum(T.Debit-T.Credit) FROM dbo.JDT1 T WHERE T.TransId < T0.TransId AND T.Account = T0.Account AND T.RefDate BETWEEN '20130101' AND '20130531' )-(T0.Credit),-T0.credit)))*-1
ELSE ((SELECT SUM(T.Debit-T.Credit) FROM dbo.JDT1 T WHERE T.TransId < T0.TransId AND T.Account = T0.Account AND T.RefDate BETWEEN '20130101' AND '20130531')+T0.Debit)*-1
END 'Saldo Acumulado',
'Devoluciones'=(isnull((SELECT T.DEBIT FROM dbo.JDT1 T WHERE T.Account in ('CtaDev1','CtaDev2') and DATEpart(WK, t.refdate) = DATEpart(WK, t0.refdate) and t.Debit=t0.Credit),0)*-1)
FROM JDT1 T0
INNER JOIN OACT T1 ON T1.AcctCode = T0.Account
WHERE T0.RefDate BETWEEN '20130101' AND '20130531' AND T0.account ='CtaVta'
order by t0.RefDate
Espero darme a entender y puedas ayudarme,
Si puede explicarme como sacar el saldo acumulado en Crystal por favor
de antemano Muchas Gracias.
Bendiciones.
Que tal Marcela,
Te explico un poco la forma como yo hago mis totales acumulados:
Respecto a tu consulta, por rendimiento de la misma, yo te recomiendo que el acumulado lo hagas por crystal. También podrías poner la consulta anterior donde utilizabas "UNION".
Saludos,
Woooow de verdad Muchisisisisimas Gracias era lo que necesitaba, abusando de tu amabilidad una consulta Sabes como puedo colocar el Saldo inicial. Como se sacara por rango de Fecha dependiendo de esta el saldo acumulado arrastra un saldo inicial. no se si hay manera de colocarlo en Crystal?.
Saludos
Buen día Marcela,
Claro, la forma como lo hago, es hacer un UNION, con la misma consulta que utilizas para determinar los saldos de las cuentas, pero en la condición, pongo algo como WHERE BaseRef < @FechaInicial y con esto hago un SUM(Debit - Credit).
Me alegra haberte podido ayudar, por favor, si la respuesta es la solución a tu pregunta, podrías ponerla como contestada.
Saludos,
Hola Carlos, tengo un problema algo parecido a Marcela, en este caso quiero hacer un reporte de caja por fecha en el que yo ingrese la fecha y me aparezca el reporte de la fecha en cuestion con el saldo anterior de la fecha anterior
Lo que he hecho en sql es:
SELECT fecha, 'Saldo anterior' AS Concepto,detalle,
sum(montoing) - sum(MontoEgreso) AS ingresos,0 as montoegreso
FROM CAJACHICA
where fecha='2014-06-18'
group by fecha,detalle
union SELECT fecha, concepto,detalle, MontoIng,MontoEgreso
FROM CAJACHICA WHERE fecha between '2014-06-19' AND '2014-06-19'
el cual me bota el saldo anterior pero como lo hago en crystal report.
Gracias por la ayuda
Buenas Tardes
Carlos Ventura;
Tu query me ha fucnionado de maravilla, pero en todas las cuentas me funciona perfecto los saldos, excepto en las cuentas que estan marcadas en verde. y no tiene el check de asociada.
solo en esas cuentas no genera el saldo correcto.
Que podra ser, en espera de tu ayuda.
Gracias anticipadas,
User | Count |
---|---|
110 | |
12 | |
11 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.