Está en la página 1de 10

2|

Creacin de transacciones asociadas a reportes

Para que los usuarios finales puedan utilizar los programas que nosotros desarrollamos, debemos crear transacciones asociadas a los programas, ya que ellos no tienen acceso a la transaccin SE38, ni a ninguna otra transaccin de desarrollo. Mediante la transaccin standard SE93, podemos crear transacciones asociadas a reportes. Veamos un ejemplo. Vamos a ejecutar la transaccin SE93, completamos el nuevo nombre de la transaccin, que ser ZTRX_USUARIOS y clickeamos el botn Create. Luego veremos una ventana de dilogo donde completamos la descripcin breve y seleccionamos el tipo de transaccin, que en nuestro caso ser transaccin de reporte y clickeamos continuar.

En la siguiente pantalla, ingresamos el nombre del programa, la pantalla de seleccin inicial, que por default es la 1000, podemos agregar una variante para que se ejecute con la transaccin y finalmente grabamos.

Luego para ejecutar nuestra transaccin la escribimos en el campo de comandos y presionamos enter como con cualquier otra transaccin standard de Sap.

3|

El navegador de objetos

Mediante la transaccin SE80 podemos crear, modificar y visualizar todo tipo de objetos. Algunos de ellos son: Paquetes, Programas, Mdulos de funcin, Clases, Aplicaciones WebDynpro, etc. Al momento de crear un programa de cierta complejidad, esta transaccin resulta mucho ms til que la SE38, ya que permite crear directamente desde aqu, todos los objetos componentes de dicho programa.

1|

Qu es un ALV?
ALV. Es una herramienta exclusiva de Abap, que sirve para crear reportes de manera eficz, rpida y standarizada. Las principales ventajas de los reportes ALV son:

Simplifican el desarrollo de reportes, por lo tanto se reducen los tiempos de programacin Proporcionan a nuestros reportes un montn de funcionalidad standard Proporcionan una salida por pantalla standarizada e uniforme La creacin de un Reporte ALV, se basa en la utilizacin de funciones. Los tipos de ALV ms comnmente usados son tres: Grillas, Listas y Jerrquico. Las Grillas y las Listas pueden utilizarse en cualquier reporte, pero el Jerrquico se utiliza slo en los casos donde se

muestran datos de cabecera y de detalle, como por ejemplo numeros de factura y detalles o Aerolneas y vuelos. A cada tipo de ALV le corresponde una funcin diferente. Ellas son: Grillas -> REUSE_ALV_GRID_DISPLAY Listas -> REUSE_ALV_LIST_DISPLAY Jerrquico -> REUSE_ALV_HIERSEQ_LIST_DISPLAY

2|

Mi primer reporte ALV

Vamos a crear nuestro primer reporte ALV. Para esto seguiremos los siguientes pasos: PASO 1ero. : Declaraciones de tipos, estructuras y tablas propias del ALV Dentro de este paso, declaramos el tipo SLIS, que es necesario para la utilizacin de reportes ALV.

Tambin declaramos una tabla y una estructura para el catalogo del ALV que son del tipo SLIS_T_FIELDCAT_ALV y SLIS_FIELDCAT_ALV, otra estructura para la configuracin de la salida que es del tipo SLIS_LAYOUT_ALV y una variable del tipo SY-REPID, para almacenar el nombre del programa.

PASO 2do. : Declaracin de la tabla de salida del ALV Vamos a declarar la tabla de salida TI_USUARIOS que se mostrar en el ALV.

PASO 3ero. : Seleccin de los datos que se mostrarn en el ALV Ahora seleccionamos los datos de la tabla ZTABLA_USUARIOS, que mostraremos en el listado de salida y los guardamos en la tabla interna TI_USUARIOS.

PASO 4to. : Armado del catlogo del ALV Armamos el catlogo del ALV con los campos que sern las columnas de nuestro reporte. Para ello, completaremos para cada columna del listado, los siguientes campos pertenecientes a la tabla del catlogo.

Existen muchismas ms propiedades del catlogo que se pueden configurar segn lo que necesitemos mostrar en el listado. Para ms informacin, hacer doble click en el tipo SLIS_T_FIELDCAT_ALV.

PASO 5to. : Configuracin de la salida del ALV

Vamos a cargar con valores la estructura ST_LAYOUT para configurar ciertos aspectos de la salida del ALV.

Existen muchismas ms opciones a configurar en el layout de un reporte ALV. Para ms informacin, hacer doble click en el tipo SLIS_LAYOUT_ALV.

PASO 6to. : Ejecucin de la funcin del ALV Por ltimo, lo que nos queda es la ejecucin de la funcin del ALV. Si queremos un reporte tipo grilla, ejecutaremos la funcin REUSE_ALV_GRID_DISPLAY. Si queremos un reporte tipo lista, ejecutaremos la funcin REUSE_ALV_LIST_DISPLAY. Ambas funciones se completan de la misma manera. Como dijimos anteriormente, los ALV jerrquicos se utilizan para cuando tenemos que mostrar datos de cabecera y detalle, por lo tanto no es aplicable para este ejemplo. Si es grilla:

Si es lista:

Finalmente si ejecutamos el reporte veremos, si usamos la funcin para grillas:

Y si usamos la funcin para listas:

1|

Creacin del catlogo en forma automtica

Existen dos formas de crear el catlogo del ALV, la primera es en forma manual, ingresando campo por campo, tal como hicimos en el ejemplo de la leccin anterior. La segunda, es crear el catlogo en forma automatica con la funcin REUSE_ALV_FIELDCATALOG_MERGE. Si tomamos el ejemplo de la leccin anterior, el cdigo para la creacin automtica sera el siguiente:

Pero para poder hacer esto vamos a tener que modificar dos puntos del programa. El primero es la forma como se declara la tabla interna del ALV. Si creamos el catlogo en forma automtica debemos declarar la tabla interna utilizando LIKE y haciendo referencia a campos de una tabla base de datos existente.

Lo otro que debemos hacer es configurar el editor, para que se restrinja la cantidad de caractres de ancho de la pantalla a 72. Esto lo hacemos desde la opcin de men Utilities/Settings/ABAP Editor/Editor/Downwars-Comp.Line Lenght(72).

2|

Utilizacin de Logos y encabezados

En los ALV Grilla podemos agregar logos y encabezados en los listados. Para ello, debemos declarar una tabla del tipo SLIS_T_LISTHEADER y una estructura del tipo SLIS_LISTHEADER.

Antes de completar el catlogo, vamos a llenar la tabla TI_HEADER con el encabezado del Reporte, el tipo de reporte y la fecha del sistema.

Luego, agregamos en la llamada a la funcion del ALV, el parmetro exporting I_CALL_TOP_PAGE con el literal 'TOP_OF_PAGE', que ser el nombre de la subrutina que cargue el contenido del encabezado y el logo.

Ahora creamos la subrutina TOP_OF_PAGE, con la llamada a la funcin REUSE_ALV_COMMENTARY_WRITE, que carga el encabezado que definimos en la tabla interna TI_HEADER, junto con el logo 'ENJOYSAP_LOGO'.

Para ver los logos disponibles en el sistema o cargar nuevos debemos utilizar la transaccin SE78.

Finalmente ejecutamos el programa y vemos: