Zeitraum (Stunden) zwischen X Tagen berechnen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

Zeitraum (Stunden) zwischen X Tagen berechnen

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
Hallo zusammen,

gibt es in ABAP einen Funktionsbaustein, mit dem man den Zeitraum in Stunden zwischen X Tagen berechnen kann?

Also z.B.:

Gegeben ist:

Anfangsdatum: 13.11.2006 10:00
Endedatum: 14.11.2006 08:00

=> ergibt einen Zeitraum von 22 Stunden.

Gibt es hierfür vielleicht schon einen FB?
Gruß,
Charadin

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Jo, da gibts ne Möglichkeit:
Zuerst musst du das Datum und die Uhrzeit in einen Timestamp verwandeln.

Code: Alles auswählen.

    CONVERT DATE datum
            TIME uhrzeit
            INTO TIME STAMP tstamps TIME ZONE 'UTC   '.
Anschliessend kannst den FuBa SRET_TIME_DIFF_GET benutzen.

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
Hallo DeathGuardian,

vielen Dank für Deine Antwort! :-)

Hab's gleich mal ausprobiert:

01.11.2006 08:00 - 30.11.2006 18:00

Ergebnis: Sekunden: 2541600, Stunden: 7.0600000000000000E+02

Scheint auch zu stimmen, nur wie kann ich die Stunden in ein anderes Format bekommen? Eigentlich sind es 706 Stunden...
Gruß,
Charadin

Beitrag von JHM (Top Expert / 1197 / 1 / 197 ) »
Charadin hat geschrieben: Eigentlich sind es 706 Stunden...
Versuch mal den FuBa DURATION_DETERMINE, da kannst du über den Parameter UNIT die Einheit der Rückgabe mitgeben. Es ist auch möglich mittels Fabrikkalender nur die Zeit an Arbeitstagen zu ermitteln.
Gruß Hendrik

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
Hallo Hendrik,

habe den Funktionsbaustein DURATION_DETERMINE mal ausprobiert, aber irgendwie bekomme ich da nie ein Ergebnis...

Habe mal testweise als Unit "TAG" genommen (scheint der Default-Wert zu sein) und als Datum 01.11.2006 08:00 - 01.12.2006 08:00...

Aber der Rückgabe-Paramter DURATION wird nicht gefüllt... :?

Und welche anderen Units gibt es? Was müsste ich z.B. für die Einheit "Stunden" eingeben? In der FB-Dokumentation steht dazu nur "Der Parameter UNIT gibt an in welcher Einheit die Ausgabe der Dauer erfolgt."...

Ach ja, dieser Thread hier ist auch sehr nützlich was Datumsberechnungen betrifft: http://www.apentia-forum.de/viewtopic.p ... 27ab34a4e8
Gruß,
Charadin

Beitrag von black_adept (Top Expert / 4089 / 127 / 940 ) »
Hallo Charadin,

der FB DURATION_DETERMINE liefert durchaus ein Ergebnis zurück.

Hast du bei Ausführen des FB in der SE37 mal nach rechts geblättert? Da das Rückgabefeld DURATION untypisiert ist, wird es in der Testumgebung als CHAR-Feld gewertet und ein Ergebnis vom Typ "Zahl" wird darin nach den allgemein üblichen Konvertierungsregeln rechtsbündig zurückgestellt. Und das Rückgabefeld ist so breit, dass das Ergebnis eben auf fast allen Monitoren nur durch Blättern in der horizontalen Scrollleiste zu erreichen ist. :wink:

Ach ja - da es sich ja um Zeiten handelt bei dein Eingabeparametern sollte die Ausgabe wohl auch in derselben Dimension sein.
Kurz nachschauen in Tabelle T006 ergibt folgende Einheiten, die wohl erlaubt sein dürften: ( deutsche Aufbereitung )

Code: Alles auswählen.

H     Stunde       
JHR   Jahre (annum)
MIN   Minute       
MIS   Mikrosekunde 
MON   Monate       
MS    Millisekunde 
NS    Nanosekunde  
PS    Pikosekunde  
S     Sekunde      
STD   Stunden      
TAG   Tage         
WCH   Wochen       
wobei die Zeit in Pikosekunden wohl eher uninteressant sein wird, wenn man die Eingabeparameter lediglich mit maximaler Genauigkeit Sekunde füllen darf.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
ups, habe tatsächlich nicht weit genug nach rechts geschaut... :oops:

Aber auch bei diesem FB bekomme ich dann wieder ein Ergebnis in der Form von z.B. 7.2000000000000000E+02 Stunden...

Danke für den Tipp mit der T006 für die Maßeinheiten, irgendwie hab' ich heute wohl eine Denkblockade... :)
Gruß,
Charadin

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Charadin hat geschrieben:Aber auch bei diesem FB bekomme ich dann wieder ein Ergebnis in der Form von z.B. 7.2000000000000000E+02 Stunden...
Das liegt an der Variablen!
Vielleicht schiebst das Ergebnis am besten in ein Feld des Types I oder P.

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
so einfach ist die Umrechnung? Heute ist echt nicht mein Tag... :wink:

Vielen Dank Euch allen für Eure Hilfe! :D
Gruß,
Charadin

Seite 1 von 1

Vergleichbare Themen

5
Antw.
4278
Views
Zeitraum berechnen mit immer 30 Tagen pro Monat
von actihippo » 06.12.2007 13:23 • Verfasst in ABAP® für Anfänger
4
Antw.
9371
Views
Differenz von Jahren, Monaten, Tagen berechnen
von kbit100 » 07.07.2016 12:55 • Verfasst in ABAP® für Anfänger
1
Antw.
4941
Views
Stunden in Tage/Stunden/Minuten umrechnen
von Hagbard » 23.01.2006 15:38 • Verfasst in ABAP® für Anfänger
2
Antw.
1760
Views
Berechnung von Tagen
von swonny » 21.06.2007 13:58 • Verfasst in ABAP® für Anfänger
5
Antw.
1725
Views
Abfrage Zeitraum
von Gottschall » 30.07.2019 14:18 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 11 Stunden von DeathAndPain gelöst 22 / 3087
Daten an Tabelle binden
vor 16 Stunden von Lukas Sanders 2 / 1009
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 579

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 11 Stunden von DeathAndPain gelöst 22 / 3087
Daten an Tabelle binden
vor 16 Stunden von Lukas Sanders 2 / 1009
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 579

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2588
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9170