Purpose:
Purpose of this document is to develop a custom function module to get the dates of last Friday/any day of given number of months and date.
FM code:
Please maintain mentioned input parameters to the custom FM.
Purpose of this document is to develop a custom function module to get the dates of last Friday/any day of given number of months and date.
FM code:
Please maintain mentioned input parameters to the custom FM.
And also maintain the below mentioned Export parameter.
Please find the below source code to get the dates of last day/Friday of given number of months.
DATA : lv_last_date TYPE sy-datum,
lv_tmp_date TYPE sy-datum,
lv_week_day TYPE week_day.
*loop IV_MONTHS no of times to get the required dates
DO iv_months TIMES."
CLEAR : lv_last_date,lv_tmp_date.
*Use this function module to get the last day of the month
CALL FUNCTION 'OIL_MONTH_GET_FIRST_LAST'
EXPORTING
i_date = iv_date
IMPORTING
e_last_day = lv_last_date
EXCEPTIONS
wrong_date = 1
OTHERS = 2.
IF sy-subrc = 0.
lv_tmp_date = lv_last_date.
DO .
*Use the FM to get Day of given Date.
CALL FUNCTION 'DATE_TO_DAY'
EXPORTING
date = lv_tmp_date
IMPORTING
weekday = lv_week_day.
IF lv_week_day CS iv_day+0(3).
APPEND lv_tmp_date TO et_date.
EXIT.
ELSE.
lv_tmp_date = lv_tmp_date - 1.
ENDIF.
ENDDO.
ENDIF.
*Increment month
IF iv_date+4(2) <= '11'.
iv_date+4(2) = iv_date+4(2) + 1.
ELSE.
CLEAR iv_date+4(2).
iv_date+0(4) = iv_date+0(4) + 1.
iv_date+4(2) = iv_date+4(2) + 1.
ENDIF.
ENDDO.
ENDFUNCTION.
Results of custom FM:
Here, I would like to get the dates of last Friday of next 3 months (Sep, Oct and Nov) and giving input as today’s date 30.09.2016.
Test Input:
Output of FM:
Please find the dates of last Fridays for Sep, Oct and Nov in Calendar.
Great work Ms Sabrina P. Got a requirement almost the same but to get the next 'FRIDAY' of any given date. Cheers!
ReplyDelete