• ABAP 日期函数


    一 财务期间处理 T_CODE: OB29

     **取 公司年度变式, 和 货币
      SELECT SINGLE waers periv FROM t001
            INTO (v_waers,v_periv)
            WHERE bukrs = 'HL01'.

    **取当前日期所在的财务期间年月
      CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
        EXPORTING
          i_date  = sy-datum
          i_periv = v_periv
        IMPORTING
          e_buper = p_emonth
          e_gjahr = p_gjahr.

    ** 根据会计期间得到月初日期

      CALL FUNCTION 'FIRST_DAY_IN_PERIOD_GET'
        EXPORTING
          i_gjahr              = p_gjahr
           i_periv              = v_periv
          i_poper              = p_emonth
       IMPORTING
         e_date               = v_fr_date
       EXCEPTIONS
         input_false          = 1
         t009_notfound        = 2
         t009b_notfound       = 3
         OTHERS               = 4
                .

     ***根据会计期间得到月末日期

      CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'                 "取本月最后一天
        EXPORTING
          i_gjahr = p_gjahr                                     "会计年度
          i_periv = v_periv                                     "会计年度变式K4
          i_poper = p_emonth                                    "期间(3位N)''
        IMPORTING
          e_date  = v_to_date.

    二 工厂日历处理

        DATA:dat LIKE sy-datum.

    **jhzqmax 是最大间隔日期

      dat = sy-datum .

     WHILE i <= jhzqmax.
            i = i + 1 .
            dat =   dat  +  1.
    *--------------工厂日历的日期---------------------
            CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
              EXPORTING
                date                = dat
                factory_calendar_id = 'CN'
              IMPORTING
                date                = dat.
          ENDWHILE.
    **dat 的结果是推算出 当前日日期dat隔jhzqmax个工作日后的日期。

    三 普通日期处理

     日期 加减
              

              CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'

                  EXPORTING

                    DATE            = in_date

                    DAYS            = 5

                    MONTHS          = 0

                    SIGNUM          = '+'

                    YEARS           = 0

                  IMPORTING

                    CALC_DATE       = out_date

    四 ,日期函数汇总

    SCA1                           日期:转换
    这个函数组里主要是一些转换例程,平时大概用到的机会不多。
    BUFFER_CONTROL_SCA1
    CONVERSION_EXIT_IDATE_INPUT    External date INPUT conversion exit (e.g. 01JAN1994)
    CONVERSION_EXIT_IDATE_OUTPUT   External date OUTPUT conversion exit (e.g. 01JAN1994)
    CONVERSION_EXIT_LDATE_OUTPUT   Internal date OUTPUT conversion exit (e.g. YYYYMMDD)
    CONVERSION_EXIT_SDATE_INPUT    External date (e.g. 01.JAN.1994) INPUT conversion exit
    CONVERSION_EXIT_SDATE_OUTPUT   Internal date OUTPUT conversion exit (e.g. YYYYMMDD)
    CONVERT_DATE_TO_EXTERNAL       Conversion: Internal to external date (like screen conversion)
    CONVERT_DATE_TO_INTERNAL       Conversion: External to internal date (like screen conversion)
    CONV_EXIT_LDATE_OUTPUT_LANGU   Internal date OUTPUT conversion exit (e.g. YYYYMMDD)

    SCA2                           日历:附加功能
    CALENDAR_VISUAL_INFORMATION
    CALENDAR_VISUAL_INFORMATION_2
    CALENDAR_VISUAL_NEW_SELECTION
    CALENDAR_VISUAL_PRESENTATION   visual calendar display (like calendar page)(这个函数可以显示一个带有工具栏的 LIST 形式的日历,当作弹出窗口应该不错。)
    CALENDAR_VISUAL_PRESENTATION_2

    SCA3                           日历:弹出
    POPUP_TO_SELECT_MONTH          Popup to choose a month(弹出一个选择年度和月份的对话框,返回选择的年月,选择范围为指定年度的前后50年)

    SCA4                           日历:时间(日期/时间)
    DURATION_DETERMINE             Calendar: Determine duration between two times
    END_TIME_DETERMINE             Calendar: Determine end date and time
    START_TIME_DETERMINE           Calendar: Determine start date and time

    SCA5                           Calendar: Additional functions
    这个函数组中的函数作用应该比较丰富
    DAY_ATTRIBUTES_GET(获得日期的属性)
    DAY_NAMES_GET(获得一周内每天的特定语言的名称)
    FACTORY_CALENDAR_ATTRIBUTE_GET Calendar: Get Factory Calendar Attributes (Table TFACD)
    FACTORY_CALENDAR_GET(获得所有工厂日历)
    HOLIDAY_CALENDAR_GET(获得所有假期日历)
    HOLIDAY_GET(查询某个指定工厂日历、假期日历下,两个日期间的所有假日。)
    MONTH_NAMES_GET(获得每个月的特定语言的名称)

    SCA6                           Periodic appointments
    PERIOD_DIALOG(显示一个期间选择的对话框,其中第一个参数,处理模式有下列可能值:‘I’,插入;‘D’,删除;‘U’,更新指定日期;‘A’,更新全部日期;‘S’,显示。)
    PERIOD_DISPLAY_DATES           Display Appointments of a Periodic Appointment
    WEEKDAY_GET                    Calendar: Get day of the week
    WEEKNR_GET                     Calendar: Fetch Week Number

    SCAC                           Calendar: Controls
    F4_DATE_CONTROL                Display factory calendar or Gregor. calendar and choose a day(这就是我们经常看到的标准 F4 日期选择的弹出窗口。)

    SCAL                           日历功能
    DATE_COMPUTE_DAY               根据日期返回的星期值
    DATE_COMPUTE_DAY_ENHANCED
    DATE_CONVERT_TO_FACTORYDATE    根据日期返回工厂日历日期
    DATE_GET_WEEK                  返回某日期所在的礼拜
    EASTER_GET_DATE                返回一个年度的复活节日期(复活节,复活节星期日)
    FACTORYDATE_CONVERT_TO_DATE    根据一个工厂日历日期返回的日期
    HOLIDAY_CHECK_AND_GET_INFO     检查日期是否是公共假日并在需要时提供信息
    LAST_FACTORYDATE_GET           Calendar function: Return last factory date for a factory calendar
    WEEK_GET_FIRST_DAY             返回一周的第一天

  • 相关阅读:
    jQuery学习之过滤选择器
    ASP.net WebAPI 上传图片
    Mono for Android 显示远程图片
    C#引用非托管.dll
    c# 反射
    storyboard 中tableview 中的cell 手动更改高度 报错的解决办法。
    我也来开了博客记录我的开发之路
    openlayers点击地图图标,图标跳动 动画Demo实现 (复制内容至html文件可查看效果)
    element 分页多选表格换页时保留勾选数据---reverse-selection
    表单输入不显示,input弹窗选择不带回,角色不同样式差异等问题,可能的思路
  • 原文地址:https://www.cnblogs.com/qlp1982/p/3477801.html
Copyright © 2020-2023  润新知