为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > ABAP 日期时间函数

ABAP 日期时间函数

2018-03-22 19页 doc 49KB 18阅读

用户头像

is_633423

暂无简介

举报
ABAP 日期时间函数ABAP 日期时间函数 ABAP 日期时间函数收集: 函数名称 (内页-点击名称可 查看操作) FIMA_DATE_CREATE RP_CALC_DATE_IN_INTERVAL LAST_DAY_OF_MONTHS RP_LAST_DAY_OF_MONTHS BKK_GET_MONTH_LASTDAY CCM_GO_BACK_MONTHS 函数说明 备注 获取查询日期前、 后的年、月、日 获取查询日期最 后一天的日期 1 获取查询日期过 去 N 月的日期 获取查询日期 未来 N 月的日 期 MONTH_P...
ABAP 日期时间函数
ABAP 日期时间函数 ABAP 日期时间函数收集: 函数名称 (内页-点击名称可 查看操作) FIMA_DATE_CREATE RP_CALC_DATE_IN_INTERVAL LAST_DAY_OF_MONTHS RP_LAST_DAY_OF_MONTHS BKK_GET_MONTH_LASTDAY CCM_GO_BACK_MONTHS 函数说明 备注 获取查询日期前、 后的年、月、日 获取查询日期最 后一天的日期 1 获取查询日期过 去 N 月的日期 获取查询日期 未来 N 月的日 期 MONTH_PLUS_DETERMINE DATE_GET_WEEK 获取查询日期 该年的第几周 获取查询周数 的第一天 获取查询日期 该天是星期几 获取查询日期 该年的第几周 和这周周一、 周日日期 获取查询日期 该年的第几周 和这周周一、 周日日期,该 输出格式: YYYYWW WEEK_GET_FIRST_DAY DAY_IN_WEEK GET_WEEK_INFO_BASED_ON_DATE 周起始日是 周一 2 HR_GBSSP_GET_WEEK_DATES 周起始日是 周日 3 天是周几 DATE_CHECK_PLAUSIBILITY 检查日期有效 性 检查时间有效 性 判断某天是否 是假日 SY-SUBRC = 0 有效 SY-SUBRC = 0 有效 TIME_CHECK_PLAUSIBILITY HOLIDAY_CHECK_AND_GET_INFO CONVERT_DATE_TO_INTERNAL 将日期格 式转换为数字 格式 将数字日期格 式转换为系统 日期格式 将查询日期转 为工厂日历日 期 CONVERT_DATE_TO_EXTERNAL DATE_CONVERT_TO_FACTORYDATE 4 HR_99S_INTERVAL_BETWEEN_DATES 获取两日期间 的:天数、周 数、月数、年 数、期间月份 开始截止日期 计算两日期之 间间隔的天数 比较两个日期 大小 两日期的时间 差 时间:12/24 小时制转换 返回:GT、 EQ、LT 等 FIMA_DAYS_AND_MONTHS_AND_YEARS FIMA_DATE_COMPARE SD_DATETIME_DIFFERENCE HRVE_CONVERT_TIME 5 MONTH_NAMES_GET 获取所有的月 份名字 获取所有的星 期名字 查看日期属性 需要输入国 包括:该日期 家日历 是星期几,第 几天 (周 2=2) , 是不是公共假 期等 WEEKDAY_GET DAY_ATTRIBUTES_GET F4_DATE 弹出日历对话 框,供用户选 择日期 弹出时间对话 框,供用户选 择时间 F4_CLOCK POPUP_TO_SELECT_MONTH 弹出选择年和 月的对话框 弹出选择周的 对话框 POPUP_CALENDAR_SDB 6 GET_CURRENT_YEAR 获得当前的财 政年(fiscal year) 获得期间首日 获得期间末日 FIRST_DAY_IN_PERIOD_GET LAST_DAY_IN_PERIOD_GET 7 函数操作说明: FIMA_DATE_CREATE 函数 获取输入日期前、后的年、月、日 01DATA: date TYPE vtbbewe-dvalut, 02 flag TYPE trff_flg, 03 days TYPE trff_type_n_2. 04 05CALL FUNCTION 'FIMA_DATE_CREATE' 06 EXPORTING 07 i_date = '20140101' &输入日期 08 i_flg_end_of_month = ' ' 09 i_years = 2 &两年 后的日期. 即输 10入日期的年加 2 所得日期,可为负数, 示前两年 11 i_months = 1 &一个月后的日期.即输 12入 日期的月加 1 所得日期,可为负数,表示前一个月 13 i_days = 23 &23 天后的日期。可为 14负数,表示 23 天前 的日期 15 i_calendar_days = 10 &10 天后的日历。同 16I_DAYS 参数。 17 i_set_last_day_of_month = 'X' &返回的日期为当前月 份的最后一天 IMPORTING e_date = date &返回的日期为当前月 份的最 后一天 e_flg_end_of_month = flag &如果输入参数 I_SET_LAST_DAY_OF_MONTH 设置’X’了,则返回值 为’X’。 e_days_of_i_date = days. &返回输入日期的 i_calendar_days 字段与 I_DAYS 字段的和。 8 输出结果: date:2016.03.31 flag:X days:24 9 RP_CALC_DATE_IN_INTERVAL 函数 获取输入日期前、后的年、月、日 01DATA calc_date TYPE p0001-begda. 02 03CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL' 04 EXPORTING 05 date = '20140101' &输入日 期 06 days = 10 &天数 07 months = 0 &月数 08 signum = '+' &+号: 表示 N 天/月/年后的日期, 09-号: 表示过去的日期 10 years = 0 &年数 11 IMPORTING calc_date = calc_date. (2014.01.11) &返回结果:10 天后 的日期 LAST_DAY_OF_MONTHS 函数 获取输入日期最后一天的日期 01DATA date TYPE sy-datum. 02 03CALL FUNCTION 'LAST_DAY_OF_MONTHS' 04 EXPORTING 05 day_in = '20140101' 06 IMPORTING 07 last_day_of_month = date 08 EXCEPTIONS 09 day_in_no_date = 1 10 OTHERS = 2. 10 &输入日期 &返回日期:20140131 RP_LAST_DAY_OF_MONTHS 函数 11 获取输入日期最后一天的日期 01DATA date TYPE sy-datum. 02 03CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS' 04 EXPORTING 05 day_in = '20140101' &输入日期 06 IMPORTING 07 last_day_of_month = date &返回日期: 20140131 08 EXCEPTIONS 09 day_in_no_date = 1 10 OTHERS = 2. BKK_GET_MONTH_LASTDAY 函数 获取输入日期最后一天的日期 1DATA date TYPE sy-datum. 2 3CALL FUNCTION 'BKK_GET_MONTH_LASTDAY' 4 EXPORTING 5 i_date = '20140101' &输入日期 6 IMPORTING 7 e_date = date. &返回日期:20140131 CCM_GO_BACK_MONTHS 函数 获取输入日期过去 N 月的日期 12 1DATA date TYPE sy-datum. 2 3CALL FUNCTION 'CCM_GO_BACK_MONTHS' 4 EXPORTING 5 currdate = '20140101' &输入日期 6 backmonths = 3 &过去月数 7 IMPORTING 8 newdate = date. &返回日 期:20131001 13 MONTH_PLUS_DETERMINE 函数 获取输入日期后来 N 月的日期 1DATA date TYPE sy-datum. 2 3CALL FUNCTION 'MONTH_PLUS_DETERMINE' 4 EXPORTING 5 months = 3 6 olddate = '20140101' &输入日期 7 IMPORTING 8 newdate = date. &返回日期:20140401 DATE_GET_WEEK 函数 获取输入日期该年的周数,输出格式为:YYYYWW。 01DATA week TYPE scal-week. 02 03CALL FUNCTION 'DATE_GET_WEEK' 04 EXPORTING 05 date = '20140101' 06 IMPORTING 07 week = week 08 EXCEPTIONS 09 date_invalid = 1 10 OTHERS = 2. &输入日期 &返回周数:201401 WEEK_GET_FIRST_DAY 函数 14 获取输入周数的第一天 01DATA date TYPE sy-datum. 02 15 03CALL FUNCTION 'WEEK_GET_FIRST_DAY' 04 EXPORTING 05 week = '201401' &输入周 06 IMPORTING 07 date = date &返回该周第一天(周一): 082013.12.30 09 EXCEPTIONS 10 week_invalid = 1 OTHERS = 2. DAY_IN_WEEK 函数 获取输入日期该天是星期几/周几 1DATA wotnr TYPE p. 2 3CALL FUNCTION 'DAY_IN_WEEK' 4 EXPORTING 5 datum = '20140101' &输入日期 6 IMPORTING 7 wotnr = wotnr. &返回:3 =》星期三/周三 GET_WEEK_INFO_BASED_ON_DATE 函数 获取输入日期该年的周数和这周周一、周日日期(周起始 日是周一) 01DATA: week TYPE scal-week , 02 monday TYPE sy-datum, 03 sunday TYPE sy-datum. 04 05CALL 16 FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE' 06 EXPORTING 07 date = '20140101' 08 IMPORTING 09 week = week &返回周数:201401 10 monday = monday &返回周一日期:2013.12.30 11 sunday = sunday. &返回周日日期:2014.01.05 17 HR_GBSSP_GET_WEEK_DATES 函数 获取查询日期该年的第几周和这周周一、周日日期,该天 是星期几/周几(周起始日是周日) 01DATA: sunday TYPE sy-datum, 02 saturday TYPE sy-datum, 03 day_in_week TYPE i, 04 week_no TYPE p08_weekno. 05 06CALL FUNCTION 'HR_GBSSP_GET_WEEK_DATES' 07 EXPORTING 08 p_pdate = '20140101' &输入日 期 09 IMPORTING 10 p_sunday = sunday &返回本周开始 日期 (周日): 112013.12.29 12 p_saturday = saturday &返 回本周结束日期 (周六): 132014.01.04 14 p_day_in_week = day_in_week &返回该日星期几/周几: 4 = 星期三/周三 &(这周中的第 4 天,由于开 始日期是周日,故需要-1) p_week_no = week_no. 201352 &返回本周开始日期的周数: HOLIDAY_CHECK_AND_GET_INFO 函数 判断某天是否是假日 01DATA holiday TYPE c. 02DATA attributes TYPE 18 SORTED TABLE OF thol. 03 04CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO' 05 EXPORTING 06 date = '20140201' 07春节 08 holiday_calendar_id = 'ZS' 09ID 10 with_holiday_attributes = ' ' 11 IMPORTING 12 holiday_found = holiday &输入日期: &假日日历 &属性标识 &输出是否 19 13为假日的标记 输出结果:X 14 TABLES 15 holiday_attributes = attributes &输出该假 16日的属性 17 &若 18WITH_HOLIDAY_ATTRIBUTES 参数 = X,则会 带出属性记录 19 EXCEPTIONS 20 calendar_buffer_not_loadable = 1 21 date_after_range = 2 date_before_range = 3 date_invalid = 4 holiday_calendar_id_missing = 5 holiday_calendar_not_found = 6 OTHERS = 7. CONVERT_DATE_TO_INTERNAL 函数 将标准日期格式转换为内部数字格式 日期的格式与用户参数有关,转化为内部数字格式时,都 为:YYYYMMDD. 01DATA date TYPE sy-datum. 02 03CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL' 04 EXPORTING 05 date_external = '2014.01.01' &当前用户日期 06格式:YYYY.MM.DD 07 accept_initial_date = ' ' 08 IMPORTING 09 date_internal = date &输出 20140101 10 EXCEPTIONS 11 20 date_external_is_invalid = 1 OTHERS = 2. CONVERT_DATE_TO_EXTERNAL 函数 将内部数字日期格式转换为系统日期格式 21 系统日期格式输出时,与用户参数设置有关 01DATA date2(10) TYPE c. 02 03CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL' 04 EXPORTING 05 date_internal = '20140101' 06 IMPORTING 07 date_external = date2 &根据用户日期格式 08参数输出:YYYY.MM.DD 09 EXCEPTIONS 10 date_internal_is_invalid = 1 OTHERS = 2. DATE_CONVERT_TO_FACTORYDATE 函数 根据日期返回工厂日历日期 01DATA: date TYPE scal-date, 02 factorydate TYPE facdate, 03 workingday TYPE scal-indicator. 04 05CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE' 06 EXPORTING 07 correct_option = '+' 08作日计 算方式的标记 09 date = '20140101' 10换的日期 11 factory_calendar_id = 'ZS' 12历 ID 13 IMPORTING 14 date = date 15历日期 16 factorydate = factorydate 17历中的工作日数 18 workingday_indicator = 22 workingday 19日期是否为工作日的标志 20 EXCEPTIONS 21 calendar_buffer_not_loadable = 1 correct_option_invalid = 2 &表示工 &必须转 &工厂日 &工厂日 &指定日 &表示某 23 date_after_range date_before_range date_invalid factory_calendar_not_found OTHERS 输出结果: date: 20140102 factorydate: 1531 workingday: + = = = = = 3 4 5 6 7. HR_99S_INTERVAL_BETWEEN_DATES 函数 获取两个日期期间的:天数、周数、月数、年数; 包括期间月份的开始(月份第一天日期)、截止日期(月份 最后一天日期) 01TYPE-POOLS: p99sg. 02DATA: days TYPE i, 03 weeks TYPE i, 04 months TYPE i, 05 years TYPE i. 06 07DATA: month_tab TYPE STANDARD TABLE OF p99sg_month_tab_row. 08 09CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES' 10 EXPORTING 11 begda = '20130101' &开始日期 24 12 endda = '20140101' &截止日期 13 IMPORTING 14 days = days &返回天数:266 15 c_weeks = weeks &返回周数:52 16 c_months = months &返回月数: 12 17 c_years = years &返回年数:1 18 month_tab = month_tab. &期间月份首尾日 month_tab 内容明细: 25 FIMA_DAYS_AND_MONTHS_AND_YEARS 函数 计算两个日期期间的天数 01DATA: days TYPE i, 02 months TYPE i, 03 years TYPE i. 04 05CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS' 06 EXPORTING 07 i_date_from = '20130101' 08 i_date_to = '20141001' 09 i_flg_separate = ' ' &是否单独计算 若有标识,则返 10回两日期相差的 天数 11 IMPORTING 12 e_days = days &返回天数:638 13 e_months = months &返回月数:21 14 e_years = years. &返 回年数:2 15 16* 单独计算 17CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS' 18 EXPORTING 19 i_date_from = '20130101' 20 i_date_to = '20141001' 26 21 22 23 24 i_flg_separate = 'X' IMPORTING e_days e_months e_years = days = months = years. &标识 'X' &返回天数:0 &返回月数:9 &返 回年数:1 FIMA_DATE_COMPARE 函数 比较两个日期大小,返回结果是关系操作符:GT、EQ、 LT 01TYPE-POOLS trff . 02 03DATA log_op TYPE trff_type_c_2. 04 05CALL FUNCTION 'FIMA_DATE_COMPARE' 06 EXPORTING 07 i_flg_intraday = ' ' 08 i_date = '20140101' 09 i_time = '000000' 10 i_sincl = '0' 11 i_sult = '' 12 i_comp_date = '20140201' 13 i_comp_time = '000000' 14 i_comp_sincl = '0' 15 i_comp_sult = '' 16 IMPORTING 17 e_log_op = 27 log_op. &计算期间开始的排除标识 &计算期间开始的月末标识符 &比较日期 &比较时间 &计算期间结束的包含标识 &计算期间结束的月末标识符 &返回比较结果:LT SD_DATETIME_DIFFERENCE 函数 两个日期作差,即是两个日期相减,包括当天时间。 01DATA: datediff TYPE p, 02 timediff TYPE p, 03 earliest TYPE c. 04 05CALL FUNCTION 'SD_DATETIME_DIFFERENCE' 06 EXPORTING 28 07 date1 08 time1 09 date2 10 time2 11 IMPORTING 12 datediff 13 timediff 14 earliest 150-相等 2-正 16 EXCEPTIONS 17 invalid_datetime OTHERS = = = = '20140101' '240000' '20140101' '083000' &返回日期差:0 &返回时间差:16 &返回时间正负:2,1-负 = datediff = timediff = earliest = 1 = 2. HRVE_CONVERT_TIME 函数 12 小时制与 24 小时制的时间转换,例如:07:00:00 pm - 19:00:00。 01DATA: lv_in_time TYPE tims, 02 lv_out_time TYPE tims, 03 lv_am_pm TYPE c. 04lv_in_time = '060000'. 05CALL FUNCTION 29 'HRVE_CONVERT_TIME' 06 EXPORTING 07 type_time = 'B' A = 24 小时制 - 12 小时制 B 08= 12 小时制 - 24 小时制 09 input_time = lv_in_time 10 input_am_pm = 'PM' 11 IMPORTING 12 output_time = lv_out_time 13 output_am_pm = lv_am_pm 14 EXCEPTIONS 15 parameter_error = 1 16 OTHERS = 2. 17 18WRITE:/ | Input Time - { lv_in_time }|. 输出:060000 WRITE:/ |Output Time - { lv_out_time }|. 输出:180000 MONTH_NAMES_GET 函数 30 获取所有的月份名字信息 01DATA return_code TYPE sy-subrc. 02 03DATA month_names TYPE STANDARD TABLE OF t247. 04 05CALL FUNCTION 'MONTH_NAMES_GET' 06 EXPORTING 07 language = sy-langu &系统当前语言 08 IMPORTING 09 return_code = return_code &返回 SY-SUBRC 10 TABLES 11 month_names = month_names &返回月份信息 12 EXCEPTIONS 13 month_names_not_found = 1 14 OTHERS = 2. month_names 明细内容: WEEKDAY_GET 函数 获取所有的星期名字 31 01DATA return_code TYPE sy-subrc. 02 03DATA weekday TYPE STANDARD TABLE OF t246. 04 05CALL FUNCTION 'WEEKDAY_GET' 06 EXPORTING 07 language = sy-langu &系统当前语言 08 IMPORTING 09 return_code = return_code &返回 SY-SUBRC 10 TABLES 11 weekday = weekday &返回星期 名字信息 12 EXCEPTIONS 13 weekday_not_found = 1 14 OTHERS = 2. weekday 内容明细: DAY_ATTRIBUTES_GET 函数 查看日期属性 包括:该日期是星期几,第几天,是否公共 假期等; 公共假期等内容需要输入国家日历。 01DATA: year_of_valid_from TYPE scal-year, 02 year_of_valid_to TYPE scal-year, 03 return_code TYPE sy-subrc. 04 32 05DATA day_attributes TYPE STANDARD TABLE OF casdayattr. 06 07CALL FUNCTION 'DAY_ATTRIBUTES_GET' 08 EXPORTING 09 factory_calendar = ' ' &工厂日 10历 ID 11 holiday_calendar = ' ' &假期日 12历 ID 13 date_from = '20140101' &开始日 14期 15 date_to = '20140110' &截止日 16期 17 language = sy-langu &系统当 18前语言 19 non_iso = ' ' 20 IMPORTING 21 year_of_valid_from = year_of_valid_from 22 year_of_valid_to = year_of_valid_to 23 returncode = return_code 24 TABLES 25 day_attributes = day_attributes &返回日期 26每日属性 EXCEPTIONS factory_calendar_not_found = 1 holiday_calendar_not_found = 2 date_has_invalid_format = 3 date_inconsistency = 4 OTHERS = 5. day_attributes 内容明细: 33 F4_DATE 函数 为 F4 帮助显示日历,弹出日历对话框,供用户选择日期 01PARAMETERS:p1(6) TYPE c. 02 03AT SELECTION-SCREEN ON VALUE-REQUEST 04 05 DATA:l_date TYPE sy-datum. 06 07 CALL FUNCTION 'F4_DATE' 08 EXPORTING 09 date_for_first_month = 10 IMPORTING 11 select_date = 12后返回的日期 13 EXCEPTIONS 14 calendar_buffer_not_loadable = 15 date_after_range = 16 date_before_range = 17 date_invalid = 18 factory_calendar_not_found = 19 holiday_calendar_not_found = 20 parameter_conflict = OTHERS = 显示效果: FOR p1. sy-datum l_date &用户选择 1 2 3 4 5 6 7 8. 34 35 F4_CLOCK 函数 为 F4 帮助显示时间,弹出时间对话框,供用户选择时间 01PARAMETERS:p1(6) TYPE c. 02 03AT SELECTION-SCREEN ON VALUE-REQUEST FOR p1. 04 05 DATA: l_time TYPE sy-uzeit. 06 07 CALL FUNCTION 'F4_CLOCK' 08 EXPORTING 09 start_time = sy-uzeit 10 display = ' ' 11 IMPORTING 12 selected_time = l_time. 效果显示: 36 POPUP_TO_SELECT_MONTH 函数 为 F4 帮助显示月份:弹出选择年和月的对话框 01PARAMETERS: p_year TYPE mard-lfgja DEFAULT 02sy-datum+0(4), 03 p_month TYPE mard-lfmon. 04 05AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_month. 06 07 DATA: actual_month LIKE isellist-month, 08 selected_month LIKE isellist-month, 09 return_code TYPE sy-subrc. 10 11 CONCATENATE p_year sy-datum+4(2) INTO actual_month. 12 13 CALL FUNCTION 'POPUP_TO_SELECT_MONTH' 14 EXPORTING 15 actual_month = actual_month &传入年 16份 17 factory_calendar = ' ' &工厂日 18历 ID 19 holiday_calendar = ' ' &假日日 20历 ID 21 language = sy-langu &当前系 22统语言 23 start_column = 8 &弹出框 24屏幕位置 37 25 start_row 26屏幕位置 27 IMPORTING 28 selected_month 29户输入月份 30 return_code 31sy-subrc 32 EXCEPTIONS 33 factory_calendar_not_found 34 holiday_calendar_not_found month_not_found OTHERS IF return_code = 0. = 5 &弹出框 = selected_month &返回用 = return_code &返回 = = = = 1 2 3 4. p_year = selected_month+0(4). p_month = selected_month+4(2). ENDIF. 效果显示: POPUP_CALENDAR_SDB 函数 38 弹出选择周的对话框 01DATA: begin_date TYPE sy-datum, 02 end_date TYPE sy-datum. 03 04CALL FUNCTION 'POPUP_CALENDAR_SDB' 39 05 06 07 08 09 10 11 12 13 EXPORTING sel_day sel_week sel_month sel_interval focus_day IMPORTING begin_date end_date = = = = 'X' 'X' 'X' 'X' &启用天 选择 &启用周 选择 &启用月 选择 &默认选择 日期 = sy-datum = begin_date &返回选择周第一天 = end_date. &返回选择 周最后一天 效果显示: 40 GET_CURRENT_YEAR 函数 获得当前的财政年(Fiscal year) 01DATA: currm TYPE bkpf-monat, 02 curry TYPE bkpf-gjahr, 03 prevm TYPE bkpf-monat, 04 prevy TYPE bkpf-gjahr. 05 06CALL FUNCTION 'GET_CURRENT_YEAR' 07 EXPORTING 08 bukrs = '3010' &输入公司代码 09 date = sy-datum &输入日期 10 IMPORTING 11 currm = currm &当前会计期间 12 curry = curry &当前会计年度 13 prevm = prevm &上期会计期间 14 prevy = prevy. &上期会计年度 41 42
/
本文档为【ABAP 日期时间函数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索