SAP ABAP - Instruction If ... Else

Dans le cas d'instructions IF… .ELSE, si l'expression prend la valeur true, le bloc de code IF sera exécuté. Sinon, le bloc de code ELSE sera exécuté.

La syntaxe suivante est utilisée pour l'instruction IF… .ELSE.

IF<condition_1>.  
   <statement block 1>.  
ELSE.   
   <statement block 2>.  
ENDIF.

Représentation schématique

Exemple

Report YH_SEP_15.
  
Data Title_1(20) TYPE C.  
     Title_1 = 'Tutorials'.
	
IF Title_1 = 'Tutorial'.  
   write 'This is IF Statement'.  
ELSE.  
   write 'This is ELSE Statement'.
  
ENDIF.

Le code ci-dessus produit la sortie suivante -

This is ELSE Statement.

Déclaration IF… .ELSEIF… .ELSE

Parfois, l'imbrication des instructions IF peut rendre le code difficile à comprendre. Dans de tels cas, l'instruction ELSEIF est utilisée pour éviter l'imbrication de l'instruction IF.

Lors de l'utilisation des instructions IF, ELSEIF et ELSE, il y a quelques points à considérer -

  • Une instruction IF peut avoir zéro ou une instruction ELSE et elle doit venir après toute instruction ELSEIF.

  • Une instruction IF peut avoir zéro à plusieurs instructions ELSEIF et elles doivent précéder l'instruction ELSE.

  • Si une instruction ELSEIF réussit, aucune des instructions ELSEIF ou ELSE restantes ne sera testée.

La syntaxe suivante est utilisée pour l'instruction IF .... ELSEIF… .ELSE.

IF<condition_1>.
  
<statement block 1>.
  
ELSEIF<condition_2>.
  
<statement block 2>.
  
ELSEIF<condition_3>. 
 
<statement block 3>. 
...... 
...... 
...... 
...... 
ELSE.
  
<statement block>.  

ENDIF.

Dans la syntaxe ci-dessus, l'exécution du bloc de traitement est basée sur le résultat d'une ou plusieurs conditions logiques associées au bloc de traitement. Ici -

  • condition_1 de l'instruction IF représente une condition logique qui évalue une condition vraie ou fausse.

  • condition_2 montre la deuxième condition spécifiée dans l'instruction ELSEIF, qui est exécutée lorsque la condition de l'instruction IF s'avère être fausse.

  • ENDIF désigne la fin du bloc d'instructions IF.

Exemple

Report YH_SEP_15.  
Data Result TYPE I VALUE 65.  
   IF Result < 0.  
	
Write / 'Result is less than zero'.  
   ELSEIF Result < 70.  
	
Write / 'Result is less than seventy'.  
ELSE.  

Write / 'Result is greater than seventy'.
  
   ENDIF.

Le code ci-dessus produit la sortie suivante -

Result is less than seventy.