通常我们都是通过SE11,创建一个搜索帮助,然后通过把这个搜索帮助配置到数据元素,或者结构表中,在表单维护或者搜索条件中就会在input field里面带出一个搜索帮助的小框。但是有的时候我们又需要通过一个按钮事件或者下拉事件,或者其他事件去主动调用SE11创建的搜索帮助,那我们是如何写代码呢?那就是调用函数F4IF_START_VALUE_REQUEST
在事件的方法里面:
- 读取SE11搜索帮助的基本信息
CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
EXPORTING
shlpname = 'APB_LPD_ICONS' "<--搜索帮助的名称
IMPORTING
shlp = ls_shlp.
2. 据搜索帮助的信息,我们进行告诉需要告诉函数F4IF_START_VALUE_REQUEST,我们需要在用户选择之后获取那行字段。
LOOP AT ls_shlp-interface ASSIGNING FIELD-SYMBOL(<ls_interface>).
<ls_interface>-valtabname = <ls_interface>-valfield = abap_true.
ENDLOOP.
LOOP AT ls_shlp-fieldprop ASSIGNING FIELD-SYMBOL(<ls_fieldprop>).
<ls_fieldprop>-shlpoutput = abap_true.
ENDLOOP.
3.