SAP Jobsuche bei DV-Treff


Suchen
debs14
  • debs14
  • SAP Forum - Neuling Thema Starter
vor 4 Jahre
Hallo, ich habe folgendes Problem:

ich habe zum einen ein Datum (20200410) und zum anderen eine Zeit von 6 Tagen welche ich in einer Variable vom Typ d gespeichert habe also 00000006. Nun möchte ich diese beiden addieren, was jedoch nicht funktioniert.

Wie kann ich diese beiden Zeiten miteinander verrechnen, sodass als Datum 20200416 heraus kommt?

Liegt es daran, dass ich die Zeit von 6 Tagen nicht so als Datum speichern kann? Wenn ich die 6 Tage einfach als int Wert hinterlege, funktioniert die Rechnung. Jedoch könnte es bei mir auch mal der Fall sein, dass ich Monate oder Jahre addieren möchte, wie mache ich dies hier, da ja nicht unterscheiden werden kann ob es nun Tage, Monate oder Jahre sind, was ich addieren möchte. Müsste ich das ganze dann in Tage umrechnen oder gibt es andere Lösungen?

Liebe Grüße 🙂

wreichelt
vor 4 Jahre
Hallo,

normalerweise funktioniert die Addition von Tagen.

Kann das Datum (6 Tage) nicht in ein C Feld umgewandelt werden ?

Write Datum to C-Feld.

Gruß Wolfgang

Alpmann
vor 4 Jahre
Hallo debs14,

mit dem Funktionsbaustein HR_99S_DATE_ADD_SUB_DURATION kannst du zu einem bestimmten Datum eine bestimme Anzahl von Tagen / Monaten / Jahre "addieren" bzw. "subtrahieren".

Hier ein Beispiel: Tagesdatum + 7 Tage in Feld z_datum_w1 schreiben:

DATA: w_duration TYPE psen_duration.

DATA: Z_DATUM_W1 type sy-datum.

w_duration-DURYY = 0.

w_duration-DURMM = 0.

w_duration-DURDD = 7.

CALL FUNCTION 'HR_99S_DATE_ADD_SUB_DURATION'

EXPORTING

im_date = sy-datum

im_operator = '+'

im_duration = w_duration

IMPORTING

ex_date = z_datum_w1.

Mit freundlichen Grüßen

Matthias Alpmann