Académique Documents
Professionnel Documents
Culture Documents
ABAP
Date de première version 1983
Influencé par Cobol
Site web scn.sap.com/community/abap (http://scn.sap.com/community/abap)
modifier (https://fr.wikipedia.org/w/index.php?title=ABAP&action=edit§ion=0)
Sa version ABAP/4 est objet, le chiffre 4 faisant de plus référence à son appartenance à la
classe des langages de quatrième génération.
Histoire
L'acronyme ABAP signifiant à l'origine Allgemeiner Berichtsaufbereitungsprozessor
(processeur générique pour la préparation de rapport) et a par la suite été anglicisé en
Advanced Business Application Programming.[1]
ABAP est l'un des successeurs du Cobol et est apparu dans les années 1980 dans la vague
des langages de quatrième génération (L4G). Il s'agit d'un dérivé du langage permettant de
réaliser des sorties de données (appelées rapports) de l'application SAP R/2, sur lequel de
nombreuses multinationales avaient bâti leur architecture d'application professionnelle.
ABAP a par la suite été maintenu comme langage de référence pour les applications SAP R/3
qui sont apparus en 1992.
Le langage a été par la suite étendu pour englober un modèle de données orienté objets
(ABAP Objects) à partir de sa version 4.5, pour être finalement intégré comme langage d'un
produit plus général appelé NetWeaver. Ce dernier utilise aussi bien ABAP que Java.
Composants du langage
Le code source : il est écrit directement dans un composant de SAP appelé SAP Workbench
et il sera stocké dans la base d'information de l'outil. Ce langage, de même que java, a besoin
d'être compilé pour pouvoir être exécuté. Cependant, à la différence de java, avant chaque
utilisation d'un programme, le processeur SAP vérifie qu'il possède la dernière version du
programme. Si ce n'est pas le cas, ce dernier est recompilé à la volée.
Des éléments de données. Chaque élément de donnée est construit à partir d'un domaine
et correspond à une utilisation particulière de ce dernier pour stocker une information, ou
pour afficher un champ. Chaque élément de donnée comprend quatre descriptions
textuelles qui peuvent être traduites (de manière à rendre l'application utilisable par des
locuteurs de différentes langues).
Des structures et des tables de différents types permettant de stocker des informations,
d'utiliser des types composites pour les transferts de données entre programmes et de
stocker de l'information dans la base.
Un outil de transport. À chaque modification d'un programme, celui-ci doit être transporté de
l'environnement dans lequel il est créé vers un environnement de test puis dans
l'environnement de production (chacun de ces environnements dispose de jeux de données
distincts, il peut exister plus de trois environnements dans un système d'information donné).
Cette opération est réalisée par la mise en œuvre d'un ordre de transport.
La communication avec les bases de données se fait via des requêtes SQL. Dans les
premières versions de SAP, elles sont très simplifiées mais augmentent en complexité dans
les nouvelles versions notamment avec les dernières versions de SAP ECC (EhP7) et bien
évidemment avec S/4HANA.[2]
ABAP jusqu'à l'apparition de NetWeaver était la brique constituante des systèmes SAP R/3. Il
permet de réaliser :
Des rapports. ABAP a été conçu à l'origine pour cela et comprendre des clauses générant
automatiquement des rapports. Un rapport est constitué en général d'un écran de sélection
de données et d'une liste affichant le résultant. Les rapports peuvent aussi être générés par
un utilisateur avec SAP Business Report ou par un utilisateur simplement averti avec SAP
Query.
Des transactions. Une transaction est constituée d'une succession d'écrans appelés
Dynpro, chaînés entre eux par un programme contenant la logique de la transaction.
Des fonctions. Il s'agit de sous-programmes contenant la description d'une fonctionnalité
du système. Ces fonctions peuvent être internes et permettre ainsi une plus grande
cohérence du système ou permettre la communication avec d'autres systèmes. Si les
systèmes externes sont aussi des systèmes SAP R/3 on parlera de fonctions RFC (Remote
Function Call) sinon la fonction sera généralement encapsulée et les appels pourront être
réalisés à partir d'autres langages, on parlera alors de BAPI. Enfin, il existe d'autres variétés
de fonctions et de protocole comme :
tRFC: transactional RFC qui permet de réaliser de véritables transactions entre systèmes ;
qRFC: queued RFC qui permet d'assurer la synchronisation d'appels en masse entre deux
systèmes ; ce protocole permet ainsi d'assurer la consistance des données dans le module
de datawarehouse BW.
Des programmes de gestion d'IDOCs. Un Idoc est un document de format unique composé
de segments qui, une fois rassemblés et exécutés permettent diverses opérations au sein
du système (création de commandes client, de demandes d'achats, gestion de données du
personnel…). L'avantage d'un Idoc est, que de par sa composition, il peut provenir de
systèmes externes pour être reconstruit dans SAP et inversement.
Le grand classique :
REPORT Z_XX_TRANSACTION.
* -- Commentaire de ligne
REPORT Z_XX_TRANSACTION.
* -- Déclaration de données
TABLES:
tstc. "Tables
des transactions
DATA :
"Transactions
"Descriptions de transactions
*------------------
*------------------
CLEAR: gt_tstc,
gt_tstct.
SELECT
FROM tstc
FIELDS *
SELECT
FROM tstct
FIELDS *
IF sy-subrc IS INITIAL.
"
(obligatoire pour lecture dichotomique plus bas)
ENDIF.
ENDIF.
*------------
TOP-OF-PAGE.
*------------
SKIP. "Saut
de ligne
ULINE. "Ligne
continue horizontal
*------------
END-OF-PAGE.
*------------
ULINE.
*-----------------
*-----------------
INTO gs_tstct
BINARY SEARCH.
"Lecture dichotomique ⇒ meilleure performance
WRITE : / "Saut
de ligne
sy-vline, "Barre
verticale
sy-vline. "Barre
verticale
ELSE.
WRITE : / "Saut
de ligne
sy-vline, "Barre
verticale
(25) gs_tstct-ttext,
"Description sur 25 caractères
sy-vline. "Barre
verticale
ENDIF.
ENDLOOP.
Notes et références
1. « SAP NetWeaver Application Server for ABAP 7.52 - ABAP Programming » (https://help.
sap.com/viewer/7bfe8cdcfbb040dcb6702dada8c3e2f0/LATEST/en-US/2ff82a005ddd4f3
69b74bfda71f297c0.html) [archive], sur SAP Help Portal (consulté le 14 novembre 2021)
Voir aussi
Article connexe
SAP (progiciel)
Liens externes
SAP Help Portal - Application Development on AS ABAP 2020 (https://help.sap.com/viewe
r/7bfe8cdcfbb040dcb6702dada8c3e2f0/LATEST/en-US/2ff82a005ddd4f369b74bfda71f2
97c0.html) [archive]
Dernière modification il y a 6 mois par WikiCleanerBot