![](/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/495.jpg)
CONTROL DEL FLUJO DE DATOS
Condiciones
Las condiciones en ABAP se pueden representar de dos formas. Una es utilizando la palabra clave IF-ENDIF.
IF <CONDICION>. "Condicion 1
DECLARACIONES.
ELSEIF <CONDICION>. "Condicion 2
DECLARACIONES.
ELSE. "Condicion n
DECLARACIONES.
ENDIF.
Si ninguna de las condiciones es valida, el sistema ejecutará las declaraciones que estén debajo del ELSE. La otra forma es mediante CASE-ENDCASE.
CASE CAMPO.
WHEN VALOR1. "Condicion 1
DECLARACIONES.
WHEN VALOR2. "Condicion 2
DECLARACIONES.
WHEN OTHERS. "Condicion n
DECLARACIONES.
ENDCASE.
Si ninguna de las condiciones es valida, el sistema ejecutará las declaraciones que estén debajo del WHEN OTHERS. En ambas formas se utilizan los siguientes
operadores lógicos.
Y AND
O OR
Igual = ,EQ
Distinto <> ,NE
Mayor > ,GT
Menor < ,LT
Mayor o igual >= ,GE
Menor o igual <= ,LE
RECUERDA: 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. La primera es mediante la palabra clave LOOP-ENDLOOP.
LOOP AT TABLA.
DECLARACIONES
ENDLOOP.
En el ejemplo anterior, Tabla es una tabla interna. 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. Para más info presionar F1 sobre la sentencia.
SABIAS QUE... La utilización de la cláusula WHERE siempre y cuando sea posible, es considerada una buena práctica de programación.
* Lopeamos la tabla interna TI_USUARIOS mientras el estado civil del
* usuario sea soltero
LOOP AT TI_USUARIOS WHERE ESTADO_CIVIL = 'S'.
ENDLOOP.
Otra forma es mediante la palabra clave DO-ENDDO.
DO n TIMES.
DECLARACIONES.
ENDDO.
La iteración se ejecutará solo si la condición es verdadera.
* Realizamos 5 vueltas
DO 5 TIMES
ENDDO.
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 el futuro. En ABAP los utilizaremos principalmente para trabajar con tablas internas.
Sentencias de Control
Las sentencias de control se utilizan para terminar el procesamiento de un bucle, de un proceso o un programa.
Ellas son:
- 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. "EQ es equivalente a =
- 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'. "EQ es equivalente a =
EXIT.
ENDIF.
- CONTINUE: se utiliza solo dentro de un 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. "EQ es equivalente a =
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. "NE es equivalente a <>
STOP.
ENDIF.
- LEAVE: se finaliza el programa en ejecución pero no se ejecutará el evento END-OF-SELECTION.
IF v_clase EQ 'DT'. "EQ es equivalente a =
LEAVE.
ENDIF.
PRECAUCIONES: 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.
Una tabla interna es una tabla que existe unicamente en memoria mientras el programa se está ejecutando. En otros lenguajes se le conoce con el nombre de Vector, Array o lista. Una Estructura representa una única línea de la tabla interna.
 
 
 
Sobre el autor
Publicación académica de Vismark Eyner Sevillano Moreno, en su ámbito de estudios para la Carrera Consultor ABAP.
Vismark Eyner Sevillano Moreno
Profesión: Tecnologo en Sistemas - Colombia - Legajo: KN43C
✒️Autor de: 62 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Aprender todo lo relacionado con programación sap abap, para desenvolverme en el área laboral en el sector de programación abap.
Certificación Académica de Vismark Sevillano