🚀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

1. Las condiciones

Condicion: Consiste en la ejecucion de una sentencia o grupo de sentencias que se ejecutaran en base a si se cumple o no una determinada expersion logica.

Las expersiones logicas son todas aquellas expresiones que se obtienen como resultado verdadero o falso.

Ejemplo: 1 mas 1 = 2.

Existen 2 formas de representar condiciones en ABAP, una de ellas es utilizando la sentencia IF-ENDIF.

Ej:

DATA: v_calificacion(1) TYPE c VALUE '8',

START-OF-SELECTIOM.

IF v_calificacion >= '8'

Write:/ 'Aprobado'.

ELSE.

Write:/ 'Reprobado'.

ENDIF.

Podemos anidar o agregar mas condiciones dentro del IF-ENDIF, utilizando la sentencia ELSEIF:

IF v_calificacion >= '9'

Write:/ 'Aprobado con meritos'.

ELSEIF v_calificacion BETWEEN '6' AND '8'.

WRITE:/ 'Aprobado'.

ELSEIF v_calificacion BETWEEN '4' AND '6'.

WRITE:/ 'Aprobado reaspando'.

ELSE.

Write:/ 'Reprobado'.

ENDIF.

La otra forma de represnar condicione es mediante CASE-ENDCASE.

CASE v_calificacion.

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

WRITE:/ 'Aprobado con meritos'.

WHEN '7' OR '6'.

Write:/ 'Aprobado'.

WHEN '5' OR '4'.

Write:/ 'Aprobado raspando'.

WHEN OTHERS.

WRITE:/ 'Reprobado'.

ENDCASE.

Ya sea utilizando IF-ENDIF o CASE-END CASE vamos a emplear los operadores logicos. Los operadores logicos que tenemos son: AND (y) - OR (o) - EQ (igual =) - NE (distinto <>) - GT (Mayor >) - LT (Menor <) - GE (Mayor o igual >=) - LE (Menor o igual <=).

2. los bucles

Bucle o ciclo en programacion es una secuencia de instrucciones de codigo que se ejecuta repetidas veces hasta que la condicion asignada a dicho bulce deja de cumplirse

Los bucles en ABAP se puede representar de varias formas

  1. Mediante la sentencia LOOP-ENDLOOP. La utilizaremos exclusivamente cuando trabajaemos con tablas internas. Ejemplo:

LOOP AT ti_salida INTO wa_salida-

WRITE:/ wa_salida-vertrag,

wa_salida-Vkont,

wa_salida-belnr,

wa_salida_nettobtr.

ENDLOOP.

Con el agregado de la clausula WHERE en la sentencia LOOP- ENDLOOP. se puede restringir el numero de lineas a leer.

2. Otra forma de representar un bucle es mediante la sentencia DO-EMDDO.

Vamos a utilizar esta sentencia para trabajar con variables y no con tablas internas. ejemplo:

DO 5 Times.

ADD 1 TO v_vuelta.

Write:/ v_vuelta.

ENDDO.

3. Las sentecias de control

Sentencia de control se utiliza para terminar el procesamiento de un bucle, subrutina o de todo un programa

En ABAP contamos con las siguientes sentencias:

  • Check: esta sentencia verifica si la condicion es verdadera

Si la condicion es falsa y la sentencia esta dentro de un bucle, por ejempl un LOOP-ENDLOOP, entonces se saltearan las sentencias siguientes que esten dentro del bucle y se continuara con la siguient eiteracion.

Si la condicion es verdadera entonces se continua 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 una subrutina salimos del programa:

IF sy-subrc EQ 0.

EXIT.

ENDIF.

  • Continue: esta sentencia se utiliza solo dentro de un bucle. Luego de la ejecucion de la sentencia el sistema continua con la siguiente iteracion 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.

  • STOP: esta sentencia finaliza el programa en ejecucion pero antes se ejecutara el evento END-OF-SELECTION, si es que este evento esta escrito en el programa

IF sy-subrc NW 0.

STOP.

ENDIF.

  • LEAVE: esta sentencia finaliza el programa en ejecucion y no se ejecuta el evento END-OF-SLECTION.

IF sy-subrc NE 0.

LEAVE.

ENDIF.

Debemos tener sumo cuidado en la utilizacion de las sentencias de control CHECK, EXIT, CONTINUE, LEAVE y STOP debido a que estas alteran en forma directa el flujo de contros de un programa ABAP.


 

 

 


Sobre el autor

Publicación académica de Lucas Mera, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Junior

Lucas Mera

Profesión: Analista de Sisemas - Argentina - Legajo: SW47M

✒️Autor de: 28 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Profesional con sólida experiencia en el liderazgo, comunicación, gestión negocio y desarrollado en empresas internacionales de gran envergadura.certificado en itil v.3 y scrum master.

Certificación Académica de Lucas Mera

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