✒️ABAP / El control del flujo de datos Por Sergio Beltran Castaneda

Selector Alummnos / Empresas

ABAP El control del flujo de datos

ABAP El control del flujo de datos

ABAP tiene algunas variables internas que se van actualizando automáticamente y que pueden ser utilizadas en los programas. Todas estás variables inicial con el prefijo SY.

CONDICIONALES

Como en todos los lenguajes estructurados, se tienen una serie de instrucciones para subdividir el programa en bloques lógicos que se ejecutaran cuándo se cumpla alguna condición.

Para ejecutar instrucciones sólo si se cumplen ciertas condiciones ABAP tiene dos bloques de instrucciones. El primero es IF….ENDIF. Esta instrucción comprueba si se cumple una condición antes de pasar a la siguiente instrucción. Si no se cumple ejecuta la instrucciónque sigue al ENDIF. Si queremos añadir una opción por defecto usamos la instrucción ELSE. Si queremos comprobar si se cumple una segunda condición usamos lainstrucción ELSEIF.

La segunda opción para comprobar si se cumple una condición es mediante el bloque de instrucciones CASE…ENDCASE. Podemos comprobar si se cumplen varias condiciones a la vez mediante la expresión AND.

También podemos comprobar si se cumple alguna de las condiciones mediante la expresión OR.

INTRUCCIONES DE BUCLE

Dentro de las condiciones podemos utilizar los clásicos operadores que ya conocemos. En Abap existen cuatro (4) tipos de bucles. Los bucles condicionales (WHILE), los no condicionales (DO), los bucles instrucción (SELECT) que se dan a través de los datos de la base de datos y los bucles sentencia (LOOP) que se dan en las tablas internas.

Los bucles condicionales se crean con el grupo de instrucciones WHILE…ENDWHILE. Se utiliza para repetir un bloque de instrucciones durante el tiempo que una determinada condición es verdadera, utilice la siguiente estructura de control:

Sintaxis:
WHILE log_exp o [ VARY FROM NEXT ].

[statemaent_block]

ENDWHILE.


log_exp puede ser cualquier expresión lógica. El bloque de instrucciones entre WHILE y ENDWHILE se repite mientras la condición es verdadera o hasta que una declaración de terminación, tales como cierre o detenga ocurre. El campo del sistema sy-index contiene el número de bucle pasa.

El sistema procesa el bloque de sentencias hasta que se cumpla la condición o hasta que el sistema procesa una sentencia EXIT, STOP o REJECT. Para condición se puede utilizar cualquier expresión lógica. El campo del sistema SY-INDEX contiene el número de veces que el bucle ha sido ejecutado. El sistema permite anidar sentencias WHILE, así como combinarlas con otras sentencias de bucle.

La opción VARY actúa de la misma forma en que actúa la opción VARYING en la sentencia DO. Al igual en la sentencia DO, se puede utilizar más de una opción VARY en una sentencia WHILE.

Supongamos que se le pide por pantalla al usuario que escriba un número que vamos a almacenar en la variable x.

En cada iteración el sistema comprueba que se cumple la condición antes de entrar de nuevo en el bucle. Si no se cumple salta hasta la sentencia ENDWHILE y continúa ejecutando el programa a partir de esa instrucción. Al igual que en las expresiones condicionales, en los bucles podemos comprobar más de una condición mediante las expresiones AND u OR. También podemos anidar varios bucles o condiciones.

Los bucles NO condicionales se crean con las instrucciones DO... ENDDO. Ejecución de sentencias indefinidamente hasta que se procese la sentencia EXIT, STOP o REJECT. En este caso se debe indicar el número de veces que requiere que se ejecute un grupo de instrucciones.

Sintaxis:


DO [ TIMES ] [ VARYING FROM NEXT ]

ENDDO.

La sentencia DO sin cláusulas ejecuta el bloque de sentencias indefinidamente, o hasta que se procese una sentencia EXIT, STOP o REJECT. Para limitar el número de pasos de un bucle se puede utilizar la opción TIMES. Puede ser un literal o una variable. Si es 0 o negativo, el sistema no procesará el bucle.

La cláusula ENDDO es obligatoria (marca el fin del bloque de sentencias). La variable SY-INDEX contiene el número de veces que el bucle ha sido ejecutado.

Utilizando la opción VARYING se pueden ir asignando valores a una variable a partir de un conjunto de campos del mismo tipo y longitud de memoria por cada paso de bucle. En una sentencia DO se pueden utilizar varias opciones VARYING.

Se puede terminar una vuelta con la instrucción CONTINUE. Otra forma de hacer lo mismo es con la sentecia de control CHECK.

En los procesos repetitivos, usamos DO y WHILE.

DO nos da permiso de ejecutar un bloque de instrucciones tantas veces cómo le indiquemos. En el caso de WHILE nos permite ejecutar un bloque de instrucciones mientras se cumpla una condición.

Para la utilización y explicación de los Bucles Select y Loop, se utilizan Tablas internas. Las tablas internas sirven para almacenar información extraída de la base de datos.

Bucle SELECT - ENDSELECT “Bucle a través de los datos de base de datos”

Esta sentencia realiza una lectura lineal de los datos de las tablas de la base de datos y los asigna directamente a los campos de nuestra tabla interna. Pero atención, para que queden almacenados sobre la tabla interna para cada registro seleccionado debemos utilizar la sentencia APPEND. La cláusula WHERE nos permite indicar el filtro de selección.

Nota: En las mejores prácticas de SAP se indica evitar el uso del SELECT...ENDSELECT, reemplazándolo por el bucle LOOP.

Bucle LOOP- ENDLOOP “Bucle en las tablas internas”

Esta sentencia nos permite recorrer uno a uno todos los registros que hemos guardado previamente en nuestra tabla interna. La forma en que la tratamos varía dependiendo de si hemos declarado nuestra tabla interna con cabecera o sin cabecera.

La sentencia loop...endloop en tablas internas con cabecera

No necesitan de ninguna variable adicional. Simplemente llamamos a nuestra tabla interna mediante la sentencia loop...endloop. En ese mismo momento, todos los registros de cada línea se cargan sobre la cabecera de la propia tabla interna.

LOOP AT <tabla_interna>.

* Acción sobre <tabla_interna>

ENDLOOP.

La sentencia loop...endloop en tablas internas sin cabecera

Necesitan de una variable estructura adicional donde se contenga el valor de cada registro de la tabla interna. Al hacer una llamada loop...endloop, el valor del registro por el que pasa se ha de traspasar a esta variable adicional.

LOOP AT <tabla_interna> into <estructura>.

* Acción sobre <estructura>

ENDLOOP.

Las sentencias de control

Se usaran para terminar el procesamiento de un bucle o proceso.

  • CHECK.
  • EXIT. Sentencia para salir del bucle.
  • STOP. Sentencia que se ejecuta indefinidamente hasta que se procese la sentencia EXIT.
  • LEAVE.
  • REJECT. Sentencia que al igual que STOP, se ejecuta indefinidamente hasta que se procese la sentencia EXIT.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Sergio Armando Beltran Castaneda, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.

SAP Master

Sergio Armando Beltran Castaneda

Profesión: Ingeniero de Sistemas con Especialización en Gerencia de Proyectos - Colombia - Legajo: WK55K

✒️Autor de: 70 Publicaciones Académicas

🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Soy ingeniero de sistemas desde hace mas de 10 años y quiero enfocarme en el mundo sap, iniciando en el lenguaje abap, con miras a ampliar mi conocimiento profesional y laboral.

Certificación Académica de Sergio Beltran

✒️+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!