on 06-28-2011 5:13 PM
Estimados Expertos:
Tengo un query donde se refleja los movimientos contables de cada cuenta, parecido al Libro Mayor. Se añadió este query ya que en el libro mayor no refleja el beneficiario (En favor de) cuando se hace el Pago Efectuado tipo "Cuenta".
Mi problema es que no logro poner el acumulado, ejemplo:
Debit Credit Acumulado
5__________5
_______3_____2
1__________3
Este es el query que estoy utilizando:
SELECT
T1.TransId 'Asiento',
T0.AcctName,
T1.RefDate 'Fecha Contable',
T1.ContraAct 'C.C. o S/N',
T5.CardName 'Nombre S/N',
T1.Ref3Line 'Ck o Referencia',
T4.Memo 'Comentarios',
T1.Debit 'Debe C$',
T1.Credit 'Haber C$',
(T1.Debit - T1.Credit) 'SALDO C$',
T6.Rate 'T/C'
FROM OACT T0
INNER JOIN JDT1 T1 ON T1.Account = T0.AcctCode
INNER JOIN OJDT T2 ON T1.Transid = T2.Transid
INNER JOIN OUSR T3 ON T1.UserSign = T3.UserID
INNER JOIN OJDT T4 ON T1.Transid = T4.Transid
LEFT JOIN OVPM T5 ON T1.Transid = T5.Transid
LEFT JOIN ORTT T6 ON T1.RefDate = T6.RateDate
WHERE T0.FormatCode =[%6] AND T1.RefDate BETWEEN AND
ORDER BY T1.RefDate
Sres, ¿como puedo agregar el acumulado?, parecido a como lo muestra el libro mayor. He intentado hacerlo a través de un Stored Procedure pero todo lo que he hecho me ha salido malo.
Humildemente les pido de su valiosa ayuda.
Gracias
Hola
Con este query me funciono
SELECT T0.TransId, T1.AcctName, T0.ContraAct, T0.Ref3Line, T0.RefDate, T0.Debit, T0.Credit,
CASE
WHEN T0.Debit = 0 THEN ((SELECT SUM(T.Debit-T.Credit) FROM dbo.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 dbo.JDT1 T WHERE T.TransId < T0.TransId AND T.Account = T0.Account AND T.RefDate BETWEEN '[%0]' AND '[%1]')+T0.Debit)
END 'Saldo',
T0.LineMemo
FROM JDT1 T0
INNER JOIN OACT T1 ON T1.AcctCode = T0.Account
WHERE T0.RefDate BETWEEN '[%0]' AND '[%1]' AND T1.FormatCode = '[%2]'
ORDER BY T0.TransId
Saludos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola
Si tienes razon...el saldo acumlado esta errorneo.
Lo que puedes hacer, para ver si puedes descubrir como lo calcula SAP es:
1º Ejecuta el SQL Profiler y selecciona "RPC completed"
2º Desde SAP carga un libro mayor y muestra la columna de saldo acumulado
3º Busca la query que se ejecuto con el libro mayor en el SQL Profiler y pon atencion en donde se calcula el acumulado.
Atte.
Y que tal sacar el saldo en 0 y llenarlo en un loop posterior (en el Store Procedure)?
Supongo que el corte (iniciar saldo a 0 de nuevo) seria x Acctname y Fecha.
SELECT
T1.TransId 'Asiento',
T0.AcctName,
T1.RefDate 'Fecha Contable',
T1.ContraAct 'C.C. o S/N',
T5.CardName 'Nombre S/N',
T1.Ref3Line 'Ck o Referencia',
T4.Memo 'Comentarios',
T1.Debit 'Debe C$',
T1.Credit 'Haber C$',
0 'SALDO C$',
T6.Rate 'T/C'
FROM OACT T0
INNER JOIN JDT1 T1 ON T1.Account = T0.AcctCode
INNER JOIN OJDT T4 ON T1.Transid = T4.Transid
LEFT JOIN OVPM T5 ON T1.Transid = T5.Transid
LEFT JOIN ORTT T6 ON T1.RefDate = T6.RateDate
WHERE T0.FormatCode =%6 AND T1.RefDate BETWEEN %0 AND %1
ORDER BY T1.RefDate
User | Count |
---|---|
107 | |
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.