Obrigado Royer, era exatamente o que eu estava procurando. Funciona maravilhosamente!
Saudações
Avalados por :
Olá. Sou novo no SAP BO 8.82 e gostaria de fazer uma consulta na qual preciso mostrar a lista de preços.
Por exemplo, tenho esta Query que mostra a lista de preços que desejo:
SELECT T0.[ListName], T0.[BASE_NUM], T0.[Factor], T0.[GroupCode] FROM OPLN T0 WHERE T0.[GroupCode] = 2
Esta query me mostra a lista de preços 05, mas o que realmente desejo é acessar essa lista de preços 05 com uma query que me mostre todos os produtos com seus respectivos preços, por exemplo:
Número do Artigo
|
Descrição do Artigo
|
Preço Base
|
Preço Unitário
|
---|---|---|---|
PROD 1 | ARTIGO A | 1 | 4 |
PROD 2 | ARTIGO B | 2 | 5 |
PROD 3 | ARTIGO C | 3 | 6 |
PROD 4 | ARTIGO D | 4 | 7 |
Se puderem me indicar como posso fazer isso ou quais campos utilizar na query, ficaria muito grato. Estava tentando obter as colunas com $[$1.1.0] ou talvez esteja fazendo errado.
Agradeço antecipadamente pela ajuda fornecida.
Obrigado Royer, era exatamente o que eu estava procurando. Funciona maravilhosamente!
Saudações
Entendo, que bom que deu certo então.
with(nolock) serve para evitar bloqueios no SQL. Algumas consultas são muito extensas e o SQL demora, especialmente com bases de dados muito grandes.
O benefício desta instrução é que evita que o motor de banco de dados emita bloqueios contra as tabelas em suas consultas; isso aumenta a concorrência e o desempenho porque o motor de banco de dados não precisa manter os bloqueios compartilhados envolvidos.
Faça o teste no SQL com uma consulta extensa e adicione isso em cada FROM após o nome da tabela para ver o desempenho em milissegundos de resposta a uma consulta normal.
Roger,
Muito obrigado pela resposta! Em sua consulta, você está mostrando as listas de preços de 1 a 7, mas eu precisava mostrar apenas a lista 5.
O que eu estava tentando fazer era lidar apenas com a tabela OPLN, mas depois de revisar e pesquisar, percebi que era melhor usar as tabelas OITM e ITM1, relacioná-las e extrair os campos que preciso, como o código do artigo (ItemCode), nome do artigo (ItemName), lista de preços (PriceList) e também obter o armazém ao qual pertence esse produto usando o campo WhsCode da tabela OITW.
A consulta ficou assim:
SELECT T0.[ItemCode], T0.[ItemName], T2.[WhsCode], T1.PriceList, T0.[OnHand], T1.[Price] FROM OITM T0 INNER JOIN ITM1 T1 ON T0.ItemCode = T1.ItemCode INNER JOIN OITW T2 ON T0.ItemCode = T2.ItemCode WHERE T1.[PriceList] =5 AND T0.[InvntItem] ='Y' and T0.OnHand <> 0 and T0.U_ClaseProducto = 0004 order by T0.ItemCode
Qualquer sugestão para melhorar a consulta será bem-vinda! .
Mais uma vez, muito obrigado Roger pela resposta!
Um abraço!
PS: Você poderia me dizer para que exatamente serve o with(nolock)? Encontrei algo na internet, mas ainda não está claro para mim XD ou talvez me indicar algum site. Obrigado!
Você prefere assim?
SELECT itemcode, itemname
,(SELECT PRICE FROM ITM1 WITH(NOLOCK) WHERE PriceList=1 AND ItemCode=OITM.ItemCode)
,(SELECT PRICE FROM ITM1 WITH(NOLOCK) WHERE PriceList=2 AND ItemCode=OITM.ItemCode)
,(SELECT PRICE FROM ITM1 WITH(NOLOCK) WHERE PriceList=3 AND ItemCode=OITM.ItemCode)
,(SELECT PRICE FROM ITM1 WITH(NOLOCK) WHERE PriceList=4 AND ItemCode=OITM.ItemCode)
,(SELECT PRICE FROM ITM1 WITH(NOLOCK) WHERE PriceList=5 AND ItemCode=OITM.ItemCode)
,(SELECT PRICE FROM ITM1 WITH(NOLOCK) WHERE PriceList=6 AND ItemCode=OITM.ItemCode)
,(SELECT PRICE FROM ITM1 WITH(NOLOCK) WHERE PriceList=7 AND ItemCode=OITM.ItemCode)
FROM OITM with(nolock)
Você prefere que eu coloque em algum formato de pesquisa específico? Não entendi bem a pergunta talvez...
Espero que seja útil.
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute