本文主要是介绍ABAP--如何返回'F4IF_INT_TABLE_VALUE_REQUEST'函数隐含的字段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
请参照红颜色代码
*&---------------------------------------------------------------------*
*& Report ZUS_SDN_F4IF_INT_TAB_VAL_REQ
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zus_sdn_f4if_int_tab_val_req.
TYPE-POOLS: shlp.
tables: knb1.
DATA:
gd_repid TYPE syrepid,
gt_knb1 TYPE STANDARD TABLE OF knb1,
*用于返回需要选中纪录的各个字段值
gt_values TYPE STANDARD TABLE OF ddshretval.
parameters: p_kunnr like knb1-kunnr.
INITIALIZATION.
gd_repid = syst-repid.
SELECT * FROM knb1 INTO TABLE gt_knb1 UP TO 100 ROWS.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_kunnr.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
ddic_structure = 'KNB1'
retfield = 'KUNNR' " overwritten in callback !!!
* PVALKEY = ' '
DYNPPROG = gd_repid
DYNPNR = '1000'
DYNPROFIELD = 'P_KUNNR'
* STEPL = 0
* WINDOW_TITLE =
* VALUE = ' '
value_org = 'S' " structure
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
callback_program = gd_repid
callback_form = 'CALLBACK_F4'
* MARK_TAB =
* IMPORTING
* USER_RESET =
TABLES
value_tab = gt_knb1
* FIELD_TAB =
return_tab = gt_values
* DYNPFLD_MAPPING =
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.
START-OF-SELECTION.
*现实返回字段的值
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_structure_name = 'DDSHRETVAL'
TABLES
t_outtab = gt_values
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form CALLBACK_F4
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM callback_f4
TABLES record_tab STRUCTURE seahlpres
CHANGING shlp TYPE shlp_descr
callcontrol LIKE ddshf4ctrl.
* define local data
DATA:
ls_intf LIKE LINE OF shlp-interface,
ls_prop LIKE LINE OF shlp-fieldprop.
*Hide unwanted fields
CLEAR: ls_prop-shlpselpos,
ls_prop-shlplispos.
MODIFY shlp-fieldprop FROM ls_prop
TRANSPORTING shlpselpos shlplispos
WHERE ( fieldname NE 'BUKRS' AND
fieldname NE 'KUNNR' AND
fieldname NE 'PERNR' ).
* " Overwrite selectable fields on search help
*添加需要返回的字段
REFRESH: shlp-interface.
ls_intf-shlpfield = 'BUKRS'.
ls_intf-valfield = 'X'.
APPEND ls_intf TO shlp-interface.
ls_intf-shlpfield = 'KUNNR'.
ls_intf-valfield = 'P_KUNNR'.
APPEND ls_intf TO shlp-interface.
ENDFORM. " CALLBACK_F4
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1775621
这篇关于ABAP--如何返回'F4IF_INT_TABLE_VALUE_REQUEST'函数隐含的字段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!