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             返回一週的第一天

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/zhouxu841023/archive/2010/11/18/6017281.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章