Section courante

A propos

Section administrative du site

Les instructions de conditionnel en langage ABAP/4 sont au nombres de deux et sont très particulières :

IF THEN ELSE

L'instruction «IF» permet le teste d'une condition et de choisir d'effectuer des instructions plutôt que d'autre dans le cas ou celle-ci serait vrai. Voici donc les syntaxes :

IF expression_vrai.
    instruction_exécuté_si_vrai
ENDIF.

ou

IF expression_vrai.
    instruction_exécuté_si_vrai
ELSE.
    instruction_exécuté_si_faux
ENDIF.

ou

IF expression_vrai1.
    instruction_exécuté_si_vrai1
ELSEIF expression_vrai1.
    instruction_exécuté_si_vrai2
ELSE.
    instruction_exécuté_si_faux
ENDIF.

Vous y remarquerez donc après les syntaxes proposé que les instructions «ELSE» ou «ELSEIF» ne sont pas obligatoire.

CASE

Lorsqu'on effectue une série de teste répétitive sur une même variable avec différente valeur de la manière suivante :

IF valeur EQ 1 .
 instruction1_exécuté_si_vrai1
ELSEIF valeur EQ 2 .
 instruction_exécuté_si_vrai2
ELSEIF valeur EQ 3 .
 instruction_exécuté_si_vrai3
ELSE.
 instruction_exécuté_si_faux
ENDIF.

On devrait plutôt tenté d'utiliser l'instruction «CASE» laquelle permet une meilleure lisibilité en plus de simplifié la compréhension pour un programmeur externe à votre code. Ainsi, l'instruction CASE permet d'effectuer de nombreuses comparaisons sur un unique résultat. Voici donc sa syntaxe :

CASE résultat.
 WHEN valeur1.
  instruction1_exécuté_si_vrai1
 WHEN valeur2.
  instruction_exécuté_si_vrai2
 WHEN valeur3.
  instruction_exécuté_si_vrai3
 WHEN OTHERS.
  instruction_exécuté_si_faux
ENDCASE.

L'instruction «WHEN OTHERS» n'est pas obligatoire, il est tout de même préférable de l'inclure pour prévenir une situation anormale ou d'erreur.



Dernière mise à jour : Samedi, le 11 mars 2006