¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Integração de faturas e notas de crédito no SAP: análise de vendas e diferenças nos totais.

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

Bom dia a todos no fórum.

Tenho feito alguns testes para integrar faturas e notas de crédito usando o código abaixo, no entanto, estou vendo algumas diferenças que não entendo o motivo delas.

Executei cada código separadamente e depois os uni com Union all para obter os resultados como vejo em Análise de vendas: artigos: total por grupos, mas percebo diferenças nos totais.

Esta é a imagem da tabela INV1.

SELECT T4.[ItmsGrpNam], SUM(T2.[LineTotal]) FROM OSLP T0 INNER JOIN OINV T1 ON T0.SlpCode = T1.SlpCode INNER JOIN INV1 T2 ON T1.DocEntry = T2.DocEntry INNER JOIN OITM T3 ON T2.ItemCode = T3.ItemCode INNER JOIN OITB T4 ON T3.ItmsGrpCod = T4.ItmsGrpCod WHERE T1.[DocDate] Between [%0] and [%1] GROUP BY T4.[ItmsGrpNam]

Esta é a imagem da tabela RIN1.

SELECT T4.[ItmsGrpNam], SUM(-(T2.[LineTotal])) FROM OSLP T0 INNER JOIN ORIN T1 ON T0.SlpCode = T1.SlpCode INNER JOIN RIN1 T2 ON T1.DocEntry = T2.DocEntry INNER JOIN OITM T3 ON T2.ItemCode = T3.ItemCode INNER JOIN OITB T4 ON T3.ItmsGrpCod = T4.ItmsGrpCod WHERE T1.[DocDate] Between [%0] and [%1] GROUP BY T4.[ItmsGrpNam]

Finalmente, a imagem do Union all dos dois códigos anteriores, mas com resultados diferentes do esperado. A intenção é que a soma das duas tabelas, sendo negativo o valor de RIN1, me dê o valor líquido da venda por grupo.

O indicador vermelho é porque o grupo se repete, os indicadores azuis são onde houve uma nota de crédito que não está sendo aplicada corretamente nessa soma.

Obrigado pela ajuda.

Saudações.

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

4 Respuestas

0
Cargando...

Andrés, obrigado pela sua contribuição.

A consulta está sendo executada corretamente, no entanto, o resultado parece corresponder a um ano em vez do intervalo inserido.

Em outra tentativa, mais dados foram exibidos nos créditos do que corresponde.

Realizei os primeiros testes, estarei investigando o que pode estar causando esse problema.

Saudações.

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

Olá Marco, acredito que este código pode ser útil para você, fiz um pouco às pressas, mas acredito que a lógica está correta para que você possa testá-la no Query Manager:

/* Selecionar De [DBO].[OINV] T0 */

Declarar @FechaIni como DateTime

Declarar @FechaFin como DateTime

/* Onde */

Definir FormatoData DMY

Definir @FechaIni = /* T0.DocDate */ '[%0]'

Definir @FechaFin = /* T0.DocDate */ '[%1]'

Selecionar T0.ItmsGrpNam,

Soma(T1.LineTotal) 'Fatura',

Soma(T2.LineTotal) 'Nota_Crédito',

Soma(T1.LineTotal) - Soma(T2.LineTotal) 'Total'

De OITB T0

Interno Junte-se

(

Selecionar T3.ItmsGrpNam, T1.LineTotal

De OINV T0

Interno Junte-se INV1 T1 Em T0.DocEntry = T1.DocEntry

Interno Junte-se OITM T2 Em T1.ItemCode = T2.ItemCode

Interno Junte-se OITB T3 Em T2.ItmsGrpCod = T3.ItmsGrpCod

Onde T0.DocDate Entre @FechaIni E @FechaFin

)T1 Em T0.ItmsGrpNam = T1.ItmsGrpNam

Interno Junte-se

(

Selecionar T3.ItmsGrpNam, T1.LineTotal

De ORIN T0

Interno Junte-se RIN1 T1 Em T0.DocEntry = T1.DocEntry

Interno Junte-se OITM T2 Em T1.ItemCode = T2.ItemCode

Interno Junte-se OITB T3 Em T2.ItmsGrpCod = T3.ItmsGrpCod

Onde T0.DocDate Entre @FechaIni E @FechaFin

)T2 Em T0.ItmsGrpNam = T2.ItmsGrpNam

Agrupar Por T0.ItmsGrpNam

Ordenar Por T0.ItmsGrpNam

Cumprimentos,

Andrés

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

Felipe, ficou ótimo!

Obrigado.

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

Experimente isto:

SELECT T0.Grupo, SUM(T0.Venta)FROM (SELECT T4.[ItmsGrpNam] AS Grupo,SUM(T2.[LineTotal]) AS Venta FROM OSLP  T0   INNER JOIN OINV  T1 ON T0.SlpCode = T1.SlpCode   INNER JOIN INV1  T2 ON T1.DocEntry = T2.DocEntry   INNER JOIN OITM T3 ON T2.ItemCode = T3.ItemCode   INNER JOIN OITB T4 ON T3.ItmsGrpCod = T4.ItmsGrpCod  WHERE T1.[DocDate] Between '[%0]' and '[%1]' GROUP BY T4.[ItmsGrpNam]UNION ALLSELECT   T4.[ItmsGrpNam] AS Grupo ,SUM(-(T2.[LineTotal])) AS Venta FROM OSLP T0   INNER JOIN ORIN T1 ON T0.SlpCode = T1.SlpCode   INNER JOIN RIN1 T2 ON T1.DocEntry = T2.DocEntry   INNER JOIN OITM T3 ON T2.ItemCode = T3.ItemCode   INNER JOIN OITB T4 ON T3.ItmsGrpCod = T4.ItmsGrpCod  WHERE T1.[DocDate] Between '[%0]' and '[%1]' GROUP BY T4.[ItmsGrpNam]) T0GROUP BY T0.Grupo

Saudações

Felipe

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?