2011年(45)
分类: 数据库开发技术
2011-08-28 17:53:54
在开发的过程中经常要用到日期和时间,这个东西自然不能让用户纯手工KEY入,要是能有办法进行选择就好了。
1、日期选择器:
首先SE38新建程序,SE51新建屏幕0100,画出如下控件:
日期控件属性页如下:
F4搜寻辅助的功能代码是:BU_DATE_CHAR
时间控件的属性页如下:
在屏幕的逻辑函数里,PAI需要添加如下代码:
PROCESS ON VALUE-REQUEST.
FIELD TIME1 MODULE CHOOSE_TIME1.
PROCESS ON VALUE-REQUEST. 代表拥有F4功能,因为时间控件的F4属性没有设置,故需要此代码。
主程序声明变量如下:
DATA:TIME1(8) TYPE C,
DATE1 TYPE D.
在SE38里,CHOOSE_TIME1的代码如下:
MODULE CHOOSE_TIME1 INPUT.
CALL FUNCTION 'HELP_VALUES_GET'
EXPORTING
* DISPLAY = ' '
FIELDNAME = 'LASTSTRTTM'
* INPUT_VALUE = ' '
TABNAME = 'BTCH1010'
* SHOW_ALL_VALUES_AT_FIRST_TIME = ' '
IMPORTING
SELECT_VALUE = TIME1
* SELECT_INDEX =
* EXCEPTIONS
* NO_HELP_FOR_FIELD = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " CHOOSE_TIME1 INPUT
SELECT_VALUE 是要在哪个控件上放置此F4功能。这里自然是TIME1。
于是程序运行如下:
点击日期控件旁边的小按钮:
点击时间控件的小按钮: