Crystal Report en Lista de materiales

buen día compaños tengo la siguiente consulta,
tengo realizado un formato en Crystal report en base auna consulta, mientra lo tengo en crystal, veo que funciona, hago busqueda del producto por codigo.
Pero cuando lo llevo a SAP en lugar de mostrarme la lista de materiales que esta en pantalla, me solicita que escriba el codigo.

que debo hacer para que en SAP no haga tal solicitud


Siempre te lo va a preguntar al ser un informe o consulta… la única forma que no lo haría sería que fuese un layout y para que sea un layout necesitas una transacción para pasar el dockey de la transacción.

hola, pero como podría ser esto, esta pantalla solo almacena informacion, no realiza transacciones.??

Pues eso… que no vas a poder, el parámetro siempre te lo va a preguntar al no existir transacción…
Otra cuestión es que intentarás hacerlo en el layout del recibo de producción o algo así…

Hola @Obedz

En la where de la consulta tienes que enlazar un parámetro con el campo clave del documento.

SELECT * FROM OITT
WHERE Code = ‘{?DocKey@}’

imagen

Espero te sirva de ayuda.

Saludos!

gracias @chus, sin embargo ahora muesta el siguiente error:

Que tal @Obedz, si es un layout de la lista de materiales, si debe ser asi como te lo comenta @Chus, ahora bien si lo que requieres es un reporte que al ejecutarlo en SAP, en lugar del campo para ingresar texto, te de la opcion de seleccionar de un listado.

Si es asi, lo unico que tienes que hacer, es agregar un select en el nombre del parametro.
supongo que tienes un parametro que es el ItemCode. en el nombre de ese parametro agregale un select con la informacion que quieres te despliegue en el filtro desde SAP. OJO, esa lista desplegable, no te la muestra al ejecutarlo en Crystal, solo cuando ya lo ejecutas dentro de SAP.

Algo asi:
image
Asi cuando lo ejecutes en SAP, en lugar de que el filtro te lo muestre como un campo de texto, te mostrara un listado con el resultado de la consulta que se le indico en el parametro, y ya solo seleccionas el que quieras utilizar para que se ejecute con ese filtro.

Saludos desde Sonora. :cowboy_hat_face:

Hola @Obedz,

Ese error normalmente aparece porque no tienes hecha la conexión con la base de datos o porque tienes un error en la consulta.

Aunque te de ese error, si lo cargas en SAP, y el error era porque no tenías hecha la conexión con la base de datos en el informe, te funcionará igualmente.

Saludos!

A ver @Obedz que estás mareando al personal y no se centra el tema.
¿Ese formato que has hecho es de un layout del sistema o es un informe independiente?

Si es un layout del sistema le puedes pasar el parámetro @dockey para que salga el docentry de la transacción.

Si es un informe que no es layout siempre vas a tener que especificar el valor del parámetro en la ejecución.

No es tan difícil, solo explicar bien en el primer post claramente para evitar divagaciones

buenas, ok , vamos por partes, al inicio la captura es de la pantalla de Crystal, ahi el reporte funciona perfecto, cuando lo traslado a SAP es donde encuentro el problema en mención, no puedo solicitar un DocEntry ya que esta pantalla solo tiene grabada la “Receta”, para poder generar produccion. (es la que adjunto)


La idea de este layout es mostrar el costo unitario total de la receta y, que el usario proceda de esta manera usarla para generar la produccion con una orden de fabricacion y recibo de produccion.
Cabe mencionar que el SAP cuenta con un PLD pero, este no muestra la informacion que el usuario requiere para poder validar que la receta esta correcta.

Hola @Obedz,

El DocEntry (o parámetro) es algo interno. No lo solicitas tu. Cuando mandas a imprimir un documento desde SAP, internamente, la pantalla que tienes abierta manda el campo clave de esa pantalla al informe que ejecutes. Por eso, en la consulta, lo que debes hacer es en la WHERE poner el campo clave igualando con el parámetro que envia SAP.
O sea, lo que te puse en el ejemplo:
WHERE Code = ‘{?DocKey}’

No se si me explico… :thinking:

No es un DocEntry que te solicita, no lo confundas. A nivel diseñador de reportes CR, lo que te solicita son campos llave o como el los manda a llamar como @DocKey. este parametro cristal report lo lee desde la UI de SAP y se la pasa a crystal report para que tu reporte sepa sobre que elemento va a desplegar la información. En este caso, lo que viaja en ese parametro es el CODE de OITT.

Espero con esto darte un norte

1 me gusta

hola de nuevo, gracias por sus aportes, pero no me funciona, les comparto captura de la consulta con la que hice layout,
Captura de pantalla 2024-06-05 122652
cuando la traslado a SAP muestra esta pantalla


Y lo que necesito es que se vea así en SAP

revisa el icono de filtros…ahi vas asignar que dockey tome el valor que te arroja el documento…en tu consulta ya esta bien, pero te falta la asginacion en el filtro del reporte no la de tu query.

sALUDOS

A ver @Obedz Nunca vas a poder imprimir directamente desde una lista de materiales sin un parámetro porque no es un layout que tenga un docentry y se resuelva automáticamente.
Siempre te va a preguntar por el código de la lista de materiales y el usuario tendrá que teclearlo o seleccionarlo.
Si se sabe el código lo teclea y listo, si no, como te han comentado puedes crear un parámetro de tipo selección de lista que se base en una select que te lo ha aportado @JoSeVc