SAP ABAP - Programmation de rapports

UNE reportest une présentation de données dans une structure organisée. De nombreux systèmes de gestion de base de données incluent un rédacteur de rapports qui vous permet de concevoir et de générer des rapports. Les applications SAP prennent en charge la création de rapports.

Un rapport classique est créé en utilisant les données de sortie dans l'instruction WRITE à l'intérieur d'une boucle. Ils ne contiennent aucun sous-rapport. SAP fournit également certains rapports standard tels que RSCLTCOP qui est utilisé pour copier des tables entre les clients et RSPARAM qui est utilisé pour afficher les paramètres d'instance.

Ces rapports se composent d'un seul écran comme sortie. Nous pouvons utiliser divers événements tels que INITIALIZATON & TOP-OF-PAGE pour créer un rapport classique, et chaque événement a sa propre importance lors de la création d'un rapport classique. Chacun de ces événements est associé à une action utilisateur spécifique et est déclenché uniquement lorsque l'utilisateur effectue cette action.

Voici un tableau décrivant les événements et leurs descriptions -

S.No. Description de l'évenement
1

INITIALIZATON

Déclenché avant d'afficher l'écran de sélection.

2

AT SELECTION-SCREEN

Déclenché après le traitement de la saisie utilisateur sur l'écran de sélection. Cet événement vérifie l'entrée de l'utilisateur avant l'exécution d'un programme. Après le traitement de la saisie utilisateur, l'écran de sélection reste en mode actif.

3

START-OF-SELECTION

Déclenché seulement après la fin du traitement de l'écran de sélection; autrement dit, lorsque l'utilisateur clique sur l'icône Exécuter sur l'écran de sélection.

4

END-OF-SELECTION

Déclenché après l'exécution de la dernière instruction de l'événement START-OF-SELECTON.

5

TOP-OF-PAGE

Déclenché par la première instruction WRITE pour afficher les données sur une nouvelle page.

6

END-OF-PAGE

Déclenché pour afficher le texte à la fin d'une page dans un rapport. Notez que cet événement est le dernier événement lors de la création d'un rapport et doit être combiné avec la clause LINE-COUNT de l'instruction REPORT.

Exemple

Créons un rapport classique. Nous afficherons les informations stockées dans la base de données standard MARA (contient des données matérielles générales) en utilisant une séquence d'instructions dans l'éditeur 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.

Le code ci-dessus produit la sortie suivante contenant les données générales sur les matériaux de la table standard MARA -