SAP ABAP - Declaración If ... Else

En el caso de sentencias IF… .ELSE, si la expresión se evalúa como verdadera, se ejecutará el bloque de código IF. De lo contrario, se ejecutará el bloque de código ELSE.

La siguiente sintaxis se utiliza para la instrucción IF… .ELSE.

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

Diagrama de flujo

Ejemplo

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.

El código anterior produce la siguiente salida:

This is ELSE Statement.

Declaración IF… .ELSEIF… .ELSE

A veces, el anidamiento de las declaraciones IF puede dificultar la comprensión del código. En tales casos, la instrucción ELSEIF se utiliza para evitar el anidamiento de la instrucción IF.

Al usar declaraciones IF, ELSEIF y ELSE, hay algunos puntos a considerar:

  • Una instrucción IF puede tener cero o una instrucción ELSE y debe ir después de cualquier instrucción ELSEIF.

  • Una instrucción IF puede tener de cero a muchas declaraciones ELSEIF y deben ir antes de la instrucción ELSE.

  • Si una instrucción ELSEIF tiene éxito, no se probará ninguna de las declaraciones ELSEIF restantes o instrucción ELSE.

La siguiente sintaxis se utiliza para la instrucción 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.

En la sintaxis anterior, la ejecución del bloque de procesamiento se basa en el resultado de una o más condiciones lógicas asociadas con el bloque de procesamiento. Aquí -

  • condition_1 de la sentencia IF representa una condición lógica que evalúa una condición verdadera o falsa.

  • condition_2 muestra la segunda condición especificada en la instrucción ELSEIF, que se ejecuta cuando la condición de la instrucción IF resulta ser falsa.

  • ENDIF denota el final del bloque de instrucciones IF.

Ejemplo

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.

El código anterior produce la siguiente salida:

Result is less than seventy.