✒️ABAP / El control del flujo de datos Por Alexander Garcia

Selector Alummnos / Empresas

ABAP El control del flujo de datos

ABAP El control del flujo de datos

El control de flujo de datos en ABAP (Advanced Business Application Programming) se refiere a la capacidad de dirigir el flujo de ejecución del programa mediante el uso de estructuras de control y sentencias condicionales. Esto permite que el programa tome decisiones y realice acciones diferentes en función de ciertas condiciones y resultados. Algunas de las estructuras de control y sentencias condicionales más comunes en ABAP son:

  1. IF...ELSE: Esta estructura de control permite ejecutar un bloque de código si se cumple una condición y otro bloque de código si la condición no se cumple. La sintaxis es la siguiente:
  1. CASE: La sentencia CASE se utiliza para evaluar múltiples condiciones y ejecutar diferentes bloques de código en función del valor de una variable o expresión. La sintaxis es la siguiente:
  1. LOOP: La estructura LOOP se utiliza para iterar sobre una tabla interna o una tabla de la base de datos y ejecutar un bloque de código para cada fila de la tabla. La sintaxis es la siguiente:
  1. WHILE: La estructura WHILE se utiliza para repetir un bloque de código mientras se cumpla una condición. La sintaxis es la siguiente:
  1. DO...ENDDO: Esta estructura de control se utiliza para repetir un bloque de código al menos una vez antes de verificar una condición. La sintaxis es la siguiente:
  1. BREAK y CONTINUE: Estas sentencias de control se utilizan para alterar el flujo de ejecución dentro de una estructura de control LOOP o WHILE. BREAK se utiliza para salir del bucle, mientras que CONTINUE se utiliza para omitir el resto del bucle y continuar con la siguiente iteración.

CONTROL DEL FLUJO DE DATOS:

En ABAP al igual que otros lenguajes de programación, se cuenta con sentencias para trabajar con condiciones.

1) Condición: Es una sentencia o grupo de sentencias que se ejecutarán en base a si se cumple o no una expresión lógica. Las expresiones lógicas son aquellas expresiones que obtienen un resultado verdadero o falso. Si la expresión lógica se cumple, se ejecutarán determinada sentencia o grupo de sentencias, si la expresión lógica no se cumple, se ejecutarán otra sentencia o grupo de sentencias.

Condiciones:

Las condiciones en ABAP se pueden representar en dos formas: una es con la sentencia IF-ENDIF. Dentro de un IF-ENDIF, se pueden utilizar condiciones anidadas con la sentencia ELSEIF. Si ninguna de las condiciones son válidas, el sistema ejecutará las declaraciones que estén debajo del ELSE.

Existen dos formas de representar condiciones en ABAP, una de ellas es utilizando la sentencia IF-ENDIF. Ejemplo IF:


DATA: v_calificacion(1) TYPE c VALUE '8'.

START-OF-SELECTION.

IF v_calificacion >= '8'.

WRITE:/ 'Aprobado'.

ELSE.

WRITE:/ 'Reprobado'.

ENDIF.


Podemos anidar o agregar más condiciones dentro del IF-ENDIF utilizando la sentencia ELSEIF. Por ejemplo IF con ELSIF:


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 raspado'.

ELSE.

WRITE:/ 'Reprobado'.

ENDIF.


Si ninguna de las condiciones es válida, el sistema ejecutará las declaraciones que est debajo del ELSE.

La otra forma de representar condiciones ABAP es mediante la sentencia CASE-ENDCASE. Ejemplo CASE:


CASE v_calificacion.

WHEN '10' OR '9' OR '8'.

WRITE:/ 'Aprobado con méritos'.

WHEN '7' OR '6'.

WRITE:/ 'Aprobado'.

WHEN '5' OR '4'.

WRITE:/ 'Aprobado raspado'.

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.

Tanto si se usa la sentencia IF-ENDIF o CASE-ENDCASE es necesario el uso de operadores lógicos, que son operadores que nos permiten agrupar expresiones lógicas. Los operadores lógicos que tenemos disponibles en ABAP son:

  • Y → AND
  • O → OR
  • Igual → = o EQ
  • Distinto → <> o NE
  • Mayor → > o GT
  • Menor → < o LT
  • Mayor o igual → >= o GE
  • Menor o igual → <= o LE

2. Los bucles

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.

