We are sending an Outbound Delivery from ECC (DELINF.DELVRY05) to AII which triggers a BusinessDocumentExecutionRequest proxy. This utilizes the function group /AIN/IF_BUS_DOC_INT. The BAdI: Generic Document Business Execution Request as it has the methods preprocess, allow_modification, and postprocess which we are utilizing.
Our problem is: A new outbound delivery created in ECC is correctly processed in AII; however, when we try to update the quantity or even simply send the same information to BusinessDocumentExecutionRequest it is adding another line item to the delivery. We need this to update the line item of the delivery. After spending a great amount of time looking through the code for a possible field which would represent a change in the delivery, I have not been able to find anything. Has anyone encountered this same issue?
If we would like to update the quantity of an item in this delivery, is there a way to do this without having to write custom code? The only possible solution I have been able to think of is to let everything process up to the postprocess method and then execute ROLLBACK WORK, look for a custom attribute (ZACTION_CODE) possibly based off the "QUALF" field from the DELVRY05 (E1EDL18 segment) IDOC, and if the field is equal to "CHG" or "DEL" we process our own code to update/change the delivery header/items ourselves.
Does anyone have any other possible ideas surrounding this issue?