检查两次之间的时间

2020-08-20 22:54发布

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

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


嗨;

我需要知道时间是否介于两次之间。例如:

如果01:00在18:00至07:00之间。

我应该怎么做?有什么功能吗?

字段时间为TIMS。

非常感谢您!

大卫

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

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


嗨;

我需要知道时间是否介于两次之间。例如:

如果01:00在18:00至07:00之间。

我应该怎么做?有什么功能吗?

字段时间为TIMS。

非常感谢您!

大卫

付费偷看设置
发送
5条回答
蓋茨
1楼-- · 2020-08-20 23:14

大卫,您好,

检查以下功能模块:

SD_CALC_DURATION_FROM_DATETIME:查找两个日期/时间之间的时差并以小时为单位报告时差

L_MC_TIME_DIFFERENCE:查找两个日期/时间之间的时差

此致

钱德拉·塞卡(Chandra Sekhar)

浮生未央
2楼-- · 2020-08-20 23:14

>,如果介于1800到0600和它的2300之间?

有一天的更改,因此在这种情况下会失败,正如我在何时建议的那样 您在考虑时间,还必须考虑日期。 否则,您将得到错误的结果。

用1800到2400进行检查,当前时间是2300

。 您还必须注意更改日期。

jovirus
3楼-- · 2020-08-20 23:14

此消息已被审核。

梦想连接
4楼-- · 2020-08-20 23:24

感谢您的回答,最好的解决方案是时间比较,很好的工作。/p>

风早神人
5楼-- · 2020-08-20 23:13

您好

我知道这个问题确实很老,但是我想回答这个问题,因为我有相同的问题和答案。 我在SAP中找到此代码,以检查中断是否在时间间隔内。

参数:
   beguz TYPE dienst_von,
   enduz TYPE dienst_bis,
   pabeg TYPE pdbeg,
   挂起TYPE pdend。

 数据:m_pabeg(5),
       m_paend(5),
       m_beguz(5),
       m_enduz(5),
       time24(6)VALUE'240000',
       char_time(6),
       char_pabeg(6),
       char_paend(6),
       char_beguz(6),
       char_enduz(6),
       num_pabeg(6)TYPE n,
       num_paend(6)TYPE n,
       num_beguz(6)TYPE n,
       num_enduz(6)类型n。
 数据rv_subrc类似于sy-subrc。

 选择开始。

   清除rv_subrc。

 *转换为计算时间:
   char_pabeg = pabeg。
   如果paend <= pabeg或
      佩恩
     char_time =暂停。
     char_paend = char_time + time24。
   其他。
     char_paend =暂停。
   万一。
   char_beguz = beguz。
   如果enduz <= beguz。
     char_time = enduz。
     char_enduz = char_time + time24。
   其他。
     char_enduz = enduz。
   万一。
   如果pabeg  num_enduz。
 *中断是在时间间隔结束之后:
       消息"时间间隔结束后中断。" 输入" I"。

       rv_subrc = 4。
     万一。
   万一。
   如果num_pabeg> = num_beguz。
 *中断开始或直接在该时间间隔开始:
     如果num_paend <= num_enduz。
 *休息时间间隔->确定!!!
       消息"在时间间隔内断裂->确定!!!" 输入" I"。

       清除rv_subrc。
     万一。
     如果num_paend> num_enduz。
 *中断结束时间隔时间:
       MESSAGE'Break缩短了最后的时间间隔:'TYPE'I'。
       rv_subrc = 4。
     万一。
   万一。
   如果num_pabeg> num_enduz。
 *完全在时间间隔后中断:
     信息"断裂完全在时间间隔之后"类型" I"。

     rv_subrc = 4。
   ENDIF。

最诚挚的问候

易卜拉欣

一周热门 更多>