Working days
form FRM_GET_WORKING_DAYS
TABLES pt_days
CHANGING pv_duration.
DATA:ls_xt001w TYPE t001w,
lv_sdate TYPE sy-datum,
lv_edate TYPE sy-datum.
* Get the factory calendar for specific plant
SELECT SINGLE * FROM t001w INTO ls_xt001w
WHERE werks IN s_plant. " Use your plant
* Set start date
CONCATENATE sy-datum+0(6) '01' INTO lv_sdate.
* End date
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = lv_sdate
days = 0
months = 1
signum = '+'
years = 0
IMPORTING
calc_date = lv_edate
EXCEPTIONS
OTHERS = 2.
* Get working days in between
CALL FUNCTION 'DURATION_DETERMINE'
EXPORTING
factory_calendar = ls_xt001w-fabkl
IMPORTING
duration = pv_duration " In days
CHANGING
start_date = lv_sdate
end_date = lv_edate
EXCEPTIONS
factory_calendar_not_found = 1
date_out_of_calendar_range = 2
date_not_valid = 3
unit_conversion_error = 4
si_unit_missing = 5
parameters_not_valid = 6
OTHERS = 7.
WHILE lv_sdate < lv_edate.
CALL FUNCTION 'DATE_CHECK_WORKINGDAY'
EXPORTING
date = lv_sdate
factory_calendar_id = ls_xt001w-fabkl
message_type = 'I'
EXCEPTIONS
DATE_AFTER_RANGE = 1
DATE_BEFORE_RANGE = 2
DATE_INVALID = 3
DATE_NO_WORKINGDAY = 4
FACTORY_CALENDAR_NOT_FOUND = 5
MESSAGE_TYPE_INVALID = 6
OTHERS = 7
.
IF sy-subrc eq 0.
append lv_sdate to pt_days.
ENDIF.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = lv_sdate
days = 1
months = 0
signum = '+'
years = 0
IMPORTING
calc_date = lv_sdate
EXCEPTIONS
OTHERS = 2.
ENDWHILE.
endform.
We can get working days easily by 'describe table lines ' of pt_days ,this is merely a demo of FM usage,not making an unnecessary move
随机推荐
- day 12
一,什么是装饰器? 装饰器本质上就是一个python函数,他可以让其他函数在不需要做任何代码变动的前提下,增加额外的功能,装饰器的返回值也是一个函数对象. 装饰器的应用场景:比如插入日志,性能测试,事 ...
- [C#]如何将 string 安全地转换为 int
当遇到string向int类型转换时会遇到以下问题: 1.字符串非数字格式 2.字符串描述的不是int型 3.转换后越界 这些情况都需要用try catch来捕获异常并处理 安全简单的转换可以用 In ...
- 黄聪:JS数学计算精度修正
问题描述 如果我问你,4330.61乘以100等于多少,我猜你肯定跟我说:“肯定是 433061”啊! 是啊,要我我也是这么回答,来来来我们来看看浏览器怎么说吧,如下图 浏览器告诉我,他就是算不对 ...
- Idea中重建maven模块,dependencies引入为空的解决办法
使用idea开发Maven项目时, Maven项目中有些模块被删除了,重新加入相同名字的模块时,dependencies为空 如下图 正常引进的项目,dependencies应如下 解决办法: ide ...
- 2013-7-30 802.1X企业级加密
今天做了U9510的企业级加密标杆测试,写了企业级加密标杆设备的操作指南.最后做到server 2003却出了问题,peap能关联,但是TLS怎么都关联不上.用adb shell查看logcat日志, ...
- Group Pathfinding & Movement in RTS Style Games
转自:http://gamasutra.com/blogs/AndrewErridge/20180522/318413/Group_Pathfinding__Movement_in_RTS_Style ...
- MyElipse10添加Git
1.下载对应MyEclipse的egit,教程用的是22.2的 http://wiki.eclipse.org/EGit/FAQ#Where_can_I_find_older_releases_of_ ...
- Vue中table表头合并的用法
<div class="panel-container"> <div> <table class="table-head" wid ...
- !!字体图标(iconfont、Fontello 、雪碧图生成工具。Glyphicons、fontawesome 等)。 图片压缩
http://www.iconfont.cn/ 阿里巴巴矢量图标库 iconfont http://fontawesome.io fontawesome图标 http://www.bootcss.c ...
- JavaScript 的基础学习(一)
JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.( ...