cancel
Showing results for 
Search instead for 
Did you mean: 

Fork Step in BPM

Former Member
0 Kudos

Hi,

When i am using more than one receive steps(each can start the process) in a fork then if i dont use the correlation it throws me a semantic error that "step does not use any correlation".

according to me if i declare the necessary branches property in the fork step then the fork step will wait until that many branches completes, means it will proceed only after the branches receive the message.

here i need not any correlation becuz the messages i am receiving are totally independent of each other.

still it forces me to declare a dummy correlation.

for what reason it is necessary?

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi

A fork step is used for parallel processing of a(single) message in N number of branches. For example, if you design a fork with 4 branches, each branch receives a msg and then the steps in each branch is carried out.

Follow the below procedure:

The fork by default comes with two branches when you first place it into your process. You need to insert another branch before it allows you to increase the max and so on.

Just check these links,

http://help.sap.com/saphelp_nw04/helpdata/en/24/e2283f2bbad036e10000000a114084/content.htm

regards,

Surya

prateek
Active Contributor
0 Kudos

As you have multiple receive steps all with the Start Process usage, without correlation the fork process couldn't understand that among the multiple receive steps configured in its various branches, which receive step has started the BPM instance. Without correlation, each step will create a new instance which can never understand how to send all the files to the same instance for processing.

Regards,

Prateek

Former Member
0 Kudos

Hey,

when you have more than one recieve step it is required that correlaiton need to be defined.

The reason being :- though the messages are independent they need to be delivered to the same process instance of the bpm.

so if there is no corelation two messages that are to be delivered to same process instance will itself insantaite two different process instances.

besides when you are using two parellel receive steps:- if both are set as start process you need to define correlation in both the receive steps and use the correlation in the other receive step.

regards,

Milan

Former Member
0 Kudos

Hi Milan,

U r very right i guess, but one query what should be the correlation field through which messages will be correlated. Actually they are independent in all fields.

Former Member
0 Kudos

Thanks Milan,

just one query..

here my messages are independent of each other and have no releted fields for which i can define the correlation between those messages.

so in this case how i can define that correlation.

prateek
Active Contributor
0 Kudos

Try with constant correlation. In Xpath put 1 = 1.

Regards,

Prateek

former_member200962
Active Contributor
0 Kudos

Hi,

When you use more than one receive steps then it is a compulsion that you define and use a correlation...so that all the messages can be correlated....no matter how properly you define the steps..

Take the example: when you are receiving the messages what are you going to do with them?...you will have some modifications to them and then send.....so when you are going to send these messages how can you identify which message is for which received message.....

For more info on fork step:

http://help.sap.com/saphelp_nwpi71/helpdata/en/24/e2283f2bbad036e10000000a114084/frameset.htm

Correlation:

http://help.sap.com/saphelp_nwpi71/helpdata/en/26/0b8b3f81fef93de10000000a114084/frameset.htm

Regards,

Abhishek.