cancel
Showing results for 
Search instead for 
Did you mean: 

Reporte de Pagos Recibidos

Former Member
0 Kudos

Estimados expertos,

Encontré un query en este foro para generar un listado de Pagos Recibidos y la correspondiente Factura de cliente que fué pagada. Sin embargo no me trae el num. de factura correcto. El query es el siguiente:

SELECT

T1.SeriesName Serie,

T2.DocEntry Factura,

T0.DocNum 'No. Pago',

T0.CardCode 'Código Cliente',

T0.CardName 'Nombre Cliente',

T0.CashSum Efectivo,

T0.CreditSum 'T. Credito',

T0.CheckSum Cheque,

T0.TrsfrSum Transf,

T0.DocTotal Total,

T0.DocDate 'Fecha'

FROM ORCT T0 INNER JOIN NNM1 T1 ON T0.Series = T1.Series

INNER JOIN RCT2 T2 ON T0.DocNum = T2.DocNum

WHERE T0.DocDate = [%1] AND  T0.Canceled  = 'N'

GROUP BY T1.SeriesName, T2.DocEntry, T0.DocNum, T0.CardCode, T0.CardName, T0.CashSum, T0.CreditSum, T0.CheckSum, T0.TrsfrSum, T0.DocTotal, T0.DocDate

ORDER BY T2.DocEntry

Alguien podría decirme como hago para que para cada Documento de Pago Recibido me muestre la Factura de Cliente que se pagó con ese pago?

Muchas gracias de antemano.

Rogelio Rueda

Accepted Solutions (1)

Accepted Solutions (1)

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenos días

Prueba lo siguiente

SELECT

T1.SeriesName 'Serie',

CASE T2.InvType

WHEN 13 THEN 'Factura'

WHEN 14 THEN 'N.Credito'

END 'Docto',

CASE T2.InvType

WHEN 13 THEN (SELECT A.FolioNum FROM OINV A WHERE A.DocEntry=T2.DocEntry)

WHEN 14 THEN (SELECT A.FolioNum FROM ORIN A WHERE A.DocEntry=T2.DocEntry)

END 'Folio',

T0.DocNum 'No. Pago',

T0.CardCode 'Código Cliente',

T0.CardName 'Nombre Cliente',

T0.CashSum 'Efectivo',

T0.CreditSum 'T. Credito',

T0.CheckSum 'Cheque',

T0.TrsfrSum 'Transf',

T0.DocTotal 'Total',

T0.DocDate 'Fecha'

FROM ORCT T0

INNER JOIN NNM1 T1 ON T0.Series = T1.Series

INNER JOIN RCT2 T2 ON T0.DocNum = T2.DocNum

WHERE T0.Canceled  = 'N'

ORDER BY T0.DocNum

FOR BROWSE

Saludos

Felipe

Former Member
0 Kudos

Hola Felipe, un millón de gracias por tu respuesta. Perdón por responder hasta ahora pero estuve fuera de linea un tiempo. El query funciona bien, aunque quisiera saber si hay forma de agregar entre la columna "Docto" y "Folio" el Num. interno de la Factura en SAP. El Folio está bien, pero como ese lo ingresa manualmente el usuario, a veces lo pone y a veces no, ademas que no coincide con el num. interno de la factura en SAP. Lo ideal sería que en una columna adicional apareciera el num. de docto. interno de SAP.

Muchísimas gracias por tu ayuda.

Saludos,

Rogelio

felipe_loyolarodriguez
Active Contributor
0 Kudos

Hola,

Dime que tal esta así.

SELECT

T1.SeriesName 'Serie',

CASE T2.InvType

WHEN 13 THEN 'Factura'

WHEN 14 THEN 'N.Credito'

END 'Docto',

CASE T2.InvType

WHEN 13 THEN (SELECT A.DocNum FROM OINV A WHERE A.DocEntry=T2.DocEntry)

WHEN 14 THEN (SELECT A.DocNum FROM ORIN A WHERE A.DocEntry=T2.DocEntry)

END '#SAP',

CASE T2.InvType

WHEN 13 THEN (SELECT A.FolioNum FROM OINV A WHERE A.DocEntry=T2.DocEntry)

