ABAP 日期时间函数

时间:2023-03-10 00:17:57
ABAP 日期时间函数

HR_JP_MONTH_BEGIN_END_DATE

  CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'
EXPORTING
IV_DATE = ''
IMPORTING
EV_MONTH_BEGIN_DATE = ZBEGDA "2016.06.01
EV_MONTH_END_DATE = ZENDDA. "2016.06.30

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 = '' "输入日期
i_flg_end_of_month = ' '
i_years = "两年后的日期. 即输入日期的年加2所得日期,可为负数,表示前两年
i_months = "一个月后的日期.即输入日期的月加1所得日期,可为负数,表示前一个月
i_days = "23天后的日期。可为负数,表示23天前的日期
i_calendar_days = "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字段的和。

输出结果:

date:2016.03.31

flag:X

days:24

RP_CALC_DATE_IN_INTERVAL 函数

获取输入日期前、后的年、月、日

CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
date = '' "输入日期
days = "天数
months = "月数
signum = '+' "+号:表示 N天/月/年后的日期, -号:表示过去的日期
years = "年数
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 = '' "输入日期
IMPORTING
last_day_of_month = date "返回日期:20140131
EXCEPTIONS
day_in_no_date =
OTHERS = .

RP_LAST_DAY_OF_MONTHS

BKK_GET_MONTH_LASTDAY

F4_DATE 函数

为 F4 帮助显示日历,弹出日历对话框,供用户选择日期

DATA:l_date TYPE sy-datum.

  CALL FUNCTION 'F4_DATE'
EXPORTING
date_for_first_month = sy-datum
IMPORTING
select_date = l_date "用户选择后返回的日期
EXCEPTIONS
calendar_buffer_not_loadable =
date_after_range =
date_before_range =
date_invalid =
factory_calendar_not_found =
holiday_calendar_not_found =
parameter_conflict =
OTHERS = .

F4_CLOCK 函数

为 F4 帮助显示时间,弹出时间对话框,供用户选择时间

DATA: l_time TYPE sy-uzeit.

  CALL FUNCTION 'F4_CLOCK'
EXPORTING
start_time = sy-uzeit
display = ' '
IMPORTING
selected_time = l_time.

POPUP_TO_SELECT_MONTH 函数

为 F4 帮助显示月份:弹出选择年和月的对话框

PARAMETERS: p_year   TYPE mard-lfgja DEFAULT sy-datum+(),
p_month TYPE mard-lfmon. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_month. DATA: actual_month LIKE isellist-month,
selected_month LIKE isellist-month,
return_code TYPE sy-subrc. CONCATENATE p_year sy-datum+() INTO actual_month. CALL FUNCTION 'POPUP_TO_SELECT_MONTH'
EXPORTING
actual_month = actual_month "传入年份
factory_calendar = ' ' "工厂日历 ID
holiday_calendar = ' ' "假日日历 ID
language = sy-langu "当前系统语言
start_column = "弹出框屏幕位置
start_row = "弹出框屏幕位置
IMPORTING
selected_month = selected_month "返回用户输入月份
return_code = return_code "返回 sy-subrc
EXCEPTIONS
factory_calendar_not_found =
holiday_calendar_not_found =
month_not_found =
OTHERS = . IF return_code = . p_year = selected_month+().
p_month = selected_month+(). ENDIF.

POPUP_CALENDAR_SDB 函数

弹出选择周的对话框

DATA: begin_date TYPE sy-datum,
end_date TYPE sy-datum. CALL FUNCTION 'POPUP_CALENDAR_SDB'
EXPORTING
sel_day = 'X' "启用天 选择
sel_week = 'X' "启用周 选择
sel_month = 'X' "启用月 选择
sel_interval = 'X'
focus_day = sy-datum "默认选择日期
IMPORTING
begin_date = begin_date "返回选择周第一天
end_date = end_date. "返回选择周最后一天

GET_CURRENT_YEAR 函数

获得当前的财政年(Fiscal year)

DATA: currm TYPE bkpf-monat,
curry TYPE bkpf-gjahr,
prevm TYPE bkpf-monat,
prevy TYPE bkpf-gjahr. CALL FUNCTION 'GET_CURRENT_YEAR'
EXPORTING
bukrs = '' "输入公司代码
date = sy-datum "输入日期
IMPORTING
currm = currm "当前会计期间
curry = curry "当前会计年度
prevm = prevm "上期会计期间
prevy = prevy. "上期会计年度

http://www.sapjx.com/abap-datetime-function.html