Ansicht
Dokumentation

ABENNUMBERS_GUIDL - NUMBERS GUIDL

ABENNUMBERS_GUIDL - NUMBERS GUIDL

Addresses (Business Address Services)   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Angabe von Zahlen

Da es keine speziellen Literale für Zahlen mit Nachkommastellen oder mit Mantisse und Exponent gibt, müssen diese bei Bedarf über Zeichenliterale ausgedrückt werden. Dabei sind folgende Notationen möglich:

  • Mathematische Notation
Dies ist eine Folge von Ziffern mit maximal einem Punkt als Dezimaltrennzeichen und optional einem Vorzeichen links davon, das durch Leerzeichen von der Ziffernfolge getrennt sein darf, beispielsweise: - 1234.56
  • Kaufmännische Notation
Dies ist eine Folge von Ziffern mit maximal einem Punkt als Dezimaltrennzeichen und optional einem Vorzeichen rechts davon, das durch Leerzeichen von der Ziffernfolge getrennt sein darf, beispielsweise: 1234.56-
  • Wissenschaftliche Notation
Dies ist eine ununterbrochene Folge aus einer Mantisse (ein optionales Vorzeichen, Ziffern mit maximal einem Punkt als Dezimaltrennzeichen), einem Zeichen e oder E und einem Exponenten (ein optionales Vorzeichen und weitere Ziffern), beispielsweise: -1.23456E03

Allgemeingültige Notation für numerische Werte verwenden

Legen Sie numerische Angaben in Zeichenketten, die für eine Zuweisung an ein numerisches Datenobjekt vorgesehen sind, so an, dass sie für alle möglichen Zieltypen akzeptiert werden. Das Vorzeichen soll stets links stehen, und es dürfen keinerlei Leerzeichen enthalten sein.

Bei der Konvertierung einer Zeichenkette in eine numerische Variable ist es vom Typ der Zielvariablen abhängig, welche Notationen akzeptiert werden:

  • Ist der Typ der Zielvariablen decfloat16 oder decfloat34, werden alle drei Notationen akzeptiert.
  • Ist der Typ der Zielvariablen f, werden alle drei Notationen akzeptiert, die mathematische und die kaufmännische allerdings nur, wenn das Vorzeichen nicht durch ein oder mehrere Leerzeichen von der Ziffernfolge getrennt ist und Leerzeichen vor der Ziffernfolge stehen.
  • Ist der Typ der Zielvariablen p oder i, werden nur die mathematische und die kaufmännische Notation akzeptiert.

Um ein Programm zum einen lesbar zu halten und um zum anderen sicherzustellen, dass eine in einer Zeichenkette abgelegte numerische Angabe in möglichst viele numerische Datentypen konvertiert werden kann, soll nach Möglichkeit immer die mathematische Notation ohne Leerzeichen zwischen dem Vorzeichen und der Ziffernfolge gewählt werden. Diese Notation entspricht auch anderen Standards, wie zum Beispiel der kanonischen Repräsentation von XML-Schema-Datentypen.

Folgender Quelltext zeigt die Initialisierung eines generisch typisierten Parameters mit einer kaufmännischen Notation, bei der das Vorzeichen durch ein Leerzeichen abgetrennt ist. Wird ein Aktualparameter mit einem anderen Typ als f übergeben, ergibt die Zuweisung erwartungsgemäß den Wert -1000, bei einem Aktualparameter vom Typ f dagegen +1000.

CLASS class DEFINITION.
  PUBLIC SECTION.
    METHODS calculate_something
      EXPORTING number TYPE numeric.
ENDCLASS.
CLASS class IMPLEMENTATION.
  METHOD calculate_something.
    number = '1000 -'.
    ...
  ENDMETHOD.
ENDCLASS.

Folgender Quelltext zeigt eine Zuweisung mit einer allgemeingültigen Notation, die gut lesbar ist und für alle numerischen Datentypen das gleiche Ergebnis, nämlich den Wert -1000 liefert.

METHOD calculate_something.
number = '-1000'.
...
ENDMETHOD.






RFUMSV00 - Advance Return for Tax on Sales/Purchases   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4346 Date: 20240605 Time: 072928     sap01-206 ( 98 ms )