Rheinwerk < openbook > SAP-Wissen aus erster Hand
SAP-Wissen aus erster Hand.
 
Inhaltsverzeichnis
Vorwort zur vierten Auflage
1 ABAP und die ersten Schritte im SAP-System
2 ABAP Dictionary
3 Programmieren im ABAP Editor
4 Felder und Berechnungen
5 Modifikation von Zeichenketten
6 Debugging von Programmen
7 Modifikation von transparenten Datenbanktabellen
8 Rechnen mit Datum und Zeit, Mengen und Währungen
9 Mit Daten in einer Datenbanktabelle arbeiten
10 Programmablaufsteuerung und logische Ausdrücke
11 Selektionsbildschirme
12 Interne Tabellen
13 Modularisierung von Programmen
14 Weiterführende Themen
A Icons auf einen Blick
B Abkürzungsverzeichnis
C Die Autoren
Stichwortverzeichnis

Download:
- Beispielprogramme, ca. 23 KB

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Einstieg in ABAP von Karl-Heinz Kühnhauser, Thorsten Franz
Buch: Einstieg in ABAP

Einstieg in ABAP
Pfeil 8 Rechnen mit Datum und Zeit, Mengen und Währungen
Pfeil 8.1 Felddeklarationen
Pfeil 8.2 Rechnen mit Datumsfeldern
Pfeil 8.3 Rechnen mit Zeitfeldern
Pfeil 8.4 Rechnen mit Mengen- und Währungsfeldern
Pfeil 8.5 Codebeispiel zu Datums-, Zeit- und Währungsfeldern

Auf der Basis von Datums-, Zeit-, Mengen- und Währungsfeldern müssen Sie in der Praxis häufig Berechnungen durchführen. In diesem Kapitel zeigen wir Ihnen zahlreiche Beispiele zu diesem Thema.

 
Zum Seitenanfang

8    Rechnen mit Datum und Zeit, Mengen und Währungen Zur vorigen ÜberschriftZur nächsten Überschrift

Einmal abgesehen davon, dass es keinen Sinn ergibt, mit Datums- und Zeitangaben sowie Mengen- und Währungswerten alle denkbaren arithmetischen Operationen durchzuführen, müssen Sie im betriebswirtschaftlichen Alltag dennoch Rechnungen mit Feldern dieser Art ausführen. Wie dies funktioniert und was Sie dabei zu beachten haben, erfahren Sie in diesem Kapitel.

Bereits bei der Deklaration von Datums- und Zeitfeldern müssen Sie feststellen, dass diese Datentypen nicht numerisch, sondern zeichenartig sind. Im Kern sind es demnach Zeichenketten – mit denen Sie allerdings auch rechnen können. Ermöglicht wird das Rechnen durch die automatische Typkonvertierung, die die Umwandlungsarbeit im Hintergrund erledigt.

 
Zum Seitenanfang

8.1    Felddeklarationen Zur vorigen ÜberschriftZur nächsten Überschrift

Im ABAP-Report erfolgt die Deklaration von Datumsfeldern mit der DATA-Anweisung und dem Datentyp d. Ein Feld vom Datentyp d ist immer achtstellig: Die ersten vier Stellen sind für das Jahr, die nächsten beiden für den Monat und die beiden letzten für den Tag vorgesehen. Das Format wird als YYYYMMDD dargestellt; der Initialwert für ein Datumsfeld besteht aus acht Nullen.

[»]  Einfacher Einstieg

Für den Einstieg ist es am einfachsten, bei der Deklaration eines Datumsfeldes mit dem Zusatz TYPE auf das Systemdatum des SAP-Systems zu verweisen, das Sie in der Struktur SYST im Feld DATUM finden. Alle Eigenschaften des Systemfeldes gelten durch die angeführte Deklaration automatisch auch für Ihr Datumsfeld, u. a. auch die Ausgabeaufbereitung. Wenn Sie diese Verweismöglichkeit nutzen, müssen Sie sich beispielsweise bei der Druckaufbereitung um die Punkte zwischen Tag, Monat und Jahr nicht mehr kümmern, weil es für das Feld SY-DATUM bereits eine fertige Ausgabeformatierung gibt.

Möchten Sie beispielsweise das Feld RECHNUNGSDATUM deklarieren, könnte die Anweisung folgendermaßen aussehen:

DATA rechnungsdatum TYPE sy-datum.

Das Füllen des Datumsfeldes kann über den Zusatz VALUE des DATA-Kommandos als Literal oder während des Programmablaufs durch eine Anweisung erfolgen (siehe nachfolgende Beispiele). Diese Anweisung kann eine arithmetische oder eine Zeichenketten-Operation sein.

Wie Datumsfelder sind auch Zeitfelder eigentlich Zeichenketten. Zeitfelder sind sechsstellig und haben das Format HHMMSS. Die ersten beiden Stellen sind für die Stunden, die mittleren beiden für die Minuten und die letzten beiden Stellen für die Sekunden reserviert. Wie beim Datumsfeld besteht auch beim Zeitfeld der Initialwert aus Nullen; der ABAP-Datentyp für Zeitfelder lautet t.

