Variante 1 (cl_abap_tstmp)
DATA: l_ts TYPE timestamp.
DATA: l_ts_out TYPE timestamp.
GET TIME STAMP FIELD l_ts.
* 3600s zum Zeitstempel hinzurechnen
l_ts_out = cl_abap_tstmp=>add( tstmp = l_ts
secs = 3600 ).
WRITE: / l_ts TIME ZONE sy-zonlo.
WRITE: / l_ts_out TIME ZONE sy-zonlo.
Variante 2 (cl_hrpad_date_computations)
* add_weeks_to_date -> Addiert Anzahl Wochen zum Datum
* add_months_to_date -> Addiert Anzahl Monate zum Datum
* add_years_to_date -> Addiert Anzahl Jahre zum Datum
* subtract_weeks_from_date -> Subtrahiert Anzahl Wochen vom Datum
* subtract_months_from_date -> Subtrahiert Anzahl Monate vom Datum
* subtract_years_from_date -> Subtrahiert Anzahl Jahre vom Datum
* get_weekday_number -> Ermittelt Nummer des Wochentags
* get_weekday_number_shifted -> Ermittelt Nummer des Wochentags (verschoben)
* get_first_day_calendar_week -> Ermittelt den ersten Tag einer Kalenderwoche für best. Jahr
* get_last_weekday_number -> Bestimmt Nummer des letzten Wochentags
* get_first_day_in_week -> Ermittelt den ersten Tag einer Woche
* get_first_day_in_shifted_week -> Ermittelt den ersten Tag einer Woche (verschoben)
* get_first_day_previous_month -> Ermittelt den ersten Tag im davorliegenden Monat
* get_week -> Ermittelt die Woche in der das Datum liegt (verschoben)
* get_shifted_week -> Ermittelt die Woche in der das Datum liegt (verschoben)
* get_last_day_in_month -> Berechnet den letzten Tag des laufenden Monats
* get_last_day_previous_month -> Ermittelt den letzten Tag des davorliegenden Monats
* get_days_per_year -> Ermittelt Anzahl der Tage pro Jahr
Variante 3 (cl_bs_period_toolset_basics)
* erster Tag des aktuellen Monats
DATA(lv_first_day) = cl_bs_period_toolset_basics=>get_first_day_in_month( iv_date = sy-datum ).
WRITE: / lv_first_day.
* erster Tag des vorherigen Monats
DATA(lv_first_day) = cl_bs_period_toolset_basics=>get_first_day_prev_month( iv_date = sy-datum ).
WRITE: / lv_first_day.
* letzter Tag des vorherigen Monats
DATA(lv_last_day) = cl_bs_period_toolset_basics=>get_last_day_prev_month( iv_date = sy-datum ).
WRITE: / lv_last_day.
* letzter Tag des aktuellen Monats
DATA(lv_last_day) = cl_bs_period_toolset_basics=>get_last_day_in_month( iv_date = sy-datum ).
WRITE: / lv_last_day.
* 60 Minuten zu Zeit und Datum hinzurechnen
cl_bs_period_toolset_basics=>add_minutes_to_date( EXPORTING
iv_date = sy-datum
iv_time = sy-uzeit
iv_minutes = 60
IMPORTING
ev_date = DATA(lv_date_new)
ev_time = DATA(lv_time_new) ).
WRITE: / lv_date_new, lv_time_new.