XML-Daten in ABAP-Datum umwandeln und Dauerzeit im XML-Format berechnen
FA
Converting XML Date to Abap Date and Calculating Duration Time as XML Format
Haben Sie jemals XML-Daten in ein ABAP-Datum umwandeln müssen? Keine Sorge, es ist einfacher als Sie denken. SAP bietet uns Werkzeuge, um diese Aufgabe zu meistern.
Orginal Blog Link: https://community.sap.com/t5/technology-blogs-by-members/converting-xml-date-to-abap-date-and-calculating-duration-time-as-xml/ba-p/13722152
Beginnen wir mit dem XML-Datum. Normalerweise sieht ein XML-Datum so aus: YYYY-MM-DD. In ABAP verwenden wir das Format YYYYMMDD. Daher müssen wir das XML-Datum umformatieren.
Hier ist ein einfaches Beispiel, wie Sie das machen können:
DATA: xml_date TYPE string VALUE '2023-10-01',
abap_date TYPE sy-datum.
REPLACE ALL OCCURRENCES OF '-' IN xml_date WITH ''.
abap_date = xml_date.
Dauerzeit im XML-Format berechnen
Jetzt kommen wir zur Berechnung der Dauerzeit im XML-Format. Stellen Sie sich vor, Sie haben zwei Zeitstempel und möchten die Differenz berechnen. Auch hier hilft uns ABAP weiter.
Angenommen, Sie haben zwei Zeitstempel im Format HH:MM:SS. Sie können diese Zeitstempel in Sekunden umrechnen und dann die Differenz berechnen.
Hier ist ein Beispiel:
DATA: start_time TYPE string VALUE '12:30:45',
end_time TYPE string VALUE '14:45:30',
start_seconds TYPE i,
end_seconds TYPE i,
duration_seconds TYPE i.
CONVERT TIME start_time INTO SECONDS start_seconds.
CONVERT TIME end_time INTO SECONDS end_seconds.
duration_seconds = end_seconds - start_seconds.
Ergebnisse im XML-Format zurückgeben
Nachdem Sie die Dauerzeit berechnet haben, möchten Sie das Ergebnis möglicherweise im XML-Format zurückgeben. Das ist ebenfalls einfach umsetzbar.
Sie können die berechneten Sekunden wieder in das Format HH:MM:SS umwandeln und dann in eine XML-Struktur einfügen.
Hier ist ein Beispiel, wie das geht:
DATA: duration TYPE string.
CONVERT SECONDS duration_seconds INTO TIME duration.
WRITE: / 'Dauerzeit:', duration.
Probieren Sie es aus und sehen Sie selbst, wie einfach es sein kann. Und wenn Sie Fragen haben, stehen wir Ihnen gerne zur Verfügung. Viel Erfolg!