🚀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

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


 

 

 


Sobre el autor

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

SAP Master

Jaime Eduardo Gomez Arango

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

✒️Autor de: 99 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

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 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 SENTENCIA IF-ENDIF SENTENCIA IF-ELSEIF-ELSE-ENDIF SENTENCIA CASE OPERADORES LOGICOS BUCLES LOOP-ENDLOOP SENTENCIAS DE CONTROL CHECK EXIT CONTINUE STOP LEAVE NOTA.CUIDADO CON EL USO DE ESTAS SENTENCIAS YA QUE AFECTAN DIRECTAMENTE EL FLUJO DE UN PROGRAMA ABAP.

Acceder a esta publicación

Creado y Compartido por: Rainer Diaz

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

Debemos tener 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 ABAB

Acceder a esta publicación

Creado y Compartido por: Eli Joel Zorrilla Zorrilla

*** 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 Senior

Control de Flujo de Datos. Condiciones: IF / ENDIF CASE / ENDCASE Bucles: LOOP / ENDLOOP DO / END-DO Sentencias de Control: CHECK SY-SUBRC, Muestra resultados y/o equivalencia

Acceder a esta publicación

Creado y Compartido por: Noe Rivera

*** 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 de flujo de datos: IF-ENDIF, Cse-EndCase. Bucles: Loop-Endloop, Do-Endloop. Sentencias de control: Para terminar el procesamiento de un bucle, de un proceso ó de un programa. Check: Si la sentencia es falsa, y la sentencia esta dentro de un bucle, se salteará todas las sentencias y continuará con la siguiente iteración. Fuera de un bucle se saltará toda las sentencias hasta el final de del evento o del programa en proceso. Exit: dentro de un bucle, saldrá del bucle, dentro de una subrutina saldrá de la subrutina y fuera de un bucle saldrá del programa Cintunye: Se utiliza dentro de un bucle. Luego de la ejecución de la sentencia e sistema continua con la siguiente...

Acceder a esta publicación

Creado y Compartido por: Roxana Solis Ramirez

 


 

👌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!