ABAP 常用日期处理
作者:Jasen Ye
- 2022 年 3 月 24 日
本文字数:1337 字
阅读完需:约 4 分钟

1.获取月份最后一天
函数: BKK_GET_MONTH_LASTDAY
CALL FUNCTION 'BKK_GET_MONTH_LASTDAY' EXPORTING i_date = i_date IMPORTING e_date = o_date.复制代码
2.日期生成,按参数计算出日期
函数: FIMA_DATE_CREATE,计算参数可用正负数表示顺推还是逆推
CALL FUNCTION 'FIMA_DATE_CREATE' EXPORTING i_date = i_date “输入的基准日期 i_years = i_years ”计算参数-年 i_months = i_months ”计算参数-月 i_days = i_days ”计算参数-日 i_calendar_days = i_calendar_days i_set_last_day_of_month = i_set_last_day_of_month “是否获取结果月的最后一天日期 IMPORTING e_date = o_date. 复制代码
3.到期日计算
函数:FI_FIND_PAYMENT_CONDITIONS && DETERMINE_DUE_DATE
************ i_shkzg 借贷标识会影响到期日计算 ************************************** S借方时 到期日按付款条件正向计算 ********************************* H贷方时 到期日等于过帐日 *******************
DATA: ls_sklin TYPE sklin.DATA: lsi_faede TYPE faede, lse_faede TYPE faede.
CALL FUNCTION 'FI_FIND_PAYMENT_CONDITIONS' EXPORTING i_zterm = i_zterm i_bldat = sy-datum i_budat = i_zfbdt IMPORTING e_sklin = ls_sklin EXCEPTIONS terms_incorrect = 1 terms_not_found = 2 no_date_entered = 3 no_day_limit_found = 4 OTHERS = 5. IF sy-subrc <> 0. RETURN. ENDIF. lsi_faede-shkzg = i_shkzg. lsi_faede-zfbdt = i_zfbdt. lsi_faede-koart = i_koart. lsi_faede-zbd1t = ls_sklin-ztag1. lsi_faede-zbd2t = ls_sklin-ztag2. lsi_faede-zbd3t = ls_sklin-ztag3. CALL FUNCTION 'DETERMINE_DUE_DATE' EXPORTING i_faede = lsi_faede i_gl_faede = 'X'* i_bseg =* i_bkpf = IMPORTING e_faede = lse_faede EXCEPTIONS account_type_not_supported = 1 OTHERS = 2. IF sy-subrc = 0. e_netdt = lse_faede-netdt. ENDIF.----------------------------测试用例-----------------------------------"到期日计算*DATA:lv_zfbdt TYPE sy-datum VALUE '20220324',* lv_zterm TYPE dzterm VALUE 'D033'.*lv_zfbdt = zcl_devp_tools=>get_instance( )->determine_due_date( EXPORTING i_zfbdt = lv_zfbdt* i_zterm = lv_zterm ).复制代码
划线
评论
复制
发布于: 刚刚阅读数: 2
版权声明: 本文为 InfoQ 作者【Jasen Ye】的原创文章。
原文链接:【http://xie.infoq.cn/article/bc1e9a47f62c6d5e21785aebf】。未经作者许可,禁止转载。
Jasen Ye
关注
还未添加个人签名 2022.03.23 加入
还未添加个人简介











评论