ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:18.37KB ,
资源ID:9583448      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9583448.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ABAP日期函数.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ABAP日期函数.docx

1、ABAP日期函数ABAP - 日期格式转换 & ABAP常用日期处理函数ABAP - 日期格式转换现在提供以下一些日期格式转换的函数;Below are several FMs which can be used to convert date format.1. CONVERSION_EXIT_IDATE_OUTPUT INPUT: 20080203 OUTPUT: 03FEB20082. CONVERT_DATE_TO_EXTERNAL INPUT: 20080203 OUTPUT: 02/03/2008 According to users default setting.3. CONV

2、ERT_DATE_TO_INTERNAL INPUT: 02/03/2008 Should be same as the users default setting OUPUT: 20080203We can also use following code to convert date format as per users default setting.(change date format as per users default setting)以下是自己写的FUN,标准的FUN是CONVERT_DATE_FORMAT,但不能满足我的需求,我们要求根据用户的个人数据设置日期格式来改变

3、日期的显示格式。SPAN font-family: Courier New; font-size: 10pt; color: #000000; background: #C7EDCC; .L1S31 font-style. italic; color: #808080; .L1S32 color: #3399FF; .L1S33 color: #4DA619; .L1S52 color: #0000FF; FUNCTIONZCONVERT_DATE_FORMAT.*-*Localinterface:*IMPORTING*REFERENCE(ZNAME)LIKEUSR01-BNAME*CHANG

4、ING*REFERENCE(ZDATE)TYPEC*-DATA:lv_datfmLIKEusr01-datfm,lv_year(4)TYPEc,lv_month(2)TYPEc,lv_day(2)TYPEc.*zdate=sy-datum.lv_year=zdate+0(4).lv_month=zdate+4(2).lv_day=zdate+6(2).SELECTdatfmINTOlv_datfmFROMusr01UPTO1ROWSWHEREbname=zname.ENDSELECT.IFsy-subrc=0.CLEARzdate.CASElv_datfm.WHEN1.CONCATENATEl

5、v_daylv_monthlv_yearINTOzdateSEPARATEDBY.WHEN2.CONCATENATElv_monthlv_daylv_yearINTOzdateSEPARATEDBY/.WHEN3.CONCATENATElv_monthlv_daylv_yearINTOzdateSEPARATEDBY-.WHEN4.CONCATENATElv_yearlv_monthlv_dayINTOzdateSEPARATEDBY.WHEN5.CONCATENATElv_yearlv_monthlv_dayINTOzdateSEPARATEDBY/.WHEN6.CONCATENATElv_

6、yearlv_monthlv_dayINTOzdateSEPARATEDBY-.ENDCASE.ELSE.CLEARzdate.CONCATENATElv_monthlv_daylv_yearINTOzdateSEPARATEDBY.ENDIF.ENDFUNCTION.ABAP常用日期处理函数ABAP中常用日期函数:一、查询两个日期间的日间间隔CALLFUNCTIONFIMA_DAYS_AND_MONTHS_AND_YEARSEXPORTINGI_DATE_FROM=20080101*I_KEY_DAY_FROM=I_DATE_TO =20090508*I_KEY_DAY_TO=*I_FLG_

7、SEPARATE =IMPORTING*E_DAYS =E_MONTHS=T_MOTH*E_YEARS=.说明:分别输入开始日期和结束日期,函数返回两个日期间隔的天数、月数、和年数。二、查询某月的最后一天CALL FUNCTION LAST_DAY_OF_MONTHS EXPORTING DAY_IN = FSTDAY_NMTH IMPORTING LAST_DAY_OF_MONTH = LSTDAY_NMTH EXCEPTIONS DAY_IN_NO_DATE = 1 OTHERS = 2.说明:输入一个日期,函数返回该日期所在月的最后一天的日期。三、根据日期计算另一个日期CALL FUNC

