Ayuda SAP

Query Cartera personalizado


#1

Estimados muy buen dia, resulta que tengo un informe de cartera que se ha estado generando especificamente se saca de Modlos-Ventas Clientes-Informe de Ventas- Cartera.

Este informe esta bien pero al pasarlo al excel me trae muchas columnas que no se necesitan y el cual se deben eliminar manualmente ya que únicamente se necesitan unas columnas especificas y este proceso quita un poco de tiempo y se desea un informe solo con lo que se necesita para el ejemplo:

#FAC
Nombre de Socio
Nit
Empleado Ventas
Valor Documento
Valor Abonado
Días Vencidos
Saldo Sin_Vencer
1-30 días
31-60 días
61-90 días
91-180 días
180 días
Fecha Vencimiento
Fecha Creación

Yo tengo un query que llevo, pero si alguien me puede ayudar por favor, ¿como puedo obtener los datos de

*Valor Abonado
*Días Vencidos
*Saldo Sin_Vencer
*1-30 días
*31-60 días
*61-90 días
*91-180 días
*180 días?

Este es el query

SELECT T2.CardCode, T2.CardName, T0.DocNum,T1.SlpName, T0.DocDate, T0.DocDueDate, (T4.Gtotal - T4.vatSum) 'Neto', T4.VatSum, T4.Gtotal
FROM OINV T0 
INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode
INNER JOIN INV1 T4 ON T4.DocEntry = T0.DocEntry
INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode
WHERE T0.DocDate BETWEEN '[%0]' AND '[%1]' AND T0.DocType = 'I'
AND 
T0.CANCELED ='N'
UNION
SELECT T2.CardCode, T2.CardName, T0.DocNum, T1.SlpName, T0.DocDate,  T0.DocDueDate, (T4.Gtotal - T4.vatSum)*-1 'Neto', T4.VatSum*-1, T4.Gtotal*-1
FROM ORIN T0 
INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode
INNER JOIN RIN1 T4 ON T4.DocEntry = T0.DocEntry
INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode
WHERE T0.DocDate BETWEEN '[%0]' AND '[%1]' AND T0.DocType = 'I'
AND 
T0.CANCELED ='N'

Les agradeceria mucho la ayuda

Gracias


#2

Revisa lo siguiente



#3

Andreramirez, muchas gracias por tu sugerencia pero los querys que me das en enlace, tienen una estructura mas amplia, ya tengo este query que es mas completo, pero necesito que me muestre el valor abonado y el valor a recaudar. Como lo puedo mostrar.Ver imagen de lo que se necesita.Gracias

SELECT P0.DocNum, P0.DocDate, P0.DocDueDate, P0.CardCode, P0.CardName, P0.DocTotal, T1.SlpName,
(select (doctotal - paidtodate)
from OINV
where Docnum=P0.docnum and DATEDIFF(Day,DocDueDate,getdate())<=0 ) as ‘POR VENCER’, (select (doctotal - paidtodate)
from OINV
where Docnum=P0.docnum and DATEDIFF(Day,DocDueDate,getdate())>=1 and DATEDIFF(Day,DocDueDate,getdate())<=30) as ‘30 Dias’, (select (doctotal - paidtodate)
from OINV
where Docnum=P0.docnum and DATEDIFF(Day,DocDueDate,getdate())>=31 and DATEDIFF(Day,DocDueDate,getdate())<=60) as ‘60 Dias’, (select (doctotal - paidtodate)
from OINV
where Docnum=P0.docnum and DATEDIFF(Day,DocDueDate,getdate())>=61 and DATEDIFF(Day,DocDueDate,getdate())<=90) as ‘90 Dias’, (select (doctotal - paidtodate)
from OINV
where Docnum=P0.docnum and DATEDIFF(Day,DocDueDate,getdate())>=91 ) as ‘> 90 Dias’,

DATEDIFF(Day,P0.DocDueDate,getdate()) as ‘Dias’
FROM OINV P0 INNER JOIN OSLP T1 ON P0.SlpCode = T1.SlpCode

WHERE P0.DocDate BETWEEN ‘[%0]’ AND ‘[%1]’
and (P0.doctotal > P0.paidtodate)


#4

Buena tarde ¿Alguien que me de una ayuda por fa con este tema?, les agradeceria inmensamente

Gracias


#5

Ese query lo metes en crystal reports y ya puedes agrupar y colocarlos como quieras.