SAP ABAP - Programación de informes

UN reportes una presentación de datos en una estructura organizada. Muchos sistemas de administración de bases de datos incluyen un redactor de informes que le permite diseñar y generar informes. Las aplicaciones de SAP admiten la creación de informes.

Un informe clásico se crea utilizando los datos de salida en la declaración WRITE dentro de un bucle. No contienen subinformes. SAP también proporciona algunos informes estándar como RSCLTCOP que se usa para copiar tablas entre clientes y RSPARAM que se usa para mostrar parámetros de instancia.

Estos informes constan de una sola pantalla como salida. Podemos usar varios eventos, como INICIALIZACIÓN Y PARTE INICIO DE PÁGINA para crear un informe clásico, y cada evento tiene su propia importancia durante la creación de un informe clásico. Cada uno de estos eventos está asociado a una acción específica del usuario y se activa solo cuando el usuario realiza esa acción.

A continuación se muestra una tabla que describe los eventos y descripciones:

S.No. Descripción del evento
1

INITIALIZATON

Se activa antes de mostrar la pantalla de selección.

2

AT SELECTION-SCREEN

Se activa después del procesamiento de la entrada del usuario en la pantalla de selección. Este evento verifica la entrada del usuario antes de la ejecución de un programa. Después de procesar la entrada del usuario, la pantalla de selección permanece en el modo activo.

3

START-OF-SELECTION

Se activa solo después de que finaliza el procesamiento de la pantalla de selección; es decir, cuando el usuario hace clic en el icono Ejecutar en la pantalla de selección.

4

END-OF-SELECTION

Se activa después de que se ejecuta la última instrucción del evento START-OF-SELECTON.

5

TOP-OF-PAGE

Activado por la primera instrucción WRITE para mostrar los datos en una nueva página.

6

END-OF-PAGE

Se activa para mostrar el texto al final de una página en un informe. Tenga en cuenta que este evento es el último al crear un informe y debe combinarse con la cláusula LINE-COUNT de la declaración REPORT.

Ejemplo

Creemos un informe clásico. Mostraremos la información almacenada en la base de datos estándar MARA (contiene datos generales del material) usando una secuencia de declaraciones en el editor ABAP.

REPORT ZREPORT2 
LINE-SIZE 75 
LINE-COUNT 30(3) 
NO STANDARD PAGE HEADING. 
Tables: MARA. 
TYPES: Begin of itab, 

MATNR TYPE MARA-MATNR, 
MBRSH TYPE MARA-MBRSH, 
MEINS TYPE MARA-MEINS, 
MTART TYPE MARA-MTART, 

End of itab. 

DATA: wa_ma TYPE itab,
      it_ma TYPE STANDARD TABLE OF itab.
		
SELECT-OPTIONS: MATS FOR MARA-MATNR OBLIGATORY. 
INITIALIZATION. 
MATS-LOW = '1'. 
MATS-HIGH = '500'. 

APPEND MATS. 
AT SELECTION-SCREEN. .
IF MATS-LOW = ' '. 
MESSAGE I000(ZKMESSAGE). 
ELSEIF MATS-HIGH = ' '. 
MESSAGE I001(ZKMESSAGE). 
ENDIF. 

TOP-OF-PAGE. 
WRITE:/ 'CLASSICAL REPORT CONTAINING GENERAL MATERIAL DATA  
FROM THE TABLE MARA' COLOR 7. 
ULINE. 
WRITE:/ 'MATERIAL' COLOR 1, 

24 'INDUSTRY' COLOR 2, 
38 'UNITS' COLOR 3, 
53 'MATERIAL TYPE' COLOR 4. 
ULINE. 
END-OF-PAGE. 

START-OF-SELECTION. 
SELECT MATNR MBRSH MEINS MTART FROM MARA  
INTO TABLE it_ma WHERE MATNR IN MATS. 
LOOP AT it_ma into wa_ma. 
WRITE:/  wa_ma-MATNR, 

25 wa_ma-MBRSH, 
40 wa_ma-MEINS, 
55 wa_ma-MTART. 
ENDLOOP. 
END-OF-SELECTION. 

ULINE. 
WRITE:/ 'CLASSICAL REPORT HAS BEEN CREATED' COLOR 7.
ULINE. 
SKIP.

El código anterior produce la siguiente salida que contiene los datos generales del material de la tabla estándar MARA: