zoukankan      html  css  js  c++  java
  • ABAP函数篇1 日期函数

    • 1. 日期格式字段检查

    data:l_date type ekko-bedat.

    l_date = '20080901'.

    CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'

      EXPORTING

        DATE                            = l_date

     EXCEPTIONS

       PLAUSIBILITY_CHECK_FAILED       = 1

       OTHERS                          = 2

              .

    IF SY-SUBRC <> 0.

     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

    ENDIF.

    • 2.查询两个日期间的日间间隔

      CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'

        EXPORTING

          I_DATE_FROM          = '20080101'

    *     I_KEY_DAY_FROM  =

          I_DATE_TO                = '20090508'

    *     I_KEY_DAY_TO        =

    *     I_FLG_SEPARATE   = ' '

       IMPORTING

    *     E_DAYS                 =

         E_MONTHS            = T_MOTH

    *     E_YEARS              =

                .

    • 3.查询某月的最后一天

     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.

    说明:输入一个日期,函数返回该日期所在月的最后一天的日期。

    **计算某日期的第一天

    DATA:  T_DATE TYPE DATE VALUE '20100810'.

    T_DATE+6(2) = 01.

    说明:将日期的天位置一,即为当月第一天。

    • 4.根据日期计算另一个日期

    CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'

       EXPORTING

          DATE            = LSTDAY

          DAYS            = 1

          MONTHS          = 0

          SIGNUM          = '+'

          YEARS           = 0

       IMPORTING

          CALC_DATE       = FSTDAY_NMTH.

    说明:输入一个日期,输入间隔的天、月、年,输入运算符,函数返回计算出的日期。

    • 5.根据当前时间如何找到上月的第一天和最后一天? 

    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是上月第一天 

    • 6.获取两日期之间相距的天数 : 

    FIMA_DAYS_AND_MONTHS_AND_YEARS 

      DATA: zdays TYPE i.

          CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
            EXPORTING
              i_date_from    = tem-gltrp
              i_date_to      = sy-datum
              i_flg_separate ' '       "
            IMPORTING
              e_days         = zdays.
          zdays = zdays + 1.
          IF zdays <= 7.
            tem-sctime '1周以内'.
          ELSEIF zdays <= 30.
            tem-sctime '1个月以内'.
          ELSEIF zdays <= 90.
            tem-sctime '3个月以内'.
          ELSE.
            tem-sctime '3个月以上'.
          ENDIF

    • 7,将日期转换为工厂日历日期

    DATE_CONVERT_TO_FACTORYDATE  "根据日期返回工厂日历日期

        CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
          EXPORTING
            factory_calendar_id          = ydm07r-fabkl
            correct_option               = plus
            date                         = rkpf-rsdat
          IMPORTING
            factorydate                  = fdayf1
          EXCEPTIONS
            date_after_range             01
            date_before_range            02
            date_invalid                 03
            factory_calendar_not_found   04
            correct_option_invalid       05
            calendar_buffer_not_loadable 06.

    **MESSAGE ID M7

        CASE sy-subrc.
          WHEN 1.
            MESSAGE e523 WITH rkpf-rsdat.
          WHEN 2.
            MESSAGE e524 WITH rkpf-rsdat.
          WHEN 3.
            MESSAGE e525 WITH rkpf-rsdat.
          WHEN 4.
            MESSAGE e526 WITH ydm07r-fabkl.
          WHEN 5.
            MESSAGE e526 WITH ydm07r-fabkl.
          WHEN 6.
            MESSAGE e526 WITH ydm07r-fabkl.
        ENDCASE

    本人常年接收SAP运维和远程项目,ECC,S/4HANA,CRM,WDA. 

    人天可谈,终身售后 有活请联系V信:18925782767(问问题免费,欢迎交流!)

    本人常年接收SAP运维和远程项目,ECC,S/4HANA,CRM,WDA. 

    人天可谈,终身售后 有活请联系V信:18925782767(问问题免费,欢迎交流!)

    本人常年接收SAP运维和远程项目,ECC,S/4HANA,CRM,WDA. 

    人天可谈,终身售后 有活请联系V信:18925782767(问问题免费,欢迎交流!)

     

    你盯着我

     不关注

     不点赞

     不评论

    难道是想暗算我 ???

    卡忙on,用丘比特的箭暗算我吧!

    笔芯准备  I'm ready!!
    来不及解释了,快上车!!!

  • 相关阅读:
    mysql sql语句多表合并UNION ALL和UNION
    ajax向后台传递数组参数并将后台响应的数据赋值给一个变量供其它插件使用
    java web项目中后台控制层对参数进行自定义验证 类 Pattern
    java后台实体类设置默认值
    app连接线上数据库进行本地接口测试
    idea常用快捷键
    百度搜索小脚本
    有道翻译小脚本
    洛谷 P3275 [SCOI2011]糖果
    洛谷 P2048 BZOJ 2006 [NOI2010]超级钢琴
  • 原文地址:https://www.cnblogs.com/rainysblog/p/11986387.html
Copyright © 2011-2022 走看看