Avalados por :

Otimizando a consulta SQL para somar linhas de fatura e itens de crédito no SAP

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

Olá,

Em uma discussão anterior, resolvi a forma de obter uma linha de cada item (ver a consulta abaixo).

A única coisa que continuo vendo são duas linhas de um item quando há uma linha de fatura (INV1) e uma linha de crédito (RIN1). Essas linhas devem ser somadas juntas.

Como:

Tabela     Itemno.     Quantidade

INV1       1000          5

RIN1       1000          2

O total do item 1000 deveria ser 3

O que devo alterar em minha consulta?

Obrigado,

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...

Olá Vamsi,

Este é o resultado que obtenho. Como você pode ver, obtenho duas linhas de um elemento.

Por exemplo, WERKUREN deveria ser 3,50 - 2,00 = 1,50

Obrigado,

Tim

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

Olá Tim,

A consulta anterior fornece a quantidade (Fatura-Nota de Crédito) em uma única linha.

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

Olá Vamsi,

Obrigado pela sua resposta.

Continuo a obter o mesmo resultado (uma linha de fatura e uma linha de crédito).

Tim

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

Olá Verholt,

Experimente isto,

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

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) 'Quantidade'

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 seja ú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?