¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Obtenção de rastreabilidade de OC: Pedido, Recebimento de Mercadorias, Entrega de Preço e Fatura

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

Prezados

A ideia por trás desta consulta é obter a rastreabilidade completa do OC, seja ele aberto, fechado ou cancelado, para verificar se houve entrada de mercadorias, preço de entrega ou faturamento.

As tabelas a serem utilizadas são:

Pedido (OPOR - POR1)

Entrada de Mercadorias (OPDN - PDN1)

Preço de Entrega (OIPF - IPF1)

Fatura (OPCH - PCH1)

Deveria ficar da seguinte forma, realmente fiz muitos testes mas não obtive um resultado ótimo, agradeço sua ajuda.

OPOR.DocNum OPOR.DocDate OPOR.NumAtCard OPOR.CardName OPOR.DocTotal OPOR.DocCur OPDN.DocNum OPDN.DocDate OPDN.NumAtCard OPDN.CardName OPDN.DocCur OPDN.DocTotal OIPF.DocNum OIPF.DocNum OIPF.DocTotal
N° OC Data OC Referência Nome Fornecedor Total OC Moeda Entrada de mercadoria Data de entrada Referência Nome Fornecedor Moeda Total OC Preço de entrega Data preço de entrega Total preço de entrega

Atenciosamente

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

4 Respuestas

0
Cargando...

Manuel - Samuel

Obrigado pela sua ajuda em conectar as tabelas e criar a rastreabilidade, aqui está o código criado.

SELECT

T0.[Docnum] AS 'Número do Pedido',

T0.[Docdate] AS 'Data do Documento do Pedido',

T0.[NumAtCard] AS 'Referência do Pedido',

T0.[Cardcode] AS 'Código do Cliente/Fornecedor',

T0.[Cardname] AS 'Nome do Fornecedor',

T0.[DocTotal] AS 'Total do Pedido',

T1.[ItemCode] AS 'Número do Artigo',

T1.[Quantity] AS 'Quantidade Solicitada',

T1.[OpenCreQty] AS 'Quantidade Pendente OC',

T2.OpenCreQty 'Quantidade Pendente de Fatura',

Case

When T2.[Linestatus] = 'O'

Then 'Aberta' when T2.[Linestatus] = 'C'

Then 'Completa' else 'Eliminada' end ,

T3.[DocNum] AS 'Número de Entrada de Mercadorias',

T3.[DocDate] AS 'Data de Entrada de Mercadorias',

T5.[Docnum] AS 'Número Interno da Fatura',

T5.[FolioNum] AS 'Número do Folio da Fatura',

T7.[Docnum] AS 'Número do Preço de Entrega',

T7.[DocDate] AS 'Data do Preço de Entrega',

T7.[DocCur] AS 'Moeda do Preço de Entrega',

T7.[DocTotal] AS 'Total do Preço de Entrega'

from opor t0 inner join por1 t1 on t0.docentry=t1.docentry

left join pdn1 t2 on t2.baseentry=t1.docentry and t2.basetype=22 and t2.baseline=t1.linenum

left join opdn t3 on t2.docentry=t3.docentry

left join pch1 t4 on t4.baseentry=t2.docentry and t4.basetype=20 and t4.baseline=t2.linenum

left join opch t5 on t4.docentry=t5.docentry

left join ipf1 t6 on t6.baseentry=t2.docentry and t6.basetype=20 and t6.linenum=t2.linenum

left join oipf t7 on t6.docentry=t7.docentry

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

Olá José

Estive revisando sua pergunta e gostaria de respondê-la, pois também estou enfrentando um problema similar. O SAP está me mostrando um erro na linha 47 e esta é a mensagem de erro:

1). [SAP AG][LIBODBCHDB DLL][HDBODBC] Erro geral; 260 nome de coluna inválido: T0.DOCENTRY: linha 47 col 36 '' (ECM2) (na posição 945)

E esta é a linha onde o erro ocorre:

from opor t0 inner join por1 t1 on t0.docentry=t1.docentry

Poderia me ajudar?

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

Manuel, obrigado pela sua ajuda. Vou executá-la e depois te informo como resultou.

Atenciosamente,

José Miguel I.C.

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

José Miguel:

Aquí tienes una consulta que puede servir como guía, solo necesitas agregar la tabla de precios de entrega (OIPF e IPF1).

----------------------------------------------------x---------------------------------------------------------

SELECT

T0.[Docnum] AS 'Pedido',

T0.[Docdate] AS 'Fechadoc',

T0.NumAtCard,

T0.[Cardcode] ,

T0.[Cardname] AS 'Proveedor',

T1.[ItemCode] AS 'Artículo',

T1.[Dscription] AS 'Descripción',

T1.Quantity as 'Cantidad Solicitada',

T1.OpenCreQty 'Cantidad Pendiente OC',

Case when T2.[Linestatus] = 'O' Then 'Abierta' when T2.[Linestatus] = 'C' then 'Completa' else 'Eliminada' end ,

T3.[DocNum] AS 'Entrada de mercancías',

T2.OpenCreQty 'Cantidad Pendiente de Factura',

T5.[Docnum] AS 'Número Interno Factura',

T5.FolioNum 'Folio Factura'

from opor t0 inner join por1 t1 on t0.docentry=t1.docentry

left join pdn1 t2 on t2.baseentry=t1.docentry and t2.basetype=22 and t2.baseline=t1.linenum

left join opdn t3 on t2.docentry=t3.docentry

left join pch1 t4 on t4.baseentry=t2.docentry and t4.basetype=20 and t4.baseline=t2.linenum

left join opch t5 on t4.docentry=t5.docentry

Left join OITM T6 on T1.ItemCode = T6.ItemCode

WHERE T6.[ItmsGrpCod]= 106 --- PUEDES FILTRAR POR OTRO CRITERIO AQUÍ

-----------------------------------------------------------X---------------------------------------------

Espero haber sido de ayuda.

Saludos cordiales,

Manuel Díaz G.

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?