Cómo crear Tcode para Query creada desde la SQVI

QuickViewer (SQVI) es una transacción para la generación de reportes. 
SAP Query ofrece a los usuarios una amplia gama de opciones para definir reportes. SAP Query también soporta diferentes tipos de reportes como listas básicas, estadísticas y listas clasificadas (Ranked Lists). 

En esta oportunidad crearemos una Query desde la SQVI que consistirá en la unión (Join) de 2 tablas, para este ejemplo utilizaremos la tablas VLCVEHICLE (VELO: Vehículo) y KNA1 (Maestro de clientes).

A veces es necesario que la Query que hemos creado pueda ser visto por más de un usuario... pero la Query sólo lo puede ver el usuario quien lo creó.

Una de las alternativas a dar solución para este caso sería crear una transacción Z de la Query, de manera que independientemente del usuario quien lo creó, lo pueda ejecutar cualquier usuario libremente; veamos:

Ingresamos a la Tcode: SQVI e ingresamos un nombre para crear nuestra Query en mi caso le he puesto el nombre: ZQUERY_VHCLE

Hacemos la unión de tablas (Join) en mi caso elegí las tablas VLCVEHICLE y KNA1

Para la tabla VLCVEHICLE, seleccionamos los campos que deseamos ver en la pantalla de selección (Campos de selección) y los campos que deseamos mostrar en el reporte (Campos lista).

Similar hacemos para la tabla KNA1

Luego grabamos la Query y ejecutamos

Hacemos clic en el menú: 'Sistema', luego en 'Status':

y veremos el nombre del Reporte que en mi caso es: AQA0SYSTQV000011ZQUERY_VHLCE==
Quizá te estés preguntando: 'Vaya que nombre raro...?' 
pero ese es el nombre y así que tenemos que copiarlo y/o anotarlo ya que luego lo utilizaremos.

Por la tcode SE38 creamos un programa Z, en mi caso lo he creado con el nombre ZVMSQ001
y la única linea que tienen que añadir al programa creado es el siguiente:

SUBMIT aqa0systqv000011zquery_vhcle== VIA SELECTION-SCREEN AND RETURN

 Grabamos y activamos.

Con la sentencia SUBMIT lo que hacemos es invocar al programa; para más detalles del uso de la sentencia SUBMIT puedes ver el siguiente Blog

Ahora nos faltaría crear la transacción al programa que hemos creado, para eso ingresamos a la tcode: SE93 escribimos el nombre del código de la transacción en mis caso es: ZVMSQ001


Seleccionamos la segunda opción: Programa e imagen de selección (transacción de report)

Ingresamos el nombre del Programa, en mi caso es: ZVMSQ001

Finalmente ejecutamos la tcode que hemos creado ZVMSQ001 y tenemos el reporte de la Query similar a lo ejecutado desde la SQVI.


Ahora la transacción ya puede ser asignada y/o comunicada a los usuarios que tendrán acceso.

Para el usuario es totalmente transparente cómo ha sido la creación del reporte, lo único que tendrán que hacer es ejecutar la transacción y poder listar el reporte según los datos que ingresen en pantalla, algo a lo cual por lo general ya están muy familiarizados.

Nos vemos en el siguiente Blog ;)
MAGALEX

Comentarios

  1. Gracias por compartir tu sabiduría. Una duda, es posible asociar el programa generado por la query directamente a la transacción??, es decir saltarse el paso de creación del programa por la se38.

    Saludos y gracias.

    ResponderEliminar
  2. Hola Alex, después de tiempo te encuentro. Y como haría para crear campos nuevos en función de campos existentes? ejemplo: concatenar BKPF-GJAHR con BKPF-MONAT

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Modificando Vista de Actualización SM30

User Exit para VA01 y VA02

Buttons and events in ALV GRID and ALV GRID OO