cancel
Showing results for 
Search instead for 
Did you mean: 

BPM not entering exception branch

Former Member
0 Kudos

Hi,

In BPM I have a timeout problem. I am calling asynchronously a JDBC receiver inside my BPM. This step is in a block. And I put there an exception and an exception branch. Now when my jdbc failes (in RWB I see the error) my bpm still continues without entering exception branch. After that I set the Acknowledgment in the sender step of the JDBC to Transport. This time it starts to wait and again doesn't enters the exception branch.

How can I get that the process enters the exception branch?

Thanks.

Accepted Solutions (1)

Accepted Solutions (1)

sunilchandra007
Active Contributor
0 Kudos

Hi,

Check out the following threads if you are facing the same issue :

1.

2.

Regards,

Sunil Chandra

Former Member
0 Kudos

Hi,

The problem is I have to cance the process (and enter the exception branch) in 20 secs (customer wants it like this). The deadline is minimum 1 minute. And also my JDBC sender is asynch so I think I cannot sent the error back to the bpm from the adapter engine. I am not sure.

Any ideas how I can terminate my process in 20 secs? Of course if the JDBC failes.

Shabarish_Nair
Active Contributor
0 Kudos

>

> Any ideas how I can terminate my process in 20 secs? Of course if the JDBC failes.

try;

in the exception branch,

once the exception is triggered, use a wait step for 20 sec and then use the control step to cancel the BPM

Former Member
0 Kudos

The problem is, I am not able to enter the exception branch. It does not enter it. The sender step for JDBC does not trigger the exception branch.

By the way, In the wait step it is not possible to give something lower then 1 minute...?

Shabarish_Nair
Active Contributor
0 Kudos

>

> The problem is, I am not able to enter the exception branch. It does not enter it. The sender step for JDBC does not trigger the exception branch.

Did you have the proper exception specified in the send step?

>

> By the way, In the wait step it is not possible to give something lower then 1 minute...?

just checked. Unfortunately the minimum value is 1 minute

sunilchandra007
Active Contributor
0 Kudos

> The problem is, I am not able to enter the exception branch. It does not enter it. The sender step for JDBC does not trigger the exception branch.

Did you check the following activities are marked green in SWU3 :

1. Schedule background job for missed deadline

2. Schedule background job for deadline Monitoring

> By the way, In the wait step it is not possible to give something lower then 1 minute...?

Not sure.. Just give try with 0.33 min in wait step.

Regards,

Sunil Chandra

Former Member
0 Kudos

Hi,

My send step: (adapter JDBC)

Mode: Asynchronous

Acknowledgment: Transport

Receive From: Send Context

Exception: System Error: ERR

My block step:

Mode: Defalut

Exception: ERR

My Exception branch

Exception Handler: ERR

These are my configurations. But the BPM will not enter the branch step. I think for asynch. call it is not possible???

in help.sap.com it says:

In the case of an asynchronous send step, the exception will only be triggered if an error occurs during the transfer to the pipeline. Errors that occur during mapping in the pipeline, do not trigger an exception.

Got Stuck...

Former Member
0 Kudos

Hi sunil chandra,

Yes they are maintained.

In SXMS_SAMON there is the following entry:

Status: Error

Status: Pipeline - Timeout

Server: xxx

Status:BPE - Wait

The status pipeline shouldnt be Timeout I think...

former_member200962
Active Contributor
0 Kudos
In the case of an asynchronous send step, the exception will only be triggered if an error occurs during the transfer to 
the pipeline. Errors that occur during mapping in the pipeline, do not trigger an exception.

Your requirement is to catch an exception that may occur while sending to the DB from the Channel....and for this you have set Acknowledgement to Transport and used an Exception Branch.

Now in the Block enclosing your Send Step you have to first put a Deadline Branch....this deadline Branch will wait for the entire retry interval of your Channel.....in this Deadline Branch you have to put a Control Step which will Throw Exception

Now this exception will be caught by the Exception Branch....then in the Exception Branch have your Exception Handler.....this is how we design the BPM when we have to catch the exception from an Async Send step.

Be it Deadline Branch or Wait step....the minimum time-interval is 1 min!

Regards,

Abhishek.

Former Member
0 Kudos

I think Abhishek got the point.

In adapter engine, it try three time with interval of 5 min apart, you have to wait for 15 min to get final error status from adapter engine.

Regards

Liang

Former Member
0 Kudos

Hi abhishek salvi,

If my retry limit for the communication channel is 1 time and my retry interval is 5 secs, then you are saying that I have to wait for the deadline branch to get triggered which is 1 minute.

So, In a case of an error, I cannot trigger an exception in less then a minute? Right?

former_member200962
Active Contributor
0 Kudos

Actually the use of a Deadline Branch and then a Throw Exception action is an indication that message has not been processed successfully....the Deadline step will still wait for 1 min before terming it as an error (if it does not get a +ve ack) and then only the Exception will be raised.

Actually the time-interval that we give in the Deadline branch and that we mention in the channel settings are not related....both function on their wish and hence the issue....you can still give a try...but i am doubtful that Deadline Branch will throw Exception before 1 min.

Regards,

Abhishek.

Former Member
0 Kudos

Hi everyone,

I still couldn't solve my problem. I think BPM has a gap for my scenario. I tried almost everything but I can't wait for 20 seconds inside the BPM. It gives either immediately an error or waits for 20 seconds. Nothing in between I hope that I missed something and it is possible.

Anyone who has an idea??? I think in the next major release of PI, SAP should create a new step for BPM in which we can write pure Java. Then maybe I could specify my own wait time and wouldn't be dependend to the predefined rules.

Anyway, if someone has an idea, pls reply.

Thnks

Answers (0)