Datumsdifferenz berechnen

Getting started ... Alles für einen gelungenen Start.
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Datumsdifferenz berechnen

Beitrag von Florian9999 (ForumUser / 44 / 27 / 0 ) »
Hallo,

ich möchte im Infotyp 7 bei SAP HCM die Zeitdifferenz in Monaten beim Beginndatum und Enddatum auslesen minus einen Tag.
Also das alle Datensätze angezeigt werden, die einen Eintrag haben der exakt 12 Monate hat.

Beispiel: Gültigkeit 01.11.2019 - 31.10.2020

Nach erster Recherche hier im Forum gibt es den FuBa RE_ADD_MONTH_TO_DATE

Der ergibt beim ersten Versuch aber das Ergebnis 01.11.2019 - 01.11.2020.

Wie kann ich beim Feld Endda einen Tag abziehen?

Vielen Dank!

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


Re: Datumsdifferenz berechnen

Beitrag von wreichelt (Top Expert / 1030 / 29 / 188 ) »
Hallo,

endedatum =endeDatum - 1.

Gruß Wolfgang

Folgende Benutzer bedankten sich beim Autor wreichelt für den Beitrag:
Florian9999


Re: Datumsdifferenz berechnen

Beitrag von qyurryus (Specialist / 107 / 81 / 45 ) »
Moin, man könnte theoretisch hier mit String Operationen arbeiten (für den Fall -1 sicherlich besser), aber wenn man auf der sicheren Seite sein will kann man folgenden Baustein verwenden:

Code: Alles auswählen.

call function 'RP_CALC_DATE_IN_INTERVAL'
      exporting
        date      = datum
        days      = 1
        months    = 0
        signum    = '-'
        years     = 0
      importing
        calc_date = datum_minus_eins.

Folgende Benutzer bedankten sich beim Autor qyurryus für den Beitrag:
Florian9999


Re: Datumsdifferenz berechnen

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »
Also ich habe noch keinen gesehen, der diesen voluminösen Baustein benutzt hätte. Bei Datumsberechnungen sind je nach Fall Stringoperationen oder arithmetische Operationen wie die von wreichelt genannte klar die beste Wahl. Will man beide in einem Ausdruck verbinden, dann braucht man dafür ggf. das mit Release 7.40 eingeführte Schlüsselwort CONV.

Was ich gelegentlich benutze, ist ein Funktionsbaustein, der mir zu einem Datum den letzten Tag des Monats berechnet. Würde ich auch selber hinkriegen, aber man kann ja nutzen, was da ist. Tatsächlich gibt es im SAP-Standard eine ganze Reihe von FBs, die genau das machen, weil da offenbar mal wieder jeder Entwickler der SAP das Rad von neuem erfunden hat (z.B. RP_LAST_DAY_OF_MONTHS). Ist ganz lustig sich anzuschauen, wie dasselbe Problem von SAP mit verschiedenartigsten Programmcodes gelöst worden ist.

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
Florian9999


Re: Datumsdifferenz berechnen

Beitrag von ArjenR (ForumUser / 13 / 8 / 0 ) »
Hallo Zusammen,

ich muss das Thema nochmal aufgreifen. Und zwar ist es möglich, sich die ganzen Daten zwischen einem begda und einem endda auszugeben?

Beispiel: begda = 20200101, endda = 20200104

Ausgabe soll sein:
01.01.2020
02.01.2020
03.01.2020
04.01.2020

Vielen Dank und einen schönen Tag gewünscht.

Re: Datumsdifferenz berechnen

Beitrag von DeathAndPain (Top Expert / 1795 / 213 / 396 ) »

Code: Alles auswählen.

DATA(temp_datum) = BEGDA.

WHILE temp_datum <= ENDDA
  AND temp_datum <> '00000000'. " das passiert, wenn ENDDA = '99991231' ist und man einen draufrechnet
  WRITE / temp_datum.
  ADD 1 to temp_datum.
ENDWHILE.

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
ArjenR


Seite 1 von 1

Vergleichbare Themen

8
Antw.
24033
Views
Datum berechnen
von Sepp » 29.04.2004 16:49 • Verfasst in ABAP® für Anfänger
7
Antw.
5262
Views
Durchschnittsalter berechnen
von quricky » 21.04.2013 18:17 • Verfasst in ABAP® für Anfänger
4
Antw.
4336
Views
Differenztage berechnen
von jeyloeso » 26.09.2012 08:47 • Verfasst in ABAP® für Anfänger
5
Antw.
22601
Views
Datum berechnen
von schroeta » 19.07.2007 11:41 • Verfasst in ABAP® für Anfänger
4
Antw.
2327
Views
Datumsfeld berechnen
von Fools » 07.04.2005 15:52 • Verfasst in ABAP® für Anfänger

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.