Function module ‘BKK_ADD_WORKINGDAY’ is a nice FM that allows to add days to a date. The function module can also consider non-working days (like Saturday, Sunday and public holidays) based on the calendar maintained in the the system.
Below is a sample code of how to use the function module ‘BKK_ADD_WORKINGDAY’.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
REPORT zadddaystodate. *Data Declarations: *Constants: CONSTANTS: lc_number_of_days_to_add TYPE i VALUE 1, lc_holiday_cal_id TYPE scal-hcalid VALUE 'FR'. *Variables: DATA: lv_date TYPE sy-datum, lv_added_date TYPE sy-datum, lv_subrc TYPE sy-subrc. *Input Date. lv_date = '20170301'. CALL FUNCTION 'BKK_ADD_WORKINGDAY' EXPORTING i_date = lv_date i_days = lc_number_of_days_to_add * The parameter 'I_CALENDAR1' allows the FM to consider * non-working days (like Saturday, Sunday and public holidays) during * the calculation of the new added date. * i_calendar1 = lc_holiday_cal_id IMPORTING e_date = lv_added_date e_return = lv_subrc. IF lv_subrc EQ 0. WRITE lv_added_date. ENDIF. |