您的位置:首页 > 其它

SAP 日常開發需要用到的函數

2015-07-21 17:13 211 查看
'POPUP_TO_DECIDE_LIST'函数测试

CALLFUNCTION'POPUP_TO_DECIDE_LIST'

EXPORTING

*CURSORLINE=0

MARK_FLAG='X'

MARK_MAX=10

START_COL=2

START_ROW=2

TEXTLINE1='選擇√可以保存,選擇×不能保存'

*TEXTLINE2=''

*TEXTLINE3=''

TITEL='TecoCloseConfirm'

DISPLAY_ONLY='1'

IMPORTING

ANSWER=LS_ANSWER

TABLES

T_SPOPLI=LT_SPOPLI

EXCEPTIONS

NOT_ENOUGH_ANSWERS=1

TOO_MUCH_ANSWERS=2

TOO_MUCH_MARKS=3

OTHERS=4.



1、获得最后一天
CALLFUNCTION'FIMA_DATE_CREATE'
EXPORTING
I_DATE=I_DATE"输入日期。sy-datum类型如:‘20110402’。
I_FLG_END_OF_MONTH=''
I_YEARS=2"两年后的日期时间,既sy-datum的年加2所得日期,可为负数,表示前两年
I_MONTHS=1"一个月后的日期。既sy-datum的月加1所得日期,可为负数,表示前一个月
I_DAYS=23"23天后的日期。可为负数,表示23天前的日期
I_CALENDAR_DAYS=10"10天后的日历。同I_DAYS参数。
I_SET_LAST_DAY_OF_MONTH='X'"返回的日期为当前月份的最后一天
IMPORTING
E_DATE=E_DATE"返回的日期。如果I_DAYS和I_CALENDAR_DAYS都设置,则天数累加
E_FLG_END_OF_MONTH=FLAG"如果输入参数I_SET_LAST_DAY_OF_MONTH设置'X'了,则返回值为'X'。
E_DAYS_OF_I_DATE=DAY."返回输入日期的‘日’字段与I_DAYS字段的和。本例子为:25

2、获得周数
DATAWEEKLIKESCAL-WEEK.
CALLFUNCTION'DATE_GET_WEEK'
EXPORTING
DATE=SY-DATUM”输入日期,如:‘20110402’
IMPORTING
WEEK=WEEK.“返回输入日期为该年第几周。如:‘201113’。表示为2011年的第13周。

3、获得某周的第一天日期
DATADATELIKESCAL-DATE.
CALLFUNCTION'WEEK_GET_FIRST_DAY'
EXPORTING
WEEK='201113'"表示2011年的第13周
IMPORTING
DATE=DATE."返回的DATE值为20110328,既2011年第13周的第一天是3月28日。

4、得到输入日期N个月前/后的日期
4.1返回指定月以前的日期
CALLFUNCTION'CCM_GO_BACK_MONTHS'
EXPORTING
CURRDATE=sy-datum
BACKMONTHS=6
IMPORTING
NEWDATE=DATE.
4.2返回指定年,月,日以前或以后的日期.年月日得加减
CALLFUNCTION'RP_CALC_DATE_IN_INTERVAL'
EXPORTING
DATE=sy-datum
DAYS=10
MONTHS=5
SIGNUM='+'"取值为‘+’或‘-’
YEARS=1
IMPORTING
CALC_DATE=date.

5、返回两个日期之间的年数、月数、天数
CALLFUNCTION'FIMA_DAYS_AND_MONTHS_AND_YEARS'
EXPORTING
I_DATE_FROM='20110402'
*I_KEY_DAY_FROM=
I_DATE_TO='20110522'
*I_KEY_DAY_TO=
*I_FLG_SEPARATE=''
IMPORTING
E_DAYS=E_DAYS"值为50
E_MONTHS=E_MONTHS"值为2
E_YEARS=E_YEARS."值为1

6、获取输入日期月份的最后一天
BKK_GET_MONTH_LASTDAY
EXPORTING
I_DATE='20110403'
IMPORTING
E_DATE=E_DATE."E_DATE='20110430'

7、日期有效性检查
DATE_CHECK_PLAUSIBILITY

8、获得所有的月份信息
DATAMONTH_NAMESLIKET247OCCURS0.
CALLFUNCTION'MONTH_NAMES_GET'
EXPORTING
LANGUAGE=SY-LANGU
*IMPORTING
*RETURN_CODE=
TABLES
MONTH_NAMES=MONTH_NAMES
*EXCEPTIONS
*MONTH_NAMES_NOT_FOUND=1
*OTHERS=2
.

