10 Février 2012    

La lettre de septembre 2007

Archives

ABAP

Editorial - la lettre de septembre 2007

  

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,...).
 

Localisation de l'application SAP
Agrandir l'image

 
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.
 

Exemple d'accès aux données
Agrandir l'image

 

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.
 

Ecran de sélection
Agrandir l'image

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

Sélection sur une plage de valeurs
Agrandir l'image

 
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,...
 

Conception d'un écran
Agrandir l'image

 
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.
 

Manipulation d'objets
Agrandir l'image

 

Les transactions

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

Lancement de l'atelier de développement ABAP
Agrandir l'image

 
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.
 

Saisie du code de transaction
Agrandir l'image

 

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

Pour aller plus loin


SAP et ABAP

 
Ce livre a deux objectifs : le premier est d'expliquer l'environnement technique SAP R/3 (notions de paysage système, de portabilité, de scalabilité, d'intégrité...). Le deuxième objectif est de s'autoformer aux bases de l'ABAP, le langage de programmation interne à SAP.
SAP et ABAP
Découverte de l'environnement SAP et autoformation au langage ABAP
ENI - août 2007

 


Recherche         
fermer