问题描述:屏幕字段的参考字段没有搜索帮助,需要创建搜索帮助。
具体解决步骤如下:
1.打开程序,找到对应的屏幕编号,双击;
2.在该屏幕的逻辑流中添加CODE1的内容;
3.写完上面的内容,双击定义的MODULE名创建MODULE,内容参考CODE2.
CODE1:
添加的位置:PROCESS BEFORE OUTPUT.
.
.
.
PROCESS AFTER INPUT.
.
.
.
MODULE REFRESH*.
MODULE USER_COMMAND_****.
在这一句后面添加以下内容
PROCESS ON VALUE-REQUEST.
FIELD: ERNAM_V MODULE GET_HELP_ERNAM.
(这里只添加了ERNAM这一个字段,要添加其它字段可以继续写:FIELD: 屏幕中的字段名 MODULE 自定义的module名.)
CODE2:
*&---------------------------------------------------------------------*
*& Module GET_HELP_ERNAM INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE GET_HELP_ERNAM INPUT.
REFRESH: FIELDS.CLEAR FIELDS.
REFRESH: VALUETAB.CLEAR:VALUETAB.
*定义一个内表用于存放取出来的字段值
TYPES:BEGIN OF TY_ERNAM,
ERNAM TYPE VBAK-ERNAM,
END OF TY_ERNAM.
DATA: IT_ERNAM TYPE TABLE OF TY_ERNAM.
*取出该字段的值存放在内表中
SELECT DISTINCT ERNAM INTO CORRESPONDING FIELDS OF TABLE IT_ERNAM
FROM VBAK.
*调用下面的函数把数据传给函数
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'ERNAM_V'
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_ERNAM[].
ENDMODULE. " GET_HELP_ERNAM INPUT