cancel
Showing results for 
Search instead for 
Did you mean: 

Sync...step in BPM

Former Member
0 Kudos

Hi All,

we are sending 20 messages through sync step messages in BPM.. we receive 20 responses... then it should send succesmail back to the sender... now our problem is its sending 20 mails back to sender... we dont want this.. we need to send only one success maill after receiving 20 response messages...

can any one help us to how can desing this and fix the issue.

Thanks in advance.

Srinivas

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Srinivas,

1 question:

Will your final response message will contain all 20 messages(merging) or it will be a single message on behalf of 20 messages?

If it is a single message, then you can do it, using BPM.

All response messages will be collected in BPM and once all 20 are collected, you can send your single response message

to sender.

Regards,

Supriya.

Former Member
0 Kudos

Hi Abhi,

In block we are using foreach mode to send messages one by one.. is that correct.. pls let me know this,

@ supriya yes we are using BPM and need to send the final message behalf of the 20 succesful resonse receive messages..

here....

from sender serived we recive only one message , then in mapping we are splitting into n messages based on the payload volume some times it may 20 , some times 30.... so we need send n messages to target and need to recive n responce message from target... so based on this we need to send succesfull final message back to sender......

this is the present situation... we dont know how many messages it will generate every time .. so how we now decide how much count we can give in multiline container step......(send step).

thanks for your prompt resonses..

srinivas

former_member200962
Active Contributor
0 Kudos
we are sending 20 messages through sync step messages in BPM
we need to send only one success maill after receiving 20 response messages...

I assume that you have included the SyncSend step in a Block.....also have you included the SendStep for Success message within the same block....if yes then remove this SendStep for Success outside the block andf then check.....if still not working describe the steps that you have implemented in your BPM.

Regards,

Abhishek.

Former Member
0 Kudos

Yes Abhi,

Its a sync send step.. what you said is exactly correct, but how can we keep a count of receiving response messages, we need to send the send step out side block is, after we recive the 20 response messages only...

thanks for your response..

Srinivas

former_member200962
Active Contributor
0 Kudos
we need to send the send step out side block is, after we recive the 20 response messages only...

The Block mode may be ForEach.....this causes all the Block step to execute for the specific no. of times (Here 20)....so SednStep also executes 20 times.

To avoid this:

1) Keep a counter in the loop (Container Operation)....check if the counter is equal to 20....repeat the steps till counter reaches 20...i.e. you collect 20 response messages....once this is done exit the loop....now your SendStep should be placed.....the CollectPattern examples in IR/ Help should help you.

Regards,

Abhishek.

Former Member
0 Kudos

here count is not constant Abhi, its depends on the payload data volume.. if input payload message is large then more num of messages will produced in BPM if input payload data volum is less then less no of messages generated.

srinivas

former_member200962
Active Contributor
0 Kudos

The simplest solution would be keep the entire logic as it is (Block, the inlcuded mode, syncsend)....just place the SuccessSend step outside the block......this step will be executed only after all the SyncSend steps are executed....do you need to check some value in the response messages before you send the SuccessSend?

Regards,

Abhishek.

Former Member
0 Kudos

Not exactly.... if block step wont complete until and unless it will receive all response message for all request messages that it gets process... then its looks fine, we can place final send step after the block...

Srinivas

former_member187339
Active Contributor
0 Kudos

Hi,

Use Block in parforeach mode, and then block will wait for response from each receivers, later you can use the SuccessSend

Check this pattern

http://help.sap.com/saphelp_nwpi71/helpdata/EN/11/13283fd0ca8443e10000000a114084/frameset.htm

Regards

Suraj

Former Member
0 Kudos

Hi Abhi,

How can we defined sync send step in block, i mean for defining a block we need to define one multiline message field and one current line field... as per standards we need to define request message in multiline , and current line fields, ...but where n how we can define for response message.

Thanks in advance.

srinivas

Former Member
0 Kudos

Hi Abhi,

How can we defined sync send step in block, i mean for defining a block we need to define one multiline message field and one current line field... as per standards we need to define request message in multiline , and current line fields, ...but where n how we can define for response message.

Thanks in advance.

srinivas