8、TION RP_CALC_DATE_IN_INTERVAL EXPORTING DATE = LSTDAY DAYS = 1 MONTHS = 0 SIGNUM = + YEARS = 0 IMPORTING CALC_DATE = FSTDAY_NMTH.说明:输入一个日期,输入间隔的天、月、年,输入运算符,函数返回计算出的日期。四、计算某日期的第一天DATA: T_DATE TYPE DATE VALUE 20100810.T_DATE+6(2) = 01.说明:将日期的天位置一,即为当月第一天。ABAP日期函数计算两个日期间的工作天数,就是剔除了双休日后的天数.( 待考证)DATE_CO

9、NVERT_TO_FACTORYDATEHR_HK_DIFF_BT_2_DATES根据当前时间如何找到上月的第一天和最后一天?CALL FUNCTION FIMA_DATE_CREATE EXPORTING I_DATE = SY-DATUM I_MONTHS = -1 I_SET_LAST_DAY_OF_MONTH = X IMPORTING E_DATE = LASTDATE.LASTDATE是上个月最后一天。FIRSTDAY是上月第一天CONCATENATE LASTDATE+(6) 01 INTO FIRSTDAY.。当天是当年的第几周DATE_GET_WEEK得到该周第一天WEEK_

10、GET_FIRST_DAY查找当前月份以前的月份(比如现在是4月份,如果我需要知道6个月之前是哪个月)CCM_GO_BACK_MONTHSRP_CALC_DATE_IN_INTERVAL获取两日期之间天数函数:FIMA_DAYS_AND_MONTHS_AND_YEARS取得当月的第一天和最后一天CONCATENATE sy-datum(6) 01 INTO so_date-low.CALL FUNCTION BKK_GET_MONTH_LASTDAY EXPORTING i_date = sy-datum IMPORTING e_date = so_date-high.so_date-sign

11、 = I. so_date-option = BT. APPEND so_date.RP_CALC_DATE_IN_INTERVAL 年月日加减DATE_CHECK_PLAUSIBILITY 日期有效性检查SD_DATETIME_DIFFERENCE 两日期作差DATE_CONVERT_TO_FACTORYDATE 把输入日期转为工厂日历日期MONTH_NAMES_GET 获得所有的月和名字F4_DATE 弹出一个窗口显示一个日历允许用户选择一个日期。RP_LAST_DAY_OF_MONTHS 获得一个月的最后一天FIRST_DAY_IN_PERIOD_GET 获得期间首日LAST_DAY_I

12、N_PERIOD_GET 获得期间末日DATE_GET_WEEK 返回一个日期所在的周数。CALL FUNCTION HR_99S_INTERVAL_BETWEEN_DATES获得两个日期的年数 EXPORTING begda = gdat endda = sy-datum IMPORTING c_years = l_age.关于星期(周)的函数FM:GET_WEEK_INFO_BASED_ON_DATE输入参数 值DATE 2008.01.09输出参数 值WEEK 200802 -2008年第二周MONDAY 2008.01.07 -这个周周一的日期SUNDAY 2008.01.13 -周日

13、的日期FM:DAY_IN_WEEK(输入日期是星期几)输入参数 值DATUM 2008.01.09输出参数 值WOTNR 3 -2008-1-9为周三*更多关于Week的函数请看Function Group:CADA*弹出选择周的对话框AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_week-low.PERFORM getweek CHANGING s_week-low.FORM getweek CHANGING p_week .DATA: begin_date TYPE d .CALL FUNCTION POPUP_CALENDAR_SDB EXPORT

14、ING sel_week = X focus_day = sy-datum IMPORTING begin_date = begin_date.CALL FUNCTION GET_WEEK_INFO_BASED_ON_DATE EXPORTING date = begin_date IMPORTING week = p_week.ENDFORM.F4_CLOCK 选择时间*需求:只有显示年月,但要有日期的search helpPARAMETERS:p1(6) TYPE c.AT SELECTION-SCREEN ON VALUE-REQUEST FOR p1. DATA:l_date TYPE

15、 sy-datum. CALL FUNCTION F4_DATE EXPORTING date_for_first_month = sy-datum IMPORTING select_date = l_date EXCEPTIONS calendar_buffer_not_loadable = 1 date_after_range = 2 date_before_range = 3 date_invalid = 4 factory_calendar_not_found = 5 holiday_calendar_not_found = 6 parameter_conflict = 7 OTHER

16、S = 8. IF sy-subrc 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. p1 = l_date+0(6).* check plausibilty of datesCALL FUNCTION DATE_CHECK_PLAUSIBILITY EXPORTING DATE = bkdf-dbbdt.TIME_CHECK_PLAUSIBILITY 判断是不是时间GET_CURRENT_YEAR得到当前的财政年(fiscal year)

17、察看某日期的属性,包括该日期是星期几,第几天(周2=2),是不是公共假期等,需要输入国家日历。DAY_ATTRIBUTES_GET判断某天是否是假日HOLIDAY_CHECK_AND_GET_INFOPOPUP_TO_SELECT_MONTH 月份选择窗口比较日期和时间TYPE-POOLS : TRFF .DATA : X_LOG_OP TYPE TRFF_TYPE_C_2 . CALL FUNCTION FIMA_DATE_COMPARE EXPORTING I_FLG_INTRADAY = X I_DATE = SY-DATUM I_TIME = SY-UZEIT I_COMP_DATE

18、= L_MODIFY-MODDATE I_COMP_TIME = L_MODIFY-MODTIME IMPORTING E_LOG_OP = X_LOG_OP.p_months = -4.前4月,如果为正,则是后面的日期CALL FUNCTION MONTH_PLUS_DETERMINE EXPORTING MONTHS = p_months OLDDATE = p_date IMPORTING NEWDATE = p_date.获得某个日期所在的周,获得某周的第一天。DATE_GET_WEEK 和 WEEK_GET_FIRST_DAYfunction date_get_week.*-*Lok

19、ale Schnittstelle:* IMPORTING* VALUE(DATE) LIKE SCAL-DATE* EXPORTING* VALUE(WEEK) LIKE SCAL-WEEK* EXCEPTIONS* DATE_INVALID*-函数模块作用:获得某个日期所在的周。function week_get_first_day.*-*Lokale Schnittstelle:* IMPORTING* VALUE(WEEK) LIKE SCAL-WEEK* EXPORTING* VALUE(DATE) LIKE SCAL-DATE* EXCEPTIONS* WEEK_INVALID*-

20、函数模块作用:获得某周的第一天。上述两个函数的功能已经包含在 HR_GBSSP_GET_WEEK_DATES 中了。从数据表中获得指定语言每周七天的名称,例如中文就是星期一、星期二星期日,英文就是Sunday、MondaySaturday。WEEKDAY_GETFUNCTION WEEKDAY_GET.*-*Lokale Schnittstelle:* IMPORTING* VALUE(LANGUAGE) LIKE SY-LANGU DEFAULT SY-LANGU* EXPORTING* VALUE(RETURN_CODE) LIKE SY-SUBRC* TABLES* WEEKDAY ST

21、RUCTURE T246* EXCEPTIONS* WEEKDAY_NOT_FOUND*-函数模块作用:从数据表中获得指定语言每周七天的名称,例如中文就是星期一、星期二星期日,英文就是Sunday、MondaySaturday。输入参数:LANGUAGE:指定语言代码,可以省略,如果不填就是当前登录语言。注意,在调用时如果指定某种特定语言,必须用一个字节的语言代码,例如中文是 1、英文是 E,而不能用 ZH、EN,语言代码参见表 T002。输出参数:RETURN_CODE:返回码,查询数据库获得的返回码。但是由于这个函数会抛出异常,因此返回码的作用不大。表:WEEKDAY:结构与透明表 T246 相同,用来存储返回给用户的周日名称。异常:WEEKDAY_NOT_FOUND:没有找到周日的描述。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1