Cordial saludo.
El siguiente código trae facturas abiertas y facturas con notas créditos aplicadas abiertas.
Como puedo hacer para que solamente traiga las facturas que tienen notas creditos aplicadas e ignore las facturas sin notas creditos abiertas gracias.
SELECT T0.[DocNum], T0.[EDocNum], T0.[DocDate], T0.[CardCode], T0.[CardName], T0.[DocTotal] + ISNULL(T1.[WTAmnt],0) - T0.[VatSum] as 'Importe', T1.[WTAmnt], T0.[VatSum], T0.[DocTotal] as 'Total'
FROM OINV T0
LEFT JOIN INV5 T1 ON T0.[DocEntry] = T1.[AbsEntry]
WHERE T0.[DocStatus]='O'
UNION ALL
SELECT T0.[DocNum], T0.[EDocNum], T0.[DocDate], T0.[CardCode], T0.[CardName], T0.[DocTotal] + ISNULL(T1.[WTAmnt],0) - T0.[VatSum] as 'Importe', T1.[WTAmnt], T0.[VatSum], T0.[DocTotal] as 'Total'
FROM ORIN T0
LEFT JOIN RIN5 T1 ON T0.[DocEntry] = T1.[AbsEntry]
WHERE T0.[DocStatus]='O'
Hola @Doom tu consulta la tines con un UNION ALL lo que quiere decir que te traera todas las facturas y tambien todas las notas de credito que coincidan con las condiciones que le indicas a cada select…
Lo que debes hacer, es en 1 solo select, ligar la nota de credito con la factura, estas estan ligadas a nivel linea, es decir algo similar al siguiente:
SELECT T0.*
FROM OINV T0
LEFT JOIN INV5 T1 ON T0."DocEntry" = T1."AbsEntry"
INNER JOIN RIN1 T2 ON T2."BaseEntry" = T0."DocEntry" AND T2."BaseType" = T0."ObjType"
INNER JOIN ORIN T3 ON T3."DocEntry" = T2."DocEntry"
WHERE T0."DocStatus"='O';
Este error es muy común que ocurra ya que aunque tú consulta funciona te falta un par de campos el T1."BaseRef"=1234, T1."BaseType"=13, T1."BaseEntry" en RIN1 que indican que esa nota de crédito viene de una factura con el numero 1234 y que el origen del documento es una factura que se identifica en sap con el numero 13 y el ultimo campo es para que lo enlaces con oinv que es el DonEntry.
Recuerda quitar los " ya que esta en HANA
Esta es tu solución recuerda marcarla tal cual y si no explícanos que paso.