Ansicht
Dokumentation

ABENCURRENCY_FIELD - CURRENCY FIELD

ABENCURRENCY_FIELD - CURRENCY FIELD

rdisp/max_wprun_time - Maximum work process run time   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Währungsfelder

Ein Währungsfeld ist eine Komponente einer im ABAP Dictionary definierten Struktur oder Datenbanktabelle vom Typ CURR zur Aufnahme eines Betrags in einer bestimmten Währung. Der Betrag wird als ganze Zahl in den kleinsten Einheiten der Währung angegeben. Ein Währungsfeld muss mit einem Währungsschlüssel einer Struktur bzw. Datenbanktabelle verknüpft sein, der die Währung und die Anzahl der Nachkommastellen festlegt. Ein Währungsschlüssel ist eine Komponente einer im ABAP Dictionary definierten Struktur oder Datenbanktabelle vom Typ CUKY und kann ein Währungskürzel aus der Datenbanktabelle TCURC enthalten.

Die Anzahl der Nachkommastellen einer Währung ist standardmäßig immer zwei. Währungen mit einer anderen Anzahl von Nachkommastellen müssen zusätzlich in der Tabelle TCURX eingetragen werden, wo die Anzahl der Nachkommastellen explizit definiert werden kann.

Behandlung im ABAP Dictionary

Ein Datenelement vom Datentyp CURR wird wie ein Feld des Datentyps DEC behandelt und in Datenbanktabellen im BCD-Format abgelegt. Beim Anlegen eines Datenelements oder einer Strukturkomponente vom Datentyp CURR im Werkzeug ABAP Dictionary muss eine von Null verschiedene Anzahl von Nachkommastellen definiert werden. Der Standardwert ist zwei Nachkommastellen.

Zu jeder Strukturkomponente vom Datentyp CURR muss in der Einzelpflege der Komponente eine Komponente der gleichen oder einer anderen Struktur bzw. Datenbanktabelle als Referenzfeld angegeben werden, das den Datentyp CUKY hat. Dieses Feld ist der Währungsschlüssel, der die tatsächliche Währung festlegt.

Hinweis

Die Anzahl der Nachkommastellen der durch den Währungsschlüssel vom Typ CUKY definierten Währung bestimmt ausschließlich die Aufbereitung und Überprüfung eines Währungsfelds auf einem Dynpro. Sie ist im Prinzip unabhängig von der für das Währungsfeld vom Typ CURR angegebenen Anzahl. Der Standardwert von zwei Nachkommastellen für Währungsfelder im ABAP Dictionary kommt daher, dass die meisten Währungen aus der Datenbanktabelle TCURC zwei Nachkommastellen haben und nicht in der Datenbanktabelle TCURX aufgeführt sind. Es wird empfohlen, keinen anderen Wert zu verwenden, da dann unvorhergesehene Operationen mit Währungsfeldern in ABAP-Programmen die geringsten Auswirkungen haben.

Behandlung in Dynpros

Bei der Darstellung eines Ein-/Ausgabefeldes vom Typ CURR auf einem Dynpro, wird der Inhalt wie bei allen Dynpro-Feldern zeichenartig und gemäß einer typabhängigen Maske dargestellt. Die Stellung des Dezimalpunkts eines Währungsfelds vom Typ CURR auf einem Dynpro ist dabei völlig unabhängig von der beim Datenelement im ABAP Dictionary angegebenen Anzahl von Nachkommastellen (größer gleich eins, der Standardwert ist zwei). Die Anzahl der Nachkommastellen auf einem Dynpro wird wie folgt festgelegt:

  • Bei der Darstellung eines Dynpro-Feldes vom Typ CURR wird in den globalen Daten des aktuellen ABAP-Programms nach dem zu dem Feld gehörigen Referenzfeld für den Währungsschlüssel gesucht. Der Inhalt dieses Feldes sollte ein gültiges Währungskürzel aus der Datenbanktabelle TCURC sein. Wird das Referenzfeld nicht gefunden oder gibt es in der Datenbanktabelle TCURX keinen Eintrag mit dem Inhalt des Feldes, wird das Währungsfeld standardmäßig mit zwei Nachkommastellen dargestellt.

    Das Referenzfeld ist entweder bei der zugehörigen Struktur im ABAP Dictionary definiert oder wurde mit dem Screen Painter bei den Attributen des Dynpro-Felds festgelegt. Es muss selbst nicht auf dem Dynpro vorhanden sein.
  • Wenn das Währungskürzel des Referenzfelds in der Datenbanktabelle TCURX gefunden wird, wird das Währungsfeld mit den dort angegebenen Nachkommastellen dargestellt. Dies gilt auch für initiale Referenzfelder.

