Сделать изменения в два приема:
Сначала увеличить дату
Code:
DATA: L_OUT_DATE LIKE SY-DATUM.
CALL FUNCTION 'ADD_TIME_TO_DATE'
EXPORTING
I_IDATE = sy-datum
I_TIME = 20
I_IPRKZ = '' " ''=Day, 1=Week, 2=Month ,3 = Year
IMPORTING
O_IDATE = L_OUT_DATE
EXCEPTIONS
INVALID_PERIOD = 01
INVALID_ROUND_UP_RULE = 02
INTERNAL_ERROR = 03 .
write: / L_OUT_DATE.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
затем увеличить время с соотвествующей коррекцие даты
Code:
DATA: L_OUT_DATE LIKE sy-datum,
L_OUT_TIME LIKE sy-uzeit,
DATA: l_time TYPE sy-uzeit.
l_time = '050000'.
CALL FUNCTION 'C14B_ADD_TIME'
EXPORTING
I_STARTTIME = SY-UZEIT
I_STARTDATE = SY-DATUM
I_ADDTIME = l_time
IMPORTING
E_ENDTIME = L_OUT_TIME
E_ENDDATE = L_OUT_DATE
EXCEPTIONS
OTHERS = 1.