Rechercher dans ce blog

Les bases du langage ABAP


Les commentaires

La mise en commentaire d’une ligne

Une ligne est considérée en commentaire lorsqu’elle commence par une « * ».
Exemple :
* Explication du traitement effectué

Pour mettre rapidement une ligne en commentaire, sélectionnez la ligne voulue et appuyez sur les touches « CTRL » et « > ».
Pour retransformer une ligne de commentaire en ligne de code, sélectionnez la ligne voulue et appuyez sur les touches « CTRL », « Maj » et « > ».

Le commentaire en fin de ligne de code

On peut insérer du commentaire après une ligne de code en insérant entre les deux le caractère «'' »
Exemple :
DATA var1 TYPE c.                      '' Déclaration de variable

Types et variables

Les types numériques

Type
Signification
Valeur initiale
Longueur standard
Longueur autorisée
I, integer
Nombre entier
0
4
4
P
Nombre packé
0
8
1-16
F
Nombre à virgule flottante
0,0000000
8
8

Les types alphanumériques

Type
Signification
Valeur initiale
Longueur standard
Longueur autorisée
N
Texte numérique
1-MAX
/
/
C
Caractère
Espace
1
1-MAX
String
Chaîne de caractères
Espace
/
/
D
Date(AAAMMJJ)
00000000
8
8
T
Heure(HHMMSS)
000000
6
6
X
Hexadécimal
X'00'
1
1-MAX


Déclaration de donnée en utilisant les types ABAP

DATA             var(len)           TYPE abap_type.
Ou
DATA             var                  TYPE abap_type LENGTH len .

Ajouts optionnels :
DECIMALS dec
VALUE val
IS INITIAL
READ-ONLY
                       

Exemples :
DATA var1               TYPE c.
DATA var2(30) TYPE c.
DATA var3 TYPE string VALUE ‘chaîne de caractères’.
DATA var4 TYPE i VALUE IS INITIAL.

Ou
DATA :        var1      TYPE c,
                   var2(30) TYPE c,
                   var3 TYPE string VALUE ‘chaîne de caractères’,
                   var4 TYPE i VALUE IS INITIAL.

NB : Une ligne d’instruction ABAP se termine toujours par un point. L’utilisation du caractère « : » permet de ne pas répéter le mot clé ABAP (ici « DATA »). Dans ce cas-là, on utilise le caractère « , » pour séparer les différentes instructions.


Déclaration de donnée en référence à une donnée déjà existante

DATA             var                   LIKE  nom_table-nom_zone.


Exemple :
DATA var1 LIKE sy-uzeit.


Déclaration de constante

CONSTANTS const.

Ajouts optionnels :
On utilise les mêmes ajouts optionnels que l’instruction DATA


Exemple :
CONSTANTS const1(9) TYPE c VALUE 'CONSTANTE'.
CONSTANTS const2(4) TYPE c VALUE IS INITIAL.

Ou
CONSTANTS : const1(9)  TYPE c VALUE ' CONSTANTE ',
                         Const2(4) TYPE c VALUE IS INITIAL.



Déclaration de types

TYPES:  BEGIN OF structure,
     ...
     var1(2) TYPE c,
     Var2(4) TYPE c,
     ...
           END OF structure.

Exemple :
TYPES :   BEGIN OF t_rbkp,
                        Belnr                TYPE rbkp-belnr,                     “Numéro d’un document de facturation
                        Gjahr               TYPE rbkp-gjahr,                      “Exercice comptable
                        Blart                TYPE rbkp-blart,                      “Type de pièce
                END OF t_rbkp.

DATA : wv_rbkp TYPE t_rbkp.



Les instructions


Dans SAP, vous pouvez trouver toutes les options liées aux instructions suivantes en positionnant votre curseur sur un mot clé et en utilisant la touche F1 (affichage de la documentation des mots-clés SAP).
Instruction
Format
Description
Exemple
WRITE
WRITE var.
Permet l’affichage de données
WRITE ‘Bonjour’.
WRITE : var1, var2.
IF
IF …
ELSE…
ELSEIF…
ENDIF.
Test de condition
IF var1 > var2.
     Var3 = var1 – var2.
ELSE.
      Var3 = var2 – var1.
ENDIF.
CASE
CASE var.
  WHEN…
  WHEN…
  WHEN OTHERS…
ENDCASE.
Test de valeur
CASE  sy-ucomm.
    WHEN 'BACK'.
        LEAVE TO SCREEN 100.
    WHEN 'CANCEL'.
        LEAVE SCREEN.
     WHEN OTHERS.
        MESSAGE '...' TYPE 'E'.
ENDCASE.
WHILE
WHILE condition.
    …
ENDWHILE.
Effectuer un traitement tant qu’une condition est vraie
WHILE sy-subrc = 0.
  REPLACE ` ` IN text WITH `-`.
ENDWHILE.
DO
DO n TIMES
  …
ENDDO.
Effectuer un traitement n fois
DO 10 TIMES.
  square = sy-index ** 2.
  WRITE: / sy-index, square.
ENDDO.
FORM
FORM nomform.
  …
ENDFORM.
Regroupement d’instructions soit pour la lisibilité du programme soit parce que ces instructions seraient répétées dans le programme
FORM affichage.
   WRITE ‘affichage’.
ENDFORM.
PERFORM
PERFORM nomform.
Appel du regroupement d’instructions contenu dans l’instruction FORM.
PERFORM affichage.

Les opérateurs

Les opérateurs de comparaison

Définition
Syntaxe
Syntaxe alternative
Égal
=
EQ
Différent
<> 
NE
Plus petit
< 
LT
Plus grand
> 
GT
Plus petit ou égal
<=
LE
Plus grand ou égal
>=
GE

Les opérateurs booléens

Définition
Syntaxe
ET
AND
OU
OR
NON
NOT


Aucun commentaire:

Enregistrer un commentaire