🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP El control del flujo de datos

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.


 

 

 


Sobre el autor

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

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: 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 Junior

Control del Flujo de Datos Tener cuidado con 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.

Acceder a esta publicación

Creado y Compartido por: Franklin David Bracho Gutierrez / Disponibilidad Laboral: PartTime

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

SAP Master

Control de flujo de datos. Condiciones: Se representan de dos formas, IF-ENDIF y CASE-ENDCASE. Si en cada condición se chequea que la variable sea igual a determinado valor y la cantidad de condiciones es alta, seria aconsejable utilizar CASE-ENDCASE. Bucles: Los bucles en ABAP se pueden representar de varias formas. Mediante la palabra clave LOOP-ENDLOOP. La palabra DO-ENDDO. Sentencias de control: Se utilizan para terminar el procesamiento de un bucle, de un proceso o un programa, ellas son: Check. Exit. Continue. Stop. Leave. Debemos tener sumo cuidado con la utilización de las sentencias de control, debido a que estas alteran en forma directa el flujo de control...

Acceder a esta publicación

Creado y Compartido por: Jorge Luis Leal Marquez / Disponibilidad Laboral: PartTime + Carta Presentación

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

SAP Master

Las condicionales en ABAP se pueden representar de dos formas: la primera es utilizando la palabra reservada IF-ENDIF o con CASE-ENDCASE, y si utiliza cuando se quiere hacer una condición teniendo en cuenta varios parametros, para trabajar con bucles se utiliza la palabra reservada LOOP-ENDLOOP, para restringir el bucle se utiliza la sentencia WHERE, la otra forma es con DO-ENDDO que maneja bucles incondicionados o manejados mediante indices. Algunas sentencias de control de flujo son CHECK, EXIT, CONTINUE, STOP, LEAVE, se debe tener cuidado con su utilización ya que alteran en forma directa el flujo del control del programa

Acceder a esta publicación

Creado y Compartido por: William Alejandro Lemus

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

SAP Expert


la condicinal de SAP son bastante similares a otros elemento de diferentes lenguajes de programacion como .net java eso control de flujo pueden ser if else, case, while

Acceder a esta publicación

Creado y Compartido por: Edwar Antonio Reyes Reyes / Disponibilidad Laboral: PartTime

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

SAP Junior

un flujo de datos, hace referencia a todo el proceso en el que se involucran la fuente de datos, infositios, hasta la salida de información (reporte). El mismo puede ser visualizado desde la RSA1 en SAP BI BW. Dentro SAP BI, en el Data Warehousing Workbench puedes graficar el flujo de datos de objetos. Éste grafica las conexiones y dependencias entre objetos BI individuales. flujo de datos en Facturación, se copian los datos de documentos de referencia en los documentos de facturación. Se puede ver un documento completo, posiciones individuales o las cantidades parciales de posiciones. Para una factura basada en la entrega, por ejemplo, las cantidades a facturar se copiarán de la entrega y los precios se copiarán...

Acceder a esta publicación

Creado y Compartido por: Danny Santiago Torres Martinez

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

SAP Expert


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: 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: CASE: La sentencia CASE se utiliza para evaluar múltiples...

Acceder a esta publicación

Creado y Compartido por: Darling Geraldino

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

SAP SemiSenior

CONTROL DEL FLUJO DE DATOS Condicionales: IF - ELSEIF - ELSE - ENDIF y CASE - WHEN - WHEN OTHERS - ENDCASE Operadores lógicos: Y AND, O OR, Igual = EQ, Distinto <> NE, Mayor > GT, Menor < LT, Mayor o igual >= GE, Menor o igual <= LE Bucles: LOOP AT - WHERE - ENDLOOP, DO - TIMES - ENDDO, WHILE - ENDWHILE Sentencias de control: CHECK, EXIT, CONTINUE, STOP, LEAVE

Acceder a esta publicación

Creado y Compartido por: Diego Fernando Londoño Valencia

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

SAP Senior

CONTROL DEL FLUJO DE DATOS: Las condiciones en ABAP se representan en 2 formas, IF_ENDIF. Si ninguna es valida, el sistema ejecutara las declaraciones que esten debajo del ELSE, otra forma puede ser CASE_ENDCASE. S ninguna es valida el sistema ejecutara la delclaracion que este debajo del WHEN OTHERS. Si en cada condicones se quequea que la variable sea igual a determinado valor y la cantidad de condiciones es alta, es aconsejable usar CASE-ENDCASE. BUCLES: Se representa en varias formas en ABAP. 1. mediante la palabra LOOP-ENDLOOP. 2 la otra es DO-ENDDO. SETENCIAS DE CONTROL: Se usan para terminar el procesamiento de un bucle de un proceso o programa. son: Check: si es verdadero se verifica, si es falso y la sentencia esta dentro de un bucle...

Acceder a esta publicación

Creado y Compartido por: Bruno Edgardo Gallinoto / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP SemiSenior

Resumen Lección: Control de Flujo de Datos. Condiciones IF-ENDIF CASE-ENDCASE Bucles LOOP-ENDLOOP DO-ENDDO Sentencias de Control las sentencias de control se utilizan para terminar el procesamiento de un bucle, de un proceso o de un programa. Ellas son: CHECK EXIT CONTINUE STOP LEAVE

Acceder a esta publicación

Creado y Compartido por: Alexander José Tovar Rodríguez

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

SAP Senior

Leccion 6 Control de Flujo de datos 1. Condiciones. Se puede presentar 2 formas: 1. IF-ENDIF. 2. CASE-ENDCASE – se recomienda utilizar en sentencias de varias condiciones. Operadores Logicos 2. Bucles. Es una acción repetida, se usa para trabajar con tablas internas. Varias formas. LOOP-ENDLOOP: Agregando la cláusula WHERE pude restringir el número de líneas a leer. Buscar en la table TI USUARIOS donde el usuario sea igual a Soltero. LOOP AT TI_USUARIOS WHERE ESTADO CIVIL = ‘S’. DO-ENDDO 3. Sentencias de control Se utilizan para para terminar el procesamiento de un bucle. CHECK : Verifica si la condición es verdadera,...

Acceder a esta publicación

Creado y Compartido por: Luis Albán Arguedas Hernández / Disponibilidad Laboral: FullTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.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!