cancel
Showing results for 
Search instead for 
Did you mean: 

loop problem in Integration process

Former Member
0 Kudos

I have created a simple Integration process. The first step is a Fork with 2 branches and its necessary branches property set to 1. The Integration process receives First Name and department code through a file FTP adapter. In one branch of the fork I have a receive step inside a infinite loop to receive and collect these messages and send out as a single message List through File ftp adapter to the destination. In the second branch of the fork I have another receive step to receive the stop message. The required container operation is also included inside the loop. At the end of the fork there is a Transformation step followed by a receive step. After execution the messages are not collected, instead only the first message is sent to the destination. It seems the loop is iterated only once. I am ensuring that the stop message is sent only after all the other input messages are sent.

The integration process logic is similar to that of BpmPatternCollectMessage Integration process in SAP Basis 6.40-->http://sap.com..../Patterns.

your guidance to solve this problem is appreciated.

Accepted Solutions (0)

Answers (4)

Answers (4)

STALANKI
Active Contributor
0 Kudos

But if the branch is 1 then it gets exectued when ever the first message is come.Otherwise include the endcondition by checking the stop message parametrs

Former Member
0 Kudos

I had tried by putting a end condition by checking the stop message parameter....Still it comes with just one message in the out put instead of a collection of messages. Even file providing the input message I am ensuring that the stop message is sent after a delay...

Former Member
0 Kudos

After analyzing the BPM execution log, i could find that the loop is executing as required. The problem seems to be in the transformation step (The trasnformation should work as a n:1 transformation). However it is returning only the first message from the collected messages input provided to it.

I further checked the interface mapping in the Test tab by uploading a sample input XML. on execution of the test it returns only the first message.

In the interface mapping the occurance for the source is set to 0:unbounded and that for the target is set to 1

Any guidlines from the XI forum Members to resolve this proble will be greatly appreciated.

Former Member
0 Kudos

Vinay , can ya chk out ur bpm and let know what params u have there. we do have an aggregation scenario(ours is time bound aggregation thoe) and it works fine. ll list wat i ve done ere

1) Loop -> Infinite loop (condition 1 = 1)

2) container operation -> operation is APPEND(NOT ASSIGN)

3) Fork -> Necessary Branches is 2 & end condition is something that will never get satisfied(1 = 2 say)

Fork ll end if either one of the above is met.Since end condition ll never be met, aggregation ll happen until u receive the stop message.

4) Transformation step after fork , ll take an interface mapping where the source interface occurence is 0..unbounded and target occurence is 1

If u have a similar config , it should work . chk it out

If not may be u ve to consider raisin an oss

Good Luck

Former Member
0 Kudos

I think the necessary no of branches in fork shud be 1, but not 2. Bcoz, the infinite loop will never end and will never return true. So if we mention the reuired no of branches as 2, the fork will never end and intergration process will be in running forever.

pravin

STALANKI
Active Contributor
0 Kudos

WHEN YOUR necessary branch is 1 fork comesout if one branch is executed.set necessary branches to 2 and check.

former_member187339
Active Contributor
0 Kudos

Hi vinay,

<i>

>>At the end of the fork there is a Transformation step followed by a receive step</i>

Why are you using receive step after Transformation, it should be a send step.

Hope it will work.

Regards

Suraj

Former Member
0 Kudos

It was a typing error in my post , actually there is a send step following the transformation step at the end of the fork.

Former Member
0 Kudos

Have you mentioned your message which is been collected in the container inside the loop, a multiline one.also chk whether your condition in the infinite loop is 1=1.

Priyanka

Former Member
0 Kudos

Thank you all for your reponses,

Inside the container the required receiving element is defined as a multiline item. Aslo the infinite loop is defined using loop condition 1=1.

Regards

Vinay Rane

Former Member
0 Kudos

Please chk whether ur bpm has got any error using F7 key.

regards

Priyanka

Former Member
0 Kudos

Priyanka,

I have executed the check on the BPM. There are no errors. The process is executing successfully but the result are not as expected. The output expected is a single file containing all the names (satisfying the defined correlation on dept no.) . However the the output file generated contains only the first Name.

Regards

Vinay Rane