zoukankan      html  css  js  c++  java
  • 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             返回一周的第一天

  • 相关阅读:
    Creating a generic Web Parts for hosting ASP.NET User Controls
    Speed Up SQL Server Apps 提高SQL Server应用程序的运行效率 (Part 1)
    How to use CreateChildContorls method inherited from System.Web.UI.Control
    How to quickly access Web Part Management Page
    SQL Script tips for MS SQL Server
    How to enable single signon service on the SPS
    A brief summary of UML & Rational Rose – Use Case Diagram, Part II
    Borland Together for Visual Studio.Net V2.0 安装问题
    Speed Up SQL Server Apps 提高SQL Server应用程序的运行效率 (Part 2)
    体验ReSharper V1.0 for VS.Net 2003 Part I
  • 原文地址:https://www.cnblogs.com/qlp1982/p/3477801.html
Copyright © 2011-2022 走看看