Gracias Royer, era justo lo que estaba buscando. ¡Funciona de maravilla!
Saludos
Avalados por :
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.
Gracias Royer, era justo lo que estaba buscando. ¡Funciona de maravilla!
Saludos
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.
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!
¿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.
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute