两个日期之间的周期表

2020-09-15 08:24发布

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

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


大家好,

我正在寻找可以为我提供以下信息的函数或方法。 我有一个日期间隔例如 由01.05.2018至30.04.2019。 现在,我要返回一个表格,其中应包含这两个日期之间的所有时间段。

(1)01.05.2018-30.05.2018
 (2)01.06.2018-30.06.2018
 ....
 (12)01.04.2019-30.04.2019 

有人有主意吗?

致谢
Michael

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

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


大家好,

我正在寻找可以为我提供以下信息的函数或方法。 我有一个日期间隔例如 由01.05.2018至30.04.2019。 现在,我要返回一个表格,其中应包含这两个日期之间的所有时间段。

(1)01.05.2018-30.05.2018
 (2)01.06.2018-30.06.2018
 ....
 (12)01.04.2019-30.04.2019 

有人有主意吗?

致谢
Michael

付费偷看设置
发送
4条回答
clasier
1楼-- · 2020-09-15 08:41

您应该编写自己的FM-非常简单。 似乎对任何标准SAP通用功能模块的要求都过于专业。

南山jay
2楼-- · 2020-09-15 08:46

如果要处理财务期间,可以使用FM G_PERIODS_OF_YEAR_GET。

它给出了变体和年份的开始/结束日期表。

您可以通过T001从公司代码获得的变体。

何必丶何苦呢
3楼-- · 2020-09-15 08:57

迈克尔你好,

使用以下基本代码编写自己的FM:

 *
 * p_beg初次约会
 * p_end最后日期



 类型:开始于y_interval,
          开始输入TYPE sy-datum,
          结束TYPE sy-datum,
        结束y_interval,
        ty_interval y_interval的类型表。



 数据:lt_interval TYPE ty_interval,
       ls_interval TYPE y_interval,
       lv_dat_aux TYPE系统数据。

 将p_beg(6)'01'并入lw_interval-begin。

 通话功能" OIL_GET_NEXT_MONTH"
   出口
     i_date = lw_interval-begin
   输入
     e_date = lw_interval-end。

 lw_interval-end = lw_interval-end-1。

 追加lw_interval至lt_interval。

 做。
   IF lw_interval-end GE p_end。
     出口。
   万一。

   lw_interval-begin = lw_interval-end + 1。

   通话功能" OIL_GET_NEXT_MONTH"
     出口
       i_date = lw_interval-begin
     输入
       e_date = lv_dat_aux。

   lw_interval-end = lv_dat_aux-1。

   追加lw_interval至lt_interval。

 ENDDO。

 

闻人可可
4楼-- · 2020-09-15 08:34

Matthew是正确的,您应该编写自己的FM。 您可以尝试下面的代码。

IV_PARAM_BEGIN和IV_PARAM_END应该是功能模块的导入参数。

 TYPES:类型为y_period,
          TYPE类型的开始日期,
          终止日期TYPE数据,
        结束于y_period。

 数据:lw_period TYPE y_period,
       lt_period y_period的类型表。

 数据:iv_param_begin TYPE基准值" 20171101",
       iv_param_end TYPE基准值" 20180331"。

 lw_period-begindate = iv_param_begin(6)&&'01'。

 lw_period-begindate LT iv_param_end。
   通话功能" FKK_LAST_DAY_OF_MONTH"
     出口
       day_in = lw_period-begindate
     输入
       last_day_of_month = lw_period-enddate。

   追加lw_period到lt_period。
lw_period-begindate = lw_period-enddate + 1。 结束。

一周热门 更多>