Auch die Systemzeit finden Sie in einem Feld der Struktur SYST, im Feld UZEIT. Stunden, Minuten und Sekunden werden in Listen häufig durch Doppelpunkte getrennt. Wenn Sie sich um die Ausgabeaufbereitung nicht kümmern möchten, empfiehlt es sich deshalb zumindest für den Einstieg, bei der Deklaration eines Zeitfeldes auf das Feld SYST-UZEIT zu verweisen. Die Deklaration des Feldes UNTERRICHTSBEGINN könnte demnach folgendermaßen aussehen:

DATA unterrichtsbeginn TYPE syst-uzeit.

Für das Füllen des Zeitfeldes gelten die gleichen Ausführungen wie zum Datumsfeld.

[»]  Gewohnheiten eines Landes

Die Anzeige und Aufbereitung von Datums- und Zeitfeldern ist von den Gewohnheiten eines Landes abhängig. Aus diesem Grund existieren in der Systemstruktur SYST mehrere Felder für Datum und Uhrzeit, die zur unterschiedlichen Aufbereitung nationaler und internationaler Formate dienen.

Währungsfelder werden im ABAP-Report wie gepackte Zahlen behandelt. Von daher ist die Deklaration genau wie bei einer gepackten Zahl; Sie müssen lediglich auf die richtige Anzahl von Nachkommastellen achten. Etwas aufwendiger wird die Angelegenheit, sobald Währungsfelder aus dem ABAP Dictionary ins Spiel kommen: Die Anzahl von Nachkommastellen sollte für die Rechengenauigkeit auf beiden Seiten gleich sein. Jedoch können Sie sich hier leicht helfen, indem Sie sich bei der Deklaration auf der ABAP-Seite auf die Deklaration des Tabellenfeldes beziehen.

Möchten Sie beispielsweise das Feld MWST_BETRAG zur Berechnung der Mehrwertsteuer deklarieren, können Sie sich mit folgender Anweisung auf die Deklaration des relevanten Betragsfeldes im ABAP Dictionary beziehen:

DATA mwst_betrag TYPE zteilnehmer02-tkurspreis.

Am aufwendigsten ist die Deklaration eines Währungsfeldes im ABAP Dictionary selbst. Zwar werden im ABAP Dictionary Währungsfelder analog zu Betragsfeldern deklariert – sie haben lediglich den speziellen Datentyp CURR –, allerdings müssen Sie im ABAP Dictionary zu jedem Währungsfeld einen Währungsschlüssel definieren. Der Währungsschlüssel gibt an, um welche Währung es sich bei dem Währungsbetrag handelt (Währungsbezeichnung), und ist ein spezielles Textfeld vom Typ CUKY mit der Länge 5.

Ein Währungsfeld im ABAP Dictionary muss daher auf ein Referenzfeld vom Typ CUKY zeigen, und Sie benötigen bei einem Währungsfeld nicht nur den Betrag, sondern auch die Währungsbezeichnung (d. h. den Währungsschlüssel) – Sie möchten schließlich wissen, ob ein Betrag in harter oder in weicher Währung angegeben wird und welche Kaufkraft er repräsentiert. Unter Umständen muss für die Bewertung und die Umrechnung in eine andere Währung später auch noch der richtige Wechselkurs herangezogen werden.

Im ABAP Dictionary hat ein Betragsfeld vom Typ CURR maximal 31 Stellen. Verwenden Sie ein Betragsfeld vom Typ CURR einer Dictionary-Tabelle in einem ABAP-Report, wird der Datentyp CURR des Dictionarys in den ABAP-Datentyp p konvertiert – unter Berücksichtigung der variablen Feldlänge und der Anzahl der Dezimalstellen. Der Währungsschlüssel vom Typ CUKY wird auf der ABAP-Seite in ein Feld vom Typ c mit der Länge 5 konvertiert.

[»]  Währungsfeld

Um entsprechende Beispiele bilden und austesten zu können, haben wir in Abschnitt 7.2.2, »Besonderheiten bei Währungs- und Mengenfeldern«, die Tabelle ZTEILNEHMER02 um ein Währungsfeld ergänzt.

 


Ihre Meinung?

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de

<< zurück
 Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Einstieg in ABAP Einstieg in ABAP
Jetzt Buch bestellen

 Buchempfehlungen
Zum Rheinwerk-Shop: SAP – Der technische Einstieg
SAP – Der technische Einstieg


Zum Rheinwerk-Shop: ABAP Objects – Das umfassende Handbuch
ABAP Objects – Das umfassende Handbuch


Zum Rheinwerk-Shop: ABAP-Entwicklung für SAP S/4HANA
ABAP-Entwicklung für SAP S/4HANA


Zum Rheinwerk-Shop: Kundeneigene Erweiterungen mit ABAP
Kundeneigene Erweiterungen mit ABAP


Zum Rheinwerk-Shop: Schrödinger programmiert ABAP
Schrödinger programmiert ABAP


Zum Rheinwerk-Shop: Migration nach SAP S/4HANA
Migration nach SAP S/4HANA


Zum Rheinwerk-Shop: Design Thinking mit SAP
Design Thinking mit SAP


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und in die Schweiz
InfoInfo

 
 


Copyright © Rheinwerk Verlag GmbH 2020
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 
[Rheinwerk]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern