¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Optimizando la consulta SQL para sumar líneas de factura e ítems de crédito en SAP

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 11 Vistas
0
Cargando...

Hola,

En una discusión anterior resolví la forma de obtener una línea de cada ítem (ver la consulta a continuación).

Lo único que sigo viendo son dos líneas de un ítem cuando hay una línea de factura (INV1) y una línea de crédito (RIN1). Estas líneas deberían sumarse juntas.

Como:

Tabla     Itemno.     Cantidad

INV1       1000          5

RIN1       1000          2

El total del ítem 1000 debería ser 3

¿Qué debo cambiar en mi consulta?

Gracias,

Tim

SELECT DISTINCT MAX(T1.ItemCode) as 'Artikelnummer', sum(T1.Quantity) 'Quantity'

FROM OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry

INNER JOIN OITM T2 ON T1.ItemCode = T2.ItemCode

INNER JOIN OITB T3 ON T2.ItmsGrpCod = T3.ItmsGrpCod

WHERE T0.CardCode ='[%0]' AND T0.DocDate Like '%2012%'

Group by T1.ItemCode

UNION

SELECT DISTINCT MAX(T1.ItemCode) as 'Artikelnummer', -1 * sum(T1.Quantity) 'Quantity'

FROM ORIN T0

INNER JOIN RIN1 T1 ON T0.DocEntry = T1.DocEntry

INNER JOIN OITM T2 ON T1.ItemCode = T2.ItemCode

INNER JOIN OITB T3 ON T2.ItmsGrpCod = T3.ItmsGrpCod

WHERE T0.CardCode ='[%0]' AND T0.DocDate Like '%2012%'

Group by T1.ItemCode

Order by MAX(T1.ItemCode) ASC

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Vamsi,

Este es el resultado que obtengo. como puedes ver, obtengo dos líneas de un elemento.

por ejemplo, WERKUREN debería ser 3,50 - 2,00 = 1,50

Gracias,

Tim

Quantity.jpg
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Tim,

La consulta anterior te proporciona la cantidad (Factura-Nota de Crédito) en una sola línea.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Vamsi,

Gracias por tu respuesta.

Sigo obteniendo el mismo resultado (una línea de factura y una línea de crédito)

Tim

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Verholt,

Prueba esto,

SELECT DISTINCT MAX(T1.ItemCode) as 'Artikelnummer', sum(T1.Quantity) 'Cantidad'

FROM OINV T0  INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry

INNER JOIN OITM T2 ON T1.ItemCode = T2.ItemCode

INNER JOIN OITB T3 ON T2.ItmsGrpCod = T3.ItmsGrpCod

WHERE T0.CardCode ='[%0]' AND T0.DocDate Like '%2012%' and T1.TargetType != '14'

Group by T1.ItemCode

UNION

SELECT DISTINCT  MAX(T1.ItemCode) as 'Artikelnummer', -1 * sum(T1.Quantity) 'Cantidad'

FROM ORIN T0

INNER JOIN RIN1 T1 ON T0.DocEntry = T1.DocEntry

INNER JOIN OITM T2 ON T1.ItemCode = T2.ItemCode

INNER JOIN OITB T3 ON T2.ItmsGrpCod = T3.ItmsGrpCod

WHERE T0.CardCode ='[%0]' AND T0.DocDate Like '%2012%' and T1.BaseType != '13'

Group by T1.ItemCode

Order by MAX(T1.ItemCode) ASC

Espero que sea útil,

Vamsi

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?