Beim Anlegen von Bestellbestätigungen zu einer VMI-Bestellung werden keine Änderungsbelege geschrieben.
/GIB/CL_DCV_PO_CONFIRM_CREATOR METHOD confirmation_create. ... ROLLBACK WORK. ELSE. DELETE lt_ekes_upd "7415 WHERE kz <> 'I'. "7415 /gib/cl_dcv_po_vd_confirmation=>write_change_log( it_post = lt_ekes_upd "7415 if_ebeln = lf_ebeln "7415 ir_msg = mr_msg ). "7415 LOOP AT lt_ekes_upd INTO ls_ekes WHERE kz = 'I'. ... METHOD confirmation_delete. DATA:... lt_uekes_pre TYPE TABLE OF uekes, "7415 lt_uekes_post TYPE TABLE OF uekes, "7415 ... SELECT * FROM ekes INTO CORRESPONDING FIELDS OF TABLE lt_ekes WHERE ebeln = is_ekes-ebeln AND ebelp = is_ekes-ebelp. lt_uekes_pre = lt_ekes. "7415 LOOP AT lt_ekes INTO ls_ekes. ... LOOP AT lt_ekes_upd INTO ls_ekes WHERE kz = 'D'. APPEND ls_ekes TO lt_uekes_post. "7415 ir_del->unset_confirm_number( ls_ekes-etens ). MESSAGE s078 WITH ls_ekes-ebeln ls_ekes-ebelp ls_ekes-etens INTO lf_dummy. mr_msg->sy_set( ). ***6155 ir_del->save_data( EXCEPTIONS OTHERS = 0 ). ENDLOOP. /gib/cl_dcv_po_vd_confirmation=>write_change_log( it_pre = lt_uekes_pre "7415 it_post = lt_uekes_post "7415 if_ebeln = is_ekes-ebeln "7415 ir_msg = mr_msg ). "7415 dequeue_po( is_ekes-ebeln ). ENDIF. ENDMETHOD. /GIB/CL_DCV_PO_VD_CONFIRMATION METHOD create_order_confirmation. ... DELETE lt_ekes_upd "5603 WHERE kz <> 'I'. "5603 **7415 write_change_log( it_post = lt_ekes_upd ). "5603 write_change_log( it_post = lt_ekes_upd "7415 if_ebeln = mf_ebeln "7415 ir_msg = mr_msg ). "7415 LOOP AT lt_ekes_upd INTO ls_uekes WHERE kz = 'I'. ... METHOD write_change_log. Schnittstelle erweitern: IF_EBELN Importing Type EBELN IR_MSG Importing Type Ref To /GIB/CL_DCV_ERROR_MSG Methode umstellen auf STATIC PUBLIC METHOD write_change_log. *#5603 DATA: lf_chobjectid TYPE cdhdr-objectid, lf_indicator TYPE c. ***7415 lf_chobjectid = mf_ebeln. lf_chobjectid = if_ebeln. "7415 CALL FUNCTION 'CHANGEDOCUMENT_OPEN' EXPORTING objectclass = 'EINKBELEG' objectid = lf_chobjectid *** PLANNED_CHANGE_NUMBER = PLANNED_CHANGE_NUMBER *** PLANNED_OR_REAL_CHANGES = PLANNED_OR_REAL_CHANGES EXCEPTIONS sequence_invalid = 1 OTHERS = 2. IF sy-subrc <> 0. ***7415 mr_msg->sy_set( ). ir_msg->sy_set( ). "7415 EXIT. ENDIF. lf_indicator = 'U'. CALL FUNCTION 'CHANGEDOCUMENT_MULTIPLE_CASE' EXPORTING tablename = 'EKES' reftablename = 'WEKET' change_indicator = lf_indicator docu_delete = '' TABLES table_old = it_pre table_new = it_post EXCEPTIONS nametab_error = 1 open_missing = 2 position_insert_failed = 3 OTHERS = 4. IF sy-subrc <> 0. ***7415 mr_msg->sy_set( ). ir_msg->sy_set( ). "7415 EXIT. ENDIF. CALL FUNCTION 'CHANGEDOCUMENT_CLOSE' EXPORTING objectclass = 'EINKBELEG' objectid = lf_chobjectid date_of_change = sy-datlo time_of_change = sy-uzeit tcode = sy-tcode username = sy-uname object_change_indicator = lf_indicator ** NO_CHANGE_POINTERS = NO_CHANGE_POINTERS EXCEPTIONS header_insert_failed = 1 object_invalid = 2 open_missing = 3 no_position_inserted = 4 OTHERS = 5. IF sy-subrc <> 0. ***7415 mr_msg->sy_set( ). ir_msg->sy_set( ). EXIT. ENDIF. ** COMMIT WORK. ENDMETHOD. METHOD change_order_confirmation. ... write_change_log( it_pre = lt_uekes_pre "5603 ***7415 it_post = lt_uekes_post ). "5603 it_post = lt_uekes_post "7415 if_ebeln = mf_ebeln "7415 ir_msg = mr_msg ). "7415 dequeue( ). ENDIF. ENDMETHOD.