*&---------------------------------------------------------------------*
*& Report Z14143_15
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z14143_15.
DATA: lt_ddshretval TYPE STANDARD TABLE OF ddshretval,
lv_title(20),
lw_ddshretval LIKE LINE OF lt_ddshretval,
lt_dynpfields TYPE TABLE OF dynpread,
lw_dynpfields TYPE dynpread.
DATA : BEGIN OF lt_tab OCCURS 0,
matnr TYPE mara-matnr,
maktx TYPE makt-maktx,
spras TYPE makt-spras,
END OF lt_tab.
PARAMETERS p_matnr TYPE mara-matnr.
PARAMETERS p_maktx TYPE makt-maktx.
PARAMETERS p_spras TYPE makt-spras.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr.
PERFORM frm_get_kostl.
FORM frm_get_kostl.
SELECT mara~matnr makt~maktx makt~spras
FROM mara
JOIN makt ON makt~matnr = mara~matnr
INTO TABLE lt_tab UP TO 20 ROWS.
IF lt_tab[] IS NOT INITIAL.
SORT lt_tab BY matnr.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'MATNR'
dynpprog = sy-cprog
dynpnr = sy-dynnr
window_title = lv_title
value_org = 'S'
callback_program = sy-repid
callback_form = 'CB_FORM'
TABLES
value_tab = lt_tab
return_tab = lt_ddshretval
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
CLEAR lt_dynpfields.
LOOP AT lt_ddshretval INTO lw_ddshretval.
lw_dynpfields-fieldname = lw_ddshretval-retfield.
lw_dynpfields-fieldvalue = lw_ddshretval-fieldval.
APPEND lw_dynpfields TO lt_dynpfields.
ENDLOOP.
lw_dynpfields-fieldname = 'P_MATNR'.
MODIFY lt_dynpfields FROM lw_dynpfields INDEX 1 TRANSPORTING fieldname.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = lt_dynpfields
* EXCEPTIONS
* INVALID_ABAPWORKAREA = 1
* INVALID_DYNPROFIELD = 2
* INVALID_DYNPRONAME = 3
* INVALID_DYNPRONUMMER = 4
* INVALID_REQUEST = 5
* NO_FIELDDESCRIPTION = 6
* UNDEFIND_ERROR = 7
* OTHERS = 8
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form cb_form
*&---------------------------------------------------------------------*
FORM cb_form TABLES record_tab STRUCTURE seahlpres
CHANGING shlp TYPE shlp_descr_t
callcontrol LIKE ddshf4ctrl.
DATA: interface LIKE LINE OF shlp-interface.
READ TABLE shlp-interface INTO interface INDEX 1.
interface-shlpfield+4(1) = '3'.
interface-valfield = 'P_SPRAS'.
APPEND interface TO shlp-interface.
interface-shlpfield+4(1) = '2'.
interface-valfield = 'P_MAKTX'.
APPEND interface TO shlp-interface.
ENDFORM. "bo_callback_form
SAP选择屏幕搜索帮助多值输出问题完美解决
猜你喜欢
转载自blog.csdn.net/qq_16635325/article/details/80850577
今日推荐
周排行