cancel
Showing results for 
Search instead for 
Did you mean: 

Saldo Acumulado en Query

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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,

Former Member
0 Kudos

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.

Former Member
0 Kudos

Que tal Marcela,

Te explico un poco la forma como yo hago mis totales acumulados:

  1. En crystal reports, creo un campo de totales acumulados, en mi caso yo utilizo para un balance, la columna saldo (cargos - abonos). Selecciono ese campo y es en el que baso el total.
  2. En tipo de resumen selecciono "suma".
  3. Selecciono en el apartado "evaluar para:" la opción "para cada registro".
  4. En el apartado "restablecer" seleccionas la opción "al cambiar del grupo". Te recomiendo tener un grupo basado en el código de la cuenta, para que tengas tu detalle de transacciones y acumulados por cuentas contables.
  5. Este campo lo pones en la sección "detalle".

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,

Former Member
0 Kudos

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

Former Member
0 Kudos

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,

Former Member
0 Kudos

Ok Nuevamente Muchas Gracias Carlos.

Saludos,

Former Member
0 Kudos

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

Former Member
0 Kudos

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,

Answers (0)