Ramificación condicional: Implementación

La ramificación condicional es una estructura de control que le permite hacer que la ejecución de código dependa de condiciones lógicas.
La ramificación condicional más común consta de un par de palabras clave, IF y ENDIF. El bloque de código ABAP entre IF y ENDIF solo se ejecuta si se cumple la condición después de IF.
Puede añadir más bloques de código ampliando IF .. ENDIF estructura por uno utilizando la palabra clave ELSE y un número arbitrario de bloques utilizando la palabra clave ELSEIF. Al añadir la palabra clave ELSE, se asegura de que siempre se ejecute exactamente uno de los bloques de código ABAP. Si falta ELSE, no se puede ejecutar ninguno de los bloques de código ABAP.
Cada IF . . Las palabras clave ENDIF son obligatorias y cada IF debe tener un ENDIF.
El bloque de código ABAP que se ejecuta es el siguiente:
- En primer lugar, se evalúa la condición IF. Si se cumple, se ejecuta el bloque de código ABAP relacionado y el programa continúa después de ENDIF.
Solo si la condición IF no se cumple es la condición después de la primera evaluación ELSEIF. Si se cumple, se ejecuta el bloque de códigos relacionado y el programa continúa después de ENDIF.
Esto se realiza de forma consecutiva para todas las condiciones ELSEIF. Si no se cumple ninguna de las condiciones y la estructura contiene ELSE, se ejecuta el bloque de código ABAP después de ELSE. De lo contrario, no se ejecuta ninguno de los bloques de código ABAP.
Consejo
Condiciones lógicas

Las condiciones lógicas son una combinación de comparaciones, operaciones lógicas, expresiones y funciones que evalúa el sistema de tiempo de ejecución para decidir si la condición es verdadera o falsa.
El caso de uso más común para condiciones lógicas es después de las palabras clave IF o ELSEIF en IF . . . . Estructura ENDIF.
El primer ejemplo (en la figura anterior) es una comparación simple: la condición es verdadera si los dos objetos de datos, x e y, tienen el mismo valor.
El segundo ejemplo (en la figura anterior) es un poco más sofisticado: o bien el valor de x es mayor o igual a y y menor que el doble del valor de y, o es menor o igual a y y mayor que el doble del valor de y.
El tercer ejemplo (en la figura anterior) hace uso de la función abs( ) aritmética y la expresión BETWEEN <expression 1> AND <expression 2>. lógica La condición es verdadera si el valor absoluto de x se encuentra entre el valor absoluto de y y el valor absoluto de dos veces y.
Para comparaciones de valores simples, puede utilizar los operadores =, <>, >, <, >=, and <=. Puede comparar los valores no solo de objetos de datos, sino también de muchas otras expresiones, como la expresión aritmética 2 * y en el ejemplo anterior.
Nota
Operadores y significados
| Operador | Significado |
|---|---|
| AND | Se utiliza para unir varias expresiones lógicas para crear una nueva expresión lógica que es verdadera solo cuando todas las expresiones lógicas múltiples son verdaderas. |
| OR | Se utiliza para unir varias expresiones lógicas para crear una nueva expresión lógica que es verdadera si al menos una de las expresiones lógicas es verdadera. |
| NOT | La negación de una expresión lógica mediante NOT crea una nueva expresión lógica que es falsa si la expresión lógica es verdadera y viceversa. |
Puede utilizar los operadores AND y OR para combinar expresiones lógicas y el operador NOT para negar una expresión. Sin corchetes, NO se une más fuerte que AND y AND más fuerte que OR.
ABAP conoce algunas expresiones lógicas especiales:
- <data object> IS INITIAL es verdadero si <data object>contiene su valor específico de tipo
- <data object> NO ES INICIAL es verdadero si <data object> contiene un valor que es diferente del valor inicial específico del tipo
- <data object> ENTRE <expression 1> Y <expression 2>
Algunas funciones ABAP especiales son funciones de predicado. Esto significa que son condiciones lógicas por sí mismas. Por ejemplo, Contains( ) es una función que compara valores alfanuméricos.
