Todo sobre la programación de informes ABAP
SAP-ABAP admite dos tipos de programas: programas de informes y programas de diálogo. Los programas de informes se utilizan cuando es necesario mostrar grandes cantidades de datos.
Propósito/uso de los programas de informes
- Se utilizan cuando es necesario seleccionar y procesar datos de varias tablas antes de presentarlos.
- Se utiliza cuando los informes exigen un formato especial.
- Se utiliza cuando el informe debe descargarse desde SAP a una hoja de Excel para distribuirla.
- Se utiliza cuando el informe debe enviarse por correo a una persona en particular.
Puntos importantes a tener en cuenta sobre el programa de informes
- Los programas de informes son siempre programas ejecutables. El tipo de programa es siempre 1.
- Cada programa de Informe corresponde a un tipo de aplicación particular, es decir, con Ventas y Distribución, FI – CO, etc. También puede ser una aplicación cruzada, es decir, tipo "*".
- La programación de informes es una programación basada en eventos.
- La primera línea de un programa de informes siempre es Informe .
- Para suprimir el encabezado de la lista o el nombre del programa, la adición Sin encabezado de página estándar se utiliza.
- El tamaño de línea para un informe en particular se puede configurar mediante la adición tamaño de línea .
- El recuento de líneas para una página en particular se puede configurar mediante la adición recuento de líneas n(n1). N es el número de líneas de la página y N1 es el número de líneas reservadas para el pie de página.
- Para mostrar cualquier información o mensaje de error agregamos una clase de mensaje al programa usando la adición: ID de mensaje . Las clases de mensajes se mantienen en SE91.
Por lo tanto, un programa de informes ideal debería comenzar con:
Report <report name> no standard page heading line-size <size> line-count <n(n1)> message-id <message class>.
Pantalla de selección
La “pantalla de selección” es la pantalla donde se especifican los valores de entrada para los cuales se debe ejecutar el programa.
La pantalla de selección normalmente se genera a partir de la
- Parámetros
- Seleccione opciones
Sintaxis
Selection-screen begin of screen <screen #> selection-screen begin of block <#> with frame title <text> ......... ......... selection-screen end of block <#> selection-screen end of screen <screen #>
Parámetros
Los parámetros ayudan a realizar una selección dinámica. Pueden acomodar solo un valor para un ciclo de ejecución del programa.
Sintaxis
Definir parámetros como un tipo de datos
Parameters p_id(30) type c.
Definir parámetros como un campo de tabla.
Parameter p_id like <table name>-<field name>.
Los parámetros pueden ser casillas de verificación y botones de opción.
Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>. Parameters p_id2 radiobutton group <group name>.
Los parámetros pueden ser cuadros de lista.
Parameter p_id like <table name>-<field name> as listbox
Seleccione opciones
Una opción de selección se utiliza para ingresar un rango de valores o un conjunto de valores a un programa.
Sintaxis
select-options s_vbeln for vbak-vbeln.
También puede definir una opción de selección como una variable.
select-options s_vbeln for vbak-vbeln no intervals no-extension
Eventos en un programa de informes ABAP
Los programas de informes ABAP son programas impulsados por eventos. Los diferentes eventos en un Programa de informe son:
carga de programa
- Activa el evento asociado en una sesión interna después de cargar un programa de tipo 1, M, F o S.
- También ejecuta el bloque de procesamiento asociado una vez y solo una vez para cada programa y sesión interna.
- El bloque de procesamiento CARGA DE PROGRAMA tiene aproximadamente la misma función para un programa ABAP de tipo 1, M, F o S como constructor tiene para clases en Objetos ABAP
Inicialización.
- Este evento se ejecuta antes de que se muestre la pantalla de selección.
- Inicialización de todos los valores.
- Puede asignar valores diferentes a los valores predeterminados en la pantalla de selección.
- Puede llenar su pantalla de selección con algunos valores en tiempo de ejecución.
En la pantalla de selección.
- El evento se procesa cuando se ha procesado la pantalla de selección (al final de PAI).
- La validación y las comprobaciones de los valores ingresados se realizan aquí
Inicio de la Selección.
- Aquí el programa comienza a seleccionar valores de las tablas.
Fin de selección.
- Después de que se hayan seleccionado todos los datos, este evento escribe los datos en la pantalla.
Eventos interactivos
- Se utiliza para informes interactivos. Se utiliza para crear una lista detallada a partir de una lista básica.
Formatear el informe
ABAP permite que los informes tengan el formato que el usuario desee. Por ejemplo, las "Líneas alternativas" deben aparecer en diferentes colores y la línea "Totales" debe aparecer en amarillo.
Sintaxis
Format Color n Format Color n Intensified On
n puede corresponder a varios números
Tenga en cuenta que también hay otras adiciones junto con el formato.
FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF
Programación de informes interactivos
- Al utilizar la programación interactiva, los usuarios pueden controlar activamente la recuperación y visualización de datos.
- Se utiliza para crear una lista detallada a partir de una lista muy básica.
- Los datos detallados están escritos en una lista secundaria.
- La lista secundaria puede superponerse completamente a la primera pantalla o se puede mostrar en una nueva pantalla.
- Las listas secundarias pueden ser ellas mismas interactivas.
- La primera lista también puede llamar a una transacción.
- Existen diferentes eventos asociados a la programación interactiva.
Algunos comandos utilizados para la programación interactiva.
hotspot
Si uno arrastra el mouse sobre los datos mostrados en el informe, el cursor cambia a una mano con el dedo índice extendido. Se puede lograr un punto de acceso utilizando la declaración FORMAT.
Syntax: Format Hotspot On (Off).
Esconder
Este comando le ayuda a almacenar los nombres de los campos en función de cuál realizará el procesamiento adicional para obtener una lista detallada. Se escribe directamente después de la declaración WRITE de un campo. Cuando se selecciona una fila, los valores se completan automáticamente con las variables para su uso posterior.
Syntax: Hide <field-name>.
Bases de datos lógicas
- En lugar de utilizar consultas de "Seleccionar", puede utilizar una base de datos lógica para recuperar datos de un programa.
- Las bases de datos lógicas se crean por transacción. SE36
- El nombre de una base de datos lógica puede tener hasta 20 caracteres. Puede comenzar con un prefijo de espacio de nombres.
- Los datos son seleccionados por otro programa y se puede acceder a ellos usando el comando GET que coloca los datos en el área de trabajo .
Ventajas de una base de datos lógica sobre las consultas Select normales.
- Ofrece condiciones de verificación para ver si la entrada es correcta, completa y plausible.
- Contiene comprobaciones de autorización central para el acceso a la base de datos.
- Mejoras como la mejora del rendimiento se aplican inmediatamente a todos los informes que utilizan una base de datos lógica.
Nota: Debido a las complejidades involucradas, las bases de datos lógicas no se utilizan en la mayoría de los casos.