✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
1 - CONDICIONES.
Para introducir una condición en SAP ABAP utilizamos IF…ELSE…ENDIF. También podremos encontrarnos con
las siguientes formas de usar el IF.
IF <condicion>.
processing.
ELSEIF <condicion2>.
processing2
ELSEIF <condi.cion3>.
ELSE.
processingN.
processing3
ENDIF.
Dependiendo del contenido actual de una variable, esta sentencia ejecuta una de las alternativas de proceso. El contenido de la variable determina el proceso que sigue después de CASE; el procesamiento individual se introduce por WHEN, seguido por el valor testeado. El bloque concluye con ENDCASE.
La estructura de la sentencia CASE es la siguiente:
CASE campo.
WHEN valor1.
INSTRUCCION1.
WHEN valor2.
INSTRUCCION2.
WHEN OTHERS.
INSTRUCCIONN.
ENDCASE.
OPERADORES LOGICOS:
AND Y
OR O
= o EQigual que
<> o NEdistinto a
< o LTmenor que
<=o LTmenor o igual que
> o GTmayor que
>= o GEmayor o igual que
En el caso que la cantidad de condiciones sea alta, es mejor el uso del CASE-ENDCASE.
2 - BUCLES.
Es una sentencia que realiza repetidamente parte de un código hasta que se cumple una condición.Normalmente se utiliza para recorrer tablas internas.
Existen varias formas:
LOOP-ENDLOOP
LOOP AT TABLA [WHERE CONDICION]
DECLARACIONES.
ENDLOOP.
DO-ENDDO.
DO n TIMES
Declaraciones.
ENDDO.
La iteración se realizará n (número) veces.
3 - SENTENCIAS DE CONTROL.
Sirven para finalizar el procesamiento de un bucle, una función o incluso un programa.
CHECK: Verifica si la condición es verdadera, si NO lo es, y la sentencia se encuentra en un bucle, saltará todas las instrucciones hasta la próxima iteración, si es una función saltará hasta el final, al igual que un evento o incluso un programa.
Ejemplo: CHECK SY-SUBRC EQ 0.
EXIT: En un bucle saldrá de éste, en una subrutina saldrá de ella y en un programa saldrá de él.
Ejemplo: IF v_campo = 0
EXIT
ENDIF.
CONTINUE: Solo se utiliza en un bucle. Al ejecutarse la sentencia el sistema continua con la siguiente iteración.
Ejemplo:
DO 20 TIMES.
IF SY-SUBRC EQ 10.
CONTINUE.
ENDIF.
ENDDO.
WHILE <Condicion>.
Declaración.
ENDWHILE.
SY-INDEX: Contador para los bucles DO-ENDDO y WHILE-ENDWHILE
SY-TABIX: Contador para el bucle LOOP-ENDLOOP (tablas internas).
STOP: El programa se finaliza. Antes se ejecuta el evento END-OF-SELECTION.
LEAVE: Igual que el STOP, pero sin ejecutar el evento END-OF-SELECTION.
IMPORTANTE: Estas sentencias son "peligrosas" (CHECK, EXIT, CONTINUE, STOP y LEAVE). Debido a que "alteran" el flujo normal de un Programa. No se consideran en una programación estructurada y descendente (una entrada, una salida) una buena práctica de programación.
 
 
 
Sobre el autor
Publicación académica de Francisco Javier Gomez Jimenez, en su ámbito de estudios para la Carrera Consultor ABAP.
Francisco Javier Gomez Jimenez
Profesión: Consultor Junior - España - Legajo: KW17D
✒️Autor de: 200 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
🎓Egresado de los módulos:
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP MM Nivel Avanzado
- Carrera Consultor en SAP MM Nivel Inicial