SAP-ABAP prend en charge deux types de programmes: les programmes de rapport et les programmes de dialogue. Les programmes de rapport sont utilisés lorsque de grandes quantités de données doivent être affichées
Dans ce tutoriel, vous apprendrez:
- Écran de sélection
- Événements dans un programme de rapport ABAP
- Formatage du rapport
- Programmation de rapports interactifs
- Bases de données logiques
Objectif / utilisation des programmes de rapport
- Ils sont utilisés lorsque les données d'un certain nombre de tableaux doivent être sélectionnées et traitées avant de les présenter
- Utilisé lorsque les rapports exigent un format spécial
- Utilisé lorsque le rapport doit être téléchargé de SAP vers une feuille Excel pour être distribué.
- Utilisé lorsque le rapport doit être envoyé à une personne en particulier.
Points importants à noter à propos du programme de rapports
- Les programmes de rapport sont toujours des programmes exécutables. Le type de programme est toujours 1.
- Chaque programme de rapport correspond à un type d'application particulier, c'est-à-dire avec Sales & Distribution, FI-CO, etc. Il peut également s'agir d'applications croisées, c'est-à-dire de type «*».
- La programmation de rapport est une programmation événementielle.
- La première ligne d'un programme de rapport est toujours Report
. - Pour supprimer l'en-tête de liste ou le nom du programme, l'ajout Aucun titre de page standard est utilisé.
- La taille de ligne d'un rapport particulier peut être définie à l'aide de l'addition de taille de ligne
. - Le nombre de lignes pour une page particulière peut être défini en utilisant le nombre de lignes additionnel n (n1) . N est le nombre de lignes pour la page et N1 est le nombre de lignes réservées pour le pied de page.
- Pour afficher des informations ou des messages d'erreur, nous ajoutons une classe de message au programme en utilisant l'addition: Message-id
. Les classes de messages sont gérées dans SE91.
Rapportsans en-tête de page standardtaille de ligne nombre de lignes message-id .
Écran de sélection
"Ecran de sélection" est l'écran où l'on spécifie les valeurs d'entrée pour lesquelles le programme doit s'exécuter.
L'écran de sélection est normalement généré à partir du
- Paramètres
- Sélectionnez les options
Syntaxe
Écran de sélection début de l'écran <écran #>écran de sélection début de bloc <#> avec titre de cadre…… écran de sélection fin de bloc <#>écran de sélection fin de l'écran <écran #>
Paramètres Les
paramètres aident à faire une sélection dynamique. Ils ne peuvent accepter qu'une seule valeur pour un cycle d'exécution du programme.
Syntaxe
Définition des paramètres comme type de données
Paramètres p_id (30) type c.
Définition de paramètres comme un champ de table.
Paramètre p_id comme- .
Les paramètres peuvent être des cases à cocher ainsi que des boutons radio.
Paramètres p_id comme case à cocher Paramètres p_id1 radiobutton group.Paramètres p_id2 radiobutton group .
Les paramètres peuvent être listbox.
Paramètre p_id comme- comme listbox
Options de sélection
Une option de sélection est utilisée pour saisir une plage de valeurs ou un ensemble de valeurs dans un programme
Syntaxe
select-options s_vbeln pour vbak-vbeln.
Vous pouvez également définir une option de sélection comme une variable
select-options s_vbeln pour vbak-vbeln sans intervalles sans extension
Événements dans un programme de rapport ABAP
Les programmes de rapport ABAP sont des programmes événementiels . Les différents événements d'un programme de rapport sont:
Charge de programme
- Déclenche l'événement associé dans une session interne après le chargement d'un programme de type 1, M, F ou S.
- Exécute également le bloc de traitement associé une fois et une seule fois pour chaque programme et session interne.
- Le bloc de traitement LOAD-OF-PROGRAM a à peu près la même fonction pour un programme ABAP de type 1, M, F ou S qu'un constructeur a pour les classes dans ABAP Objects
Initialisation.
- Cet événement est exécuté avant l'affichage de l'écran de sélection.
- Initialisation de toutes les valeurs.
- Vous pouvez attribuer des valeurs différentes autres que les valeurs par défaut sur l'écran de sélection.
- Vous pouvez remplir votre écran de sélection avec certaines valeurs au moment de l'exécution.
À l'écran de sélection.
- L'événement est traité lorsque l'écran de sélection a été traité (à la fin de PAI).
- La validation et les vérifications des valeurs entrées se produisent ici
Début de la sélection.
- Ici, le programme commence à sélectionner des valeurs dans les tableaux.
Fin de sélection.
- Une fois que toutes les données ont été sélectionnées, cet événement écrit les données à l'écran.
Événements interactifs
- Utilisé pour les rapports interactifs. Il est utilisé pour créer une liste détaillée à partir d'une liste de base.
Formatage du rapport
ABAP permet aux rapports d'être formatés comme l'utilisateur le souhaite. Par exemple, «Lignes alternatives» doit apparaître dans des couleurs différentes et la ligne «Totaux» doit apparaître en jaune.
Syntaxe
Couleur de format nFormat Couleur n Intensifié Activé
n peut correspondre à différents nombres
Veuillez noter qu'il existe d'autres ajouts ainsi que le format
FORMAT COULEUR OFF INTENSIFIÉ OFF INVERSE OFF HOTSPOT OFF INPUT OFF
Programmation de rapports interactifs
- À l'aide de la programmation interactive, les utilisateurs peuvent contrôler activement la récupération des données et l'affichage des données
- Utilisé pour créer une liste détaillée à partir d'une liste très basique
- Les données détaillées sont écrites sur une liste secondaire.
- La liste secondaire peut soit recouvrir complètement le premier écran, soit l'afficher dans un nouvel écran
- The secondary lists can be themselves interactive.
- The first list may also call a transaction.
- There are different events associated with interactive programming.
Some commands used for interactive programming
HotspotIf one drags the mouse over the data displayed in the report the cursor changes to a Hand with an Outstretched Index finger. An hotspot can be achieved using the FORMAT statement.
Syntax: Format Hotspot On (Off).
HideThis command helps you to store the field names based on which one will be doing further processing to get a detailed list. It is written directly after the WRITE statement for a field. When a row is selected the values get automatically filled in the variables for further use.
Syntax: Hide.
Logical Databases
- Instead of using "Select" queries you can use logical database to retrieve data for a program.
- Logical databases are created by transaction SE36
- The name of a logical database can be up to 20 characters long. It may begin with a namespace prefix.
- The data is selected by another program and one can access the data using GET
command which places the data in the work area .
Advantages of a logical database over normal Select queries.
- It offers check conditions to see whether the input is correct, complete and plausible
- It contains central authorization checks for database access
- Enhancements such as improvement in performance immediately apply to all reports which use logical database.
Note: Due to the complexities involved, logical databases are not used in most of the cases