9.弹出一个窗口显示一个日历允许用户选择一个日期
CALLFUNCTION'F4_DATE'
EXPORTING
DATE_FOR_FIRST_MONTH=SY-DATUM
DISPLAY='X'"如果为X则只显示日历窗口,而没有返回值
*FACTORY_CALENDAR_ID=''
*GREGORIAN_CALENDAR_FLAG=''
*HOLIDAY_CALENDAR_ID=''
*PROGNAME_FOR_FIRST_MONTH=''
IMPORTING
SELECT_DATE=“返回值为选择的日期
*SELECT_WEEK=
*SELECT_WEEK_BEGIN=
*SELECT_WEEK_END=
*EXCEPTIONS
*CALENDAR_BUFFER_NOT_LOADABLE=1
*DATE_AFTER_RANGE=2
*DATE_BEFORE_RANGE=3
*DATE_INVALID=4
*FACTORY_CALENDAR_NOT_FOUND=5
*HOLIDAY_CALENDAR_NOT_FOUND=6
*PARAMETER_CONFLICT=7
*OTHERS=8

10、获取一年的第几周和这个周一和周日的日期
FM:GET_WEEK_INFO_BASED_ON_DATE
输入参数值
DATE2008.01.09
输出参数值
WEEK200802<----2008年第二周
MONDAY2008.01.07<----这个周周一的日期
SUNDAY2008.01.13<----周日的日期

11、输入日期是星期几
FM:DAY_IN_WEEK
输入参数值
DATUM2008.01.09
输出参数值
WOTNR3<----2008-1-9为周三

12、弹窗选择时间
CALL'F4_CLOCK'
EXPORTING
START_TIME='15:18:20'或‘151820’"输入时可选的
DISPLAY=
IMPORTING
SELECTED_TIME=“返回选择的时间

13、年和月的选择窗口
DATAMONTHLIKEISELLIST-MONTH.
CALLFUNCTION'POPUP_TO_SELECT_MONTH'
EXPORTING
ACTUAL_MONTH=SY-DATUM+0(6)
*FACTORY_CALENDAR=''
*HOLIDAY_CALENDAR=''
LANGUAGE=SY-LANGU
START_COLUMN=8
START_ROW=5
IMPORTING
SELECTED_MONTH=MONTH"返回值为六位数字
*RETURN_CODE=
EXCEPTIONS
FACTORY_CALENDAR_NOT_FOUND=1
HOLIDAY_CALENDAR_NOT_FOUND=2
MONTH_NOT_FOUND=3
OTHERS=4.

14、获取周的信息
DATAWEEKDAYLIKET246OCCURS0.
CALLFUNCTION'WEEKDAY_GET'
*EXPORTING
*LANGUAGE=SY-LANGU
*IMPORTING
*RETURN_CODE=
TABLES
WEEKDAY=WEEKDAY
*EXCEPTIONS
*WEEKDAY_NOT_FOUND=1
*OTHERS=2

方法1:
FM:POPUP_TO_CONFIRM(标准对话弹出消息)
有三个按钮:YES-NO-CANL,可进行相应的逻辑判断
可设定标题,描述问题,不方便对文本进行换行等排版,不能改变弹出框大小。

方法2:
FM:POPUP_CONTINUE_YES_NO
有两个按钮:J-N(YES-NO),可进行相应的逻辑判断
可设定标题,最大只能小时两行文本,不方便对两行以上文本进行排版,不能改变弹出框大小。

方法3:
以内部数据,在文本编辑器中按行进行输出
FM:ADA_POPUP_WITH_TABLE(Popuptodisplayinternaltabledata)
可设定标题,能将很多数据,以text文本的方式,在弹出框中以text编辑器UI显示,只能控制弹出框显示位置,不能改变弹出框大小。

方法4:
FM:POPUP_WITH_TABLE_DISPLAY(将数据当做表格数据显示)
有两个按钮:选择-取消-(双击)
可设定标题,可将很多数据按行进行显示,并且还有选择功能,能够返回选中的行数,可以控制弹出框显示位置,可以改变弹出框大小

方法5:
FM:POPUP_WITH_TABLE_DISPLAY_OK
有两个按钮:选择-取消
跟函数POPUP_WITH_TABLE_DISPLAY很相似,但是没有选择功能,并且标题始终是‘Register’,不能改变。可以控制弹出框显示位置,可以改变弹出框大小
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: