Chinaunix首页 | 论坛 | 博客
  • 博客访问: 127177
  • 博文数量: 45
  • 博客积分: 985
  • 博客等级: 准尉
  • 技术积分: 488
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-09 16:01
文章分类
文章存档

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。

于是程序运行如下:

点击日期控件旁边的小按钮:



点击时间控件的小按钮:



阅读(1121) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~