MENU
THEMES

ABAP

Publié le: 18/09/2007  |  Mis à jour le: 08/03/2013  |  Par: Guideinformatique  

ABAP, le langage de programmation de SAP assure sa portabilité. Yann Szwec, auteur du livre SAP et ABAP chez ENI nous en fait ici une présentation.
A noter que ce livre est l'un des rares en français sur SAP et le seul sur ABAP.

Origine de l'ABAP

L'ABAP (Advanced Business Application Programming) est dédié à SAP R/3, et a été créé pour SAP R/2, version mainframe de SAP, au début des années 80 (SAP R/3 indique une architecture 3 tiers, et cette version est née dans les années 90).
A son origine, l'ABAP est un langage proche du COBOL, mais il a suivi l'évolution de l'informatique, et permet une programmation de type objet. Ce langage est aussi événementiel.
Il répond à plusieurs besoins: portabilité, atelier de programmation complet, besoins de traduction.

Besoin de portabilité

Chaque base de données permet l'accès aux informations en utilisant le langage SQL (Structured Query Language), langage permettant de se détacher des contraintes techniques du stockage de l'information. Chaque base de données a son propre langage de requête, très proche de la norme ANSI qui définit le langage SQL.
De par sa portabilité, SAP autorise les sociétés clientes à préserver leurs compétences internes en gestion de bases de données, en utilisant les principales bases de données du marché: Oracle, SQL SERVER, SYBASE, DB2, MAXDB.
Il en résulte que SAP devait donc se détacher du langage de chaque base de données, et devait donc avoir son propre langage : l'ABAP.

Besoin de traduction

SAP R/3 est orienté depuis le départ vers les grandes entreprises, ses qualités techniques l'ont imposé aux PME partenaires des grandes sociétés.
Les grandes entreprises étant internationales pour la plupart, les filiales étant dans de nombreux pays, les besoins d'unifier l'information est primordial. SAP permet de travailler sur le même système en plus de 40 langues, dont le chinois, l'ukrainien, le thaïlandais,...et avec les 15 langues européennes les plus importantes (français, anglais, allemand, espagnol, italien, portugais,...). 

SAP a intégré les traductions dans le typage de l'information, en utilisant un sous-objet: le data element. De cette manière, dès la création des objets du dictionnaire de données, la notion de traduction est incluse, et elle permet une réutilisation multi-langues quasi systématique.

Interprétation, compilation, l'éditeur

L'ABAP est un langage interprété compilé : une fois un programme activé, les requêtes SQL créées dans le langage ABAP sont réinterprétées dans le langage propriétaire de la base de données.
Pour programmer en ABAP, SAP a 2 ateliers de programmation, appelé par des transactions :

  • SE38, version ancienne,
  • SE80, permettant une vision globale d'un programme.
Capacité de réutilisation des objets de la base de données

L'ABAP a la capacité de faire appel à tous les objets du dictionnaire de données, afin de réutiliser leur définition: type de données, structure, tables, vue.
Il est possible de déclarer un objet de type complexe, une structure : une suite logique de zones, pouvant représenter une occurrence d'une table.
De même il est nécessaire de travailler sur plusieurs enregistrements d'une table de la base de données: les occurrences seront alors stockées dans une table interne, table temporaire définie en mémoire dans le serveur d'application

Exemple d'utilisation :
La déclaration des variables utilise le mot clef DATA
L'objectif sera de récupérer les 50 premiers enregistrements de la table MARA et de les stocker dans la table interne itab afin de les afficher. 

Langage Evénementiel

Il y a différentes étapes dans l'exécution d'un programme. Ces étapes peuvent être manipulées par le programme lui-même.
Les étapes suivantes sont souvent utilisées :

  • INITIALIZATION : affectation d'une valeur à des variables, des structures, des objets de l'écran de sélection
  • START-OF-SELECTION : exécution du programme
  • END-OF-SELECTION : à la fin du traitement, la possibilité d'indiquer un résultat de traitement
  • AT SELECTION-SCREEN

Il existe d'autres événements principalement présents pour des raisons de compatibilité avec des modes de programmation obsolètes.

L'écran de sélection

Celui-ci permet à l'utilisateur d'indiquer des paramètres d'exécution au programme.
Il est composé de 2 objets permettant la saisie de ces paramètres : le parameter et le select-option. Toutes les zones présentées ci-dessous sont des parameters. 

La zone ci-dessous est un select-option : une plage de valeurs possibles, autorisées ou exclues. 

Ces paramètres peuvent être utilisés dans la construction des requêtes SQL, dans la clause WHERE.

Les écrans

Un écran est un objet appartenant à un programme, une fonction. Il n'a pas d'existence propre. SAP a simplifié la manipulation des écrans à réduisant leur gestion à 2 événements: avant la présentation à l'utilisateur, le P.B.O., et après action de l'utilisateur, le P.A.I.
Les écrans peuvent être définis au moyen d'un atelier graphique qui permet d'intégrer des objets standards de présentation : zone de saisie, case à cocher, bouton,... 

SAP a aussi créé des objets intelligents, afin de présenter des informations et de permettre de les manipuler: les TREE VIEW, les ALV GRID,... Ces objets sont manipulables par programmation, modifiables. La programmation en mode objet est dorénavant obligatoire. 

Les transactions

Pour exécuter un programme, les utilisateurs peuvent utiliser l'arborescence. Par exemple pour lancer l'atelier de développement ABAP: 

Les utilisateurs peuvent saisir aussi le code de la transaction associé à l'atelier de développement ABAP, le SE80, en utilisant la zone dédiée à cet effet.

D'après Yann Szwec, auteur du livre SAP et ABAP (éd. ENI) 

Dossiers dans la même thématique ...

Réagir à cet article