✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
Condiciones:
Las condiciones en ABAP pueden ser de dos maneras. Por medio de las palabras Clave IF- ENDIF y por medio de CASE-ENDCASE. Ej:
IF<CONDICION>." Condicion1
DECLARACIONES.
ELSEIF <CONDICION>. "Condicion2
DECLARACIONES.
ELSE. "CondicionN
DECLARACIONES.
ENDIF.
Usando CASE:
CASE CAMPO.
WHEN VALOR1. "Condicion 1
DECLARACIONES.
WHEN VALOR2. "Condicion 2
DECLARACIONES.
WHEN OTRHERS. "Condicion n
DECLARACIONES.
ENCASE.
Combinado a cualquiera de las condicionantes estan los operadores logicos:
Y AND
O OR
IGUAL =, EQ
DISTINTO <>, NE
MAYOR >, GT
MENOR <, LT
MAYOR O IGUAL >=, GE
MENOR O IGUAL <=, LE
Es recomendable utilizar CASE cuando la cantidad de condiciones a validar es alta.
Bucles:
Los bucles se pueden representar de varias maneras en ABAP. Una de ellas es LOOP-ENDLOOP. Ejemplo:
LOOP AT TABLA.
DECLARACIONES.
ENDLOOP.
Con el agregado de la clausula WHERE podemos restringir el numero de lineas a leer. La utilizacion de WHERE, siempre y cuando que se pueda es considerada como una buena practica.
Otra forma es mediante la palabra DO-ENDDO. Ejemplo:
DO n TIMES.
DECLARACIONES.
ENDDO
Sentencias de Control:
Las sentencias de control se utilizan para terminar el procesamiento de un bucle. Ellas son:
- 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 y se continuara con la siguiente iteracion.
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
ENDIF.
CONTINUE: Se utiliza solo dentro de un bucle. Luego de la ejecucion de la sentencia, el sistema continua con la siguiente ieracion. Ejemplo:
DO 4 TIMES.
IF sy-subrc EQ 4.
CONTINUE.
ENDIF.
ENDDO.
STOP:
Se finaliza el programa en ejecucion pero antes se ejecuta el evento END-OF-SELECTION. Ejemplo:
IF sy-subrc NE 0. "NE es equivalente a <>
STOP.
ENDIF.
LEAVE:
Se finaliza el programa en ejecucion, pero sin ejecutar el evento. Ejemplo:
IF v_clase EQ 'DT'. "EQ es equivalente a =
LEAVE
ENDIF
Nota: Debemos tener sumo cuidado en la utilizacion 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.
 
 
 
Sobre el autor
Publicación académica de Juan Fernando Guerra Mata, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Fernando Guerra Mata
Profesión: Analista Programador - Guatemala - Legajo: CW28U
✒️Autor de: 63 Publicaciones Académicas
🎓Cursando Actualmente: Consultor Funcional Módulo SD Nivel Inicial
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Certificación Académica de Juan Guerra