SAP ABAP - Syntaxe de base

Déclarations

Le programme source ABAP se compose de commentaires et d'instructions ABAP. Chaque instruction dans ABAP commence par un mot clé et se termine par un point, et ABAP n'est pas sensible à la casse.

La première ligne sans commentaire d'un programme commence par le mot REPORT. Le rapport sera toujours la première ligne de tout programme exécutable créé. L'instruction est suivie du nom du programme qui a été créé précédemment. La ligne se termine alors par un point.

La syntaxe est -

REPORT [Program_Name]. 
 
[Statements…].

Cela permet à l'instruction de prendre autant de lignes dans l'éditeur que nécessaire. Par exemple, le RAPPORT peut ressembler à ceci -

REPORT Z_Test123_01.

Les instructions se composent d'une commande et de toutes les variables et options, se terminant par un point. Tant que la période apparaîtra à la fin du relevé, aucun problème ne se posera. C'est cette période qui marque la fin de la déclaration.

Écrivons le code.

Sur la ligne sous l'instruction REPORT, tapez simplement cette instruction: Écrivez «ABAP Tutorial».

REPORT Z_Test123_01.

Write 'This is ABAP Tutorial'.

Four things to consider while writing statements -

  • L'instruction write écrit tout ce qui est entre guillemets dans la fenêtre de sortie.

  • L'éditeur ABAP convertit tout le texte en majuscules à l'exception des chaînes de texte, qui sont entourées de guillemets simples.

  • Contrairement à certains langages de programmation plus anciens, ABAP ne se soucie pas de l'endroit où une instruction commence sur une ligne. Vous pouvez en profiter et améliorer la lisibilité de votre programme en utilisant l'indentation pour indiquer des blocs de code.

  • ABAP n'a aucune restriction sur la présentation des instructions. Autrement dit, plusieurs instructions peuvent être placées sur une seule ligne, ou une seule instruction peut s'étendre sur plusieurs lignes.

Notation du côlon

Les instructions consécutives peuvent être enchaînées si le début de chaque instruction est identique. Cela se fait avec l'opérateur deux-points (:) et des virgules, qui sont utilisés pour terminer les instructions individuelles, tout comme les points terminent les instructions normales.

Voici un exemple de programme qui pourrait sauver quelques touches -

WRITE 'Hello'. 
WRITE 'ABAP'. 
WRITE 'World'.

En utilisant la notation deux-points, il pourrait être réécrit de cette façon -

WRITE: 'Hello', 
       'ABAP', 
       'World'.

Comme toute autre instruction ABAP, la mise en page n'a pas d'importance. C'est une déclaration tout aussi correcte -

WRITE: 'Hello', 'ABAP', 'World'.

commentaires

Les commentaires en ligne peuvent être déclarés n'importe où dans un programme par l'une des deux méthodes -

  • Les commentaires de ligne complète sont indiqués en plaçant un astérisque (*) en première position de la ligne, auquel cas la ligne entière est considérée par le système comme un commentaire. Les commentaires n'ont pas besoin d'être terminés par un point car ils ne peuvent pas s'étendre sur plus d'une ligne -

* This is the comment line
  • Les commentaires de ligne partielle sont indiqués par la saisie d'un guillemet double (") après une déclaration. Tout le texte qui suit le double guillemet est considéré par le système comme un commentaire. Vous n'avez pas besoin de terminer les commentaires de ligne partielle par un point car ils ne peuvent pas s'étendre sur plus d'une ligne -

WRITE 'Hello'. "Here is the partial comment

Note - Le code commenté n'est pas mis en majuscule par l'éditeur ABAP.

Suppression des blancs

La commande NO-ZERO suit l'instruction DATA. Il supprime tous les zéros non significatifs d'un champ numérique contenant des blancs. La sortie est généralement plus facile à lire pour les utilisateurs.

Exemple

REPORT Z_Test123_01. 

DATA: W_NUR(10) TYPE N.
      MOVE 50 TO W_NUR.
      WRITE W_NUR NO-ZERO.

Le code ci-dessus produit la sortie suivante -

50

Note - Sans commande NO-ZERO, la sortie est: 0000000050

Lignes vierges

La commande SKIP aide à insérer des lignes vierges sur la page.

Exemple

La commande de message est la suivante -

WRITE 'This is the 1st line'. 
SKIP. 
WRITE 'This is the 2nd line'.

La commande de message ci-dessus produit la sortie suivante -

This is the 1st line 
This is the 2nd line

Nous pouvons utiliser la commande SKIP pour insérer plusieurs lignes vides.

SKIP number_of_lines.

La sortie serait plusieurs lignes vides définies par le nombre de lignes. La commande SKIP peut également positionner le curseur sur une ligne souhaitée de la page.

SKIP TO LINE line_number.

Cette commande est utilisée pour déplacer dynamiquement le curseur vers le haut et vers le bas de la page. En général, une instruction WRITE se produit après cette commande pour placer la sortie sur la ligne souhaitée.

Insérer des lignes

La commande ULINE insère automatiquement une ligne horizontale sur la sortie. Il est également possible de contrôler la position et la longueur de la ligne. La syntaxe est assez simple -

ULINE.

Exemple

La commande de message est la suivante -

WRITE 'This is Underlined'.
ULINE.

Le code ci-dessus produit la sortie suivante -

This is Underlined (and a horizontal line below this).

messages

La commande MESSAGE affiche les messages définis par un ID de message spécifié dans l'instruction REPORT au début du programme. L'ID de message est un code à 2 caractères qui définit à quel ensemble de 1 000 messages le programme accédera lorsque la commande MESSAGE est utilisée.

Les messages sont numérotés de 000 à 999. Un texte de message de 80 caractères maximum est associé à chaque numéro. Lorsque le numéro de message est appelé, le texte correspondant s'affiche.

Voici les caractères à utiliser avec la commande Message -

Message Type Conséquences
E Erreur Le message apparaît et l'application s'arrête à son point actuel. Si le programme s'exécute en arrière-plan, le travail est annulé et le message est enregistré dans le journal des travaux.
W Attention Le message apparaît et l'utilisateur doit appuyer sur Entrée pour que l'application continue. En mode arrière-plan, le message est enregistré dans le journal des travaux.
je Information Une fenêtre contextuelle s'ouvre avec le texte du message et l'utilisateur doit appuyer sur Entrée pour continuer. En mode arrière-plan, le message est enregistré dans le journal des travaux.
UNE Un virage Cette classe de message annule la transaction que l'utilisateur utilise actuellement.
S Succès Cela fournit un message d'information en bas de l'écran. Les informations affichées sont de nature positive et sont uniquement destinées aux commentaires des utilisateurs. Le message n'entrave en aucune façon le programme.
X Avorter Ce message abandonne le programme et génère un bref vidage ABAP.

Les messages d'erreur sont normalement utilisés pour empêcher les utilisateurs de faire des choses qu'ils ne sont pas censés faire. Les messages d'avertissement sont généralement utilisés pour rappeler aux utilisateurs les conséquences de leurs actions. Les messages d'information donnent aux utilisateurs des informations utiles.

Exemple

Lorsque nous créons un message pour le message ID AB, la commande MESSAGE - MESSAGE E011 donne la sortie suivante -

EAB011 This report does not support sub-number summarization.