✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
2.5. - Control del flujo de datos
2.5.1. - Condiciones
Las condiciones en ABAP se pueden representar de dos formas.
1. Utilizando la palabra clave “IF-ENDIF”.
IF condición.
Ejecución del if si se cumple la condición.
ELSEIF.
Condición si no se cumple la anterior.
ELSE.
Condición si no se cumple ninguna de las anteriores.
ENDIF.
a. Si ninguna de las condiciones es válida, el sistema ejecutará las declaraciones que estén por debajo del ELSE.
2. CASE-ENDCASE
CASE variable.
WHEN variable condición.
Acción a realizar.
WHEN variable condición.
Acción a realizar.
WHEN OTHERS.
Acción a realizar.
ENDCASE.
a. Si ninguna de las condiciones es válida, el sistema ejecutara las declaraciones que estén por debajo de “WHEN OTHERS”.
Los operadores lógicos son:
Si en cada condición se chequea que la variable sea igual a un determinado valor y la cantidad de condiciones es alta, se recomienda utilizar CASE-ENDCASE.
2.5.2. - Bucles
Es una sentencia que se realiza varias veces a un trozo aislado de código, hasta que la condición asignada al bucle deje de cumplirse. Por lo general, se utilizan para realizar acciones repetidas sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro. En ABAP se utilizan fundamentalmente para trabajar con tablas internas. Se pueden representar de varias formas.
1. LOOP-ENDLOOP
LOOP AT tabla.
Declaraciones.
ENDLOOP.
a. Con la cláusula “WHERE”, se puede restringir el número de líneas a leer, ya que producirá la iteración siempre y cuando se cumpla la condición.
b. La utilización de la cláusula “WHERE” es considerada una buena práctica de programación.
2. DO-ENDDO
DO n TIMES.
Declaraciones.
ENDDO.
a. Solo se ejecuta si es verdadera la condición.
2.5.3. - Sentencias de control
Se utilizan para terminar el procesamiento de un bucle, de un proceso o de un programa.
1. CHECK
a. Verifica si la condición es verdadera.
b. Si la condición 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.
c. Fuera de un bucle, se saltarán todas las sentencias hasta e final del evento o del programa en proceso.
d. CHECK sy-subrc EQ 0.
2. EXIT
a. Dentro de un bucle, saldrá del bucle
b. Dentro de una subrutina, saldrá de la subrutina
c. Fuera de un bucle, saldrá del programa.
IF v_clase EQ ‘CA’.
EXIT.
ENDIF.
3. CONTINUE
a. Se utiliza solo dentro de un bucle.
b. Después de la ejecución de la sentencia, el sistema continúa con la siguiente iteración.
DO 4 TIMES.
IF sy-subrc EQ 4.
CONTINUE.
ENDIF.
ENDDO.
4. STOP
a. Se finaliza el programa en ejecución pero antes se ejecuta el evento END-OF-SELECTION.
IF sy-subrc NE 0.
STOP.
ENDIF.
5. LEAVE
a. Se finaliza el programa en ejecución, pero no se ejecutará el evento END-OF-SELECTION.
IF v_clase EQ ‘DT’.
LEAVE.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Adrian Fernandez Marcos, en su ámbito de estudios para la Carrera Consultor ABAP.
Adrian Fernandez Marcos
Profesión: Técnico de Sistemas - España - Legajo: FQ91J
✒️Autor de: 116 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado de los módulos:
Certificación Académica de Adrian Fernandez