RELACION ENTRE factura deudores y notas credito

Buenas tardes queridos compañeros del foro,

Solicito su ayuda para validar una consulta query en sap hanna , donde me muestre la factura de deudores, total antes de iva, total del documento al igual que me muestre la nota credito correspondientes con el valor antes de iva y valor total y el empleado de ventas…

Actualmente tengo esta consulta pero se me repiten todos los datos.
Se requiere que en una sola linea me muestre la información.

y poderlo agrupar por numero de documento para que no se repitan.

Esta es la consulta .

SELECT T0."DocNum" as "Número Factura", T0."DocDueDate",T0."DocEntry" as "Num Interno Factura", T1."LineTotal" as "Total Antes de Iva", T0."DocTotal", T2."DocEntry" as "Nota Crédito"

FROM OINV T0  
INNER JOIN INV1 T1 ON T0."DocEntry" = T1."DocEntry"
INNER JOIN RIN1 T2 ON T2."BaseEntry" = T0."DocEntry" AND T2."BaseType" = T0."ObjType"
INNER JOIN ORIN T3 ON T3."DocEntry" = T2."DocEntry"
INNER JOIN INV1 T4 ON T0."DocEntry" = T4."DocEntry"
INNER JOIN OSLP T5 ON T0."SlpCode" = T5."SlpCode"

En la T2 te falta
And T2.Baseline = T1.LineNum

Y la T4 no se para que la vinculas pero ahi te ocasiona que todo se repita otra vez, igual en la relación agrega
And T1.LineNum = T4.LineNum

Ya realice los cambios pero me aparece el siguiente error:
1). [SAP AG][LIBODBCHDB DLL][HDBODBC] General error;260 invalid column name: T2.Baseline: line 5 col 94 ‘’ (ECM2) (at pos 344)

Aqui la consulta sin la T4 (no me habia dado cuenta que estaba repetida)

SELECT T0."DocNum" as "Número Factura", T0."DocDueDate",T0."DocEntry" as "Num Interno Factura", T1."LineTotal" as "Total Antes de Iva", T0."DocTotal", T2."DocEntry" as "Nota Crédito"

FROM OINV T0  
INNER JOIN INV1 T1 ON T0."DocEntry" = T1."DocEntry"
INNER JOIN RIN1 T2 ON T2."BaseEntry" = T0."DocEntry" AND T2."BaseType" = T0."ObjType" And T2."Baseline" = T1."LineNum"
INNER JOIN ORIN T3 ON T3."DocEntry" = T2."DocEntry"
INNER JOIN OSLP T5 ON T0."SlpCode" = T5."SlpCode"

Tienes Hana, si mal no recuerdo es CaseSensitive revisa como se escribe correctamente

Gracias por tu ayuda @epr06

Te comento que pude organizar mejor la consulta, pero como hago para que me muestre todas las facturas tengan o no la nota credito.

SELECT T1."DocEntry", T0."DocNum", T0."DocDate", T0."DocDueDate", T1."LineTotal", T2."DocEntry", T3."DocNum", T3."DocDate", T3."DocDueDate", T2."LineTotal"
FROM 
	ORIN T0 INNER JOIN
	RIN1 T1 ON T0."DocEntry" = T1."DocEntry" LEFT JOIN
	INV1 T2 ON T1."BaseEntry" = T2."DocEntry" AND T1."BaseLine" = T2."LineNum" AND T1."BaseType" = 13 INNER JOIN
	OINV T3 ON T2."DocEntry" = T3."DocEntry"

Cambia el orden para que mande factura y cambia INNER por LEFT para Notas de Credito.

SELECT T0."DocNum" as "Número Factura", T0."DocDueDate",T0."DocEntry" as "Num Interno Factura", T1."LineTotal" as "Total Antes de Iva", T0."DocTotal", T2."DocEntry" as "Nota Crédito"

FROM OINV T0  
INNER JOIN INV1 T1 ON T0."DocEntry" = T1."DocEntry"
left JOIN RIN1 T2 ON T2."BaseEntry" = T0."DocEntry" AND T2."BaseType" = T0."ObjType"
left JOIN ORIN T3 ON T3."DocEntry" = T2."DocEntry"
INNER JOIN OSLP T5 ON T0."SlpCode" = T5."SlpCode

