Estimados,
Les escribo por lo siguiente:
Estoy haciendo el libro mayor de SAP en un informe de crystal con la siguiente query:
SELECT T0."Account",
T7."CardName",
T2."ActId",
T2."AcctName" ,
T1."RefDate" AS "FechaContabilizacion",
T1."DueDate" AS "FechaVencimiento" ,
T0."TransType",
T4."ObjCod" AS "Codigo" ,
T1."Number" AS "NroDocum" ,
CONCAT(CONCAT(T4."ObjCod" ,
' '),
CAST(T1."Number" as numeric)) AS "Documento",
T0."TransId" AS "NroTransaccion" ,
T1."Memo" AS Comentario ,
T1."PTICode" AS "CodigoPOI",
T1."Letter" AS "Carta",
T1."FolNumFrom" AS "FolioDesde",
T1."FolNumTo" AS "FolioHasta" ,
T0."ContraAct" AS "CuentaContrapartida" ,
T3."AcctName" AS "NombreCtaContraPartida" ,
T0."Credit" AS "CREDITO",
T0."Debit" AS "DEBITO"
FROM JDT1 T0
INNER JOIN OJDT T1 ON T1."TransId" = T0."TransId"
INNER JOIN OACT T2 ON T2."AcctCode" = T0."Account"
INNER JOIN OACT T3 ON T3."AcctCode" = T0."ContraAct"
left join OCRD T7 ON T0."ShortName"=T7."CardCode"
INNER JOIN "VU_DOCUMSAP" T4 ON T4."ObjType" = T0."TransType"
ORDER BY T1."RefDate"
Para sacar el saldo realicé un campo de totales en crystal.
Si bien, el débito y el crédito son correctos, el saldo no lo es ya que no tengo en cuenta el acumulado (saldo inicial) de esa cuenta.
Es decir, en la imagen me traigo todos los comprobantes del 30072019 al 30072019 pero no se cuál era el saldo que ya traiga acumulado esa cuenta antes del 30072019, el cuál lo debería ir sumando y restando al saldo.
Se les ocurre alguna forma de obtenerlo? Lo pude sacar con una query pero no se como realizarlo en crystal.
Query SAP Saldo acumulado:
SELECT TOP 1
T1."AcctName",
(CASE
WHEN T0."Debit" = 0 THEN ((SELECT SUM(T."Debit"-T."Credit") FROM JDT1 T WHERE T."TransId" < T0."TransId" AND T."Account" = T0."Account" AND T."RefDate" BETWEEN '[%0]' AND '[%1]')-T0."Credit")
ELSE ((SELECT SUM(T."Debit"-T."Credit") FROM JDT1 T WHERE T."TransId" < T0."TransId" AND T."Account" = T0."Account" AND T."RefDate" BETWEEN '[%0]' AND '[%1]')+T0."Debit")
END) "Saldo"
FROM JDT1 T0
INNER JOIN OACT T1 ON T1."AcctCode" = T0."Account"
WHERE T0."RefDate" BETWEEN '[%0]' AND '[%1]' AND T1."FormatCode" = '[%2]'
--group by T1."AcctName",T0."Debit",T0."Credit",T0."TransId",T0."Account"
ORDER BY T0."TransId" desc
Gracias!!!