🚀PROMO #PLANCARRERA2024| 🔥Bonificaciones, Precios Congelados y Cuotas
✒️ABAP El control del flujo de datos
ABAP El control del flujo de datos
Control del flujo de datos.
Operadores Operador
EQ Igual =
NE Diferente <> ><
GT Maior que >
GE Maior igual a >= =>
LT Menor que <
LE Menor igual a <= =<
BEETWEN Intervalo
IF
IF condicion.
Declaraciones.
ELSEIF condicion.
ELSE.
Declaraciones.
ENDIF.
Los cases son iguales que en SQL SERVER:
CASE campo.
declaraciones.
WHEN VALOR.
WHEN OTHERS.
declaraciones.
ENDCASE.
LOOP
LOOP AT TABLA WHERE ESTADO_CIVIL = 'S'.
Declaraciones.
ENDLOOP.
DO
DO n TIMES.
declaraciones.
ENDDO.
CONTINUE AND
DO 4 TIMES.
IF variable EQ 4.
CONTINUE.
ENDIF.
ENDDO.
EXIT
DO 4 TIMES.
IF variable EQ 4.
EXIT.
ENDIF.
LEAVE: Detiene el programa sin ejecutar el evento END-OF-SELECTION
DO 4 TIMES.
IF variable EQ 4.
LEAVE.
ENDIF.
STOP: Detiene el programa pero ejetuta el evento END-OF-SELECTION
DO 4 TIMES.
IF variable EQ 4.
STOP.
ENDIF.
CHECK revisa si la condición es verdadera. Si es falta y está dentro de un bucle salta a la siguiente iterración. Es como un breake en otros lenguajes de programación.
EJEMPLO: CHECK sy-subrc EQ 0.
Como saber por cual número de iteración va el LOOP.
El SY-INDEX se actualiza en los bucles DO - ENDDO y WHILE - ENDWHILE.
En estos bucles o iteraciones, el campo SY-TABIX no es actualizado.
El SY-TABIX se actualiza en las iteraciones de tablas internas: LOOP AT - ENDLOOP.
En este LOOP el campo SY-INDEX no es actualizado.
Si estás en un bucles a una tabla interna (LOOP AT), debes usar SY-TABIX.
Si estás en otro bucles (DO o WHILE), debes usar el SY-INDEX.
Diferencia ente CONTINUE y CHECK
El efecto de ambas sentencias tal como mencionas es el mismo, la diferencia esta en como se implementa cada una. Veamos un ejemplo con CHECK:
CHECK v_cantidad = 1.
Si esto mismo quisiéramos hacerlo mediante la sentencia CONTINUE tendríamos que escribir la condición utilizando un IF- ENDIF y dentro de este utilizar el CONTINUE.
Por ejemplo:
IF v_cantidad = 1.
CONTINUE.
ENDIF.
En conclusión utilizando CHECK nos ahorramos de tener que escribir el IF-ENDIF.
 
 
 
Sobre el autor
Publicación académica de Wellington Pierre, en su ámbito de estudios para la Carrera Consultor ABAP.
SAP Master
Wellington Pierre
Profesión: Ingeniero Sistemas de Computación - Republica Dominicana - Legajo: KA88C
18 años de experiencia en bases de datos y programación de erps, crms, integración con sap y salesforce, apis, web services y aplicaciones webs. he sido director y asesor de proyectos.
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.
*** 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
*** 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
*** 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...
*** 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
*** 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...
*** 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...
*** 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...
*** 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...
👌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.