✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
CONDICIONES
En ABAP, como en todos los lenguajes estructurados, disponemos de una serie de instrucciones para subdividir el programa en bloques lógicos se ejecutarán cuando se cumpla una cierta condición.
Para introducir una condición utilizaremos la sentencia IF ... ELSE ...ELSEIF... ENDIF que podrá aparecer en distintas modalidades.
Si queremos ejecutar diferentes instrucciones en función del contenido de un campo podemos utilizar la sentencia CASE.
CASE <campo>.
WHEN <valor1>.
....
WHEN <valor2>.
....
:
WHEN OTHERS.
....
ENDCASE.
Operadores de condiciones:
Y AND
O OR
Igual = , EQ
Distinto <> , EN
Mayor > , GT
Menor < , LT
Mayor o igual >= , GE
Menor o igual <= , LE
BUCLES
LOOP-ENDLOOP. ej.
LOOP AT TABLA
DECLARACIONES
ENDLOOP
ej2.
LOOP AT TI_USUARIOS WHERE ESTADO_CIVIL='S'
ENDLOOP
La instrucción DO permite ejecutar un bloque de instrucciones tantas veces como se especifique.
DO <n> TIMES.
...
ENDDO.
En la variable del sistema SY-INDEX tendremos un contador del número de repeticiones.Es posible anidar DO’s. En ese caso el SY-INDEX hará referencia al bucle en proceso.
• La instrucción WHILE permite ejecutar un bloque de instrucciones mientras se cumpla una condición. ej.
WHILE <cond>.
...
ENDWHILE.
De la misma forma que la instrucción DO, WHILE permite anidar bucles.
SENTENCIAS DE CONTROL
Las sentencias descritas a continuación se utilizarán para terminar el procesamiento de un bucle o proceso.
• La instrucción: CHECK <cond>.
Realiza un chequeo de <cond> de forma que si dentro de un bucle la condición es falsa, saltará todas las instrucciones que siguen al CHECK e iniciará la siguiente pasada al bucle. Fuera de un bucle si la condición es falsa, saltará todas las instrucciones que siguen al CHECK hasta el final del evento o programa en proceso.
• La instrucción : EXIT.
Dentro de un bucle saldrá del bucle y fuera de un bucle saldrá del programa.Si la instrucción EXIT está dentro de varios bucles anidados, únicamente saldrá del bucle en proceso.
• La instrucción : STOP.
Con STOP finalizaremos el report (programa) en ejecución, pero antes ejecutaremos el evento END-OF-SELECTION.
• La instrucción : LEAVE.
Con LEAVE finalizaremos el report (programa) en ejecución, sin ejecutar el evento END-OF-SELECTION.
• CONTINUE: se utiliza dentro del bucle. Luego de ejecutar la sentencia el sistema continua con la siguiente iteración. ej.
DO 4 TIMES.
IF sy-subrc EQ 4.
CONTINUE.
ENDIF
ENDDO
 
 
 
Sobre el autor
Publicación académica de Alberth Julian Bolanos Bravo, en su ámbito de estudios para la Carrera Consultor ABAP.
Alberth Julian Bolanos Bravo
Profesión: Analista de Sistemas Web - Colombia - Legajo: FC65L
✒️Autor de: 46 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Alberth Bolanos