✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
Condiciones
Las condiciones en ABAP se pueden representar de dos formas:
Condiciones utilizando IF-ENDIF
IF <CONDICION>. "Condicion 1
DECLARACIONES.
ELSEIF <CONDICION>. "Condicion 2
DECLARACIONES.
ELSE. "Condicion n
DECLARACIONES.
ENDIF.
Condiciones utilizando CASE-ENDCASE
CASE CAMPO.
WHEN VALOR1. "Condicion 1
DECLARACIONES.
WHEN VALOR2. "Condicion 2
DECLARACIONES.
WHEN OTHERS. "Condicion n
DECLARACIONES.
ENDCASE.
Operadores Lógicos
Y AND
O OR
IGUAL = , EQ
DISTINTO <> , NE
MAYOR > , GT
MENOR < , LT
MAYOR O IGUAL >= , GE
MENOR O IGUAL <= , LE
Si en cada condición, se chequea que la variable sea igual a determinado valor y la cantidad de condiciones es alta, sería aconsejable utilizar CASE-ENDCASE.
Bucles
Los bucles en ABAP se pueden representar de varias formas:
Bucles utilizando LOOP-ENDLOOP
LOOP AT TABLA.
DECLARACIONES.
ENDLOOP.
Con el agregado de la cláusula WHERE se puede restringir el número de líneas a leer, ya que se producir´la iteración siempre y cuando se cumpla la condición.
LOOP AT TI_USUARIOS WHERE ESTADO_CIVIL = 'S'.
ENDLOOP.
Bucles utilizando DO-ENDDO
DO n TIMES.
DECLARACIONES.
ENDDO.
Sentencias de Control
Las sentencias de control se utilizan para terminar el procesamiento de un bucle, de un proceso o deun programa.
CHECK. Verifica si la condición es verdadera. Si la condición es falsa, y la sentencia está dentro de un bucle, se saltearán todas las sentencias siguientes que estén dentro del bucle y se continuará con la siguiente iteración. Fuera de un bucle, se saltearán todas las sentencias hasta el final del evento o del programa en proceso.
CHECK sy-subrc EQ 0.
EXIT. Dentro de un bucle saldrá del bucle, dentro de una subrutina saldrá de la misma y fuera de un bucle saldrá del programa.
IF v_clase EQ 'CA'.
EXIT.
ENDIF.
CONTINUE. Se utiliza solo dentro de bucle. Luego de la ejecución de la sentencia el sistema continua con la siguiente iteración.
DO 4 TIMES.
IF sy-subrc EQ 4.
CONTINUE.
ENDIF.
ENDDO.
STOP. Se finaliza el programa en ejecución pero antes se ejecuta el evento END-OF-SELECTION.
IF sy-subrc NE 0.
STOP.
ENDIF.
LEAVE. Se finaliza el programa en ejecución pero no se ejecutará el evento END-OF-SELECTION.
IF v_clase EQ 'DT'.
LEAVE.
ENDIF.
Debemos tener sumo cuidado en la utilización de las sentencias de control CHECK, EXIT, CONTINUE, LEAVE y STOP debido a que estas alteran en forma directa el flujo de control de un programa ABAP.
 
 
 
Sobre el autor
Publicación académica de John Arley Lopez Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP.
John Arley Lopez Sanchez
Profesión: Ingeniero Electrónico - Colombia - Legajo: WB54O
✒️Autor de: 24 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de John Lopez