We are sending IDOCs with message types WMTORD and WMSUMO from an external system to SAP. Both these IDOCs perform...
stock transfer of goods within a given warehouse. In some cases, we need to use WMTORD, in others, WMSUMO.
The inbound WMSUMO IDOC updates SAP more rapidly than the inbound WMTORD IDOC. When we perform consecutive stock transfers of a given quantity of material within the warehouse using WMTORD then immediately WMSUMO, we sometimes get the following problem: the WMSUMO IDOC fails because the WMTORD IDOC has not finished updating SAP.
Both these IDOCs are processed with ALE service and by function module. They are triggered in the background using a job executed every two minutes. These IDOCs are forwarded to SAP in a single queue in the right order but they update SAP independently of one another.
One possible solution to this timing problem is to make use of IDOC user exits to implement some control.
My question here is as follows: Are there other solutions involving setting up IDOCs so that a given IDOC would only be sent when the preceding one (prerequisite IDOC) finishes updating SAP? Are there ways to link IDOCs?
Not sure, where your problem stems from. Be sure that you submit the RBDAPP01 report with package size of 1 and deactivate parallel processing.
Also be sure that the jobs are not triggered through a timer but that a job reschedules its successor (SM37).
If nothing helps: copy RBDAPP01 and replace all COMMIT WORK with COMMIT WORK AND WAIT.
Dig Deeper on SAP ABAP
Related Q&A from Axel Angeli
An SAP user wants to know how to upload data into SAP R/3 when SAP Scripting is not enabled. Continue Reading
An SAP user is receiving an error message while integrating SAP iDoc PORDCR1 for a purchase order. Continue Reading
An SAP user is having difficulty with PERNR iDoc while transporting data from SAP to an external system. Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.