on 2011 Jul 29 5:46 PM
Hola
Estoy revisando el informe de Antigüedad de saldos de clientes y quisiera imprimir el informe tal cual se muestra en SAP con las columnas de Empleado del departamento,Código de cliente, Nombre del cliente, No. de Documento, Fecha de contabilización, Fecha de vencimiento, Saldo vencido, 0-30, 31-60,61-90,91-120,120+,Deuda dudosa.
Revise el layout de impresion Informe detallado de clientes de coboro que maneja SAP, este layout me sirve agrege dos variables que no tenia el layout que es el de la Fecha de contabilización y Fecha de vencimiento, solo me falta agregar en el layout el campo de la Deuda dudosa.
Ya estuve buscando si cuenta con una variable interna en el sistema y no la he encontrado trate de realizar un query aparte para que me de la misma información aplicando una formula en la Deuda dudosa, donde hay Saldos vencidos que si me sale el importe como sale en el informe de SAP pero me lo aplica en todo y SAP solo se lo aplica a unos importes otros los en su totalidad los pasa automaticamente a la Deuda dudosa.
Espero que me puedan apoyar con esta duda que tengo.
Saludos!
Help others by sharing your knowledge.
AnswerRequest clarification before answering.
Hola Fabiola
Te sugiero uses el SQL profiler para averiguar como SAP genera un reporte.
Ya obtuve el query de la antiguedad, sino lo puedes sacar te lo envio
Slds
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dejo el query final
DECLARE @VAR INT, @FECHAFIN DATETIME
SET @VAR = (SELECT TOP 1 A.TransId FROM [dbo].[JDT1] A WHERE A.RefDate <='[%0]')
SET @FECHAFIN = '[%0]'
SELECT Y3.SlpName, T0.CardCode, T0.CardName, T1.TransId'Asiento', T4.BaseRef 'Doc Interno', T4.Folionum'Folio', T1.RefDate, T1.TaxDate, T1.DueDate,
CASE
WHEN T3.DebHab = 'D' THEN (T1.Debit-T1.Credit-T3.ReconSum)
WHEN T3.DebHab = 'C' THEN (T1.Debit-T1.Credit+T3.ReconSum)
ELSE (T1.Debit-T1.Credit)
END 'Saldo',
CASE
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) <= 30 and T3.DebHab = 'D' then T1.Debit-T1.Credit-T3.ReconSum
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) <= 30 and T3.DebHab = 'C' then T1.Debit-T1.Credit+T3.ReconSum
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) <= 30 then (T1.Debit-T1.Credit) end '0-30 dias',
CASE
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) BETWEEN 31 AND 60 and T3.DebHab = 'D' then T1.Debit-T1.Credit-T3.ReconSum
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) BETWEEN 31 AND 60 and T3.DebHab = 'C' then T1.Debit-T1.Credit+T3.ReconSum
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) BETWEEN 31 AND 60 then (T1.Debit-T1.Credit) end '31-60 dias',
CASE
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) BETWEEN 61 AND 90 and T3.DebHab = 'D' then T1.Debit-T1.Credit-T3.ReconSum
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) BETWEEN 61 AND 90 and T3.DebHab = 'C' then T1.Debit-T1.Credit+T3.ReconSum
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) BETWEEN 61 AND 90 then (T1.Debit-T1.Credit) end '61-90 dias',
CASE
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) BETWEEN 91 AND 120 and T3.DebHab = 'D' then T1.Debit-T1.Credit-T3.ReconSum
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) BETWEEN 91 AND 120 and T3.DebHab = 'C' then T1.Debit-T1.Credit+T3.ReconSum
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) BETWEEN 91 AND 120 then (T1.Debit-T1.Credit) end '91-120 dias',
CASE
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) > 120 and T3.DebHab = 'D' then T1.Debit-T1.Credit-T3.ReconSum
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) > 120 and T3.DebHab = 'C' then T1.Debit-T1.Credit+T3.ReconSum
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) > 120 then (T1.Debit-T1.Credit) end '+120 dias',
CASE
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) BETWEEN 121 AND 365 and T3.DebHab = 'D' then (T1.Debit-T1.Credit-T3.ReconSum)*0.75
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) BETWEEN 121 AND 365 and T3.DebHab = 'C' then (T1.Debit-T1.Credit+T3.ReconSum)*0.75
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) BETWEEN 121 AND 365 then (T1.Debit-T1.Credit)*0.75
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) > 365 and T3.DebHab = 'D' then (T1.Debit-T1.Credit-T3.ReconSum)
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) > 365 and T3.DebHab = 'C' then (T1.Debit-T1.Credit+T3.ReconSum)
WHEN DATEDIFF(DAY,T1.RefDate,@FECHAFIN) > 365 then (T1.Debit-T1.Credit) end 'Deuda Dudosa',
CASE T1.TransType
WHEN '13' THEN (SELECT Y.Comments FROM OINV Y WHERE Y.TransId = T1.TransId)
WHEN '14' THEN (SELECT Y.Comments FROM ORIN Y WHERE Y.TransId = T1.TransId)
ELSE T1.LineMemo
END 'Comentarios'
FROM dbo.OCRD T0
INNER JOIN dbo.JDT1 T1 ON T1.ShortName = T0.CardCode
INNER JOIN dbo.OACT T2 ON T2.AcctCode = T1.Account
INNER JOIN dbo.OJDT T4 ON T4.TransId = T1.TransId
LEFT JOIN dbo.OINV Y1 ON Y1.TransId = T1.TransId
LEFT JOIN dbo.ORIN Y2 ON Y2.TransId = T1.TransId
LEFT JOIN dbo.OSLP Y3 ON Y3.SlpCode = Y1.SlpCode OR Y3.SlpCode = Y2.SlpCode
LEFT JOIN (SELECT X0.ShortName 'SN', X0.TransId 'TransId', SUM(X0.ReconSum)'ReconSum', X0.IsCredit 'DebHab', X0.TransRowId 'Linea'
FROM dbo.ITR1 X0
INNER JOIN dbo.OITR X1 ON X1.ReconNum = X0.ReconNum
WHERE X1.ReconDate <= @FECHAFIN AND X1.CancelAbs = ''
GROUP BY X0.ShortName, X0.TransId, X0.IsCredit, X0.TransRowId) T3 ON T3.TransId = T1.TransId AND T3.SN = T1.ShortName AND T3.Linea = T1.Line_ID
WHERE T0.CardType = 'C' AND T1.RefDate <= @FECHAFIN AND
(CASE
WHEN T3.DebHab = 'D' THEN (T1.Debit-T1.Credit-T3.ReconSum)
WHEN T3.DebHab = 'C' THEN (T1.Debit-T1.Credit+T3.ReconSum)
ELSE (T1.Debit-T1.Credit)
END) != '0'
ORDER BY Y3.SlpCode, T0.CardCode, T1.TransId
FOR BROWSE
Atte.
Felipe Loyola
Felipe:
Tienes un query que muestre el saldo historico de un socio de negocios?
Ejemplo:
Factura fecha vencimiento : 31-05-2014
Monto Total : $300.000.-
Fecha Pago Factura 02-06-2014
Saldo Socio negocio al 31-05-2014 $300.000.-
Saldo Socio negocio al 02-06-2014 $ 0.
La idea es generar informe con filtro de fecha, si genero el informe al 31-05-2014 el saldo debe ser $ 300.000.- si genero el informe con filtro fecha al 02-06-2014 el saldo es $0.-
En conclusión un informe que muestre el saldo del socio de negocio en cualquier punto del tiempo y muestre sus distintos saldos, dependiendo del filtro de fecha.
Si puedes enviarme el query a mdiazgodoy arroba hotmail punto com
Agradecido desde ya,
Manuel
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.