cancel
Showing results for 
Search instead for 
Did you mean: 

Error in BPM - Error when processing node '0000000065' ParForEach index

Former Member
0 Kudos

Hi All,

I have an issue .. I have done 1:n mapping successfully and would like to place the Send step in loop instead of a Block .. The reason being I have the count of how many times the Send step should executed for multiline.. I need to receive an Acknowledgement for each send step.. If I dont receive the required number of Acknowledgements then .. I need to revert back some Creations which is a business requirement ..

So .. I have initialized a container operation variable i to '0' .. Then the loop condition is i < count .. Send the multi-container .. Receive the Response .. If dont receive the desired response for any one of the multi-line then I need to do a cancellation process in a loop again .. So .. now I am getting an Exception "Error when processing node '0000000065' (ParForEach index 000000)

Message no. SWP088" in the loop step ..

It is fine if somebody can suggest alternate logic can be applied as well but first preference to use a loop which consumes lesser system resources ..

Kindly look into the Issue

Regards,

Raj

Edited by: raj2112 on Sep 21, 2010 2:34 PM

Accepted Solutions (1)

Accepted Solutions (1)

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

hi, you configure block(parForEach) to execute in parallel many item of a multiline element. now you receive an Ack of the send step but if the ack is not what you are specting then??? is not clear for me why you need a Loop

Former Member
0 Kudos

Hi,

I have used Block and it is working fine .. But, Cant we use loop instead of block ? Loop consumes lesser system resources and hence performance can be improved ..

Also, each time we are sending multi-line messages from BPM to ERP, we create some Items for a particular order .. If for certain send step, Item is not created, we need to delete the previous items created ..

Regards,

Raj

Edited by: raj2112 on Sep 22, 2010 7:27 AM

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

if you use a loop step, you will send one message per time. ussing block step you have parallel processing ussing ParForEach. now is for X reason the item cannot be created, do a roll back in the target system. the problem here you will do the rollback once the last message reach.

the other posibility is to handle application ack in the sender step. it will let you know it the message was processed success and this ack could be the end condition of your block step. but you cannot use this with loop step.

take a look to this

http://help.sap.com/saphelp_nw04/helpdata/en/55/65c844539349e9b1450581ab44a5e6/frameset.htm

Former Member
0 Kudos

Hi,

In my case I am sending CurrentLine of multi-line message in a block using for-each mode for sequential processing .. If receive a negative acknowledgment after say suppose 'n' number of current lines .. I have another cancellation process for items created via earlier send steps ..

Anywaz, I completed my logic successfully in block .. I wanted to confirm if I can send multi-line message in a loop or not in my case .. As you have said it cannot be done .. Is there a particular reason for it ? If yes, please let me know

I have seen many cases where loop is used for collecting multiple messages ..

Thanks,

Raj

former_member200962
Active Contributor
0 Kudos
Is there a particular reason for it ? If yes, please let me know

Block knows when the repeatition should happen when sending a message (ForEach or ParForEach)...loop does not know....there is no option to specify current-line/ multiline message in loop.

I have seen many cases where loop is used for collecting multiple messages ..

For Collecting we use loop...block wont help here....using loop you can specify how many messages (or till what point) are to be collected.

These are design/ functional restrictions/ limitations.

Former Member
0 Kudos

Thanks for making me understand this !!

Answers (0)