x

x

Curso SAP ERP 2# – Sentencias en ABAP

Segunda parte del curso de ABAP donde se verán las sentencias que se usan en el sistema SAP y las operaciones matemáticas mas usadas. Las típicas de suma, resta, división, multiplicación y algunas cosas mas.

Introducción

En esta sección, aprenderá a rellenar con datos los objetos de datos elementales y a realizar cálculos en ABAP. También verá una introducción a las construcciones que puede utilizar para controlar el flujo del programa dependiendo del contenido de los objetos de datos.

Al iniciar el programa, se carga el contexto del programa en una memoria del servidor de aplicación, y se pone la memoria a disposición de los objetos de datos definidos en el programa. Cada objeto de datos elemental se preasigna al valor inicial específico del tipo, excepto si se ha fijado un valor distinto mediante el suplemento VALUE.

Puede utilizar el suplemento MOVE para transferir el contenido de un objeto de datos a otro objeto de datos. Las dos variantes de sintaxis siguientes tienen el mismo efecto:

  • MOVE gv_var1 TO gv_var2.
  • gv_var2 = gv_var1.

Si ambos objetos de datos, gv_var1 y gv_var2, son de tipos distintos, existe un conflicto de tipo. En este caso, si existe una regla de conversión, se realiza automáticamente una conversión de tipo de datos. Para obtener información detallada acerca de las copias y las reglas de conversión, consulte la documentación de palabras clave de la sentencia MOVE.

La sentencia CLEAR reinicializa el contenido de un objeto de datos al valor inicial ligado al tipo. Para obtener información detallada acerca de los valores iniciales de un tipo en particular, consulte la documentación de palabras clave de la sentencia CLEAR.

Cálculos y expresiones aritméticas

Veamos el siguiente ejemplo:

La palabra clave COMPUTE es opcional. En ABAP, puede programar expresiones aritméticas hasta cualquier nivel de anidamiento.

Las operaciones válidas incluyen:

+ 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 <campo>.
  • También se puede utilizar el operador ‘+’.
    • <campo> = <campo> + <valor>.

– Resta

Para restar en ABAP podemos utilizar 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 un campo:
    • SUBTRACT <valor> FROM <campo>.
  • También se puede utilizar el operador ‘-’:
    • <campo> = <campo> – <valor>.

* Multiplicación

Para multiplicar 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 <campo> BY <valor>.
  • También se puede utilizar el operador ‘*’:
    • <campo> = <campo> * <valor>.

/ División

Para dividir en ABAP podemos utilizar el carácter / o la palabra clave

DIVIDE. Con las dos posibilidades se obtiene el mismo resultado de la operación. Podemos utilizar variables de tipo numéricos enteros o con decimales. La operación devuelve el cociente con decimales.

  • Divide por un valor el contenido de un campo:
    • DIVIDE <campo> BY <valor>.
  • También se puede utilizar el operador ‘/’:
    • <campo> = <valor1> / <valor2>.

DIV – División sin resto

La palabra clave DIV devuelve el cociente de una división entera.

  • <campo> = <valor1> DIV <valor2>.

MOD – Resto de la división

La palabra clave MOD devuelve el resto de una división entera.

  • <campo> = <valor1> MOD <valor2>.

** Exponenciación

El operador ** aplicado sobre una base y un exponente devuelve el resultado de exponenciación.

Ejemplos:

  • El cuadrado: <campo> = <valor1> ** 2.
  • El cubo: <campo> = <valor1> ** 3.

Sentencia SQRT

Devuelve la raíz cuadrada de un valor.

  • <campo> = SQRT( <valor> ).

Los paréntesis y los operadores son palabras claves ABAP y, por este motivo, se deben separar de otras palabras por un espacio.