Andreas Unkelbach
Werbung
ESPRESSO TUTORIALS »SAP-Wissen« so wirksam wie ein guter Espresso


Sonntag, 11. März 2018
13:34 Uhr

ABAP Anweisung WRITE zum Umwandeln von Variablen und Werten wie FLOAT (Gleitpunktzahl, Fließkommazahl)

Im Artikel "Query zur Auswertung von Klassifizierungsmerkmale PSM Fonds zu CO Innenauftrag und Datumsfelder mit Konvertierung von FLOAT zu DATUM" habe ich mich mit der Umwandlung von Gleitpunktzahl des Format FLOAT in Datum (DATE) beschäftigt. Zur Verdeutlichung noch einmal ein Datumswert der im Rahmen der Klassifizierung in der Tabelle  AUSP im Tabellenfeld ATFLV gespeichert ist:

Das Feld ATFLV hat als Eigenschaften Datentyp FLTP (interner Fließkomma-Wert) in der Länge von 16.

Zur Verdeutlichung des Problems rufe ich noch einmal die Ausgangslage des Problems in Erinnerung und habe ein Merkmal als Datum definiert und den gespeicherten Wert in der Tabelle AUSP näher angesehen:
 
Datum Wert als Float AUSP-ATFLV
Datum als Float
01.01.2018 2,0180101000000000E+07
14.05.2017 2,0170514000000000E+07
13.07.2017 2,0170713000000000E+07

Nun stellt sich für die Query die Frage, wie aus den FLOAT Wert ein Datumswert ermittelt werden kann.

Hierzu hatte, nach der Nutzung von Funktionsbausteinen und verschiedenen anderen Methoden Wolfgang per Kommentar noch eine alternative Lösung gebracht.

Hallo Herr Unkelbach,
zu der Umwandlung von Float in Date gibt es noch eine weitere Alternative:

DATA: zlv_float type f value '2.006123100000000E+07',
text(10) type c.
write zlv_float to text Exponent 0.

Das Ergebnis ist dann ' 20161231'.
Wichtig das Ergebnisfeld muss 10 stellig sein.

Gruß Wolfgang


Vielen Dank an Wolfgang für diesen aber auch schon einige andere Hinweise zu Artikeln hier im Blog. Tatsächlich steckt in der Write Anweisung auch die Möglichkeit Werte umzuwandeln.

Die Anweisung EXPONENT legt den Exponenten bei der Aufbereitung von Gleitpunktzahlen bzw. einer Fließkommazahl fest. Wenn die Anweisung Exponent den Wert 0 enthält, wird kein Exponent erzeugt und somit die originäre Zahl erzeugt.

Matheamtisch enthält die Gleitpunktzahl gleichzeitig eine Information zur Anzahl der Nachkommastellen beziehungsweise der dargestellte wird mit 10Exponent multipliziert.

In unseren Fall wäre dieses also 2,018010100000000 * 107 was wieder 20180101 ergibt.

Die Verwendung der WRITE Funktion zur Umwandlung von Zahlenwerten in das gewünschte Format hatte ich auch im Abschnitt "Zusatzfeld VLE zur Darstellung virtueller Lehreinheit aus Teilstring der verantwortlichen Kostenstelle sofern nicht in einen anderen Feld ein Wert steht" im Artikel "Query über COEP, AUFK und FMFINCODE für Einzelposten Istkosten Innnenauftrag mit Stammdaten aus CO und PSM-FM sowie Spalten für Ertrag und Aufwand - Erster Teil Infoset als Datengrundlage" behandelt.

Durch den Zusatz NO-ZERO werden die vorrangestellten 000 eines Wertes entsprechend entfernt, so dass später mit der reinen Zahl ohne führender 0 gearbeitet werden kann.

Hierbei ist es jedoch hilfreich vorab zu prüfen, ob der Wert tatsächlich nur aus Zahlen besteht. Dieses ist im Artikel "Drittmittelstatistik nach LOMZ über Recherchebericht und SAP Query" durch die Anweisung

IF AUFK-AUFNR CO  '1234567890'.

