✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
CONTROL DE FLUJO
1-CONDICIONES
Las condiciones en ABAP se pueden representar de dos formas, una es con IF-ENDIF o CASE-ENDCASE.
En el caso de IF, el sistema ejecutara las declaraciones debajo de ELSE si ninguna de las condiciones en valida. En el caso de CASE en WHEN OTHERS:
Operadores logicos utilizados por ambas condiciones:
Y AND
O OR
Igual =, EQ
Disitinto <>, NE
Mayor >, GT
Menor <, LT
Mayor o Igual >=, GE
Menor o Igual <=, LE
*Si la cantidad de condiciones es alta, seria aconsejable utilizar la condicion CASE-ENDCASE.
2.BUCLES
Los bucles en ABAP se pueden representar de varias formas. La primera mediante la palabra clave LOOP-ENDLOOP.
LOOP AT TABLA.
DECLARACIONE.
ENDLOOP:
*Una buena practica seria, siempre y cuando sea posible. Utilizar la clausula WHERE para restringir el numero de lineas a leer. Siempre y cuando se cumpla la condicion.
*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.
*Solo si la condicion es verdadera.
*Realizamos 5 vueltas.
DO 5 TIMES.
ENDDO.
SENTENCIAS DE CONTROL
La sentencias de control se utilizan para terminar el procesamiento de un bucle, de un proceso o de un programa.
CHECK: Verifica si la condicion es verdadera. Si la condicion es falsa, y la sentencia esta dentro de un bucle, se saltearan todas las sentencias siguientes que esten dentro del bucle yse continuara con la siguiente iteracion. Fuera de un bucle, se saltearan todas las sentencias hasa el final del evento o del programa en proceso.
CHECK sy-subrc EQ 0. "EQ es equivalente a =
EXIT: dentro de un bucle saldra del bucle, dentro de una subrutina saldra de la misma y fuera de un bucle saldra del programa.
IF v_clase EQ 'CA' .
EXIT.
END IF.
CONTINUE: Se utiliza solo dentro de un bucle. Luego de la ejecución de la sentencia el sistema continua con la siguiente iteracion.
DO 4 TIMES:
IF sy-subrc EQ 4.
CONTINUE.
ENDIF.
ENDD0.
STOP: se finaliza el programa en ejecucion pero antes se ejecuta el evento END-OF-SELECTION.
IF sy-subrc NE 0.
STOP.
ENDIF.
LEAVE: Se finaliiza el programa en ejecucion pero no se ejecutara el evento END-OF-SELECTION.
IF v_clase EQ 'DT'.
LEAVE.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Matias Ciutat, en su ámbito de estudios para la Carrera Consultor ABAP.
Matias Ciutat
Profesión: Consultor Sap Pm - Software Engineering Team Lead - Argentina - Legajo: PW24J
✒️Autor de: 35 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Matias Ciutat