✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
Unidad n°2: La declaración y el procesamiento de datos
Lección n°6: El control del flujo de datos
Las condiciones:
En ABAP contamos con sentencias para trabajar con condiciones.
*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 una determinada expresión lógica.
Las expresiones lógicas son todas aquellas expresiones que obtienen como resultado verdadero o falso. Ej: 1 + 1 = 2.
Si estas se cumplen, entonces se ejecutará determinada sentencia o grupo de sentencias y si no se cumple, entonces se ejecutará otra.
Existen dos formas de representar condiciones, una de ellas es usando la sentencia IF-ENDIF:
DATA: v_calificacion(1) TYPE c VALUE '8'.
START-OF-SELECTION.
IF v_calificacion >= '8'.
WRITE:/'Aprobado'.
ELSE.
WRITE:/'Reprobado'.
ENDIF.
También podemos anidar o agregar más condiciones dentro del IF-ENDIF usando ELSEIF:
IF v_calificacion >= '9'.
WRITE:/'Aprobado con méritos'.
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 es con la sentencia CASE-ENDCASE:
CASE v_calificacion.
WHEN '10' OR '9' '8'.
WRITE:/'Aprobado con méritos'.
WHEN '7' OR '8'.
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 ejecutará las declaraciones que estén debajo del WHEN OTHERS.
Por más que usemos IF-ENDIF o CASE-ENDCASE, tenderemos que emplear los operadores lógicos, que nos permiten agrupar expresiones lógicas, los que tenemos disponibles son:
- AND = Y
- OR = O
- = ó EQ = Igual
- NE ó <> = Distinto
- GT ó > = Mayor
- LT ó < = Menor
- >= ó GE = Mayor o igual
- <= ó LE = Menor o igual
Los bucles:
Un bucle o ciclo, es una secuencia de instrucciones de código que se ejecuta repetidas veces, hasta que la condición asignada a dicho bucle deje de cumplirse.
Se pueden representar de varias formas:
- Por la sentencia LOOP-ENDLOOP, se usa exclusivamente cuando trabajamos con tablas internas. Con esta se recorre el contenido de una tabla interna, registro por registro y en cada uno haremos algún procesamiento.
Con el agregado de WHERE en el LOOP-ENDLOOP, se puede restringir en núm. de líneas a leer, ya que se producirá una la interacción siempre y cuando se cumpla la condición (Con F1 se ve la info de la sentencia). - Con la sentencia DO-ENDDO, se usa para trabajar con variables y no con tablas internas. Su interacción se ejecutará solo si la condición es verdadera.
Las sentencias de control:
Se usan para terminar el procesamiento de un bucle, subrutina o de todo un programa.
Sus sentencias son:
- CHECK: para verificar si la condición es verdadera. Si es falsa y la sentencia está dentro de un bucle, se saltearán todas las sentencias siguientes dentro del bucle y se continuará con la próx. iteración. Fuera del bucle se saltearán todas las sentencias hasta el final del evento o programa en proceso, pero si es verdadera el proceso continúa.
CHECK sy-subrc EQ 0. - EXIT: si se ejecuta dentro del bucle o subrutina saldremos de este, y si se ejecuta fuera del bucle y subrutina saldremos del programa:
IF sy-subrc EQ 0.
EXIT.
ENDIF. - CONTINUE: se usa dentro del bucle. Luego de la ejecución de EXIT, el sist. pasa a la sig. iteración del bucle:
CLEAR v_vueltas.
DO 5 TIMES.
ADD 1 TO v_vueltas.
IF v_vueltas EQ 5.
WRITE:/ v_vueltas.
ELSE.
CONTINUE.
ENDIF.
ENDDO. - STOP: finaliza el programa en ejecución pero antes ejecuta el evento END-OF-SELECTION, si está escrito.
IF sy-subrc NE 0.
STOP.
ENDIF. - LEAVE: finaliza el programa en ejecución y no se ejecuta el evento END-OF-SELECTION.
IF sy-subrc NE 0.
LEAVE.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Candela Estefanía Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.
Candela Estefanía Calzada
Profesión: Técnica Electrónica - Argentina - Legajo: JW91W
✒️Autor de: 160 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Me encuentro estudiando la ingeniería en sistemas de información. poseo amplia experiencia en edición de videos. tengo bases entorno a la programación que quiero continuar consolidando.
Certificación Académica de Candela Calzada