cancel
Showing results for 
Search instead for 
Did you mean: 

BPM Validation ParForEach

Former Member
0 Kudos

Hello Gentlemen,

I have a scenario that BPM is initiated by a TXT file, run the RFC and returns a response in a TXT. This works perfectly.

Now I came across the following:

I need that before the implementation of RFC is made a validation / execution of an RFC before, which will make me a lock and return a status.

If the status is OK, he continues the flow.

If the status is not OK, it goes back to the beginning. Or it could be waiting to reprocess.

But next in line to come through and should not be stopped until the current finish.

What better way to do this?

From what I saw would work well with ParForEach but never used. Had some example?

Thanks and Regards!

Accepted Solutions (1)

Accepted Solutions (1)

udo_martens
Active Contributor
0 Kudos

Hi,

first create a fork with one success branch.

Into the first branch put a wait step, there you define the time you cancel the processing at all. After the wait put for example a control step and raise an alert. This branch avoid that your process can run forever.

In the second branch put a loop. Stop condition is the status OK

In the loop put the call to the validation rfc and a wait step, where you define the intervall of repeated calling the rfc. That branch will call the validation rfc frequently.

Behind the fork put your allready existing process.

Regards,

Udo

Former Member
0 Kudos

Hi Udo,

Thanks for reply.

I will conduct a test using your suggestion.

If I cancel the whole process, the file can be processed again?

udo_martens
Active Contributor
0 Kudos

Hi Thamir,

If I cancel the whole process, the file can be processed again?

The file adapter would have archived the file already.

One solution is that you raise the alert containing the file name.

The file adapter can be configured to send the name in ASMA. In a transformation step you map that value from dynamic configuration into a simple container, which can be used as variable in a control step raising the alert.

Regards,

Udo

Answers (3)

Answers (3)

robertot4s
Active Participant
0 Kudos

Hi Thamir,

Have a look to the patterns provided by SAP in SWCV 'SAP BASIS' namespace 'http://sap.com/xi/XI/System/Patterns'.

You have examples of ParForEach (pattern BpmPatternMulticastParallel) and others steps.

Also, they are documented in help.sap.com:

http://help.sap.com/saphelp_nwpi711/helpdata/de/11/13283fd0ca8443e10000000a114084/frameset.htm

Regards,

Roberto

Former Member
0 Kudos

Thanks for reply.

I saw some examples.

Do not know if ParForEach solve.

I'm doing some tests.

Former Member
0 Kudos

Hi,

If I understand your requirement

1. you want to make a validation via RFC call before an actual call is made.

2. If the response for the validation RF is OK then make an Actual Call to RFC

3. Else wait for somemore time and try again..

if the above is Yes then ParFor Each will not work and you need to use the Block with try and catch..where in catch can be retried ..but dont leave the BPM in process for long time as that will kill the resource availabilities..

Hope that helps..

Rajesh

Former Member
0 Kudos

Hi,

Thanks for reply.

I thought this line was working.

I thought about ParForEach not to lock the queue.

Had some example?

rajasekhar_reddy14
Active Contributor
0 Kudos

I dont think ParForEach will help in your case.

Give more info about yur requirement

Former Member
0 Kudos

Hi,

Thanks for reply!

1. you want to make a validation via RFC call before an actual call is made.

2. If the response for the validation RF is OK then make an Actual Call to RFC

3. Else wait for somemore time and try again..

The problem is to stop the queue.

Or if this would be the best solution.