Muchas gracias, me funciono con la información que necesitaba y así quedo la consulta,
Pero requiero de su ayuda para validar porque se me están repitiendo los valores hasta 4 veces por linea, como puedo agregar a la consulta la suma del campo “LineTotal” y que no se repitan los valores.

Agradezco muchísimo los aportes que serian muy valiosos para seguir aprendiendo.

SELECT  T3."DocNum", T3."DocDate", T3."DocDueDate", T2."DocEntry", T2."LineTotal"as "Total NC Antes de IVA", T3."DocTotal" as "Total NC ",T0."DocNum"  as "Numero Factura",T0."DocEntry" as "Num Interno Factura",T0."DocDate",T1."LineTotal" as "Total FV Antes de IVA", T0."DocTotal" as "Total Factura Venta"

FROM OINV T0  
INNER JOIN INV1 T1 ON T0."DocEntry" = T1."DocEntry"
left JOIN RIN1 T2 ON T2."BaseEntry" = T0."DocEntry" AND T2."BaseType" = T0."ObjType"
left JOIN ORIN T3 ON T3."DocEntry" = T2."DocEntry"
INNER JOIN OSLP T5 ON T0."SlpCode" = T5."SlpCode"

GROUP BY T2."DocEntry" , T0."DocNum" , T0."DocDueDate",T0."DocEntry" , T1."LineTotal" , T0."DocTotal",T3."DocNum", T3."DocDate", T3."DocDueDate", T2."DocEntry",T2."LineTotal",T3."DocTotal", T0."DocDate",T0."DocNum"

Texto preformateado

Estimado @jdroaper.

Por favor, hay que dar el formato adecuado al código, acabo de modificar todos tus comentarios, creo que sería de mucha ayuda que nos apoyes en eso.

Tal vez con un Distinct al inicio de tu consulta sea suficiente.

@ [Gera_Mendez] Ya coloque un distinct pero no funciono !!

Perdón solo revisé la parte donde mencionas que se repite la información, aunque analizando a detalle entonces no se está duplicando la información, en realidad estás mostrando las líneas del documento.

Si no quieres una línea en el query por cada línea del documento tendrías que reestructurar tu código, tendrías que aplicar SUM() a tus campos a nivel línea y quitarlos del Group By.

SELECT  T3."DocNum", T3."DocDate", T3."DocDueDate", T2."DocEntry", SUM(T2."LineTotal") as "Total NC Antes de IVA", T3."DocTotal" as "Total NC ",T0."DocNum"  as "Numero Factura",T0."DocEntry" as "Num Interno Factura",T0."DocDate", Sum(T1.LineTotal) as "Total FV Antes de IVA", T0."DocTotal" as "Total Factura Venta"

FROM OINV T0  
INNER JOIN INV1 T1 ON T0."DocEntry" = T1."DocEntry"
left JOIN RIN1 T2 ON T2."BaseEntry" = T0."DocEntry" AND T2."BaseType" = T0."ObjType"
left JOIN ORIN T3 ON T3."DocEntry" = T2."DocEntry"
INNER JOIN OSLP T5 ON T0."SlpCode" = T5."SlpCode"

GROUP BY T2."DocEntry" , T0."DocNum" , T0."DocDueDate",T0."DocEntry", T0."DocTotal",T3."DocNum", T3."DocDate", T3."DocDueDate", T2."DocEntry",T3."DocTotal", T0."DocDate",T0."DocNum"

Muchas gracias me dejo una sola linea con la función SUM
Pero el valor total antes de iva no coincide con la suma …
Como se muestra en la siguiente imagen.
No se si se requiere un condicional mas

**

**

Hola compañero.

Primero un intro: volviste a crear un tema sin dar el formato correcto al código, creo que el foro nos da mucha ayuda, lo menos que podemos hacer es acatar las normas mínimas con que cuenta.

Sobre tu consulta, a mi me muestra de manera correcta, tal vez podrías mover un poco el orden de agrupación, empieza por agrupar por el DocEntry pero de la T0.

De igual manera debes analizar que en tu empresa trabajan con gastos adicional, retenciones, etc. creo que ya son escenarios muy propios de tu empresa, si me preguntas, tu tema inicial y original ya fue solventado, bien pudiera ya cerrarse el tema con la ayuda que te han proporcionado.

Saludos amigo.

Este tema se cerró automáticamente 30 días después de la última publicación. No se permiten nuevas respuestas.