自定义SAP搜索帮助记录-代码实现
一般来说,标准的字段都可以用SE11来创建搜索帮助,但是有时候这里的满足不了需求或者,相同的数据元素需要用不同的搜索帮助类型,就需要用别的方式实现
1、用函数:F4IF_INT_TABLE_VALUE_REQUEST 来传递内表显示
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_kunnr2. PERFORM show_f4. FORM show_f4. TYPES: BEGIN OF t_kunnrhelp, kunnr TYPE kna1-kunnr, name1 TYPE kna1-name1, stras TYPE kna1-stras, END OF t_kunnrhelp. DATA:wa_kunnrhelp TYPE t_kunnrhelp, it_kunnrhelp LIKE TABLE OF wa_kunnrhelp. SELECT kna1~kunnr kna1~name1 kna1~stras INTO CORRESPONDING FIELDS OF TABLE it_kunnrhelp FROM kna1 INNER JOIN knvv ON kna1~kunnr = knvv~kunnr WHERE knvv~vkorg = '1006' AND kna1~name1 LIKE '%湖南省%'. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'KUNNR' dynpprog = sy-cprog dynpnr = '1000' dynprofield = 'S_KUNNR2' value_org = 'S' TABLES value_tab = it_kunnrhelp EXCEPTIONS parameter_error = 1 no_values_found = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. CLEAR it_kunnrhelp. FREE: it_kunnrhelp. ENDFORM.
2、还有一种,可以更改显示新的搜索帮助,适用于同一个数据元素想显示多种搜索帮助样式。
好像是这个函数:F4IF_FIELD_VALUE_REQUEST
每天学习一个知识点,累积就是财富。