Anfang des Inhaltsbereichs

Funktionsdokumentation Ausgabestile  Dokument im Navigationsbaum lokalisieren

Verwendung

Wenn Sie beim Anlegen einer Domäne im ABAP Dictionary als Datentyp eine dezimale Gleitpunktzahl verwenden, müssen Sie den Ausgabestil definieren. Mit dem Ausgabestil legen Sie fest, ob eine kaufmännische Notation (Vorzeichen wird nachgestellt), eine mathematische Notation (Vorzeichen wird vorangestellt) oder eine von drei möglichen Exponentialnotationen verwendet wird.

Hinweis

Wird in dem Feld eine Währungseinheit verwendet, ist nur die kaufmännische Notation zulässig. In diesem Fall wird eine Variante der kaufmännischen Notation eingesetzt, die in Abhängigkeit der Währung die Anzahl an Dezimalstellen während der Aus- und Eingabe streng begrenzt.

Funktionsumfang

Folgende Ausgabestile werden unterstützt:

Stil

Beschreibung

Mathematische Notation (Normal)

Ist der Wert negativ, wird das Vorzeichen bei der Ausgabe vorangestellt. Ist der absolute Wert so groß, dass die Ausgabe mehr Zeichen benötigt als in der Standardsausgabelänge definiert, wird automatisch auf die wissenschaftliche Notation umgeschaltet. Hierbei findet kein Runden statt. Dieser Ausgabestil ist die Standardeinstellung.

Kurzform: Einfach

Kaufmännische Notation (Vorzeichen rechts)

Ist der Wert negativ, wird das Vorzeichen bei der Ausgabe nachgestellt. Werden bei der Ausgabe mehr Zeichen benötigt als in der Standardausgabelänge definiert, wird nicht auf die wissenschaftliche Notation umgeschaltet, sondern es kommt zu einem Abbruch mit Kurzdump.

Kurzform: Vorzeichen rechts

Skalierungserhaltende Notation

Das Ausgabeformat gleicht demjenigen, wenn Sie einen MOVE von DECFLOAT zum Typ STRING ausführen, jedoch werden die benutzerspezifischen Dezimalzeichen und Tausendertrennzeichen verwendet. Die Ausgabelänge beträgt maximal 46. Der Hauptvorteil dieses Ausgabestils besteht darin, dass die angehängten Nullen in den Nachkommastellen nicht abgeschnitten werden. So wird sichergestellt, dass bei einer Rückkonvertierung zum Typ DECFLOAT nicht nur der Originalwert, sondern auch die Skalierung wiederhergestellt wird.

Kurzform: Skalierungserhaltend

Wissenschaftliche Notation

Die Ausgabe besitzt immer einen Exponenten. Der Exponent besteht aus mindestens zwei Stellen und hat stets ein Vorzeichen. Der Ganzzahlteil der Mantisse befindet sich im Bereich [1..9] (es sei denn, der auszugebende Wert ist die Ziffer Null).

Kurzform: Wissenschaftlich

Wissenschaftliche Notation mit führender Null (Wissenschaftlich mit führender Null)

Verglichen mit dem wissenschaftlichen Ausgabestil liegt der Unterschied darin, dass der Ganzzahlteil der Mantisse immer Null ist.

Kurzform: Wissenschaftlich mit führender Null

Skalierungserhaltende wissenschaftliche Notation

Die Ausgabe besitzt einen Exponenten. Für eine vertikal ausgerichtete Ausgabe hat der Exponent für den Typ DECFLOAT16 drei Stellen und für den Typ DECFLOAT34 vier Stellen. Der Exponent ist immer mit einem Vorzeichen versehen. Der Ganzzahlteil der Mantisse liegt im Bereich [1..9].

Kurzform: Skalierungserhaltend wissenschaftlich

Technische Notation

Diese ist eine Variante der wissenschaftlichen Notation in der als Exponenten Vielfache von 3 verwendet werden. Der Ganzzahlteil der Mantisse liegt im Bereich [1..999].

Kurzform: Technisch

Währungsbetrag in kaufmännischer Notation (Erweiterter Währungsbetrag)

Ein Feld mit diesem Ausgabestil muss ein Referenzfeld der Domäne /ISCER/CURRENCY haben. Das Referenzfeld gibt die Mindestanzahl an Dezimalstellen an, die ausgegeben werden (analog zum Einheitenschlüssel UNIT für den Typ QUAN). Das Referenzfeld bestimmt keinen Grenzwert für die Anzahl an Dezimalstellen, die eingegeben werden können.

Kurzform: Erweiterter Währungsbetrag

Währungsbetrag in der kaufmännischen Notation mit fester Begrenzung der Dezimalstellen (Währungsbetrag)

Ein Feld mit diesem Ausgabestil muss ein Referenzfeld der Domäne /ISCER/CURRENCY aufweisen, das die maximale Anzahl an Dezimalstellen für die Ein- und Ausgabe angibt. Diese Zahl ist zugleich die Mindestanzahl an Dezimalstellen, die ausgegeben werden.

