Anfang des Inhaltsbereichs

Numerische Operationen Dokument im Navigationsbaum lokalisieren

Um numerische Operationen durchzuführen, d.h. den Ergebniswert eines mathematischen Ausdrucks einer Variablen zuzuweisen, verwendet man die Anweisung COMPUTE oder den Zuweisungsoperator (=):

COMPUTE <n> = <expression>.

Die Verwendung des Schlüsselwortes COMPUTE ist optional, d.h., die Anweisung kann auch so geschrieben werden:

<n> = <expression>.

Das Ergebnis des in <expression> angegebenen mathematischen Ausdrucks wird dem Ergebnisfeld <n> zugewiesen.

ABAP führt die numerische Operation mit einer Rechengenauigkeit durch, die genau einem der numerischen Datentypen I, P oder F entspricht. Die Rechengenauigkeit richtet sich nach dem hierarchisch höchsten Operand der numerischen Operation. Als Operanden zählen hierbei auch das Ergebnisfeld <n> und Gleitpunktfunktionen (Typ F). Die Reihenfolge der Hierarchiestufen ist von unten nach oben I ® P ® F. ABAP konvertiert alle Zahlen einer numerischen Operation vor der Ausführung der Operation in den höchsten vorkommenden Datentyp und führt dann die Operation mit den konvertierten Zahlen aus. Nach der Ausführung der Operation wird das Ergebnis wie bei der MOVE-Anweisung an das Ergebnisfeld zugewiesen, d.h. gegebenenfalls in den Datentyp des Ergebnisfelds zurückkonvertiert.

Die Reihenfolge der Typkonvertierungen ist in ABAP also anders als in anderen Programmiersprachen üblich. Insbesondere kann man über den Datentyp des Ergebnisfelds Einfluß auf die Rechengenauigkeit der gesamten Operation nehmen.

In mathematischen Ausdrücken ist es erlaubt, einzelne Operationen beliebig zu kombinieren und Klammern zu setzen.

Die Reihenfolge der Auswertung eines mathematischen Ausdrucks ist:

  1. Klammerausdrücke
  2. Funktionen
  3. ** (Potenzieren)
  4. *, / , MOD, DIV (Multiplikation, Division)
  5. +, - (Addition, Subtraktion)

Die für <expression> einsetzbaren mathematischen Ausdrücke sind im folgenden beschrieben:

Arithmetische Operationen durchführen

Mathematische Funktionen

Kaufmännisches Rechnen

Datums- und Zeitberechnungen

Ende des Inhaltsbereichs