Skip to Content
author's profile photo Former Member
Former Member

Reg: BPM design

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

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Feb 04, 2012 at 09:46 AM

    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

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      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

  • Posted on Feb 06, 2012 at 01:45 AM

    >>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

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.