“实现多列内容的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 .
PARAMETERS: p_matnr LIKE itab-matnr , 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.
*&---------------------------------------------------------------------* *& 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.
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