Avalados por :

Como exibir ordens de compra com estado CANCELED = N e faturas de reserva de fornecedores e entradas de mercadorias no SAP.

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

Olá, estou escrevendo este post para fazer algumas perguntas. Estou executando uma consulta na qual preciso exibir os pedidos de compra com o estado CANCELED = N e também mostrar quais pedidos de compra (OPOR) possuem faturas de reserva de fornecedores (OPCH) e também aqueles que possuem entradas de mercadorias (OPDN). Executei a seguinte consulta:

SELECT T0.[CardCode], T0.[CardName], T0.[DocNum], T0.[DocDate],T1.[WhsCode], T1.[ItemCode], T1.[Dscription], T1.LineNum+1,T1.[Quantity],  T1.[Currency], T1.[PriceAfVAT], T1.[Quantity]*T1.[PriceAfVAT] as "Total", CASE WHEN T1.TargetType=18 then 'Fac. Prov.' else ' ' end 'Doc. Destino1', CASE WHEN T3.TargetType = 20 THEN 'Entrada Merc.' else ' ' end 'Doc. Destino2' FROM [dbo].[OPOR]  T0 INNER JOIN [dbo].[POR1]  T1 ON T0.DocEntry = T1.DocEntry INNER JOIN OPCH T2 ON T0.Docentry = T2.DocEntry INNER JOIN PCH1 T3 on T1.DocEntry = T3.Docentry WHERE T0.[CardCode] =[%0]  and  T0.[CANCELED] ='N' and T1.LineStatus = 'C' order by T0.DocNum asc

Ele exibe os resultados, mas não mostra as entradas de mercadorias. Quando seleciono um pedido de compra e vejo o mapa de relacionamentos, este documento tem uma fatura de reserva de fornecedores e também uma entrada de mercadorias, mas isso não é mostrado no resultado da consulta. Estou usando o targettype 18 da tabela POR1 e o targettype 20 da PCH1 para fazer referência à fatura e à entrada de mercadorias.

Se alguém puder me ajudar ou me dar alguns conselhos sobre como resolver esse problema.

Saudações e muito obrigado pelas respostas.

PS: outra pergunta, ao ver o mapa de relacionamentos, a fatura de reserva de fornecedores tem uma relação com a entrada de mercadorias, mas da fatura saem duas setas, uma azul e outra amarela, o que significam essas setas? Muito obrigado!

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

4 Respuestas

0
Cargando...

Quero agradecer mais uma vez pela sua resposta que me ajuda e orienta a finalizar minha consulta. MUITO OBRIGADO!

Qualquer outra resposta e/ou sugestão para alterar e/ou melhorar a consulta será sempre bem-vinda!

Estarei atento a qualquer resposta.

Saudações a todos.

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

Olá Raúl,

Incluir documentos de pagamento em sua consulta é um pouco mais complexo, pois existem várias tabelas relacionadas ao pagamento dependendo do método que você usa e das informações que deseja mostrar. Quanto mais tabelas você usar, mais complicado será relacioná-las. Se você vai incluir pagamentos, recomendo mostrar informações básicas para não complicar o relatório.

No caso do preço de entrega, a lógica é semelhante. O documento de destino é o preço de entrega e o documento base é a entrada de mercadorias. Recomendo sempre procurar o objeto, o docentry e a linha ao tentar vinculá-los. Por exemplo, neste caso, você pode usar BaseType, BaseEntry e BaseRowNum do preço de entrega.

Em relação à sua outra pergunta, sim, pode haver documentos que não têm relação e, nesses casos, os campos são preenchidos com -1. Para incluí-los, você pode usar um union all, pois atualmente sua consulta retorna dados baseados apenas na ordem de compra.

Espero que seja útil.

Saudações

Sebastián

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

Muito obrigado, Sebastián, pela ajuda! Você não tem ideia de quanto sua resposta me ajudou. Revisei a consulta e adicionei mais algumas coisas para que ela exiba o resultado que desejo.

A consulta ficou da seguinte forma:

SELECT T0.[CardCode],T0.[CardName],T0.[DocNum],T0.[DocDate],T1.[WhsCode],T1.[ItemCode],T1.[Dscription],T1.LineNum+1 AS Linea,T1.[Quantity], T1.[Currency],T1.[PriceAfVAT],T1.[Quantity]*T1.[PriceAfVAT] AS "Total",'Doc Dest. 1' = CASE WHEN T3.OBJTYPE = '18' AND T3.ISINS = 'Y' THEN 'Fact. Reserva Prov.'                                       WHEN T3.OBJTYPE = '18' AND T3.ISINS = 'N' THEN 'Fact. Prov.'                                       WHEN T5.OBJTYPE = '20' THEN 'Entrada Merc.'ELSE NULL END,'Num. Doc' = CASE WHEN T3.OBJTYPE = '18' THEN T3.DOCNUM                                   WHEN T5.OBJTYPE = '20' THEN T5.DOCNUMELSE NULL END,'Doc Dest. 2' = CASE WHEN T7.OBJTYPE = '19' THEN 'Nota de Crédito'                                       WHEN T2.TARGETTYPE = '20' THEN 'Entrada Merc.'                                       WHEN T4.TARGETTYPE = '18' THEN 'Fac. Prov.'                                      WHEN T9.OBJTYPE = '21' THEN 'Devolução de Merc.'                               ELSE NULL ENDFROM OPOR T0INNER JOIN POR1 T1 ON T0.DOCENTRY = T1.DOCENTRYLEFT OUTER JOIN PCH1 T2 ON T2
        
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Raúl,

Ao vincular documentos do SAP, é importante considerar o documento base e o documento de destino. Esses 2 documentos são conectados por linhas e os campos comumente usados são: BaseType, BaseEntry e BaseLine.

No seu caso, você deseja saber quais faturas e entradas estão relacionadas às ordens de compra não canceladas para um determinado fornecedor. Para isso, você pode experimentar o seguinte código:

SELECT

T0 . [CardCode] ,

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?