🚀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

El control del flujo de datos Las 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.
  • Expresión lógica. Aquella expresión que se obtiene como resultado verdadero o falso.
  • Dos formas de representar condiciones en ABAP: la primera es usando la sentencia IF-ENDIF. Se pueden anidar o agregar más condiciones dentro del IF-ENDIF, utilizando la sentencia ELSEIF:

IF v_calificacion>='9'.

WRITE: /'Aprobado con meritos'.

ELSEIF v_calificacion BETWEEN '4' AND '6'.

WRITE: /'Aprobado raspando'.

ELSE.

WRITE:/'Reprobado'.

ENDIF.

  • Si ninguna de las condiciones es válida, el sistema ejecutará las declaraciones que estén debajo del ELSE.
  • La otra forma de representar condiciones en ABAP es mediante la sentencia CASE-ENDCASE.

CASE v_calificacion.

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

WRITE:/'Aprobado con meritos'.

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.
  • Si se utiliza IF-ENDIF o CASE-ENDCASE se requiere emplear los operadores lógicos (operadores que nos permiten agrupar expresiones lógicas).
  • Opeadores lógicos disponibles en ABAP: AND (Y), OR (O), = o EQ(Igual), <> o NE (Distinto), > o GT (Mayor), < o LT (Menor), >= o GE (Mayor o igual). < o LE (Menor o igual).
  • Ejemplo: *So el sy-subrc es igual a cero. IF sy-subrc EQ 0 OR sy-subrc=0. "Ambas expresiones lógicas son identicas.
  • La utilización de IF anidados con más de tres niveles no es considerado como una buena práctica de programación. Ya que es dificil encontrar el END IF.

Los bucles

  • Bucle, ciclo, secuencia de instrucciones de código que se ejecuta repetidas veces, hasta que la condición asignada a dicho bucle deja de cumplirse.
  • Se pueden representar de distintas maneras, una de ellas es mediante la sentencia LOOP-ENDLOOP. Se utiliza exclusivamente cuando trabajemos con tablas internas. Se va a recorrer el contenido de una tabla interna, registro por registro y en cada registro se va 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.
  • La utilización de la cláusula WHERE siempre y cuando sea posible, es considerada una buena práctica de programación ya que limita o restringe el acceso secuencial de todos los registros de la tabla interna.
  • Otra forma de representar un bucle en ABAP es mediante la sentencia DO - ENDDO.
  • DO-ENDDO se utiliza para trabajar con variables y no con tabla internas, tal como sucede con LOOP- ENDLOOP.
  • La iteración se ejecutará solo si la condición es verdadera
  • Sentencia WHILE ENDWHILE. no se utiliza mucho.

Las sentencias de control

  • Se utilizan para terminar el procesamiento de un bucle de una subrutina o de todo un programa. En ABAP se tiene las siguientes sentencias de control:
  • CHECK: sentencia verifica si la condición es verdadera. Si la condición es falsa y la sentencia estará dentro de un bucle, se saltará todas las sentencias siguientes que estén dentro del bucle y se continuará con la siguiente iteración. Fuera de un bucle, se saltarán todas las sentencias hasta el final del evento o del programa en proceso. Si la condición es verdadera entonces se continúa con el procesamiento.
  • CHECK sy-subrc EQ 0.
  • 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: Esta sentencia 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.

CLEAR v_vuelta.

DO 5 TIMES.

ADD 1 TO v_vuelta.

IF v_vuelta EQ 5.

WRITE:/ v_vuelta.

ELSE.

CONTINUE.

ENDIF.

ENDDO.

  • Solo se imprime en pantalla la 5ta vuelta las anteriores se saltean con CONTINUE.
  • STOP: esta sentencia finaliza el programa en ejecución pero antes se ejecuta el evento END-OF-SELECTION si es que este evento 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 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.

 

 

 


Sobre el autor

Publicación académica de Alejandra Daniela Naranjo Belmonte, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Alejandra Daniela Naranjo Belmonte

Profesión: Analista/desarrollador de Software - Mexico - Legajo: ON48V

✒️Autor de: 63 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Alejandra Naranjo

✒️+Comunidad Académica CVOSOFT

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

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

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

