lujiguo115 发表于 2015-9-17 13:13:48

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_TIME1INPUT
  SELECT_VALUE 是要在哪个控件上放置此F4功能。这里自然是TIME1。
  于是程序运行如下:

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

  点击时间控件的小按钮:

  

  
页: [1]
查看完整版本: SAP屏幕设计器专题:日期与时间(五)