ABAP 实现内表自定义的F4功能
Posted SAP Tab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABAP 实现内表自定义的F4功能相关的知识,希望对你有一定的参考价值。
“实现多列内容的F4功能
REPORT Z_TAB_TEST.
TYPES: shlp_descr TYPE shlp_descr .
DATA: BEGIN OF itab OCCURS 0 ,
matnr LIKE mara-matnr ,
maktx LIKE makt-maktx ,
END OF itab.
DATA: return_tab TYPE ddshretval OCCURS 0 .
matnr LIKE mara-matnr ,
maktx LIKE makt-maktx ,
END OF itab.
DATA: return_tab TYPE ddshretval OCCURS 0 .
PARAMETERS: p_matnr LIKE itab-matnr ,
p_maktx LIKE itab-maktx .
p_maktx LIKE itab-maktx .
INITIALIZATION.
SELECT matnr maktx INTO TABLE itab FROM makt UP TO 20 ROWS
WHERE spras = 1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr .
PERFORM f4.
PERFORM f4.
*&---------------------------------------------------------------------*
*& Form f4
*&---------------------------------------------------------------------*
FORM f4.
CALL FUNCTION ‘F4IF_INT_TABLE_VALUE_REQUEST‘
EXPORTING
retfield = ‘MATNR‘
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = ‘P_MATNR‘
value_org = ‘S‘
callback_program = sy-repid
callback_form = ‘CB_FORM‘
TABLES
value_tab = itab
return_tab = return_tab
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
ENDFORM. "f4
*& Form f4
*&---------------------------------------------------------------------*
FORM f4.
CALL FUNCTION ‘F4IF_INT_TABLE_VALUE_REQUEST‘
EXPORTING
retfield = ‘MATNR‘
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = ‘P_MATNR‘
value_org = ‘S‘
callback_program = sy-repid
callback_form = ‘CB_FORM‘
TABLES
value_tab = itab
return_tab = return_tab
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
ENDFORM. "f4
*&---------------------------------------------------------------------*
*& Form cb_form
*&---------------------------------------------------------------------*
FORM cb_form TABLES record_tab STRUCTURE seahlpres
CHANGING shlp TYPE shlp_descr
callcontrol LIKE ddshf4ctrl.
DATA: interface LIKE LINE OF shlp-interface.
*& Form cb_form
*&---------------------------------------------------------------------*
FORM cb_form TABLES record_tab STRUCTURE seahlpres
CHANGING shlp TYPE shlp_descr
callcontrol LIKE ddshf4ctrl.
DATA: interface LIKE LINE OF shlp-interface.
READ TABLE shlp-interface INTO interface INDEX 1.
interface-shlpfield+4(1) = ‘2‘.
interface-valfield = ‘P_MAKTX‘.
APPEND interface TO shlp-interface.
ENDFORM. "bo_callback_form
interface-shlpfield+4(1) = ‘2‘.
interface-valfield = ‘P_MAKTX‘.
APPEND interface TO shlp-interface.
ENDFORM. "bo_callback_form
以上是关于ABAP 实现内表自定义的F4功能的主要内容,如果未能解决你的问题,请参考以下文章