✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
Condiciones en ABAP:
Las condiciones en ABAP se pueden generar de 2 formas :
- IF-ENDIF: Podemos generar una condición usando la palabra reservada IF-ENDIF
Ejemplo: IF <condiciones>.
DECLARACIONES.
ELSE IF <condiciones>.
DECLARACIONES.
ELSE.
DECLARACIONES.
END IF.
Si ninguna de las condiciones es valida, el sistema ejecutara las declaraciones que estén debajo del else.
- CASE-ENDCASE: Podemos generar condiciones usando este tipo de sentencia, si la cantidad de condiciones que vamos a usar es alta, es aconsejable usar este tipo de sentencia (CASE-ENDCASE)
Ejemplo: CASE Campo.
When valor1.
DECLARACIONES.
WHEN valor2.
DECLARACIONES.
WHEN OTHERS.
DECLARACIONES.
END CASE.
Operadores Lógicos en ABAP:
- Y And
- O OR
- Igual = , EQ
- Distinto <> , NE
- Mayor > , GT
- Menor < , LT
- Mayor o igual >= , GE
- Menor o igual <= , LE
Bucles en ABAP:
Los Bucles en ABAP se pueden generar de varias formas :
- LOOP-ENDLOOP: Usando esta palabra reservada se pueden generar bucles.
Ejemplo: LOOP AT tabla.
DECLARACIONES.
END LOOP.
También se puede agregar la clausula WHERE para restringir el numero de lineas a leer usand alguna condición.
Ejemplo: LOOP AT TI_Usuarios WHERE Estado_civil='S'.
END LOOP.
En este ejemplo se ha realizado un loop a la tabla interna usuarios mientras el estado civil del usuario sea Soltero (S).
- DO-ENDDO: Se pueden generar bucles mediante esta palabra reservada, para la representación de bucles incondicionales o controlados mediante indices.
Ejemplo: DO n TIMES.
DECLARACIONES.
ENDDO.
Sentencias de Control en ABAP:
Son sentencias utilizadas para terminar el procesamiento de un Bucle de un proceso o de un programa tales como:
- CHECK: verifica si la condición es verdadera, si la condición es F y esta dentro de un bucle se salta todas las sentencias y continua con la siguiente iteración dentro del bucle, si esta fuera de un bucle se saltara todas las sentencias hasta el final del evento o programa en proceso.
Ejemplo: CHECK sy-subrc EQ 0.
- EXIT: Dentro de un bucle, saldrá del bucle, dentro de una subrutina , saldra de la misma y fuera de un bucle saldrá del programa.
Ejemplo: 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 iteración.
Ejemplo: DO 4 times.
IF sy-subrc EQ 4.
CONTINUE.
END IF.
END DO.
- STOP: Se finaliza el programa en ejecución pero antes se ejecuta el evento END-OF-SELECTION.
Ejemplo: IF sy-subrc NE 0. " NE es equivalente a <>
STOP.
END IF.
- LEAVE: Se finaliza el programa en ejecución pero no se ejecuta el evento END-OF-SELECTION.
Ejemplo: IF v_clase EQ 'DT'. " EQ es equivalente a =
LEAVE.
END IF.
 
 
 
Sobre el autor
Publicación académica de Andrés Mauricio Moreno Garzón, en su ámbito de estudios para la Carrera Consultor ABAP.
Andrés Mauricio Moreno Garzón
Profesión: Ingeniero de Sistemas - Colombia - Legajo: SG47W
✒️Autor de: 29 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Andrés Moreno