Kurzform: Währungsbetrag

 

Bei Einsatz der wissenschaftlichen Notation ist eine begrenzte Anzahl an angezeigten Mantisse-Stellen empfehlenswert. Dies kann über den Aufruf der Funktion RESCALE geschehen, wobei das Argument prec die Anzahl an Mantisse-Stellen für die Ausgabe angibt. Wenn vertikal ausgerichtete Dezimalzeichen und Exponenten erforderlich sind, ist die wissenschaftliche Notation mit fester Skalierung zu verwenden.

Für die Eingabe sind alle Formate zulässig, die von einem MOVE von Typ C zu Typ DECFLOAT akzeptiert werden, das Dezimalzeichen muss jedoch mit dem für die Eingabe des DEC-Wertes übereinstimmen. Zusätzlich dazu können Tausendertrennzeichen verwendet werden. Wenn gerundet werden muss, wird der Wert nicht akzeptiert. Es gibt keine andere Art der Begrenzung der Anzahl an Stellen oder Dezimalstellen, sofern nicht der Ausgabestil Währungsbetrag bestimmt wurde. Analog zu bestehenden P-basierten Typen, kann ein Vorzeichen voran- oder nachgestellt werden. Enthält die Eingabe einen Exponenten darf das Vorzeichen nur vorangestellt werden. Die Werte werden, außer bei der skalierungserhaltenden Notation, automatisch während der Eingabe normalisiert.

Hinweis

Mit der Return-Taste können Sie in den meisten Fällen den Wert in normalisierter Form erneut anzeigen lassen.

Achtung

Beschränkungen für die Ausgabelänge der DECFLOAT-Typen:

        Die maximale Ausgabelänge für DECFLOAT16 beträgt 24 Zeichen.

        Die maximale Ausgabelänge für DECFLOAT34 beträgt 46 Zeichen.

Die Standardwerte für die Ausgabelänge sind 24 (DECFLOAT16) und 46 (DECFLOAT34).

Weitere Informationen hierzu finden Sie in der ABAP-Schlüsselwortdokumentation.

Einschränkungen

Für Währungsbeträge sind zwei Ausgabestile zulässig:

      Währungsbetrag

Mit Web Dynpro ABAP und dem klassischen Dynpro ist die Anzahl an Dezimalstellen der Währung entsprechend begrenzt.

      Erweiterter Währungsbetrag

Es besteht keine extra Begrenzung für die Anzahl an Dezimalstellen.

Bei der Angabe eines Referenzfeldes prüft das System, ob das Referenzfeld der Domäne /ISCER/CURRENCY angehört. Für alle Währungen ist die Anzahl an Dezimalstellen in der Datenbanktabelle /ISCER/C_CUR abgelegt. Ist der Ausgabestil ein anderer als Währungsbetrag oder Erweiterter Währungsbetrag, können Sie zwischen drei Optionen für das Referenzfeld wählen:

      Referenzfeld des Typs UNIT (eingebauter Typ)

      Referenzfeld der Domäne /ISQC/UNIT

      Kein Referenzfeld

Achtung

Wenn ein DECFLOAT-Feld ein Referenzfeld vom Typ UNIT oder /ISQC/UNIT hat, bleibt dies für die Ausgabe auf Web Dynpro ABAP und dem klassischen Dynpro ohne Wirkung.

Wird ein DECFLOAT-Feld mit dem Ausgabestil Währungsbetrag auf einem klassischen Dynpro ausgegeben, müssen Sie den Wert entsprechend der Währung vor seiner Ausgabe runden.

Beispiel

Es folgt eine Beispieltabelle der verschiedenen Ausgabestile:

Eingabe

-12.30

-12.3456

-1230E1

Kaufmännische Notation

12.3-

12.3456-

12,300-

Mathematische Notation

-12.3

-12.3456

-12,300

Skalierungserhaltende Notation

-12.30

-12.3456

-1.230E+4

Wissenschaftliche Notation

-1.23E+01

-1.23456E+01

-1.23E+04

Wissenschaftliche Notation mit führender Null

-0.123E+02

-0.123456E+02

-0.123E+05

Skalierungserhaltende wissenschaftliche Notation

-1.230E+0001

-1.23456E+0001

-1.230E+0004

Technische Notation

-12.3E+00

-12.3456E+00

-12.3E+03

Achtung

Bei Währungen ist die Anzahl an Dezimalstellen begrenzt. Bei der Eingabe eines Geldbetrages erwartet der Benutzer, dass die Anzahl an Dezimalstellen seiner Währung entsprechend begrenzt ist. Diese Anforderung wird durch den Ausgabestil Währungsbetrag abgedeckt. Vor der Ausgabe müssen Sie den Wert entsprechend runden, da sonst ein Kurzdump auftritt. Dies gilt auch dann, wenn das Feld kein Eingabefeld ist. Ein Nebeneffekt dieser Methode ist eine rechts ausgerichtete Ausgabe.

 

 

 

Ende des Inhaltsbereichs