we try to convert CSV-Files to UTILMD IDOCS.
Everything works fine, but last step the OutboundProcess make Problems.
I have a Structure in a recordlist ‘ISU_VDEW_UTILMD30D_CSV/ISU_VDEW_UTILMD30D_CSV/C_LINE_ITEM’.
For each C_LINE_ITEM, need to create an IDOC.
I loop over ISU_VDEW_UTILMD30D_CSV/ISU_VDEW_UTILMD30D_CSV/C_LINE_ITEM and map the
data in IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40.
With the first loop everthing is correct. The IDOC is send to the SAP-System.
Second and the following loops, IDOC_CONTROL_REC_40 and IDOC_DATA_REC_40 are correctly filled, but no IDOC is send.
I also tried to use pub.sap.transport.ALEutboundProcess without success.
For better understanding, here a view on the flow.
loop over /ISU_VDEW_UTILMD30D_CSV/ISU_VDEW_UTILMD30D_CSV/C_LINE_ITEM
Hello,
Make sure that none of the common data(control record, header data, SAP Server) are dropped within the loop. Just try tracing and checking the values before the OutboundProcess.
I cecked points above.
-Server is defined and transportParams server is set.
-ControlRecord is a record list.
-record list is transformed to flat hirarchy.
-$action is set to 1.
The thing that suprise me, is that one IDOC is created at the first loopstep and at the next loopstep no IDOC is created, although all parameters were mentioned are correct.
Hi sure,
Alternative suggestion? Can you create a Routing rule for this? Instead of calling the outboundProcess directly, you can invoke the service created by the routing rule (available in the Default directory). By this you achieve the possibility of knowing the transaction details in the browser. (Each call of the above service is logged completely with full details)
I dont find anything wrong in the earlier set up, but just to trace the problem more, would suggest to go for the routing rule based transfer.
At the second and third loopstep, there are some values in the pipeline
i dont know:
$runtime
$rfctime
$call
$runtime value at second loopstep is “782”
$rfctime value at second loopstep is “766”
$call value at second loopstep is “false”.
$call at third loopstep also “false”.
First i set the value of $tid with a blank.
It becomes visible in pipeline out.
Then i dropped $tid in the pipeline out, and delete the “set value”
in the outboundProcess.
Thank you very much hugo and bash for your great help!!!