Expresiones aritméticas

En ABAP puede programar expresiones aritméticas hasta cualquier nivel de anidamiento. También se utiliza igual que en matemática paréntesis para priorizar el orden de la ejecución de los cálculos. Para indicar que es una operación de cálculo se utiliza la palabra clave COMPUTE que al final con las nuevas versiones se ha convertido en una palabra clave opcional.
Ejemplo de sumatorio utilizando compute:
COMPUTE resultado = numero_1 + numero_2.
La misma sentencia se puede escribir sin COMPUTE:
resultado = numero_1 + numero_2.
Para utilizar las operaciones aritméticas según su tipo debe utilizar los siguientes operadores:

  • + o ADD para la suma

Para sumar en ABAP podemos utilizar el carácter + o la palabra clave ADD. Con las dos posibilidades se obtiene el mismo resultado de la operación. Podemos sumar variables de tipo numéricos enteros o con decimales.
Suma un valor al contenido de un campo.
ADD <valor> TO <resultado>.
También se puede utilizar el operador ‘+’.
<resultado> = <resultado> + <valor>.
Ejemplo práctico:

  • o SUBTRACT para la resta

Para restar se utiliza el carácter o la palabra clave SUBTRACT. Con las dos posibilidades se obtiene el mismo resultado de la operación. Podemos utilizar variables de tipo numéricos enteros o con decimales.
Resta un valor al contenido de una variable.
SUBTRACT <valor> FROM <resultado>.
También se puede utilizar el operador ‘’.
<resultado> = <resultado> <valor>.
Ejemplo práctico:

  • * Multiplicación

Para multiplicación en ABAP podemos utilizar el carácter * o la palabra clave MULTIPLY. Con las dos posibilidades se obtiene el mismo resultado de la operación. Podemos utilizar variables de tipo numéricos enteros o con decimales.
Multiplica por un valor el contenido de un campo.
MULTIPLY <resultado> BY <valor>.
También se puede utilizar el operador ‘*’.
<resultado> = <resultado> * <valor>.
Ejemplo práctico:

  • / División

Para la división tenemos que utilizar el carácter /.
El operador ‘/’ devuelve el cociente con decimales.
<resultado> = <valor1> / <valor2>.
Ejemplo práctico:
DATAresultado TYPE i.
resultado = 8 / 2.

  • ** Exponenciación

Para el exponenciación utilizamos el operador **
Ejemplo práctico:
DATA: resultado TYPE i,
valor     TYPE i.
resultado = valor ** 2.

  • DIV –  División integral sin resto

La palabra clave DIV devuelve el cociente de una división entera.
<resultado> = <valor_1> DIV <valor_2>.
Ejemplo práctico:
DATAresultado TYPE p LENGTH 6 DECIMALS 2,
valor_1 TYPE i,
valor_2 TYPE i.
valor_1 = 9.
valor_2 = 4.
resultado = valor_1 / valor_2.
resultado = valor_1 DIV valor_2.
WRITE resultado.
Tras ejecutar el programa el resultado es 2, que representa el cociente de una división entera entre 9 y 4.

  • MOD – Resto de la división integral

La palabra clave MOD devuelve el resto de una división entera.
<resultado> = <valor1_> MOD <valor_2>.
Ejemplo práctico:
DATA: resultado TYPE p LENGTH 6 DECIMALS 2,
valor_1 TYPE i,
valor_2 TYPE i.
valor_1 = 9.
valor_2 = 4.
resultado = valor_1 / valor_2.
resultado = valor_1 MOD valor_2.
WRITE resultado.
Tras ejecutar el programa el resultado es 1, que representa el resto de la división entera división entera entre 9 y 4.
 

  • Sentencia SQRT.

Devuelve la raíz cuadrada de un valor.
<resultado> = SQRT( <valor> ).
Ejemplo práctico:
DATA resultado TYPE i.
resultado = sqrt25 ).
 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *