SAP屏幕设计器专题:日期与时间(五)

    在开发的过程中经常要用到日期和时间,这个东西自然不能让用户纯手工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。

于是程序运行如下:

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



点击时间控件的小按钮:



posted @ 2011-05-25 19:30  SAP梦心  阅读(2172)  评论(1编辑  收藏  举报
鄙视一切不懂技术又装懂的小人!