Introduction
ABAP est un langage de programmation propriétaire, faisant partie de l'ensemble logiciel SAP. Il s'agit actuellement du langage utilisé dans la programmation des Web Application Server faisant partie de la plateforme Netweaver pour la réalisation de progiciels.
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.
L'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 (4GLs). 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. L'ABAP a par la suite été maintenu comme langage de référence pour les applications SAP R/3 qui sont apparus en 1992.
À l'origine, ce langage comprenait le concept de Base de données logique qui devait permettre à tout utilisateur de créer lui-même les rapports dont il avait besoin. Il s'est avéré en fait que développer des programmes avec ce langage ne pouvait être fait en pratique que par des professionnels disposant d'une solide expérience.
Le langage a été par la suite étendu pour englober un modèle de données orienté objet (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 l'ABAP que le java.
C'est un langage interprété.
L'ABAP pour quoi faire ?
L'ABAP jusqu'à l'apparition de NetWeaver était la brique constituante des systèmes SAP R/3. Il permet de réaliser :
- Des rapports . L'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ées 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 par exemple :
- 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 petre reconstruit dans SAP et inversement.
Liens externes
- SAP-Integration Une communauté française d'aide à SAP et au langage ABAP contenant des tutoriaux
- Interface PHP / SAPRFC Permet d'interfacer des applications web / PHP à SAP et d'y executer des BAPI, Modules fonctions executables à distance
- Sapdev Blog de trucs et astuces en ABAP