Small sample :
PARAMETERS: p_art TYPE qpart, p_matnr TYPE matnr, p_werks TYPE werks_d. DATA: lt_inspectionctrl TYPE TABLE OF bapi1001004_qmat, ls_inspectionctrl TYPE bapi1001004_qmat, lt_return TYPE TABLE OF bapiret2, ls_return TYPE bapiret2, ls_tq34 TYPE tq34, ls_qmat TYPE qmat. * prepare data SELECT SINGLE * INTO ls_tq34 FROM tq34 WHERE art = p_art . CHECK sy-subrc EQ 0. " add a message CLEAR: ls_qmat, ls_inspectionctrl. MOVE-CORRESPONDING ls_tq34 TO ls_qmat. ls_qmat-art = p_art. ls_qmat-matnr = p_matnr. ls_qmat-werks = p_werks. * map data CALL FUNCTION 'MAP2E_QMAT_TO_BAPI1001004_QMAT' EXPORTING qmat = ls_qmat CHANGING bapi1001004_qmat = ls_inspectionctrl. " force some values ls_inspectionctrl-ind_insptype_mat_active = 'X'. ls_inspectionctrl-preferred_insptype = 'X'. * append APPEND ls_inspectionctrl TO lt_inspectionctrl. * execute CALL FUNCTION 'BAPI_MATINSPCTRL_SAVEREPLICA' TABLES return = lt_return inspectionctrl = lt_inspectionctrl. * check LOOP AT lt_return INTO ls_return WHERE type = 'E' OR type = 'A'. EXIT. ENDLOOP. IF sy-subrc NE 0. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. ENDIF.
Regards,
Raymond