Skip to Content
avatar image
Former Member

To End BPM Process

Hi

In my BPM there are 2 send asynchronous steps, one send is to write the file and other one is to send a call to sql server.

the two should execute in sequence.(2 send should trigger only when ack of the first send step is positive, if the ack is negitive i should end the process.).

I followed the below Blog

/people/michal.krawczyk2/blog/2006/06/22/xi-playing-with-the-file-adapters-acknowledgments and defined first send step ina block and handled deadline branch and exception branch.

the second step should be executed only if the ACK is positive.

So i placed the second send step after the block,

still the second is processing even if the ACK (from the first send step is Negitive)

Please suggest how can i do this.

Appreciate your Help.

Thanks Srinivas

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • Best Answer
    avatar image
    Former Member
    Mar 18, 2010 at 05:12 AM

    In the BPM design the exception branch catches the exception not due to the negative ack received but due to the Deadline branch.

    If the logic keeps on sending negative ack, then to avoid this situation the BPM was designed to stop processing when the deadline is reached.....hence if you see the deadline branch has a Control step (Action = Throw Exception).....now this exception will be catched by the Exception Branch and process will be cancelled......now you can also implement same logic.

    You have to implement Exception Handling in this scenario....if you avoid it then the BPM will keep on receiving the ACKs and will not stop unless manually made to stop.

    Can you do a check on your BPM in IR --> open your BPM and press F7....check if there is any message like Exception will not be catched?

    Regards,

    Abhishek.

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 17, 2010 at 07:42 PM

    I do not think you should just place the second send after the block. You would have to define a condition and compare the ACK for positive condition and there you should place the second send. Otherwise, the send would work normally.

    VJ

    Add comment
    10|10000 characters needed characters exceeded

    • In the blog Michal mentions that if the Send step is the last step. but in your case as you have two sends, the BPM is not stopping after the first send I guess. However, I do not know how to capture the Transport ack in to a container element. May be you might have to research on that part. If you are able to do that, you can have switch and place the second step in that branch for the positive case.

      VJ

  • Mar 17, 2010 at 06:43 PM

    Srini,

    If the ACK is negative you shouldn't send the second step (Call SQL) correct?

    ~Raj

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Mar 29, 2010 at 10:30 AM

    Thanks for all your replies

    Add comment
    10|10000 characters needed characters exceeded