on 01-21-2008 4:32 PM
Hi folks,
Ive a simple BPM with receiver(sender file)->mapping->send(IDoc receiver). The Send step is configured with the option Acknowledge type -> Application. The scenario runs well, the IDoc is successfully processed, but my BPM remains waiting with the clock icon!!! Going to sxi_monitor, in the PE details is a step waiting for an event from R/3 with the message Waiting for an event SEND_OK_APPLICATION type CL_SWF_XI_MESSAGE. It seams waiting for an event that R/3 didnt send Did I miss some steps at R/3?
The idea is to receive an ack after my IDoc is successfully processed at R/3, in order to finish the BPM.
Regarding Acknowledgment type -> Application, the sap help says:
Wait for Acknowledgement
Specify whether the send step is to wait for an acknowledgement. To receive an acknowledgement in the send step, the receiver (adapter, business system, and so on) must send the corresponding acknowledgment.
Application - Specifies that the message was processed successfully by the receiver application (for example, posted).
I guess it should works, but maybe I'm missing something. Anyone knows how to work with this kind of ack at ccBPM?
Thanks in advance,
Ricardo.
Edited by: Ricardo Quintino on Jan 21, 2008 4:33 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi all,
Thanks for your quick answers. Ive gone through the How to guide on IDoc Ack's and what I understood is it doesnt work so well with BPM. I mean, this ALEUD is strictly async and we should have a job scheduled to process it. So, with this approach Ill have a BPM instance opened waiting for so long and I dont want it! I need to know when the first IDoc is processed successfully to process other IDoc type. I would like to have something near to sync communication (I know IDocs are async, but maybe its possible to do).
Bhavesh, your thread is very useful; definitely you should write a blog But I guess it doesnt apply to me. Im using IDoc packing at XI, so in one message Im sending a bundle of IDocs and Im not sure how to handle this correlation at BPM 1xN you know? Any ideas?
Thank you all and points rewarded,
Ricardo.
Ricardo,
You would not believe me but I had the same requirement a year back.
Infact I ended up posting a thread on this on the XI forum,
Answering your question in 2 phases,
1. R3 can send the AleAduit back to XI immediately. In the inbound processing code, all the R3 team would need to do is add the code to trigger the RBDSTATE report to trigger AleAudit to XI.
2. The problem with Correlation - Well, in your case as you are using Idoc Packaging , the solution 1 in my earlier thread would not do the trick. If you look in IDX5 in XI you will see that the Idoc Packaging trigger multiple Idoc's from XI itself but again the problem is the correlation and for this there is no straight forward solution than having some custom field in the Idoc and in the corresponding response.
But yeah overall your analysis was perfect. Idoc's are used for Asynch Communications and hence trying to achieve what we are acheiving is not always and necessarily the best solution. Proxies help in these cases, and if proxies are not possible then I guess RFC is the way to go.
Regards
Bhavesh
Hi Bhavesh,
Thanks for your reply
Your approaches seam to be a possibility.
But anyway, with this BPM, the same that you did, Im having problems to handle the dependency between these 2 IDocs. I mean, the senders are both files (File to IDoc) and if I start the process with the second file, the File sender process it and in the monitor a correlation error is triggered!!! Shouldn't this second file/message wait in the queue for the first file/message triggers the BPM? Or Im missing something?
Once again, thank you and points rewarded,
Ricardo.
>
>start the process with the second file, the File sender process it and in the monitor a >correlation error is triggered!!! >
hmm.. The solution is to use a Fork in the BPM, that will receive both these files and then sequentially post the Idoc's one after the other.
If the concern is that you want to wait for sometime to ensure idoc posted by file 1 is processed in SAP before idoc's of File 2 you can have a wait step with a arbitary wait time that will post Idoc from Fiel 1, make BPM wait then post Idoc from File 2.
If you use a fork you will have to wait until both are available until idoc's start getting posted.
Regards
Bhavesh
Hi Bhavesh,
Ive added a fork with all receivers steps (with start process checked for all) and the transformation steps for each one as well. Out of the block and the fork, I set all senders steps sequentially. But, even with this change Im getting a correlation error in my BPM saying the correlation key field is initial. Im using a date with yyyymmdd format as correlation, since this process only runs once per day.
Do you know what is missing here?
Once again, thanks for your help and points rewarded,
Ricardo.
Ricardo,
Not sure what the problem can be. Before starting the next round of testing jkust make sure ytou cancel tyour Integration process from SXMB_MONI_BPE or use transaction SWWL.
PS : Do this only on Development.
Also make sure that the Datatype is the same for both the correlation fields and also when defining the COrrelation in the Correlation Editor, i.e, if the Datatype has the elements as String the Correlation should also have them as String. If Datatype is Date then the Correlation definition in the BPM should also be Date and so on
Make sure BPM has state 0 in SXI_CACHE after everychange!
Regards
Bhavesh
PPS: Points dont matter as long as questions are meaningful which definitely are this time around. Thanks!
Hi Bhavesh,
>> Also make sure that the Datatype is the same for both the correlation fields
So, you mean that the key field correlation for both Messages should use the same Data Type? I'm using different Data Types - one per each message and the fields are both strings with lenght 8. But, I guess it doesn't matter if is a date or a string I guess, because it can be considered as an ID.
Thanks for the tip, but I'm also using SWWL to delete BPM errors in order to avoid misunderstandings during next BPM instances. Also in the SXI_CACHE my BPM shows a status 0, it means ok.
Regards,
Ricardo.
Edited by: Ricardo Quintino on Jan 23, 2008 3:19 PM
Arrgh at times I am not very clear, am I?
<DT1>
<Element1 Type= String>
</DT1>
<Dt2>
<Element2 Type= String>
</Dt2>
This is what I meant, assume you want to correlate Element1 and Element2 in DT1 and DT2.
The Element 1 and Element 2 should be of the same type and, when you define the correlation in the BPM in the Correlation Editor, the Type you give there should also be the same.
Made sense?
Regards
Bhavesh
Ricardo,
Yes the bpm will wait......since you have requested an acknowledgement but its not been recieved, you can bypass it if you want to finish the scenario, Then work on
the aleaud part, for which as others have mentioned you need to set up idoc acknowledgements..this link might be useful
Regards
Ravi Raman
PS: number of replies is directly proportional to points awarded...!!!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI Ricardo,
if my understanding is correct then your BPM is wainting for Acknowledgement from R/3.
is the acknowledgements configured at R/3 for that idoc type?
what ever you did at XI is correct.
Regards,
Sukarna
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ricardo:
Did you configure the ALE audits for IDOC. As far as I know, IDOC acknowledgments can be triggered only if you configure ALE audits.. Please go through " How to: Handle Acknowledgments for IDOC" document
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.