WHEN 14 THEN (SELECT A.FolioNum FROM ORIN A WHERE A.DocEntry=T2.DocEntry)

END 'Folio',

T0.DocNum 'No. Pago',

T0.CardCode 'Código Cliente',

T0.CardName 'Nombre Cliente',

T0.CashSum 'Efectivo',

T0.CreditSum 'T. Credito',

T0.CheckSum 'Cheque',

T0.TrsfrSum 'Transf',

T0.DocTotal 'Total',

T0.DocDate 'Fecha'

FROM ORCT T0

INNER JOIN NNM1 T1 ON T0.Series = T1.Series

INNER JOIN RCT2 T2 ON T0.DocNum = T2.DocNum

WHERE T0.Canceled  = 'N'

ORDER BY T0.DocNum

FOR BROWSE

Saludos

Former Member
0 Kudos

Muchas gracias por tu rápida respuesta. Parece que funciona como lo necesito. Lo voy a seguir probando y te aviso. Muy agradecido.

Saludos,

Rogelio

Former Member
0 Kudos

Buena tarde Estimado Experto Felipe Loyola;

Tengo el siguiente Query, pero quisiera agregarle a que grupo pertenece el socio de negocios.

SELECT T2.SeriesName, T0.DocNum, T0.CardName, T0.CashSum Efectivo, T0.CreditSum TC, T0.CheckSum CH, T0.TrsfrSum Trans, T0.DocTotal FROM ORCT T0  INNER JOIN OINV T1 ON T0.DocEntry = T1.ReceiptNum INNER JOIN NNM1 T2 ON T1.Series = T2.Series WHERE T0.DocDate between [%1] and [%2] and  T0.Canceled ='N' ORDER BY T2.SeriesName

Si me pudieras ayudar, te lo agradeceré mucho.

Saludos.

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenos días

Prueba lo siguiente


SELECT T2.SeriesName, T0.DocNum, T0.CardName, T4.GroupName, T0.CashSum Efectivo, T0.CreditSum TC, T0.CheckSum CH, T0.TrsfrSum Trans, T0.DocTotal

FROM ORCT T0 

INNER JOIN OINV T1 ON T0.DocEntry = T1.ReceiptNum

INNER JOIN NNM1 T2 ON T1.Series = T2.Series

left join OCRD T3 on T3.CardCode=T0.CardCode

left join OCRG T4 on T4.GroupCode=T3.GroupCode

WHERE T0.DocDate between '[%1]' and '[%2]' and  T0.Canceled ='N' ORDER BY T2.SeriesName

Saludos

Former Member
0 Kudos

Estimado Experto,

Excelente, funciona perfectamente, muchas gracias.

0 Kudos

Buenas soy nuevo en el mundo de SAP,

Ese query me sale en blanco alguna otra forma? les comparto el query que estoy usando actualmente espero me puedan ayudar:

SELECT

T1."SeriesName" AS "Serie",

CASE T2."InvType"

WHEN 13 THEN 'Factura'

WHEN 14 THEN 'N.Credito'

END "Docto",

CASE T2."InvType"

WHEN 13 THEN (SELECT A."FolioNum" FROM OINV A WHERE A."DocEntry"=T2."DocEntry")

WHEN 14 THEN (SELECT A."FolioNum" FROM ORIN A WHERE A."DocEntry"=T2."DocEntry")

END "Folio",

T0."DocNum" AS "NumPago",

T0."CardCode" AS "COdigoCliente",

T0."CardName" AS "NombreCliente",

T0."CashSum" AS "Efectivo",

T0."CreditSum" AS "TarCredito",

T0."CheckSum" AS "Cheque",

T0."TrsfrSum" AS "Transf",

T0."DocTotal" AS "Total",

T0."DocDate" AS "Fecha"

FROM ORCT T0

INNER JOIN NNM1 T1 ON T0."Series" = T1."Series"

INNER JOIN RCT2 T2 ON T0."DocNum" = T2."DocNum"

WHERE T0."Canceled" = 'N'

ORDER BY T0."DocNum"

Answers (0)