¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

¡Acceso SAP S/4HANA desde $100!

Acceso a SAP

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

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 4 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@primeconsultor.com

+1 (305) 285-8622

© 2025 Todos los derechos reservados.

Desarrollado por Prime Consultor

¡Hola! Soy Diana, asesora académica de Prime Consultor, indícame en que Academia SAP estás interesado, saludos!
Hola ¿Buscas Academias SAP?