🚀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 represntan de dos formas por IF-ENDIF o por CASE-ENDCASE

ejemplo de IF

IF <condicion>. "Condicion 1

DECLARACIONES.

ELSEIF <condicion>. "Condicion 2

decLARACIONES.

ELSE. "Condición n

declaraciones.

ENDIF.

Si ninguna de las IF es válida se ejecutarán las declaraciones debajo de la sentencia ELSE.

Ejemplo de CASE

CASE CAMPO.

WHEN VALOR1.

Declaraciones.

WHEN VALOR2.

Declaraciones.

WHEN OTHERS.

Declaraciones.

ENDCASE.

Sininguna de laas condiciones es valida (WHEN) se ejecutará la sentencia siguiente a OTHERS.

En ambas formas se utiliza los operadores lógicos

Y-------------------------- AND

O-------------------------- OR

IGUAL-------------------- EQ

DISTINTO--------------- NE

MAYOR------------------ GT

MENOR----------------- LT

MAYOR O IGUAL------ GE

MENOR O IGUAL----- LE

Si se chequea que la condicón de la variables es altamente probable que sea igual a determinado valor se aconseja el uso de CASE-ENDCASE

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

BUCLES

Una forma sería LOOP AT- ENDLOOP

ejemplo .......

LOOP AT TABLA.

declaraciones.

ENDLOOP.

Donde TAbla es una Tabla Interna

Si agregamos la clausula WHERE restringimos el numero de lineas a leer en el LOOP ya que la iteración se producirá siempre que se cumpla la condición de la clausula WHERE

ejemplo

LOOP AT TI_USUARIOS WHERE ESTADO_CIVIL = 'S' .

.....

.....

ENDLOOP.

Se loopea mientras el estado civil sea 'S'

Otra Forma seria con palabra clave DO-ENDDO

ejemplo

DO 5 TIMES.

Declaraciones.

ENDDO.

La iteración se ejecuta solo si es verdadera o sea hasta 5 veces

Un bucle o 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 se un bucle se usa para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código mas claro y facilita su modificación en el futuro. En ABAP los usaremos principalmente para trabajar con tablas internas.

SENTENCIAS DE CONTROL

SE UTILIZAN PARA TERMINAR UN bUCLE, UN PROCESO O DE UN PROGRAMA.

.- CHECK :

Verifica si la condicion es verdadera. Si la condición es falsa, y la sentencia está dentro de un bucle, se saltean todas las sentencias siguientes que estan dentro del bucle y se continuará con la siguiente iteración. Fuera de un bucle, se saltean todas las sentencias hasta el final del evento o del programa en proceso.

CHECK sy-subrc EQ 0.

.- EXIT:

Dentro del bucle saldrá del bucle, dentro de una subrutina saldrá de la misma y fuera de un bucle saldrá del programa.

Ejemplo:

IF v_clase EQ 'CA'.

EXIT.

ENDIF.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.- CONTINUE:

Se utiliza solo dentro del bucle.

ejemplo

DO 4 TIMES.

IF sy-subrc EQ 4.

CONTINUE.

ENDIF.

ENDDO.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

.- STOP:

se finaliza el programa en ejecución pero antes se ejecuta el evento END-OF-SELECTioN.

IF sy-subrc NE 0 .

STOP .

ENDIF .

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------

.- LEAVE:

Se finaliza el programa de ejecución pero NO se ejecutará el evento END-OF-SELECTION.

Ejemplo:

IF v_clase EQ 'DT'.

LEAVE.

ENDIF.

DEBEMOS TENER CUIDADO CON LAS SENTENCIAS CHECH, EXIT, CONTINUE, LEAVE, STOP DEBIDO A QUE ALTERAN EN FORMA DIRECTO EL FLUJO DEL PROGRAMA ABAP.

En resumen

· STOP.
Incondicional
. Se debe usar sólo en el evento START-OF-SELECTION. Su efecto es cancelar todas las selecciones de las tablas de la base de datos, abandonando el evento, y activar el END-OF-SELECTION (siempre lo activa. Si no se desea esto, debe usarse EXIT en lugar de STOP).

· EXIT.
Incondicional
. Abandona totalmente el bloque actual o evento (excepto eventos AT...) si no está dentro de ningún bloque, y activa la pantalla de salida. Puede usarse fuera de bucles (acaba subrutinas, acaba eventos, ...) o dentro de ellos, para finalizar estos.

· CHECK { condición | tabla_selección | SELECT-OPTIONS }.
Condicional
. Si la condición es falsa, acaba el bloque de proceso o evento (si no está dentro de ningún bloque) actual; si es cierta, sigue (como si no hubiera ningún CHECK). Es decir, que si no se “pasa” el chequeo, se salta a la siguiente vuelta del bucle (funciona como un CONTINUE condicional), o abandona la subrutina, ... (funciona como un EXIT condicional).

· CONTINUE.
Incondicional.


 

 

 


Sobre el autor

Publicación académica de Carlos Alberto Carreira, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Master

Carlos Alberto Carreira

Profesión: Consultor Técnico en Jde W.s. - Argentina - Legajo: KC15G

✒️Autor de: 92 Publicaciones Académicas

🎓Cursando Actualmente: Consultor ABAP Nivel Inicial

🎓Egresado de los módulos:

Certificación Académica de Carlos Carreira

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