Findind给定日期的最近日期(sap Abap)

2020-08-23 13:02发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我需要找到给定日期的最近的星期四...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我需要找到给定日期的最近的星期四。 有没有可用的功能模块?...

例如:如果给定日期为星期六的15/02/2020,则应将日期返回为最近的星期四13/02/2020。

如果给定的日期是星期二的18/02/2020,则应返回最近的星期四的20/02/2020。

8条回答
clasier
2020-08-23 13:14
 CASE预期日期。
    当"星期一"。
       LV_EXP_DAY_NUM = 1。
    在"星期二"。
       LV_EXP_DAY_NUM = 2。
    星期三。
       LV_EXP_DAY_NUM = 3。
    星期四。
       LV_EXP_DAY_NUM = 4。
    当"星期五"。
       LV_EXP_DAY_NUM = 5。
    当"星期六"。
       LV_EXP_DAY_NUM = 6。
    当" SUNDAY"时。
       LV_EXP_DAY_NUM = 7。
    当别人。
        LV_EXP_DAY_NUM = 0。
 结束。
 DATA(LV_DAY_NUMBER)=(LV_CALC_DATE MOD 7)-1。
 DATA(LV_DIFF)= LV_DAY_NUMBER-LV_EXP_DAY_NUM
 如果LV_DIFF> 0并且LV_DIFF <4。
    LV_CALC_DATE = LV_CALC_DATE-LV_DIFF。
 ELSEIF LV_DIFF> 3。
    LV_DIFF = 7-LV_DIFF。
    LV_CALC_DATE = LV_CALC_DATE + LV_DIFF。"如果差异大于3
 ELSEIF LV_DIFF <-3。
     LV_DIFF = 7 + LV_DIFF。
     LV_CALC_DATE = LV_CALC_DATE-LV_DIFF。
 其他。
     LV_CALC_DATE = LV_CALC_DATE + ABS(LV_DIFF)。
 ENDIF。

此逻辑适用于所有测试用例:)

感谢

一周热门 更多>