REPORT zprod_multiple_change.
DATA: lt_productm TYPE comt_product_maintain_api_extt,ls_productm TYPE comt_product_maintain_api_ext,et_bapireturnh TYPE bapiret2_tab,lt_product TYPE comt_product_s_tab,lt_prod_out TYPE comt_product_tab_guid,lt_shorttext TYPE comt_pr_shtext_maintain_tab,ls_shorttext LIKE LINE OF lt_shorttext,lt_prod_id TYPE STANDARD TABLE OF comm_product-product_id,lt_prod_db TYPE STANDARD TABLE OF comm_product-product_guid.
START-OF-SELECTION.APPEND '1002029' TO lt_prod_id.APPEND '1002030' TO lt_prod_id.LOOP AT lt_prod_id ASSIGNING FIELD-SYMBOL(<id>).CALL FUNCTION 'CONVERSION_EXIT_PRID1_INPUT'EXPORTINGinput = <id>IMPORTINGoutput = <id>.ENDLOOP.SELECT product_guid INTO TABLE lt_prod_db FROM comm_product FOR ALL ENTRIES IN lt_prod_idWHERE product_id = lt_prod_id-table_line.ASSERT sy-subrc = 0.LOOP AT lt_prod_db ASSIGNING FIELD-SYMBOL(<guid>).DATA(ls_product) = VALUE comt_product_s( product_guid = <guid> ).APPEND ls_product TO lt_product.ENDLOOP.CALL FUNCTION 'COM_PRODUCT_READ_MULTIPLE'EXPORTINGit_product = lt_productIMPORTINGet_product = lt_prod_out.LOOP AT lt_prod_out ASSIGNING FIELD-SYMBOL(<result>).MOVE-CORRESPONDING <result> TO ls_productm-header-com_product.ls_productm-header-pr_number = sy-tabix.ls_shorttext-data-langu = sy-langu.ls_shorttext-data-short_text = 'inserted by program code'.ls_shorttext-update_type = 'U'.ls_shorttext-data-logsys = <result>-logsys.APPEND ls_shorttext TO lt_shorttext.ls_productm-header-short_texts = lt_shorttext.APPEND ls_productm TO lt_productm.ENDLOOP.CALL FUNCTION 'COM_PRODUCT_MAINTAIN_MULT_API'EXPORTINGiv_check_only = ' 'iv_suppress_inactive = 'X'iv_activate_inactive_products = 'X'IMPORTINGet_bapireturn = et_bapireturnhCHANGINGct_product = lt_productmEXCEPTIONSinternal_error = 1OTHERS = 2.LOOP AT et_bapireturnh ASSIGNING FIELD-SYMBOL(<error>).WRITE: / 'Error: ', <error>-message COLOR COL_NEGATIVE.ENDLOOP.CHECK et_bapireturnh IS INITIAL.CALL FUNCTION 'CRM_PRODUCT_UI_SAVE'EXPORTINGiv_update_task = abap_false.ASSERT sy-subrc = 0.COMMIT WORK AND WAIT.WRITE: / 'Mass change finished successfully' COLOR COL_POSITIVE.