on 03-30-2009 2:43 PM
I tried this scenario /people/michal.krawczyk2/blog/2006/06/22/xi-playing-with-the-file-adapters-acknowledgments for a file acknowledgement in an ansynchronous send step in BPM and it worked fine.
This made me think of something else...
This SAP help site http://help.sap.com/saphelp_nw04/helpdata/en/43/65ce41ae343e2be10000000a1553f6/content.htm
says - for a "Permanent negative acknowledgment" the "Send step triggers system error for which you can define a specific exception handling."
I understood this as saying "If the tartget file is not placed, a system error is thrown for which we can write our own exception handling"
In the scenario explained in the blog the 'deadline branch' was made to wait for a few miutes and once exceeded, made to throw an exception "NegAck" which is handled in the "Exception handler branch"
So what i tried was, I removed the 'deadline branch' and retained only the 'exception handler branch' and made the 'send step' to throw a system error "NegAck" so that if the "Send Step" recieves a negative acknowledgement, it would throw this error "NegAck" which I have handled in the "Exception Handler Branch"
However, this did not work. Can anyone kindly explain where was my mistake?
Dear Bharath,
hmmm nice question...
The answer to this is....whenever you configure a async send step with "transport ack" it will never go into error..
the send step will either get a positive ack(if the file reaches correctly) or a negative ack(if there is some problem like password expires) but it will will never go into error and hence directly the control will never go to exception handler block...
consider the cases :
1. Async send step with transport ack and file reaches correctly : +ve ack is generated and BPM will stop
2. Async send step with transport ack and passowrd expires : the send step will not go in error but you will get error in adapter engine(RWB) so it will keep on restarting and corresponding negative ack will keep on getting generated but here also the send step has not gone to error but the message in AE has gone into error and hence control will not pass directly to exception handler block....what you can do is keep a timelimit thru deadline branch so that after that much time control goes to exception branch...
This should solve your problem...
do not forget to close the thread marking useful answers after your query is resolved
Edited by: Tarang Shah on Mar 30, 2009 4:10 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Tarang, thanks for the detailed explanation..
and yeah I have already tried the scenario with the deadline and tht works perfect..
What I was trying here was to make things simpler by deleting the dealine branch
Ok... So what I understand from the SAP help link (that I have given in my question) which
says -
for a "Permanent negative acknowledgment" the "Send step triggers system error for which you can define a specific exception handling."
the system error that they have mentioned is something that is not caught in the "Exception Handler Block". Is my understanding right?
yes ......send step will not go into error and hence it will not be caught when u use "transport ack" in it...
when help.sap.com says system error they mean sys error in AE and not in send step
since +ve or -ve whatever be the ack for the send step proper response has come and hence it doesnot go into error
i hope this explains
Edited by: Tarang Shah on Mar 30, 2009 4:22 PM
Hi Tarang,
Thanks again... so i understand that the sys error that SAP help says is a sys error in AE and not in BPE.
But again one more silly doubt from me
what do they mean by for which you can define a specific exception handling.
Are they referring to using a combination of "Dealine Branch" and "Exception Handler Branch" ?
User | Count |
---|---|
82 | |
10 | |
10 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.