![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
![ABAP El control del flujo de datos ABAP El control del flujo de datos](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/155.jpg)
1. Condiciones Las condiciones en ABAP se puede representar de dos formas. una es utilizando la palabra clave ID-ENDIF.
IF <CONDITION>.
DECLARACIONES.
ELSEIF <CONDITION>.
DECLARACIONES
ELSE
DECLARACIONES
ENDIF.
Si ningunas de las condiciones es valida, el sistema ejecuta las declaraciones que esten debajo del ELSE. la otra forma es mediante CASE-ENDCASE.
CASE CAMPO.
WHEN VALOR1.
DECLARACIONES.
WHEN VALOR2.
DECLARACIONES.
WHEN OTHERS.
DECLARACIONES.
ENDCASE.
Si ninguna de las dos condiciones es valida, el sistema ejecuta las declaraciones que esten debajo del WHEN OTHERS.
En ambas formas se utilizan los siguientes operadores logicos.
Y AND
O OR
Igual = EQ
DIstinto <> NE
Mayor > GT
Menor < LT
Mayor o iguial >= GE
Menor o Igual <= LE
2. Bucle.
Los bucles ABAP se pueden representar de varias formas la primera es mediante la palabra clave LOOP-ENDLOOP.
LOOP AT TABLA.
DECLARACIONES.
ENDLOOP.
Con la clausura WHERE se puede restringir el numero de linea a leer.
LOOP AT IT_USUARIOS WHERE ESTADO_CIVIL = 'S'.
DECLARACIONES.
ENDLOOP.
Otra forma es mediante la palabra clave DO-ENDDO.
DO n TIMES.
DECLARACIONES.
ENDDO.
3.Sentencias de Control: La sentencia de control se utiliza para determinar el procesamiento de un bucle, de un proceso o de un programa ellas son:
CHECK: verifica si la condicion es verdadera. si es falsa, y la condicion esta dentro de un bucle, se salteara todas las sentencias siguiente que esten dentro del bucle y se continuara con la siguiente interacion.
CHECK sy-subrc EQ 0.
EXIT: dentro de un bucle saldran del bucle, dentro de una subrutina saldra de la misma y fuera de un bucle saldra del programa.
IF v_calse EQ 'CA'.
EXIT.
ENDIF.
CONTINE: se utiliza solo dentro de un bucle. Luego de la ejecucion de la sentencia, el sistema continua con la siguiente iteracion.
DO 4 TIMES.
IF SY-SUBRC EQ 0.
continue.
ENDIF.
ENDDO.
STOP: se finaliza el programa en ejecucion pero antes de ejecutar el evento END-OF-SELECTION.
IF SY-SUBRC EQ 0.
stop.
ENDIF.
LEVAE: se finaliza el programa en ejecucion pero no se ejecutara el evento END-OF-SELECTION.
IF v_clase EQ 'DT'.
leave.
ENDIF.
Debemos tener sumo cuidado en la utilizacion de las sentencias de control CHECK, EXIT, CONTINUE, LEAVE y STOP debido a que esta alteran en forma directa el flujo del control de un programa ABAP.
 
 
 
Sobre el autor
Publicación académica de Edward Henry Rosario Piezal, en su ámbito de estudios para la Carrera Consultor ABAP.
Edward Henry Rosario Piezal
Profesión: Ingeniero en Sistema - Republica Dominicana - Legajo: FM99R
✒️Autor de: 68 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime