✒️ABAP / El control del flujo de datos Por Javier Angel Barcelo
ABAP El control del flujo de datos

Las 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.aquellas expreciones que obtienen como resultado verdadero o falso.
Existen dos formas de representar condiciones en ABAP, una de ellas es utilizando la sentencia IF-ENDIF.
DATA: v_calificacion (1) TYPE c VALUE '8'.
START-OF-SELECTION.
IF v_calificacion >= '8'.
Podemos anidar o agregar más condiciones dentro del IF-ENDIF, utilizando la sentencia ELSEIF de la siguiente forma:
IF v_calificacion >= '9'.
WRITE:/ 'Aprobado con meditos'.
ELSEIF v_calificacion BETWEEN '6' AND '8'.
WRITE:/ 'Aprobado'.
ELSEIF v_calificacion BETWEEN '4' AND '6'.
WRUTE:/ 'Aprobado raspando'.
ELSE.
WRITE:/ 'Reprobado'.
ENDIF.
WRITE:/ 'Aprobado'.
ENDIF.
SI ninguna de las condiciones es válida, el sistema ejecutará las declaraciones que estan debajo del ELSE.
La otra forma de reprecentar condiciones en ABAP mediante la sentencia CASE -ENDCAE.
CASE v_calificacion.
WHEN '10' OR '9' OR '8'.
WRITE:/'Aprobado con meritos'.
WHEN '7' OR '6'.
WRITE:/ 'Aprobado'.
WHEN '5' OR '4'.
WRITE:/ 'Aprobado raspando'.
WHEN OTHERS.
WRITE:/ 'Reprobado'.
ENDCASE.
Si ninguna de las condiciones es válida entonces el sistema ejecuratá las declaraciones que estén debajo del WHEN OTHERS.
Los operadores lógicos que tenemos disponibles en ABAP son: AND - OR - EQ - NE - GT - LT - GE - LE.
Y ------- AND
O ------- OR
IGUAL ------- = O EQ
DISTINTO ------- <> O NE
MAYOR ------- > O GT
MENOR ------- < O LT
MAYAR O IGUAL ------ <= O GE
MENOR O IGUAL ------ >= O LE
Los blucles: una bucle o ciclo, en programación es una secuencia de intrucciones de codigo que se ejecuta repetidas veses, hasta que la condición asignada a dicho bucle deja de cumplirse.
Las primera de ellas es mediante la secuencia LOOP-ENDLOP, estas la utilizaremos exclusivamente cuando trabajamos 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.
LOOP AT ti_salida INTO wa_salida.
WRITE:/ wa_salida-vertrag,
wa_salida-vkont,
wa_salida-belnr,
wa_salida-nettobtr.
ENDLOOP.
Con el agregado de la clausula WHERE en la sentencia LOOP-ENDLOOP, se puede rentringir el número de lineas a leer, ya que se producirá la interación sienpre y cuando se cumpla la condición.
*Recorremos Ti salida siempre y cuando el campo NETTOBTR sea mayor a cero
LOOP AT ti_salida INTO wa_salida WHERE nettobtr > 0.
WRITE:/ wa_salida-vertrag,
wa _salida-vkont,
wa_salida-belnr,
wa_salida-nettobtr.
ENDLOOP.
Otra forma de representar un bucle es mediante la sentencia DO-ENDDO.
Vamos a utilizar la sentencia DO-ENDDO para trabajar con variables y no con tablas internas, tal como sucede con LOOP-ENDLOOP.
La iteración se ejecuta solo si la condicion es verdadera.
DO 5 TIMES. Realizamos 5 interaciones y en cada una de ellas imprimimos
ADD 1 TO v_vuelta. el contenido de la variable v_vuelta
WRITE:/ v_vuelta.
ENDDO.
Las sentencias de control: se utilisa para terminar el prosesamiento de un bucle, de una subrutina o de todo un programa. en ABAP contamos con las siguientes sentencias de control:
- CHECK: esta sentencia verifica si la condición es verdadera.
CHECK sy-subrc EQ 0.
- EXIT: si ejecutamos esta sentencia dentro de un bucle entonses saldremos del, dentro de una subrutina entonces saldremos de la misma y fuera de un bucle y fuera de una subrutina salimos del programa.
IF sy-subrc EQ 0.
EXIT.
ENDIF.
- CONTINUE: esta sentencia se utiliza loso dentro de un bucle. luego de la ejecucion de la sentencia el sistema continúa con la siguiente interacion del bucle.
CLEAR v_vuelta.
DO 5 TIMES. Solo inprimimos en pantalla la 5ta vuelta las
ADD 1 TO v_vuelta. anteriores las salteamos con CONTINUE
IF v_vuelta EQ 5.
WRITE:/ v_vuelta.
ELSE.
CONTINUE.
ENDIF.
ENDDO.
- STOP: esta sentencia finaliza el programa en ejecucion pero antes se ejecuta el evento END-OF-SELECTION si es que este evento esta escrito en el programa.
IF sy-subrc NE 0.
STOP.
ENDIF.
- LEAVE: esta sentencia finalisa el programa en ejecucion y se ejecuta el evento END-OF-SELECTION
IF sy-subrc NE 0.
LEAVE.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Javier Miguel Angel Barcelo, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.
Javier Miguel Angel Barcelo
Profesión: Militar - Argentina - Legajo: DQ34X
✒️Autor de: 107 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: PartTime
























