Introduction à ABAP : types de données, OperaTors & Editor – Tutoriel
⚡ Résumé intelligent
L'introduction à ABAP couvre le langage SAP Conçu pour le développement d'applications sur le système R/3, ce document explique les types de données, les opérateurs, les instructions de contrôle, les tables internes et l'éditeur SE38, point de départ de tout programme ABAP.

Qu'est-ce qu'ABAP ?
ABAP signifie Advanced Business Application Programming. C'est un langage de programmation pour le développement d'applications métier.ping applications pour le SAP Système R/3.
La dernière version d'ABAP s'appelle ABAP Objects et prend en charge la programmation orientée objet. SAP exécutera des applications écrites à l'aide d'ABAP/4, la version antérieure d'ABAP, ainsi que des applications utilisant des objets ABAP.
Cette introduction ne prétend pas tout documenter Langue ABAP Ce livre présente rapidement les concepts clés, vous permettant ainsi de commencer à écrire des programmes fonctionnels avant de passer à des sujets plus avancés.
Types de données
Chaque programme ABAP commence par déclarer les données avec lesquelles il va travailler.
Syntaxe pour déclarer une variable dans ABAP –
DATA Variable_Name TYPE Variable_Type.
Exemple :
DATA employee_number TYPE I.
Voici la liste des types de données pris en charge par ABAP.
| Type de données | Longueur du champ initial | Longueur de champ valide | Valeur initiale | Sens |
|---|---|---|---|---|
| Types numériques | ||||
| I | 4 | 4 | 0 | Entier (nombre entier) |
| F | 8 | 8 | 0 | Nombre à virgule flottante |
| P | 8 | 1 – 16 | 0 | Numéro emballé |
| Types de caractères | ||||
| C | 1 | 1 – 65535 | '…' | Champ de texte (caractères alphanumériques) |
| D | 8 | 8 | «00000000 ' | Champ Date (format : AAAAMMJJ) |
| N | 1 | 1 – 65535 | '0… 0' | Champ de texte numérique (caractères numériques) |
| T | 6 | 6 | «000000 ' | Champ Heure (format : HHMMSS) |
| Type hexadécimal | ||||
| X | 1 | 1 – 65535 | X'0 … 0′ | Champ hexadécimal |
Les huit types mentionnés ci-dessus sont les types classiques à longueur fixe. ABAP propose également deux types à longueur variable que les débutants rencontrent presque immédiatement : STRING pour des textes de toute longueur, et XSTRING pour les données binaires de toute longueur.
ABAP Operajeudi
Une fois les données déclarées, ce sont les opérateurs qui les modifient et les comparent.
Attribution de valeurs
a = 16. MOVE 16 TO a. WRITE a TO b.
Ces trois instructions déplacent une valeur. Le signe égal est la forme moderne, tandis que MOVE et WRITE TO sont les anciens équivalents que l'on rencontre encore dans les programmes existants.
Opérations arithmétiques
COMPUTE a = a * 100.
ABAP prend également en charge ADD et SUB.TRACT, MULTIPLY et DIVIDE peuvent être utilisés comme mots clés indépendants, mais la forme COMPUTE présentée ci-dessus est celle qui est le plus souvent utilisée.
Les opérateurs logiques
Les opérateurs logiques renvoient vrai ou faux, et c'est ce que testent toutes les instructions de contrôle de la section suivante. Chaque opérateur possède une forme textuelle et une forme symbolique, et les deux sont interchangeables.
| Forme lexicale | Forme symbolique | Sens |
|---|---|---|
EQ |
= |
Égal à |
NE |
<> |
Pas égal à |
GT |
> |
Supérieure à |
GE |
>= |
Plus grand ou égal à |
LT |
< |
Less que |
LE |
<= |
Less supérieur ou égal à |
Déclarations de contrôle
Les instructions de contrôle utilisent les opérateurs logiques ci-dessus pour déterminer quelles lignes de code sont exécutées et à quelle fréquence.
SI … FIN SI
IF [NOT] exp [ AND / OR [NOT] exp ]. ........ [ELSEIF exp. .......] [ELSE. .......] ENDIF.
Déclaration CASE
CASE variable. WHEN value1. ......... WHEN value2. ......... [WHEN OTHERS. .........] ENDCASE.
boucle WHILE
WHILE <logical expression>. ..... ENDWHILE.
Boucle DO
DO <n> TIMES. ..... ENDDO.
Une boucle WHILE s'exécute tant que sa condition est vraie. Une boucle DO s'exécute un nombre de fois fixe, ou indéfiniment jusqu'à ce qu'une instruction EXIT l'arrête.
Tables internes en ABAP
Les variables isolées sont rarement suffisantes. Les programmes métier lisent plusieurs lignes simultanément, et la table interne est la structure qui les stocke en mémoire.
Une table interne est un tableau dynamique. Elle n'a pas de taille fixe, sa durée de vie est limitée à celle du programme, et elle constitue la méthode standard pour transférer des lignes entre la base de données et l'écran.
" Declare an internal table and a work area DATA: lt_employees TYPE TABLE OF pa0001, ls_employee TYPE pa0001. " Fill it from the database SELECT * FROM pa0001 INTO TABLE lt_employees UP TO 10 ROWS. " Read it row by row LOOP AT lt_employees INTO ls_employee. WRITE: / ls_employee-pernr, ls_employee-ename. ENDLOOP.
Les trois opérations ci-dessus couvrent la plupart des tâches quotidiennes : déclarer la table, la remplir avec une requête SELECT, puis la parcourir avec une boucle LOOP AT. APPEND ajoute une ligne, READ TABLE en trouve une et DELETE supprime les lignes correspondant à une condition.
Éditeur ABAP/4
Toute la syntaxe ci-dessus est saisie en un seul endroit.
Transaction SE38 ouvre l'éditeur ABAP, où vous passerez la majeure partie de votre temps en tant que développeur à créer et modifier des programmes.
L'éditeur ABAP/4, transaction SE38
Comment écrire votre premier programme ABAP
L'écran ci-dessus illustre les étapes suivantes. La séquence ci-dessous génère un rapport fonctionnel en quelques minutes.
- Ouvrez l'éditeur. Entrez le code de transaction SE38 dans le SAP Champ de commande de l'interface graphique et appuyez sur Entrée.
- Nommez le programme. Saisissez un nom commençant par Z or Y, Par exemple
ZHELLO_WORLDCes deux lettres constituent l'espace de noms du client, et SAP garantit qu'il ne les écrasera jamais lors d'une mise à niveau. - Créez-le. Cliquez à nouveau Créer, saisissez une brève description et choisissez Programme exécutable comme type.
- Attribuer un colis. Choisissez Objet local Pour les exercices pratiques. Un objet local reste dans votre système et ne nécessite aucune requête de transport.
- Écrivez le code.
REPORT zhello_world. DATA employee_name TYPE string. employee_name = 'Guru99'. WRITE: / 'Hello, ABAP!', / 'Welcome', employee_name.
- Vérifiez la syntaxe. Presse Ctrl + F2La barre d'état signale toute erreur et la ligne qui l'a provoquée.
- Activer le programme. Presse Ctrl + F3Un programme inactif ne peut pas s'exécuter.
- Exécuter. Presse F8La liste de sortie s'ouvre et affiche les deux lignes WRITE.
La barre oblique dans l'instruction WRITE force un saut de ligne. La supprimer permet d'imprimer tout sur une seule ligne, ce qui constitue la première habitude de formatage que la plupart des débutants acquièrent.
Transaction ABAP courante Codes
Quelques codes de transaction suffisent pour couvrir presque tout ce dont un nouveau développeur ABAP a besoin.
| Transaction | Interet |
|---|---|
SE38 |
Éditeur ABAP. Créez, modifiez, vérifiez et exécutez des programmes. |
SE80 |
Navigateur d'objets. Un espace de travail unique pour les programmes, les classes, les packages et les écrans. |
SE11 |
Dictionnaire ABAP. Définir et examiner les tables de base de données, les éléments de données et les domaines. |
SE16N |
Explorateur de données. Consultez le contenu de n'importe quelle table sans écrire de requête SELECT. |
SE37 |
Générateur de fonctions. Créez et testez des modules de fonctions. |
SE24 |
Générateur de classes. Créez des classes globales pour les objets ABAP. |
ST22 |
Analyse du vidage mémoire. Lecture de l'erreur d'exécution lors de la terminaison d'un programme. |
SE38 et SE11 suffisent pour générer un premier rapport. ST22 devient l'outil le plus précieux du groupe dès qu'un programme plante.

