🚀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

Control de flujo de datos

1- Condiciones: se pueden representar en dos formas: una utilizando la palabra clave IF-ENDIF. La otra es mediante CASE-ENDCASE. Si las condiciones no son válidas el sistema ejecutará las declaraciones que estén debajo del WHEN OTHERS. En ambas formas se utilizan los siguientes Operadores Lógicos:

Y AND

O OR

Igual = , EQ

Distinto <> , NE

Mayor > , GT

Menor < , LT

Mayor o igual >= , GE

Menor o igual <= , LE

Recordatorio: Si en cada condicion se chequea que la variable sea igual a determinado valor y la cantidad de condiciones es alta, sería aconsejable utilizar CASE-ENDCASE.

2- Bucles: en ABAP se representan en varias formas. La primera mediante la palabra clave LOOP-ENDLOOP. Ej.:

LOOP AT TABLA

DECLARACIONES.

ENDLOOP

A saber: la utilización de la cláusula WHERE siempre y cuando sea posible es considerada una buena práctica de programación.

La segunda es mediante la palabra clave DO-ENDDO. Ej.

DO n TIMES

DECLARACIONES

ENDDOO

Audio Tips: ciclo en programación es una sentencia que se realiza repetidas veces a un trozo aislado de código hasta que la condición asignada a dicho bucle deje de cumplirse. Generalmente un bucle es utilizado para hacer una acción repetida sin tener que escribir repetidas veces el mismo código lo que ahorra tiempo, deja el código mas claro y facilita su modificaciones en el futuro. En ABAP lo utilizaremos para trabajar con tablas internas.

3- Sentencias de Control: se utilizan para determinar el procesamiento de un bucle, de un proceso o de un programa. Son:

- CHEK: verifica si la condición es verdadera, si es falsa y la sentencia esta dentro de un bucle se saltearán todas las siguientes que estén dentro del bucle y se continuará con la siguiente iteracción. Fuera de un bucle se saltearán todas las sentencias hasta el final del evento o del programa en proceso. Ej.

CHECK sy-subrc EQ 0. "EQ es equivalente a =

- EXIT: dentro de un bucle saldrá del bucle, dentro de una subrutina saldrá de la misma y fuera de un bucle saldrá del programa. Ej.

IF v_clase EQ 'CA'. "EQ es equivalente a =

EXIT

ENDIF

- CONTINUE: se utiliza solo dentro de bucle. Luego de la ejecución de la sentencia del sistema continua con la siguiente iteración. Ej.

DO 4 TIMES

IF sy-subrc EQ 4. "EQ es equivalente a =

CONTIUE.

ENDIF

ENDDO

- STOP: se finaliza el programa en ejecución pero antes se ejecuta el evento END-OF-SELECTION. Ej.

IF sy-subrc NE 0. "NE es equivalente a <>

STOP

ENDIF

- LEAVE: se finalica el programa en ejecución pero no se ejecutará el evento END-OF-SELECTION. Ej.:

IF v_calse EQ 'DT'. "EQ es equivalente a =

LEAVE.

ENDIF

Precauciones: Debemos tener mucho 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.

Ejercicio.

- Código Fuente del ejemplo

*&---------------------------------------------------------------------* *& Report Z_PRUEBA_ABAP2_6 *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT z_prueba_abap2_6. *Declaración de variables DATA: v_clase(2) TYPE c VALUE 'CA'. ************************************************************************ ******************* Estructura de las Conciones ************************ ************************************************************************ *IF <condicion>. "Condicion 1 * declaraciones. *ELSEIF <condicion>. "Condicion 2 * declaraciones. *ELSE. "Condicion n * declaraciones. *ENDIF. * *CASE campo. * WHEN valor1. "Condicion 1 * declaraciones. * WHEN valor2. "Condicion 2 * declaraciones. * WHEN OTHERS. "Condicion n * declaraciones. *ENDCASE. ************************************************************************ ******************* Estructura de los Bucles *************************** ************************************************************************ *LOOP AT tabla. * declaraciones. *ENDLOOP. * * *DO n TIMES. * declaraciones. *ENDDO. * *WHILE condicion. * declaraciones. *ENDWHILE. CHECK sy-subrc EQ 0. IF v_clase EQ 'CA'. EXIT. ENDIF. DO 4 TIMES. IF sy-subrc EQ 4. CONTINUE. ENDIF. ENDDO. IF sy-subrc NE 0. "NE es equivalente a <> STOP. ENDIF. IF v_clase EQ 'DT'. "EQ es equivalente a = LEAVE. ENDIF.
- Ejercicio de Práctica *&---------------------------------------------------------------------* *& Report ZABAP_BUCLE *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT zabap_bucle. 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.

 

 

 


Sobre el autor

Publicación académica de Claudio Marcelo Dario Haikel, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Senior

Claudio Marcelo Dario Haikel

Profesión: Funcional Sap - Argentina - Legajo: HM94J

✒️Autor de: 58 Publicaciones Académicas

🎓Egresado del módulo:

Certificación Académica de Claudio Haikel

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