Existen distintos bucles en ABAP, una de ellas es LOOP-ENDLOOP, esta sentencia se utiliza exclusivamente cuando trabajemos con tablas internas.

LOOP-ENDLOOP: Con esta sentencia se puede 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. Ejemplo LOOP-ENDLOOP:


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 sentencia para representar un bucle en ABAP es 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 ejecutará solo si la condición es verdadera.

Existe otra forma de realizar bucles en ABAP y es mediante la sentencia WHILE-ENDWHILE, pero prácticamente nunca se usa, ya que para tablas internas siempre es LOOP-ENDLOOP y para atributos es DO-ENDDO.

DO 5 TIMES.

ADD 1 TO v_vuelta.

WRITE:/ v_vuelta.

ENDDO.

3. Las sentencias de control

Se utilizan para terminar el procesamiento de un bucle, de subrutina o de todo un programa. En ABAP hay las siguientes sentencias de control:

  • CHECK: Verifica si la condición es verdadera. Si la condición es falsa y la sentencia está dentro de un bucle, 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: 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: Finaliza el programa en ejecución, pero antes ejecuta el evento END-OF-SELECTION en caso de que este evento este escrito en el programa.
  • LEAVE: 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.

La otra forma de representar condiciones en ABAP es con el uso de la sentencia CASE-ENDCASE con el WHEN y WHEN OTHERS. Si ninguna de las condiciones establecidas con el CASE es válida, se ejecutará las declaraciones que estén debajo del WHEN OTHERS, ya sea que se utilice la sentencia IF-ENDIF o la sentencia CASE-ENDCASE.

También se van a requerir los operadores lógicos disponibles en ABAP: AND - OR - EQ - NE - GT - LT - GE - LE.

2) Los Bucles: 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 pueden representar de varias formas.

  • La primera es mediante la sentencia LOOP-ENDLOOP, la cual se utiliza exclusivamente cuando se trabaja con tablas internas. Con esta sentencia se recorre el contenido de una tabla interna, registro a registro y en cada registro se realiza algún tipo de procedimiento.
  • Otra forma de representar un bucle en ABAP es mediante la sentencia DO-ENDO. Esta sentencia se utiliza para trabajar con variables y no con tablas internas.

3) Las sentencias de control:

Se utilizan en ABAP para terminar el procesamiento de un bucle, de una subrutina o de todo un programa. A continuación las utilizadas en la programación ABAP:

  • CHECK: 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 saltarán las sentencias siguientes que estén dentro del bucle, y se continuará con la siguiente iteración. Si la condición es verdadera se continuará el procesamiento.
  • EXIT: si se ejecuta esta sentencia dentro de un bucle o dentro de una subrutina, el programa se salta la secuencia del bucle o la subrutina. Si está fuera del bucle u subrutina, salimos del programa.
  • CONTINUE: Se utiliza solo dentro de un bucle. Luego de la ejecución de la sentencia el sistema continuará 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 está escrito en el programa.
  • LEAVE: esta sentencia finaliza el programa en ejecución y no se ejecuta el evento END-OF-SELECTION.

Se debe tener cuidado con el uso de las sentencias antes descritas porque alteran de forma directa el programa.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Alexander Antelo Garcia, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.

SAP Senior

Alexander Antelo Garcia

Profesión: Ing. en Sistemas de la Informacion - Mexico - Legajo: KR64D

✒️Autor de: 44 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Alexander Garcia

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El control del flujo de datos" de la mano de nuestros alumnos.

SAP Expert


1. Condiciones Permiten ejecutar un grupo de sentencias basándose en si una expresión lógica se cumple (es verdadera) o no. IF-ENDIF: Es la estructura básica. Permite anidar condiciones utilizando ELSEIF para evaluaciones alternativas y ELSE para el caso en que ninguna de las anteriores se cumpla,. CASE-ENDCASE: Es una alternativa al IF cuando se evalúa el contenido de una misma variable contra diferentes valores. Se utiliza WHEN para cada valor y WHEN OTHERS si no se cumple ninguna de las anteriores,. Operadores Lógicos: Se utilizan para construir las expresiones lógicas. Y / O: AND, OR. Comparaciones: EQ o = (Igual), NE o <> (Distinto), GT o > (Mayor),...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

El control del flujo de datos 1| 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 La 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...

Acceder a esta publicación

