✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
1 - Las Condiciones
Consiste en la ejecución de una sentencia o grupo de sentencias que se ejecutarán en base a si se cumple o no determinada expresión lógica.
Existen dos formas de representar condiciones en ABAP, una de ellas es usando la sentencia IF-ENDIF.
Podemos anidar o agregar más condiciones dentro del IF-ENDIF, utilizando la sentencia ELSEIF. Si ninguna de las condiciones es válida, se ejecutará el ELSEIF
Otra forma de representar condiciones ABAP es mediante CASE-ENDCASE. Si ninguna de las condiciones es válida, se ejecutarán las condiciones dentro de WHEN OTHERS.
Con muchas líneas de código no es buena práctica usar muchos IF-ENDIF. Es recomendable usar CASE-ENDCASE o directamente intentar modularizar lo más que se pueda.
2 - Los Bucles:
Un bucle o ciclo, en programaci´+on, es una secuencia de instrucciones de código que se ejecuta repetidas veces, hasta que la condición asignada a dicho bucle deja de cumplirse.
LOOP-ENDLOOP: Usaremos exclusivamente cuando trabajaremos con tablas internas. Mediante esta sentencia vamos a recorrer el contenido de una tabla interna, registro por registro y en cada registro vamos a realizar algún tipo de procesamiento.
Con el agregado de la cláusula WHERE en la sentencia LOOP-ENDLOOP, 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.
DO-ENDDO: Usaremos para trabajar con variables y no con tablas internas. La iteración se ejecutará solo si es verdadera.
WHILE-ENDWHILE: no es muy usada en ABAP, ya que para trabajar con tablas internas se usa mas LOOK y para trabajar con variables DO.
3 - Las Sentencias de Control:
Se utilizan para terminar el procesamiento de un bucle, de una subrutina o de todo un programa. En ABAP contamos con los siguientes:
- CHECK: Verifica si la condición es verdadera. Si la condición es falsa y la sentencia está dentro de un bucle, por ejemplo LOOP-ENDLOOP, entonces 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.
En caso de que la condición sea verdadera, entonces se continúa con el procesamiento.
CHECK sy-subrc EQ 0. - EXIT: Sirve para finalizar (salir) de un bucle, subrutina o directamente del programa.
- CONTINUE: Se usa solo dentro de un bucle, luego de la ejecución de la sentencia el sistema continúa con la siguiente iteración del bucle.
- STOP: Esta sentencia finaliza el programa de ejecución pero antes se ejecuta el evento END-OF-SELECTION, si es que este evento está escrito en el programa.
- LEAVE: Esta sentencia finaliza el programa en ejecución y NO se ejecuta el evento END-OF-SELECTION.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Carlos Piles Rosell
Favorito:
Está publicación ha sido agregada a sus favoritos por: Carlos Piles Rosell
Sobre el autor
Publicación académica de Pedro Antonio Duarte, en su ámbito de estudios para la Carrera Consultor ABAP.
Pedro Antonio Duarte
Profesión: Consultor de Sap Abap - Argentina - Legajo: JP24O
✒️Autor de: 128 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Pedro Duarte