一 財務期間處理 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