cancel
Showing results for 
Search instead for 
Did you mean: 

** Exception Throw in Fork Step - How to inform ?

jegathees_waran
Active Participant
0 Kudos

Hi Friends,

Customer sends 2 IDoc DEBMAS, ADRMAS. The conditions is when both the IDocs is having the same customer no we need to send to the outside system. (DEBMAS - E1KNA1M - KUNNR) equals to (ADRMAS - E1ADRMAS - OBJ_ID).

I have designed BPM for this : Start --> Fork Step --> 2 Receive Step --> Correlation mentioned in 2 receive step --> Next Block --> Fork --> Transformation Step & Send Step (Two sets : 1 is for DEBMAS & 2nd is for ADRMAS)

I have checked the design. It is semantcially correct. But, I have the following doubts.

1) If no matching records found in first block (DEBMAS customer no is not equal to ADRMAS) how much time the fork will wait ?

2) To effect this, 'Exception Branch' is inserted. After Fork which contains 2 receive steps, one control step is inserted to trigger an exception. Question here is, after how much time, this control step will trigger an exception

3) What is the purpose of 'End Condition' Property in Fork Step ? Is it required.

Could you kindly help me friends to clarify the above 3 points. If those clarified, my BPM will be complete.

Thanking you.

Kind regards,

Jegathees P.

Accepted Solutions (1)

Accepted Solutions (1)

jegathees_waran
Active Participant
0 Kudos

Hi Sabarish

Thank you for reply. I have 2 doubts. Could you kindly clarify.

1) Where I need to insert Wait Step ? I am thinking after Fork Step & before Control step (to trigger exception). Is it correct ..?

2) Is it required to insert any steps in Exception Branching block ?

Former Member
0 Kudos

Hi,

1. Yes Insert the wait step after Fork and before Control step.

2. Control step sends the exception, No need to insert any steps in the Exception branching block.

Regards

Ramesh

Shabarish_Nair
Active Contributor
0 Kudos

When I mentioned Wait it is not the wait step but rather the exception trigger in a block step.

in IR, Go to SAP Basis SWCV, namespace http://sap.com/xi/XI/System/Patterns and open the BPM for CollectTime. Look into the Block step there. Instead of the loop you will have the fork step and in the deadline branch of the block you can specify the wait time and then handle the exception in the exception branch

Answers (2)

Answers (2)

prateek
Active Contributor
0 Kudos

1) If no matching records found in first block (DEBMAS customer no is not equal to ADRMAS) how much time the fork will wait ?

It will keep on waiting till the second message comes. Technically this will create a BPM instance which will remain open in Wait state.

2) Question here is, after how much time, this control step will trigger an exception

You may provide a Timeout exception here where time duration for waiting could be specified in minutes.

3) What is the purpose of 'End Condition' Property in Fork Step ? Is it required.

In your case this is not required. You should select option "Number of necessary branches" and put the value as 2. This would mean only after both the idocs are received, the message flow will proceed.

Regards,

Prateek

Shabarish_Nair
Active Contributor
0 Kudos

>

> Hi Friends,

>

> Customer sends 2 IDoc DEBMAS, ADRMAS. The conditions is when both the IDocs is having the same customer no we need to send to the outside system. (DEBMAS - E1KNA1M - KUNNR) equals to (ADRMAS - E1ADRMAS - OBJ_ID).

>

> I have designed BPM for this : Start --> Fork Step --> 2 Receive Step --> Correlation mentioned in 2 receive step --> Next Block --> Fork --> Transformation Step & Send Step (Two sets : 1 is for DEBMAS & 2nd is for ADRMAS)

>

> I have checked the design. It is semantcially correct. But, I have the following doubts.

>

> 1) If no matching records found in first block (DEBMAS customer no is not equal to ADRMAS) how much time the fork will wait ?

> 2) To effect this, 'Exception Branch' is inserted. After Fork which contains 2 receive steps, one control step is inserted to trigger an exception. Question here is, after how much time, this control step will trigger an exception

> 3) What is the purpose of 'End Condition' Property in Fork Step ? Is it required.

>

> Could you kindly help me friends to clarify the above 3 points. If those clarified, my BPM will be complete.

>

> Thanking you.

>

> Kind regards,

> Jegathees P.

your design should be Fork with two receive steps and correlation should be the customer number field for both. This will ensure that only when the customer numbers are equal the BPM will process further.

Now you need to handle the exception using a block step around the fork step. You can define a time of your choice until how long should the BPM process wait to receive the different idoc with the same customer num. If within the specified time it is not received then you can raise a exception, trigger alerts etc. as u need.