举例:若输入日期是2016.01.25,则计算出的日期应该为2015.12.31
函数很简单,ABAP代码如下:
FUNCTION ZDATE_GET_MONTH_LASTDAY.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" REFERENCE(I_DATE) TYPE SY-DATUM
*" EXPORTING
*" REFERENCE(E_DATE) TYPE SY-DATUM
*"----------------------------------------------------------------------
DATA:
BEGIN OF ls_date,
year(4) TYPE n,
month(2) TYPE n,
day(2) TYPE n,
END OF ls_date.
DATA: l_date_tmp TYPE sy-datum.
ls_date = i_date.
IF ls_date-month < 12.
ls_date-month = ls_date-month + 1.
ELSE.
ls_date-month = 1.
ls_date-year = ls_date-year + 1.
ENDIF.
ls_date-day = 1.
l_date_tmp = ls_date.
* no special "leap year" algorithm necessary: in SAP NW we trust...
l_date_tmp = l_date_tmp - 1.
e_date = l_date_tmp.
ENDFUNCTION.