March 23, 2010

Create a transaction based on a report

Aveces nos encontramos en situaciones donde los usuarios tiene que ejecutar constantemente reportes tanto estandar como customizados para realizar acciones en nuestros sistemas.

En una situación como la anteriormente descripta, puede resultarle de mucha utilidad al usuario el poder acceder a dicho reporte por medio de una transacción (En vez de tener que ir a la SE38/SA38 y ejecutar el reporte desde ahí).

Esto puede realizarse desde la transacción SE93, no es nada complicado, peor a continuacion se detallan los pasos.


  1. Primero debemos acceder a la transacción SE93, ingresamos el nombre de la nueva transacción y le damos al botón Create.
  2. En nuestro caso elegiremos que es una transacción con un reporte, pero podemos ver que hay varios modos para crear la transacción. Para seguir con nuestro ejemplo elegiremos "report transaction".

    Como podemos observar en este momento nos advierte, que solo puede crearse dentro de un Package, dicho Package se crea desde la transacción SE80.
  3. En este paso deberemos rellenar todos los campos solicitados para crear la transacción, en "Transaction Text" podemos incluir una breve descripción, en el campo "Program" es donde ingresaremos el reporte que deberá ejecutarse. También podemos indicar que por ejemplo, el reporte sea ejecutado con una variante, esto puede resultar útil para reportes que solo deben mostrar resultados(Las variantes pueden crearse desde la transacción SE38).
  4. Una vez completados todos los campos daremos clic en el botón guardar, en este momento nos preguntara en que "Package" deben guardarse las modificaciones, aquí solo hace falta indicar el "Package" correspondiente y la persona responsable.
  5. Solo nos resta poner todo esto en una orden de transporte, que puede estar previamente creada en la SE10, o puede crearse en este momento haciendo clic en el botón "Create".
  6. Una buena practica(en caso de que tengamos los permisos correspondientes para ejecutar el reporte asignado a la nueva transacción) sería ejecutar la transacción para verificar que esta se ejecuta correctamente.