SAP Master

Las sentencias de Control de Flujo de programa son iguales en forma de operacion a las sentencias en otros lenguajes de programacion, lo importante es la mnemotecnia. Lo importante es aprender la mnemotecnia para poder emplearlas correctamente

Acceder a esta publicación

Creado y Compartido por: Eduardo Vargas

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

SAP Master

UNIDAD 2: DECLARACIÓN Y PROCESAMIENTO DATOS LECCIÓN 6:CONTROL FLUJO DE DATOS 1.- CONDICIONES a) IF ELSEIF ELSE ENDIF. b)Si en cada condición, se chequea que la variable sea igual a un valor determinado y las condiciones son muchas es aconsejable usar CASE WHEN WHEN OTHERS ENDCASE En ambas Se utilizan los operadores lógicos (AND OR EQ NE GT LT GE LE) 2.- BUCLES LOOP AT itab WHERE (uso es buena practica) ENDLOOP DO n TIMES ENDDO 3.- SENTENCIAS DE CONTROL CHECK EXIT (saldrá del bucle y/o saldrá del pprog. dependiendo) CONTINUE (dentro del bucle continua con la sgte.iteracion) STOP (antes de End Of Selection) LEAVE (finaliza y no ejecuta End-Of-Selection) Nota.- Debemos tener cuidado en el uso de estas...

Acceder a esta publicación

Creado y Compartido por: Hernan Cabezas

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

SAP Senior

el flujo de datos debe de ser continuo.

Acceder a esta publicación

Creado y Compartido por: Allan Gomez

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

SAP Senior

- Control del Flujo de Datos - Condiciones 1.- Utilizando IF-ENDIF: IF <CONDICION>. DECLARACIONES. ELSEIF <CONDICION>. DECLARACIONES. ELSE. DECLARACIONES. EDNIF. 2.- Mediante CASE-ENDCASE: CASE CAMPO. WHEN VALOR1. DECLARACIONES. WHEN VALOR2. DECLARACIONES. WHEN OTHERS. DECLARACIONES. ENDCASE. * Operadores lógicos: Y -----------------------> AND O ----------------------> OR Igual ------------------> = , EQ Distinto --------------> <> , NE Mayor...

Acceder a esta publicación

Creado y Compartido por: Sandra Erika Bernabe Abreu

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

SAP Senior

Operadores logicos: Y -----> AND O -----> OR IGUAL -----> ,EQ DISTINTO ----> <> ,NE MAYOR ----> > , GT MENOR -----> < , LT MAYOR O IGUAL ------> >= , GE MENOR O IGUAL ------> <= , LE La utilizacion de la clausula WHERE siempre y cuando sea posible, es considerada una buena practica de programacion. Sentencias de control: se utilizan para terminar el procesamiento de un bucle, de un proceso o programa. las mismas son: Check: verifica si la condicion es verdadera, si la condicion es falsa y la sentencia esta dentro de un bucl, se salteara todas las sentencias siguientes que esten dentro del bucle y continuara con la siguiente iteracion. Exit:dentro de un bucle saldra del bucle, dentro de una subrutina...

Acceder a esta publicación

Creado y Compartido por: Cristian Merlo

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

SAP Master

Control de flujo de datos. Condiciones: IF <condicion>. Declaraciones. elseif <condición>. declaraciones. else. declaraciones. endif CASE- ENDCASE CASE campo. WHEN VALOR1. DECLARACIONES WHEN VALOR2 DECLARACIONES. WHEN OTHERS. DECLARACIONES. ENDCASE OPERADORES LOGICOS: = , <>, <, >, >=, <= BUCLES: LOOP A TABLA. DECLARACIONES. ENDLOOP DO n TIMES DECLARACIONES ENDDO SENTENCIAS DE CONTROL: CHECK: verifica si la condición es verdadera, si es falsa se saltara todas las sentencias siguientes y continuara la siguiente interacción, fuera del bucle ira al final del programa CHECK SY-SUBRC EQ 0. EXIT: Saldra del bucle,y fuera del bucle saldra del programa IF v_clase...

Acceder a esta publicación

Creado y Compartido por: Maria Ysabel Colina De Magdaleno

 


 

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