Consulta SQL con datos dados por el usuario

Soy nuevo en esto de SAP, pero me gustaría comparir algo que me costó un poco lograr.

Resulta que necesitaba hacer una consulta sql para conocer las Entradas de Mercancía donde un producto en específico estaba involucrado, ya que necesitaba información relacionada a ese producto, en específico los precios con los que se habia comprado a través del tiempo.

Esto fue lo que hice
Tabla: PDN1

  1. Entrar a menu Herramientas>Consultas>Generador de consultas>
  2. Selecionar los campos que me interesaban de la tabla PDN1
  3. En el WHERE escribir un código de artículo

la consulta que me salió fue esta:

SELECT 
    T0.[DocEntry], T0.[LineNum], T0.[BaseEntry], T0.[ItemCode], T0.[Dscription], 
    T0.[Quantity], T0.[ShipDate], T0.[Price], T0.[PriceBefDi], T0.[DocDate] 
FROM PDN1 T0 
WHERE T0.[ItemCode] = 'EMJC2333DG' 
ORDER BY T0.[DocDate]

Yo lo que quería era hacer la consulta mucho más genérica, donde se puediera elegir el producto, con el objetivo de ser una herramienta para aquellos que no conocen nada de SQL.

Y resultó que se puede con el elemento [%0]. ésto lo que hace es solicitarte el campo a travéz de una ventana, SAP ya sabe cual es el tipo de información que se requiere y de donde la requiere, solo presenta la venta y que el usuario elija.

SELECT 
    T0.[DocEntry], T0.[LineNum], T0.[BaseEntry], T0.[ItemCode], T0.[Dscription], 
    T0.[Quantity], T0.[ShipDate], T0.[Price], T0.[PriceBefDi], T0.[DocDate] 
FROM PDN1 T0 
WHERE T0.[ItemCode] = **[%0]** 
ORDER BY T0.[DocDate]

Espero que les sirva, así como espero tambien poder seguir compartiendo más conocimiento y experiencia.

Saludos desde México D.F.

5 Me gusta

Esta interesante, yo por no decir nunca, rara vez he utilizado el gnerador de consultas.
Si pudieras agregar unas imagenes sobre la consulta y como quedo al final, estaria bueno, de todos modos gracias por el aporte.

este generador de consultas esta solo en SAP Bussines ONE?

Estimado @smota las ventanas son las siguientes:

Generador de Consultas:

En la parte de la izquierda arriba, van las tablas que se quieren consultar, al precionar [TAB] todos los campos de la tabla se listan en la parte central, y al darle doble click a los campos se van seleccionando en las cajas de Seleccionar,donde,ordenar por, agrupar por, y para visualizar la consulta click en el botón {Ejecutar}

Como en la consulta pusimos que el valor lo debe proporcionar el usuario [%0], se abre la ventana solicitando el dato:

La consulta se visualiza en la ventana de Vista previa de Consulta

Olvidé comentar que para que la herramienta quede ya para su uso, le damos {Guardar}, y la agregamos en las consultas definidas por el usuario. Que los usuarios lo pueden consultar en el menu Herramientas>consultas>consultas usuario>.

Saludos everyone. Blessings.

2 Me gusta

No sabria responderte a eso, ya que recien comienzo con SAP, ¿pero si alguien pudiera responder?..

Por la captura de pantalla, es SAP B1.

Recuerden abrir debates nuevos en Consultas SAP o bien #consultas-sap:sap-business-one si tienen dudas, ya que el aporte es excelente como tutorial, si surgen dudas, que se traten en temas nuevos :stuck_out_tongue:

Saludos!

1 me gusta

Desde Sql >

declare @Codigo varchar(50) =‘E’

SELECT
T0.[DocEntry], T0.[LineNum], T0.[BaseEntry], T0.[ItemCode], T0.[Dscription],
T0.[Quantity], T0.[ShipDate], T0.[Price], T0.[PriceBefDi], T0.[DocDate]
FROM PDN1 T0
WHERE T0.[ItemCode] like ‘%’+@Codigo+’%'
ORDER BY T0.[DocDate]

Si te fijas declare una variable para hacerla igual dinamica que tu solo que si no pones ningun dato, pues te retorna todo… jejeje

Saludos