![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
![ABAP El control del flujo de datos ABAP El control del flujo de datos](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/361.jpg)
CONDICIONALES
Igual que en todos los lenguajes, ABAP cuentas con las condicionales. Consiste en que una o varias sentencias se ejecutaran si se cumple o no una condicion (expresion logica). Estas son algunas condicionales:
- IF - ENDIF (anidadado) ejemplo
IF var_calificacion >= '9'.
WRITE: / 'Aprobado con merito'.
ELSEIF var_calificacion BETWEEN '6' AND '8'. (si esta entre BETWEEN 6 y 8)
WRITE: / 'Aprobado'.
ELSEIF var_calificacion BETWEEN '4' AND '6'.
WRITE: / 'Aprobado raspando'.
ELSE.
WRITE: / 'Reprobado'.
ENDIF.
- CASE - ENDCASE ejemplo
CASE var_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'. (si ninguna opcion es valida entonces se ejecuta WHEN OTHERS)
ENDCASE
BUCLES
Es un ciclo que se repite hasta que la secuencia de codigo ejecutada cumpla la condicion indicada en el bucle
- LOOP - ENDLOOP
Este se utiliza mayormente para las tablas internas, el bucle recorre registro por registro y realiza algun proceso.
EJEMPLO
LOOP AT ti_salida INTO wa_salida WHERE nettobtr > 0. (recorrera ti_salida mientras que nettobtr sea mayor a 0)
WRITE: / wa_salida-1, (recorre los registros de ti_salida y los almacena en la estructura wa_salida)
wa_salida-2,
wa_salida-3.
ENDLOOP.
- DO - ENDDO
Este se utiliza para las variables y no para las tablas como el anterior
EJEMPLO
DO 5 TIMES. (se realizan 5 iteraciones y en cada una se imprime el valor de v_vuelta)
ADD 1 TO v_vuelta.
WRITE: / v_vuelta.
ENDDO.
Las sentencias de control se utilizan para terminar el procesamiento de un bucle, subrutina o de todo el programa.
- CHECK: verifica si al condicion es verdadera. Si la condicion es falsa y esta dentro de un bucle salteara todas las sentencias siguientes en el bucle, si esta fuera de un bucle salteara todo hasta el final del evento o programa. Si es verdadera entonces se continua con el procesamiento.
EJEMPLO : CHECK sy-subrc EQ 0.
- EXIT: si se ejecuta dentro de un bucle se saldra del mismo, si esta dentro de una subrutina saldra de la misma, si esta en el codigo fuente saldra del programa
EJEMPLO: IF sy-subrc EQ 0.
EXIT.
ENDIF.
- CONTINUE: se utiliza solo dentro del bucle.
- STOP: finaliza el programa pero antes se ejecuta END-OF-SELECTION si es que existe.
- LEAVE: esta sentencia finaliza el programa sin ejecutar el evento END-OF-SELECTION
 
 
 
Sobre el autor
Publicación académica de Luciano Martinez, en su ámbito de estudios para la Carrera Consultor ABAP.
Luciano Martinez
Profesión: Consultor Abap - Argentina - Legajo: LR86R
✒️Autor de: 66 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Me capacito para desempeñar el rol de un consultor abap, además soy sql developer jr, como ambos lenguajes (sql y abap) se relacionan, hace que mi perfil sea más completo y se complemente.
Certificación Académica de Luciano Martinez