Siempre es legal anidar declaraciones IF .... ELSE, lo que significa que puede usar una instrucción IF o ELSEIF dentro de otra instrucción IF o ELSEIF.
La sintaxis para una instrucción IF .... ELSE anidada es la siguiente:
IF<condition_1>.
<statement block>.
IF<condition_2>.
<statement block>.
ELSE.
<statement block>.
ENDIF.
ELSE <statement block>.
ENDIF.
Ejemplo
Report YH_SEP_15.
Data: Title_1(10) TYPE C,
Title_2(15) TYPE C,
Title_3(10) TYPE C.
Title_1 = 'ABAP'.
Title_2 = 'Programming'.
Title_3 = 'Tutorial'.
IF Title_1 = 'ABAP'.
IF Title_2 = 'Programming'.
IF Title_3 = 'Tutorial'.
Write 'Yes, It’s Correct'.
ELSE.
Write 'Sorry, It’s Wrong'.
ENDIF.
ENDIF.
ENDIF.
El código anterior produce la siguiente salida:
Yes, It’s Correct.