
Condiciones en ABAP
Existen dos formas:
-IF-ENDIF
-CASE-ENDCASE
Se recomienda usar CASE-ENDCASE cuando la cantidad de condiciones es alta.
Bucles:
Los bucles en BAP se pueden representar de varias formas:
-LOOP-ENDLOOP: Con la clausula where se puede restringir el numero de lineas a leer, debido a que se producirá la iteración cuando se cumopla la condición. EJ:
LOOP AT TI_USUARIOS WHERE ESTADO_CIVIL = 'S'.
ENDLOOP.
-DO-ENDDO: La iteración se ejecutará solo si la condicion es verdadera. EJ:
DO 5 TIMES.
ENDDO.
Sentencias de control
Se utilizan para terminar el procesamiento de un buce, de un proceso o de un programa.
-CHECK: verifica si la condición es veradera. Si es falsa y la sentencia está dentro de un bucle. se saltarán todas las sentencias siguientes que estén dentro del bucle y se continuará con la siguiente iteración. Fuera de un bucle se saltarán todas las sentencias hasta el final del evento o programa en proceso. Ej:
CHECK sy-subrc EQ 0.
-EXIT: dentro de un bucle se saldrá del bucle, dentro de una subrutina se saldrá de la misma y fuera de un bucle saldrá del programa. Ej:
IF v_clase EQ 'CA'.
EXIT.
ENDIF.
-CONTINUE: se utiliza solo dentor del bucle. Luego de la ejecución de la sentencia el sistema continua con la siguiente iteración.
-STOP: se finaliza el programa en ejecución pero anes se ejecuta el evento END-OF-SELECION
-LEAVE: se finaliza el programa en ejecución pero no se ejecutará el evento END-OF SELECTION.
PRECAUCIÓN: Hay que tener cuidado en la utilización de las sentencias de control CHECK, EXIT, CONTINUE, LEAVE y STOP debido a que estas alteran e forma directa el flujo de control de un programa ABAP.