如何给屏幕字段(下拉框和输入框)用代码添加F4 search help

来源:互联网 发布:sql regexp replace 编辑:程序博客网 时间:2024/05/22 15:10

 有些时候我们可能要对屏幕上一些字段用代码写实现search help功能

下面用一个简单例子演示:

 

*&----------------------------------------------------------------*
*& Report ztest_pillar                                            *
*&----------------------------------------------------------------*

report ztest_pillar.

* Global Data

TYPES: BEGIN OF type_carrid,
         carrid TYPE spfli-carrid,
         carrname TYPE scarr-carrname,
       END OF type_carrid.

DATA itab_carrid TYPE STANDARD TABLE OF type_carrid.


* Selection Screen

parameters airline(2) type c.


*&---------------------------------------------------------------------*
*& Processing Blocks called by the Runtime Environment                 *
*&---------------------------------------------------------------------*

* Event Block AT SELECTION-SCREEN ON VALUE-REQUEST FOR

at selection-screen on value-request for airline.
  perform frm_f4_help.


* Form for generating F4 HELP for parameter AIRLINE

form FRM_F4_HELP .
  SELECT carrid carrname
                FROM scarr
                INTO CORRESPONDING FIELDS OF TABLE itab_carrid.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
            retfield        = 'CARRID' "指定要返回屏幕参数的在内表中的field
            value_org       = 'S' "S代表structure
            dynpprog = sy-repid "指定屏幕参数所在的程序名称
            dynpnr = sy-dynnr "指定参数所在的屏幕编号
            dynprofield = 'AIRLINE'"指定屏幕参数的名称
       TABLES
            value_tab       = itab_carrid "内表
       EXCEPTIONS
            parameter_error = 1
            no_values_found = 2
            OTHERS          3.
  IF sy-subrc <> 0.
    ...
  ENDIF.
endform.                    " FRM_F4_HELP