✒️ABAP / El control del flujo de datos Por Mara Romero Hernandez
ABAP El control del flujo de datos

El control de datos
- Las condiciones
Tal como sucede en todos los lenguajes de programación, en ABAP contamos con sentencias para trabajar con condiciones.
Condición
Consiste en la ejecución de una sentencia o grupo de sentencias que se ejecutarán en base a si se cumple o no una determinada expresión lógica.
Las expresiones lógicas son todas aquellas expresiones que obtienen como resultado verdadero o falso.
Un ejemplo de una expresión lógica es: 1 más 1 = 2.
Si la expresión lógica se cumple entonces se ejecutará determinada sentencia o grupo de sentencias y si la expresión lógica no se cumple entonces se ejecutará otra sentencia o grupo de sentencias.
Existen dos formas de representar condiciones en ABAP, una de ellas es utilizando la sentencia IF-ENDIF.
Podemos anidar o agregar más condiciones dentro del IF-ENDIF, utilizando la sentencia ELSEIF de la siguiente forma:
IF v calificacion >= 19'.
WRITE: /'Aprobado con meritos'.
ELSEIF V
calificacion BETWEEN '6' AND '8'.
WRITE:/ 'Aprobado'.
ELSEIF v calificacion BETWEEN '4' AND '6' .
WRITE:/ 'Aprobado raspando'.
ELSE.
WRITE: /'Reprobado'.
ENDIF.
Si ninguna de las condiciones es válida, el sistema ejecutará las declaraciones que estén debajo del ELSE.
La otra forma de representar condiciones en ABAP es mediante la sentencia CASE-ENDCASE.
Si ninguna de las condiciones es válida entonces el sistema ejecutará las declaraciones que estén debajo del WHEN OTHERS.
Ahora bien, ya sea que utilicemos la sentencia IF-ENDIF o la sentencia CASE-ENDCASE, vamos a tener que emplear lo que se denomina operadores lógicos, que son los operadores que nos permiten agrupar expresiones lógicas.
Los operadores lógicos que tenemos disponibles en ABAP son: AND - OR - EQ - NE - GT - LT - GE - LE.
Tal como vimos en la imagen anterior algunos operadores pueden escribirse de dos formas diferentes, tal como es el caso del
operador igual que se puede escribir EQ o =.
- Los bucles
Al igual que con las condiciones, tal como sucede en todos los lenguajes de programación, en ABAP contamos con sentencias para trabajar con bucles.
Bucle
Un bucle o ciclo, en programación, 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.
Los bucles en ABAP se puede pueden representar de varias formas.
La primera de ellas es mediante la sentencia LOOP-ENDLOOP. Vamos a utilizar la sentencia LOOP-ENDLOOP exclusivamente cuando trabajemos con tablas internas, concepto que veremos bien en detalle en la próxima unidad.
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. Para más información sobre la sentencia podemos
presionar F1 sobre la misma.
La utilización de la cláusula WHERE siempre y cuando sea posible, es considerada una buena práctica de programación ya que limita o restringe el acceso secuencial de todos los registros de la tabla interna.
Otra forma de representar un bucle en ABAP es mediante la sentencia DO-ENDDO.
Vamos a utilizar la sentencia DO-ENDDO para trabajar con variables y no con tabla internas, tal como sucede con LOOP-
- Las sentencias de control
Al igual que con las condiciones y los bucles, tal como sucede en todos los lenguajes de programación, en ABAP contamos con sentencias de control.
Sentencias de control
Se utilizan para terminar el procesamiento de un bucle, de una subrutina o de todo un programa.
Cada lenguaje de programación tiene sus propias sentencias de control. En ABAP contamos con las siguientes sentencias de control:
CHECK: esta sentencia verifica si la condición es verdadera.
Si la condición es falsa y la sentencia está dentro de un bucle, por ejemplo un 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.
EXIT: si ejecutamos esta sentencia dentro de un bucle entonces saldremos del bucle, dentro de una subrutina entonces
saldremos de la misma y fuera de un bucle y fuera de una subrutina salimos del programa.
CONTINUE: esta sentencia se utiliza 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 en 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.
Debemos tener sumo cuidado en la utilización 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 Mara Fadua Romero Hernandez, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Mara Fadua Romero Hernandez
Profesión: Psicóloga - Mexico - Legajo: EE18E
✒️Autor de: 67 Publicaciones Académicas
🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado
🎓Egresado del módulo:
Certificación Académica de Mara Romero






Disponibilidad Laboral: FullTime


