im Abschnitt "LOMZ relevante Drittmittel" beschrieben worden.

Gerade beim Umgang mit Programmiersprachen gibt es oft mehrere Wege um ein Ergebnis zu erhalten und gerade die obige WRITE Anweisung eignet sich auch hervorragend dazu als Werte statt Text gespeicherte Klassifizierungsmerkmale wieder aufzulösen und entsprehcend lesbar in der Ausgabe zu machen.

Somit kann auch eine einfache WRITE Anweisung wesentlich mehr als

WRITE 'HELLO WORLD'.

Grundsätzlich ist das Thema ABAP Programmierung aber tatsächlich noch ein Punkt den ich gerne ausbauen würde und wo bei mir noch ein zwei Bücher im RUB stehen.

Für kleinere ABAP Anweisungen zum Beispiel im Rahmen einer SAP Query hilft oft schon der Austausch in Onlineforen, mit Kolleginnen und Kollegen und ein wenig die Webempfehlungen oder andere Blogs.

 

Hinweis:

Eine kurze Einführung in das Thema SAP Query habe ich im Artikel
"Grundlagen Kurzeinführung und Handbuch SAP Query" beschrieben und hoffe Ihnen hier eine Einführung ins Thema bieten zu können.




Hinweis: Aktuelle Buchempfehlungen besonders SAP Fachbücher sind unter Buchempfehlungen inklusive ausführlicher Rezenssionen und Bestellmöglichkeit zu finden.
Espresso Tutorial - die digitale SAP Bibliothek

Tags: ABAP Query

Keine Kommentare - - SAP

Artikel datenschutzfreundlich teilen

🌎 Facebook 🌎 Twitter 🌎 Google
Diesen und weitere Texte von finden Sie auf http://www.andreas-unkelbach.de


Keine Kommentare

Kommentieren?


Beim Versenden eines Kommentars wird mir ihre IP mitgeteilt. Diese wird jedoch nicht dauerhaft gespeichert; die angegebene E-Mail wird nicht veröffentlicht: beim Versenden als "Normaler Kommentar" ist die Angabe eines Namen erforderlich, gerne kann hier auch ein Pseudonyme oder anonyme Angaben gemacht werden (siehe auch Kommentare und Beiträge in der Datenschutzerklärung).

Eine Rückmeldung ist entweder per Schnellkommentar oder (weiter unten) als normalen Kommentar möglich. Eine persönliche Rückmeldung (gerne auch Fragen zum Thema) würde mich sehr freuen.

Schnellkommentar (Kurzes Feedback, ausführliche Kommentare bitte unten als normaler Kommentar)

Name (sofern kein Name angegeben wird erscheint Anonym):



Ich nutze zum Schutz vor Spam-Kommentaren (reine Werbeeinträge) eine Wortliste, so dass diese Kommentare nicht veröffentlicht werden. Sollte ihr Kommentar nicht direkt veröffentlicht werden, kann dieses an einen entsprechenden Filter liegen.

Im Zweifel besteht auch immer die Möglichkeit eine Mail zu schreiben oder die sozialen Medien zu nutzen. Meine Kontaktdaten finden Sie auf »Über mich«. Ansonsten antworte ich tatsächlich sehr gerne auf Kommentare und freue mich auf einen spannenden Austausch.

Normaler Kommentar

Name:

E-Mail (wird nicht veröffentlicht und ist nicht erforderlich):

Homepage:

Kommentar:





* Amazon Partnerlink
Als Amazon-Partner verdiene ich an qualifizierten Käufen über Amazon.
Hinauf




Werbung



Logo Andreas-Unkelbach.de
© 2004 - 2018 Andreas Unkelbach
Gießener Straße 75,35396 Gießen,Germany
andreas.unkelbach@posteo.de
Andreas Unkelbach

Stichwortverzeichnis
(Tagcloud)


Aktuelle Infos (Abo)

Facebook Twitter Google+

»Schnelleinstieg ins SAP Controlling (CO)« und »Berichtswesen im SAP ® ERP Controlling«
Privates

Kaffeekasse 📖 Wunschliste