Tout sur la programmation de rapports ABAP
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
Objectif/utilisation des programmes de rapports
- 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é depuis SAP vers une feuille Excel à distribuer.
- Utilisé lorsque le rapport doit être envoyé par courrier à une personne en particulier.
Points importants à noter concernant le programme de rapport
- 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 soit avec Ventes et distribution, FI – CO, etc. Il peut également être inter-applications, c'est-à-dire type « * ».
- La programmation de rapports est une programmation basée sur les événements.
- La première ligne d'un programme de rapport est toujours Rapport .
- Pour supprimer l'en-tête de la liste ou le nom du programme, l'ajout Pas de titre de page standard est utilisé.
- La taille de ligne d'un rapport particulier peut être définie en utilisant l'ajout la taille de la ligne .
- Le nombre de lignes pour une page particulière peut être défini en utilisant l'ajout nombre de lignes n(n1). N est le nombre de lignes de la page et N1 est le nombre de lignes réservées au pied de page.
- Pour afficher toute information ou message d'erreur, nous ajoutons une classe de message au programme en utilisant l'ajout : ID du message . Les classes de messages sont conservées dans SE91.
Par conséquent, un programme de rapport idéal devrait commencer par :
Report <report name> no standard page heading line-size <size> line-count <n(n1)> message-id <message class>.
Écran de sélection
«Écran 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
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 #>
Paramètres
Les paramètres aident à effectuer une sélection dynamique. Ils ne peuvent accueillir qu'une seule valeur pour un cycle d'exécution du programme.
Syntaxe
Définir des paramètres en tant que type de données
Parameters p_id(30) type c.
Définir des paramètres comme un champ de table.
Parameter p_id like <table name>-<field name>.
Les paramètres peuvent être des cases à cocher ainsi que des boutons radio.
Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>. Parameters p_id2 radiobutton group <group name>.
Les paramètres peuvent être une zone de liste.
Parameter p_id like <table name>-<field name> as listbox
Plus d'options
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 for vbak-vbeln.
Vous pouvez également définir une option de sélection comme une variable
select-options s_vbeln for vbak-vbeln no intervals no-extension
Événements dans un programme de rapport ABAP
Les programmes de rapports ABAP sont programmes événementiels. Les différents événements d'un rapport Programme sont :
Chargement du 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 et une fois seulement 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 comme un constructeur l'a pour les classes dans les objets ABAP
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é (en fin de PAI).
- La validation et les vérifications des valeurs saisies ont lieu ici
Début de la sélection.
- Ici, le programme commence à sélectionner des valeurs dans des tables.
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 permet de 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 le souhaite l'utilisateur. Par exemple, les « Lignes alternatives » doivent apparaître dans des couleurs différentes et la ligne « Totaux » doit apparaître en jaune.
Syntaxe
Format Color n Format Color n Intensified On
n peut correspondre à différents nombres
Veuillez noter qu'il existe également d'autres ajouts en plus du format.
FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF
Programmation de rapports interactifs
- Grâce à la programmation interactive, les utilisateurs peuvent contrôler activement la récupération 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.
- Les listes secondaires peuvent être elles-mêmes interactives.
- La première liste peut également appeler une transaction.
- Il existe différents événements associés à la programmation interactive.
Quelques commandes utilisées pour la programmation interactive
point chaud
Si l'on fait glisser la souris sur les données affichées dans le rapport, le curseur se transforme en une main avec un index tendu. Un point chaud peut être obtenu à l'aide de l'instruction FORMAT.
Syntax: Format Hotspot On (Off).
Cacher
Cette commande vous aide à stocker les noms de champs en fonction de ceux qui effectueront un traitement ultérieur pour obtenir une liste détaillée. Il est écrit directement après l'instruction WRITE pour un champ. Lorsqu'une ligne est sélectionnée, les valeurs sont automatiquement renseignées dans les variables pour une utilisation ultérieure.
Syntax: Hide <field-name>.
Bases de données logiques
- Au lieu d'utiliser des requêtes « Sélectionner », vous pouvez utiliser une base de données logique pour récupérer les données d'un programme.
- Les bases de données logiques sont créées par transaction SE36
- Le nom d'une base de données logique peut comporter jusqu'à 20 caractères. Il peut commencer par un préfixe d'espace de noms.
- Les données sont sélectionnées par un autre programme et on peut accéder aux données en utilisant GET commande qui place les données dans la zone de travail .
Avantages d'une base de données logique par rapport aux requêtes Select normales.
- Il propose des conditions de contrôle pour voir si la saisie est correcte, complète et plausible
- Il contient des contrôles d'autorisation centraux pour l'accès à la base de données
- Les améliorations telles que l'amélioration des performances s'appliquent immédiatement à tous les rapports qui utilisent une base de données logique.
Remarque : En raison de la complexité impliquée, les bases de données logiques ne sont pas utilisées dans la plupart des cas.