✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
Control del Flujo de Datos
1 Condiciones
Las condiciones en ABAP se pueden representar de dos formas.
Una es utilizando la palabra clave IF-END-IF. Si ninguna de las condiciones es válida el sistema ejecutará las declaraciones que estén debajo del ELSE.
<< imagen 1.1 >>
La otra forma es mediante CASE-ENDCASE. Si ninguna de las condiciones es válida, el sistema ejecutará las declaraciones que estén debajo del WHEN OTHERS.
<< imagen 1.2 >>
Tanto en el IF como en el CASE-ENDCASE se pueden utilizar los siguientes operadores lógicos:
<< imagen 1.3 >>
Si en cada condición se chequea que la variable se igual a determinado valor y la cantidad de condiciones es alta, sería aconsejable utilizar el CASE-ENDCASE antes que el IF-END-IF.
2 Bucles
Los bucles en ABAP se pueden representar de varias formas.
La primera es mediante la palabra clave LOOP-ENDLOOP:
<< imagen 2.1 >>
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. La utilización de la cláusula WHERE siempre y cuando sea posible es considerada una buena práctica de programación. En los bucles LOOP AT sobre tablas internas se actualiza la variable interna SY-TABIX.
<< imagen 2.2 >>
Otra forma de representar bucles es mediante la palabra clave DO-ENDDO.
<< imagen 2.3 >>
La iteración se ejecuta solo si la condición es verdadera. En los bucles DO y WHILE se actualiza la variable interna SY-INDEX.
<< imagen 2.4 >>
Audio: Un bucle o ciclo en programación es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse. Generalmente un bucle es utilizado para hacer una acción repetida 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 un futuro. En ABAP los utilizaremos principalmente para trabajar con tablas internas.
Otra opción son los bucles WHILE-ENDWHILE, que ejecutarán las sentencias dentro del bucle mientras se cumpla la condición indicada a continuación del WHILE.
3 Sentencias de control
Las sentencias de control se utilizan para terminar el procesamiento de un bucle, de un proceso o de un programa. Son las siguientes:
- CHECK: verifica si una condición es verdadera. Si la condición es falsa y la sentencia está dentro de un bucle, se saltará todas las sentencias siguientes que estén dentro del bucle y continuará ejecutando la siguiente iteración. Fuera de un bucle, se saltará todas las sentencias hasta el final del evento o del programa/función en proceso.
<< imagen 3.1 >>
- EXIT: dentro de un bucle saldrá del mismo. Dentro de una subrutina saldrá de esta, y fuera de un bucle y de una subrutina, saldrá del programa.
<< imagen 3.2 >>
- CONTINUE: solo se utiliza dentro de un bucle. Tras la ejecución de la sentencia el sistema continua con la siguiente iteración.
<< imagen 3.3 >>
- STOP: se finaliza el programa en ejecución, pero antes se ejecuta el evento END-OF-SELECTION.
<< imagen 3.4 >>
- LEAVE: se finaliza el programa en ejecución, y después no se ejecuta el evento END-OF-SELECTION.
<< imagen 3.5 >>
Debemos tener sumo cuidado con 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.
 
 
 
Favorito:
Está publicación ha sido agregada a sus favoritos por: Lorena Amoretti
Sobre el autor
Publicación académica de José Antonio Saavedra Rodríguez, en su ámbito de estudios para la Carrera Consultor ABAP.
José Antonio Saavedra Rodríguez
El Salvador - Legajo: SX28V
✒️Autor de: 166 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial