F4IF

xiaoxiao2021-02-28  157

原文地址http://blog.csdn.net/liangziyisheng/article/details/6951941

 

F4IF_FIELD_VALUE_REQUEST主要功能是将表里的字段对应的search help引入到屏幕上来,从而打开对话框,当然也可以任意指定某个search help。

F4IF_INT_TABLE_VALUE_REQUEST支持字定义内表,但是不能通过指定search help的方式打开对话框。

1.F4IF_FIELD_VALUE_REQUEST的应用实例

TYPES: BEGIN OF type_carrid,          carrid TYPE spfli-carrid,          connid type spfli-connid,          carrname TYPE scarr-carrname,        END OF type_carrid. DATA itab_carrid TYPE STANDARD TABLE OF type_carrid. 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_FIELD_VALUE_REQUEST’        EXPORTING             TABNAME         = ‘SPFLI’    “指定stucture,必须的             fieldname       = ‘CARRID’ “指定structure中的field             dynpprog = sy-repid          “指定屏幕参数所在的程序名称             dynpnr = sy-dynnr               “指定参数所在的屏幕编号             dynprofield = ‘AIRLINE’.    “指定屏幕参数的名称   IF sy-subrc <> 0.     ...   ENDIF. endform.                    ” FRM_F4_HELP

2.F4IF_INT_TABLE_VALUE_REQUEST的应用实例

TYPES: BEGIN OF type_carrid,          carrid TYPE spfli-carrid,          connid type spfli-connid,          carrname TYPE scarr-carrname,        END OF type_carrid. DATA itab_carrid TYPE STANDARD TABLE OF type_carrid. * Selection Screen parameters airline(2) type c.

* 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

总结:总上所述,在se11已经存在建立好的search help的情况下我们通常使用第一个function module,在需要给某个字段限定一些特殊值的时候,我们通常使用第2种function module.

 

转载请注明原文地址: https://www.6miu.com/read-34504.html

最新回复(0)