*----------------------------
*時間差
*----------------------------
SD_DATETIME_DIFFERENCE
L_TO_TIME_DIFF
*----------------------------
*取當前時間
*----------------------------
GET TIME
GET RUN TIME FIELD (INT)
"計算時間差 --
convert time stamp t2 time zone sy-zonlo into date dat2 time tim2.
call function 'SWI_DURATION_DETERMINE'
exporting
start_date = dat1
end_date = dat2
start_time = tim1
end_time = tim2
importing
duration = runtime. "秒
call function 'MONI_TIME_CONVERT'
exporting
ld_duration = runtime
importing
lt_output_duration = outtime. "格式化爲 HH:MM:SS
*----------------------------
*日期
*----------------------------
*日期有效性
DATE_CHECK_PLAUSIBILITY
*根據日期返回工廠日曆日期:輸入三個參數,日期、工廠日曆版本和糾正選項,其中糾正選項爲“+”,
*則當輸入日期是休息日時,返回其後的第一個工作日,糾正選項爲“-”,則當輸入日期時休息日時,返回其前最後一個工作日。
*輸出三個參數,日期、工廠日期和糾正結果,其中日期就是輸入值、工廠時期時計算獲得的日期、糾正結果的意義與糾正選項相同,
*但是如果輸入日期就是工作日,則糾正結果爲空。
DATE_CONVERT_TO_FACTORYDATE
*向指定的日期上增加若干個月,並返回結果日期
*如果 MONTHS 指定爲負數,則相當於在原始日期基礎上減去若干個月。
*如果 MONTHS 指定爲小數,則按照四捨五入的方法轉換成整數後再計算,不會把小數再轉換成天。
*對於日期爲月末的情況,該函數會自動轉換爲目標月的月末日期。
*例如,2008-03-31 加上一個月就是 2008-04-30,減去一個月就是 2008-02-29。
BKK_ADD_MONTH_TO_DATE
*獲得一個月的最後一天
RP_LAST_DAY_OF_MONTHS
LAST_DAY_OF_MONTHS
*上月最後一天
CALL FUNCTION 'FIMA_DATE_CREATE'
EXPORTING
i_date = sy-datum
i_months = '-1'
i_set_last_day_of_month = 'X'
IMPORTING
e_date = zdate3.
*檢查日期合法性
DATE_CHECK_PLAUSIBILITY
*判斷某天是否是假日
HOLIDAY_CHECK_AND_GET_INFO
*年月選擇
POPUP_TO_SELECT_MONTH
*內外碼轉換
CONVERT_DATE_TO_EXTERNAL
CONVERT_DATE_TO_INTERNAL
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
函數名稱 (內頁-點擊名稱可查看操作) 函數說明 備註
FIMA_DATE_CREATE
RP_CALC_DATE_IN_INTERVAL
獲取查詢日期前、後的年、月、日
LAST_DAY_OF_MONTHS
RP_LAST_DAY_OF_MONTHS
BKK_GET_MONTH_LASTDAY
獲取查詢日期最後一天的日期
CCM_GO_BACK_MONTHS 獲取查詢日期過去N月的日期
MONTH_PLUS_DETERMINE 獲取查詢日期未來N月的日期
DATE_GET_WEEK 獲取查詢日期該年的第幾周 輸出格式:YYYYWW
WEEK_GET_FIRST_DAY 獲取查詢週數的第一天
DAY_IN_WEEK 獲取查詢日期該天是星期幾
GET_WEEK_INFO_BASED_ON_DATE 獲取查詢日期該年的第幾周和這週週一、週日日期 周起始日是週一
HR_GBSSP_GET_WEEK_DATES 獲取查詢日期該年的第幾周和這週週一、週日日期,該天是周幾 周起始日是週日
DATE_CHECK_PLAUSIBILITY 檢查日期有效性 SY-SUBRC = 0 有效
TIME_CHECK_PLAUSIBILITY 檢查時間有效性 SY-SUBRC = 0 有效
HOLIDAY_CHECK_AND_GET_INFO 判斷某天是否是假日
CONVERT_DATE_TO_INTERNAL 將標準日期格式轉換爲數字格式
CONVERT_DATE_TO_EXTERNAL 將數字日期格式轉換爲系統日期格式
DATE_CONVERT_TO_FACTORYDATE 將查詢日期轉爲工廠日曆日期
HR_99S_INTERVAL_BETWEEN_DATES 獲取兩日期間的:天數、週數、月數、年數、期間月份開始截止日期
FIMA_DAYS_AND_MONTHS_AND_YEARS 計算兩日期之間間隔的天數
FIMA_DATE_COMPARE 比較兩個日期大小 返回:GT、EQ、LT等
SD_DATETIME_DIFFERENCE 兩日期的時間差
HRVE_CONVERT_TIME 時間:12/24小時制轉換
MONTH_NAMES_GET 獲取所有的月份名字
WEEKDAY_GET 獲取所有的星期名字
DAY_ATTRIBUTES_GET 查看日期屬性 包括:該日期是星期幾,第幾天(周2=2),是不是公共假期等 需要輸入國家日曆
F4_DATE 彈出日曆對話框,供用戶選擇日期
F4_CLOCK 彈出時間對話框,供用戶選擇時間
POPUP_TO_SELECT_MONTH 彈出選擇年和月的對話框
POPUP_CALENDAR_SDB 彈出選擇周的對話框
GET_CURRENT_YEAR 獲得當前的財政年(fiscal year)
FIRST_DAY_IN_PERIOD_GET 獲得期間首日
LAST_DAY_IN_PERIOD_GET 獲得期間末日
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
FIMA_DATE_CREATE 函數
獲取輸入日期前、後的年、月、日
DATA: date TYPE vtbbewe-dvalut,
flag TYPE trff_flg,
days TYPE trff_type_n_2.
CALL FUNCTION 'FIMA_DATE_CREATE'
EXPORTING
i_date = '20140101' "輸入日期
i_flg_end_of_month = ' '
i_years = 2 "兩年後的日期. 即輸入日期的年加2所得日期,可爲負數,表示前兩年
i_months = 1 "一個月後的日期.即輸入日期的月加1所得日期,可爲負數,表示前一個月
i_days = 23 "23天后的日期。可爲負數,表示23天前的日期
i_calendar_days = 10 "10天后的日曆。同I_DAYS參數。
i_set_last_day_of_month = 'X' "返回的日期爲當前月份的最後一天
IMPORTING
e_date = date "返回的日期爲當前月份的最後一天
e_flg_end_of_month = flag "如果輸入參數I_SET_LAST_DAY_OF_MONTH設置’X’了,則返回值爲’X’。
e_days_of_i_date = days. "返回輸入日期的i_calendar_days字段與I_DAYS字段的和。
--------------------------------------------------------------------------------------------------------
RP_CALC_DATE_IN_INTERVAL 函數
獲取輸入日期前、後的年、月、日
DATA calc_date TYPE p0001-begda.
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = '20140101' "輸入日期
days = 10 "天數
months = 0 "月數
signum = '+' "+號:表示 N天/月/年後的日期, -號:表示過去的日期
years = 0 "年數
IMPORTING
calc_date = calc_date. "返回結果:10天后的日期(2014.01.11)
--------------------------------------------------------------------------------------------------------
LAST_DAY_OF_MONTHS 函數
獲取輸入日期最後一天的日期
DATA date TYPE sy-datum.
CALL FUNCTION 'LAST_DAY_OF_MONTHS'
EXPORTING
day_in = '20140101' "輸入日期
IMPORTING
last_day_of_month = date "返回日期:20140131
EXCEPTIONS
day_in_no_date = 1
OTHERS = 2.
--------------------------------------------------------------------------------------------------------
RP_LAST_DAY_OF_MONTHS 函數
獲取輸入日期最後一天的日期
DATA date TYPE sy-datum.
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
day_in = '20140101' "輸入日期
IMPORTING
last_day_of_month = date "返回日期:20140131
EXCEPTIONS
day_in_no_date = 1
OTHERS = 2.
--------------------------------------------------------------------------------------------------------
BKK_GET_MONTH_LASTDAY 函數
獲取輸入日期最後一天的日期
DATA date TYPE sy-datum.
CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
EXPORTING
i_date = '20140101' "輸入日期
IMPORTING
e_date = date. "返回日期:20140131
--------------------------------------------------------------------------------------------------------
CCM_GO_BACK_MONTHS 函數
獲取輸入日期過去N月的日期
DATA date TYPE sy-datum.
CALL FUNCTION 'CCM_GO_BACK_MONTHS'
EXPORTING
currdate = '20140101' "輸入日期
backmonths = 3 "過去月數
IMPORTING
newdate = date. "返回日期:20131001
--------------------------------------------------------------------------------------------------------
MONTH_PLUS_DETERMINE 函數
獲取輸入日期後來N月的日期
DATA date TYPE sy-datum.
CALL FUNCTION 'MONTH_PLUS_DETERMINE'
EXPORTING
months = 3
olddate = '20140101' "輸入日期
IMPORTING
newdate = date. "返回日期:20140401
--------------------------------------------------------------------------------------------------------
DATE_GET_WEEK 函數
獲取輸入日期該年的週數,輸出格式爲:YYYYWW。
DATA week TYPE scal-week.
CALL FUNCTION 'DATE_GET_WEEK'
EXPORTING
date = '20140101' "輸入日期
IMPORTING
week = week "返回週數:201401
EXCEPTIONS
date_invalid = 1
OTHERS = 2.
--------------------------------------------------------------------------------------------------------
WEEK_GET_FIRST_DAY 函數
獲取輸入週數的第一天
DATA date TYPE sy-datum.
CALL FUNCTION 'WEEK_GET_FIRST_DAY'
EXPORTING
week = '201401' "輸入周
IMPORTING
date = date "返回該周第一天(週一):2013.12.30
EXCEPTIONS
week_invalid = 1
OTHERS = 2.
--------------------------------------------------------------------------------------------------------
DAY_IN_WEEK 函數
獲取輸入日期該天是星期幾/周幾
DATA wotnr TYPE p.
CALL FUNCTION 'DAY_IN_WEEK'
EXPORTING
datum = '20140101' "輸入日期
IMPORTING
wotnr = wotnr. "返回:3 =》星期三/週三
--------------------------------------------------------------------------------------------------------
GET_WEEK_INFO_BASED_ON_DATE 函數
獲取輸入日期該年的週數和這週週一、週日日期(周起始日是週一)
DATA: week TYPE scal-week ,
monday TYPE sy-datum,
sunday TYPE sy-datum.
CALL FUNCTION 'GET_WEEK_INFO_BASED_ON_DATE'
EXPORTING
date = '20140101'
IMPORTING
week = week "返回週數:201401
monday = monday "返回週一日期:2013.12.30
sunday = sunday. "返回週日日期:2014.01.05
--------------------------------------------------------------------------------------------------------
HR_GBSSP_GET_WEEK_DATES 函數
獲取查詢日期該年的第幾周和這週週一、週日日期,該天是星期幾/周幾(周起始日是週日)
DATA: sunday TYPE sy-datum,
saturday TYPE sy-datum,
day_in_week TYPE i,
week_no TYPE p08_weekno.
CALL FUNCTION 'HR_GBSSP_GET_WEEK_DATES'
EXPORTING
p_pdate = '20140101' "輸入日期
IMPORTING
p_sunday = sunday "返回本週開始日期(週日):2013.12.29
p_saturday = saturday "返回本週結束日期(週六):2014.01.04
p_day_in_week = day_in_week "返回該日星期幾/周幾: 4 => 星期三/週三
"(這週中的第4天,由於開始日期是週日,故需要-1)
p_week_no = week_no. "返回本週開始日期的週數:201352
--------------------------------------------------------------------------------------------------------
HOLIDAY_CHECK_AND_GET_INFO 函數
判斷某天是否是假日
DATA holiday TYPE c.
DATA attributes TYPE SORTED TABLE OF thol.
CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
EXPORTING
date = '20140201' "輸入日期:春節
holiday_calendar_id = 'ZS' "假日日曆 ID
with_holiday_attributes = ' ' "屬性標識
IMPORTING
holiday_found = holiday "輸出是否爲假日的標記 輸出結果:X
TABLES
holiday_attributes = attributes "輸出該假日的屬性
"若WITH_HOLIDAY_ATTRIBUTES參數 = X,則會帶出屬性記錄
EXCEPTIONS
calendar_buffer_not_loadable = 1
date_after_range = 2
date_before_range = 3
date_invalid = 4
holiday_calendar_id_missing = 5
holiday_calendar_not_found = 6
OTHERS = 7.
--------------------------------------------------------------------------------------------------------
CONVERT_DATE_TO_INTERNAL 函數
將標準日期格式轉換爲內部數字格式
日期的格式與用戶參數有關,轉化爲內部數字格式時,都爲:YYYYMMDD.
DATA date TYPE sy-datum.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
date_external = '2014.01.01' "當前用戶日期格式:YYYY.MM.DD
accept_initial_date = ' '
IMPORTING
date_internal = date "輸出20140101
EXCEPTIONS
date_external_is_invalid = 1
OTHERS = 2.
--------------------------------------------------------------------------------------------------------
CONVERT_DATE_TO_EXTERNAL 函數
將內部數字日期格式轉換爲系統日期格式
系統日期格式輸出時,與用戶參數設置有關
DATA date2(10) TYPE c.
CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
EXPORTING
date_internal = '20140101'
IMPORTING
date_external = date2 "根據用戶日期格式參數輸出:YYYY.MM.DD
EXCEPTIONS
date_internal_is_invalid = 1
OTHERS = 2.
--------------------------------------------------------------------------------------------------------
DATE_CONVERT_TO_FACTORYDATE 函數
根據日期返回工廠日曆日期
DATA: date TYPE scal-date,
factorydate TYPE facdate,
workingday TYPE scal-indicator.
CALL FUNCTION 'DATE_CONVERT_TO_FACTORYDATE'
EXPORTING
correct_option = '+' "表示工作日計算方式的標記
date = '20140101' "必須轉換的日期
factory_calendar_id = 'ZS' "工廠日曆ID
IMPORTING
date = date "工廠日曆日期
factorydate = factorydate "指定日曆中的工作日數
workingday_indicator = workingday "表示某日期是否爲工作日的標誌
EXCEPTIONS
calendar_buffer_not_loadable = 1
correct_option_invalid = 2
date_after_range = 3
date_before_range = 4
date_invalid = 5
factory_calendar_not_found = 6
OTHERS = 7.
--------------------------------------------------------------------------------------------------------
HR_99S_INTERVAL_BETWEEN_DATES 函數
獲取兩個日期期間的:天數、週數、月數、年數;
包括期間月份的開始(月份第一天日期)、截止日期(月份最後一天日期)
TYPE-POOLS: p99sg.
DATA: days TYPE i,
weeks TYPE i,
months TYPE i,
years TYPE i.
DATA: month_tab TYPE STANDARD TABLE OF p99sg_month_tab_row.
CALL FUNCTION 'HR_99S_INTERVAL_BETWEEN_DATES'
EXPORTING
begda = '20130101' "開始日期
endda = '20140101' "截止日期
IMPORTING
days = days "返回天數:266
c_weeks = weeks "返回週數:52
c_months = months "返回月數:12
c_years = years "返回年數:1
month_tab = month_tab. "期間月份首尾日
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------
日期時間 FUNCTION
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.