Hinweis

Ein Dynpro übernimmt vom ABAP-Programm (oder einer dazwischen geschalteten Konvertierungsroutine) also nur die Ziffernfolge eines Währungsfeldes, bzw. sendet nur diese. Informationen zum Währungsschlüssel und zu Nachkommastellen werden nicht automatisch übergeben. Es muss dafür gesorgt werden, dass das Referenzfeld zu PBO mit dem gewünschten Wert gefüllt ist. Bei PAI spielt der korrekte Währungsschlüssel für die automatische Überprüfung des Formats eine Rolle. Insbesondere auf Dynpros, auf denen Währungsfelder in wechselnden Währungen dargestellt werden, muss durch CHAIN- und FIELD-Anweisungen dafür gesorgt werden, dass das Referenzfeld vor der Währung transportiert wird.

Behandlung in ABAP-Programmen

Der zum Datentyp CURR korrespondierende ABAP-Typ ist p. Ein ABAP-Datenobjekt, das mit Bezug auf einen Dictionary-Typ vom Typ CURR deklariert wird, hat die dort definierte Anzahl von Nachkommastellen (größer gleich eins, der Standardwert ist zwei). Diese Nachkommastellen werden bei allen Operationen und Berechnungen wie bei jeder gepackten Zahl berücksichtigt. Ausgenommen sind nur solche Programme, bei denen die Programmeigenschaft Festpunktarithmetik nicht gesetzt ist.

Um korrekt mit einem Währungsfeld umzugehen, müssen jedoch alle Ziffern der Zahl unabhängig von der Anzahl der Nachkommastellen als Währungsbetrag in der kleinsten Währungseinheit aufgefasst werden. Dies geschieht teilweise automatisch, wie z.B. bei Verwendung von CURRENCY hinter WRITE [TO] oder der Formatierungsoption CURRENCY in einem eingebetteten Ausdruck eines Zeichenketten-Templates. Für andere Operationen gelten aber folgende Einschränkungen:

  • Unkritisch sind Vergleich, Addition, Subtraktion und Division zweier Währungsfelder mit der gleichen Anzahl von Nachkommastellen.
  • Unkritisch sind Multiplikation mit einer und Division durch eine währungsunabhängige Zahl.
  • Alle anderen Operationen sind kritisch, wie z.B.
  • Multiplikation zweier Währungsfelder

  • Operationen zwischen zwei Feldern verschiedener Währung inklusive Zuweisungen.

  • Zuweisungen von währungsunabhängigen Zahlen an Währungsfelder.

Bei der Durchführung kritischer Operationen sind in der Regel keine sinnvollen Ergebnisse zu erwarten, wenn die Anzahl der Nachkommastellen im Programm nicht zu den Nachkommastellen der Währung passt.

Hinweis

Es empfiehlt sich für Währungen statt dem Datentyp CURR einen der Datentypen für dezimale Gleitpunktzahlen zu verwenden. Die währungsgerechte Formatierung wird auf Dynpros durch Ausgabestile und in ABAP-Programmen durch die stilgerechte Aufbereitung unterstützt.






RFUMSV00 - Advance Return for Tax on Sales/Purchases   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 9205 Date: 20240523 Time: 162000     sap01-206 ( 182 ms )