✒️ABAP / El control del flujo de datos Por Jaime Gomez Arango

Selector Alummnos / Empresas

ABAP El control del flujo de datos

ABAP El control del flujo de datos

Data Flow Control

Conditionals

A condition in ABAP triggers the execution of specific statements or sets of statements based on the evaluation of a logical expression. These expressions result in either TRUE or FALSE.

When a logical expression is TRUE, a designated set of statements is executed; otherwise, an alternative set of statements is carried out. In ABAP, conditions can be represented using the IF-ENDIF statement. For instance:

DATA: v_grade(1) TYPE c VALUE 'B'.

START-OF-SELECTION.

IF v_grade = 'A'.
WRITE:/ 'Excellent!'.
ELSE.
WRITE:/ 'Keep Improving.'.
ENDIF.

To demonstrate nested conditions within IF-ENDIF using the ELSEIF statement:

DATA: v_grade(1) TYPE c VALUE 'B'.

START-OF-SELECTION.

IF v_grade = 'A'.
WRITE:/ 'Excellent!'.
ELSEIF v_grade = 'B' OR 'C'.
WRITE:/ 'Good Job!'.
ELSE.
WRITE:/ 'Work Harder.'.
ENDIF.

In this example, the system executes the statements below ELSE if none of the conditions is valid.

An alternative method is using the CASE-ENDCASE statement:

DATA: v_grade(1) TYPE c VALUE 'B'.

START-OF-SELECTION.

CASE v_grade.
WHEN 'A'.
WRITE:/ 'Excellent!'.
WHEN 'B' OR 'C'.
WRITE:/ 'Good Job!'.
WHEN OTHERS.
WRITE:/ 'Work Harder.'.
ENDCASE.


If none of the conditions is valid, the system executes the statements below WHEN OTHERS.

Regardless of the approach—IF-ENDIF or CASE-ENDCASE—logical operators are essential in ABAP:

  • AND
  • OR
  • Equal = EQ
  • Not equal <> NE
  • Greater than > GT
  • Lower than < LT
  • Greater than or equal >= GE
  • Lower than or equal <= or LE

* Si el sy-subrc es igual a cero
IF sy-subrc EQ 0 OR sy-subrc = 0. "Ambas expresiones lógicas son identicas
WRITE:/'='.
* Si el sy-subrc es distinto de cero
ELSEIF sy-subrc NE 0 OR sy-subrc <> 0. "Ambas expresiones lógicas son identicas
WRITE:/'<>'.
* Si el sy-subrc es mayor a cero
ELSEIF sy-subrc GT 0 OR sy-subrc > 0. "Ambas expresiones lógicas son identicas
WRITE:/'>'.
* Si el sy-subrc es menor a cero
ELSEIF sy-subrc LT 0 OR sy-subrc < 0. "Ambas expresiones lógicas son identicas
WRITE:/'<'.
* Si el sy-subrc es mayor o igual a cero
ELSEIF sy-subrc GE 0 OR sy-subrc >= 0. "Ambas expresiones lógicas son identicas
WRITE:/'>='.
* Si el sy-subrc es menor o igual a cero
ELSEIF sy-subrc LE 0 OR sy-subrc <= 0. "Ambas expresiones lógicas son identicas
WRITE:/'<='.
ENDIF.

Loops

A loop in programming signifies a sequence of code instructions that iteratively execute until the assigned condition becomes false. In ABAP, different loop structures are available.

  • Using LOOP-ENDLOOP designed for working with internal tables:

LOOP AT it_students INTO wa_student WHERE grade >= 'C'.
WRITE:/ wa_student-id,
wa_student-name,
wa_student-grade.
ENDLOOP.


  • Another loop structure in ABAP is DO-ENDDO, suitable for working with variables:

DO 10 TIMES.
v_counter = v_counter + 1.
WRITE:/ v_counter.
ENDDO.

  • Controlling DO Exits:

DO.
ADD 1 TO gv_numero.

IF gv_numero = 4.
WRITE: / 'Es la vuelta 4'.
CONTINUE.
ENDIF.

IF gv_numero > 8.
EXIT.
ENDIF.

gv_resultado = 1 * gv_numero.
WRITE: / '1 x ', gv_numero, ': ', gv_resultado.
ENDDO.

  • While there is an option to use WHILE-ENDWHILE in ABAP, it's rarely used in practice.

DATA: gv_numero TYPE n LENGTH 2,
gv_resultado TYPE n LENGTH 2.

WHILE gv_numero < 10.
ADD 1 TO gv_numero.
gv_resultado = 2 * gv_numero.
WRITE: / '2 x ', gv_numero, ': ', gv_resultado.
ENDWHILE.

Accessing INDEX iterator:

When you are in a loop for an internal table (LOOP AT), you should use SY-TABIX.

If you are in another loop (DO or WHILE), you should use SY-INDEX.

Control Statements

Control statements are employed to conclude the processing of a loop, subroutine, or an entire program. ABAP provides several control statements:

  • CHECK: Verifies if a condition is true, skipping subsequent statements within a loop if false, and continuing with the next iteration.
  • EXIT: Exits a loop when executed within it, exits a subroutine when executed within, and terminates the program outside of a loop or subroutine.
  • CONTINUE: Exclusively used within a loop. After execution, the system proceeds with the next iteration of the loop.
  • STOP: Concludes the running program, executing the END-OF-SELECTION event if present.
  • LEAVE: Terminates the running program without executing the END-OF-SELECTION event.

Careful consideration is essential while utilizing CHECK, EXIT, CONTINUE, LEAVE, and STOP as they directly influence the control flow in an ABAP program.

E.g.

REPORT ztest_abap_jega_4.

DATA: v_nro_vuelta TYPE i.

START-OF-SELECTION.

CLEAR v_nro_vuelta.

DO 10 TIMES.
ADD 1 TO v_nro_vuelta.

IF v_nro_vuelta = 6.
EXIT.
ENDIF.
ENDDO.

WRITE:/'El numero de vuelta final del ciclo fue: ', v_nro_vuelta.
"El numero de vuelta final del ciclo fue: 6


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

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