Avalados por :

Cómo mostrar lista de precios de productos en SAP BO 8.82 con un query personalizado

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 10 Vistas
0
Loading...

Buenas. Soy nuevo en SAP BO 8.82 y quiero realizar una consulta en la que necesito mostrar la lista de precios.

Por ejemplo, tengo este Query que muestra la lista de precios que deseo:

SELECT T0.[ListName], T0.[BASE_NUM], T0.[Factor], T0.[GroupCode] FROM OPLN T0 WHERE T0.[GroupCode] = 2

Este query me muestra la lista de precios 05, pero lo que realmente deseo es acceder a esa lista de precios 05 con un query que me muestre todos los productos con su respectivo precio, por ejemplo:

Número de Artículo
Descripción del Artículo
Precio Base
Precio Unitario
PROD 1 ARTÍCULO A 1 4
PROD 2 ARTÍCULO B 2 5
PROD 3 ARTÍCULO C 3 6
PROD 4 ARTÍCULO D 4 7

Si pudieran indicarme cómo puedo hacerlo o qué campos utilizar en el query, les agradecería mucho. Estaba intentando obtener las columnas con $[$1.1.0] o tal vez lo estoy haciendo mal.

Gracias de antemano por la ayuda brindada.

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

4 Respuestas

0
Loading...

Gracias Royer, era justo lo que estaba buscando. ¡Funciona de maravilla!

Saludos

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

Entiendo, qué bien que te haya salido entonces.

with(nolock) sirve para evitar bloqueos en SQL. Algunas consultas son muy extensas y el SQL tarda, especialmente con bases de datos muy grandes.

El beneficio de esta instrucción es que evita que el motor de base de datos emita bloqueos contra las tablas en tus consultas; esto aumenta la concurrencia y el rendimiento porque el motor de base de datos no tiene que mantener los bloqueos compartidos involucrados.

Haz la prueba en SQL con una consulta extensa y agrega esto en cada FROM después del nombre de la tabla para ver el rendimiento en milisegundos de respuesta a una consulta normal.

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

Roger,

¡Muchas gracias por la respuesta! En tu consulta estás mostrando las listas de precios del 1 al 7, pero yo necesitaba mostrar solo la lista 5.

Lo que intentaba hacer era manejar solo la tabla OPLN, pero luego de revisar y buscar, me di cuenta de que era mejor utilizar las tablas OITM y ITM1, relacionarlas y extraer los campos que necesito como el código del artículo (ItemCode), nombre del artículo (ItemName), lista de precios (PriceList) y además obtener el almacén al que pertenece ese producto usando el campo WhsCode de la tabla OITW.

El query quedó así:

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

¡Cualquier sugerencia para mejorar la consulta será bienvenida! .

¡Una vez más, muchas gracias Roger por la respuesta!

¡Un saludo!

PD: ¿Podrías indicarme para qué exactamente sirve el with(nolock)? Encontré algo en internet, pero aún no me queda claro XD o tal vez indicarme alguna página de internet. ¡Gracias!

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

¿Lo quieres de esta manera?

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)

¿O prefieres que lo coloque en algún formato de búsqueda específico? No entendí bien la pregunta quizás...

Espero que te sea útil.

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?