Creado y Compartido por: Felipe De Jesus Arrona Rodriguez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


El Control del Flujo de Datos 1.-Condiciones y bucles en ABAP La sintaxis de algunos operadores admite dos formas, por ejemplo, equal o el signo igual. 2.-Bucles en ABAP Existen diferentes formas de implementar bucles: loop...end loop y do...end do. loop...end loop es recomendado para tablas internas y permite procesar registros uno a uno, opción "where" permite filtrar las líneas procesadas. do...end do se usa para trabajar con variables, la iteración ocurre sólo si la condición es verdadera. Se menciona la sentencia while...end while pero se desaconseja su uso frente a las otras alternativas. Utilizar do o loop según el contexto de variables o tablas internas....

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

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...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

El control de los flujos de datos 1 | 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á...

Acceder a esta publicación

Creado y Compartido por: Gustavo Jose Rondon Hernandez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



El control del flujo de datos en SAP es un aspecto esencial para asegurar la integridad, consistencia y eficiencia del procesamiento de información dentro del sistema. Este flujo abarca desde la entrada de datos en los sistemas front-end, pasando por las transformaciones internas, hasta su salida o uso final en procesos empresariales, reportes o sistemas externos. Comprender cómo se administra este flujo en SAP implica explorar componentes como módulos funcionales, estructuras de datos, interfaces, middleware, herramientas de monitoreo y mecanismos de validación. SAP opera sobre una arquitectura modular, y cada módulo —como SAP FI (Finanzas), SAP SD (Ventas y Distribución), SAP MM (Gestión...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

1. Condiciones en ABAP Estructuras básicas IF-ENDIF: CASE-ENDCASE: Ideal para múltiples valores fijos. Operadores Lógicos Operador Significado Ejemplo EQ o = Igual a IF v_num EQ 10. NE o <> No igual a IF v_texto NE 'OK'. GT o > Mayor que IF v_total GT 100. LT o < Menor que IF v_edad LT 18. AND/OR Y/O lógico IF v_a > 0 AND v_b < 5. ...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


El control del flujo de datos 1 Las condiciones En ABAP, una condición es una expresión lógica que se evalúa como verdadera o falsa y determina qué sentencias se ejecutan en el programa. Se utilizan principalmente dos estructuras para manejar condiciones: Sentencia IF ... ENDIF: Permite evaluar condiciones simples y anidar otras usando ELSEIF y ELSE. Sentencia CASE ... ENDCASE: Se utiliza cuando se desea evaluar una variable frente a múltiples valores posibles mediante WHEN. Si ninguna condición se cumple, se ejecuta el bloque WHEN OTHERS. Ambas estructuras permiten un control claro del flujo lógico del programa. Además, se emplean operadores lógicos...

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

El control del flujo de datos 1. Las condiciones Condición: Consiste en la ejecución de una sentencia o grupo de sentencias que se ejecutarán en base a si ese cumple o no una determinada expresión lógica. Las expresiones lógicas 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 ejeuctará otra sentencia o grupo de sentencias. Existen dos formas de representar condiciones en ABAP, una de ellas es utilizando la sentencia IF-ENDIF DATA: v_calificación(1) TYPE c VALUE '8'. START-OF-SELECTION IF v_calificacion >= '8'. WRITE: /'Aprobado'....

Acceder a esta publicación

Creado y Compartido por: Yeny Gisela Yanes Bautista

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

Control de flujo de datos Existen 2 formas de representar condiciones en ABAP. IF-ENDIF./ ELSEIF: Condicionales simples o anidados. La utilización de ELSEIF con mas de 3 o 4 niveles NO es considerado buena practica de programación. Porque es muy difícil encontrar a simple vista el ENDIF que CORRESPONDE A CADA IF. EN ESTE CASO SE RECOMIENDA USAR EL CASE IN CASE Y MODULARIZAR EL CODIGO ABAP. LOOP-ENDLOOP exclusivamente con uso de TABLAS INTERNAS. Sirve para recorrer registro por registro y realizar algún tipo de procesamiento. Si agregamos WHERE en la sentencia loop-endloop. Se puede restringir líneas de lectura. El cual es de buena practica realizarlo. SE RESTRINGE EL ACCESO SECUENCIAL DE TODO LOS REGISTRO...

Acceder a esta publicación

Creado y Compartido por: Gaston Asplanatti / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!