cancel
Showing results for 
Search instead for 
Did you mean: 

Reg: BPM design

former_member329434
Participant
0 Kudos

Hi All,

I am bit confused on the solution approach of BPM design and I would like your suggestions in completing my task.

Requirement :

scenario is proxy to Jdbc .

I will get two input files from the source system and I have combine two files information into database table :

1) first file will come only once and have key field which I have to consider.

2) second file may come more than once based on bookings at source side( 3/5/6/8).

with current design , able to capture only one output from this design . my current design is :

Fork

Two receive steps ( correlation enabled in two steps based on key value)

transformation step

send step.

with the current design in bpm ,correlation will come out after the first message satisfies the condition. Now i want to loop in such away based on the second file input correlation has to work ( there is no input from source to take count on files). pl guide me.

Regards,

Suman

Accepted Solutions (0)

Answers (2)

Answers (2)

prateek
Active Contributor
0 Kudos

>>2) second file may come more than once based on bookings at source side( 3/5/6/8).

First you need to figure out where could you get information about the number of files to be generated. You may put a transformation step and make an RFC lookup to the sender system to fetch this data. Then you may use this data in some counter variable of BPM and put loop around the receiver step.

A simpler design however would be to merge all files of second step at ECC and send a single file to to PI.

Regards,

Prateek Raj Srivastava

Former Member
0 Kudos

Hi,

If you are sure that you always have two files that come in the right order.

Have two receive steps one after the other and then based on the second receive step you can have a loop with another receive for the rest of the files.

Regards,

Horia

former_member329434
Participant
0 Kudos

Hi,

Thank you for your quick answer. I didn't have much exposure to BPM design. I really required support on this.

Could you pl explain in bit detail how it works. As I understand , co-relation comes out after the first file satisfies the condition.

How do I loop the first file n number of times based on second file to satisfy co-relation condition, to get the desired set output.

what is the condition I have to set in the condition editor.

Regards,

Suman

Former Member
0 Kudos

Hi,

This is what happens: the first receive step starts the bpm. If you have, afterwards, some other receive steps you have to set up the correlation condition.

Once a message is being sent, the engine looks at all the started BPMs and based on the correlation condition it assigns it to one of them (that's why it is important to have the correlation condition unique per instance).

From what I understand, you have the first message and then you can get 1 to 4 more messages. So you always have at least two messages: the first one sets the correlation id for the second and further messages. This correlation condition/id is just a field in the message that corresponds. Now after you get the second message, you say that you already know how many other messages will follow, that's why I say put a loop block with the receive (which should have the same correlation as the other).

Now the contents of the first message will be available to the other messages as long as you keep it in a separate container variable, and you can re-use it in the loop.

Hope this helps,

Horia