cancel
Showing results for 
Search instead for 
Did you mean: 

Routing messages in BPM

Former Member
0 Kudos

Hi,

I have the following scenario:

I send an IDOC from SAP R/3 to PI. In PI this IDOC is sent to a BPM.

In the BPM an select-statement is performed to get additional data from an external database

Then a mapping is performed and I have to update the same database with the new data.

Now it is getting more complicated because I have 2 sending R/3 systems and 2 receiving external databases, but I have only 1 PI system

So,

System A ---> PI system Z --> select-statement in database X --> PI system Z --> mapping --> update database X

System B ---> PI system Z --> select-statement in database Y --> PI system Z --> mapping --> update database Y

It is possible to route the select-statement to the correct database using Context-objects in the receiver determination, because SNDPOR is still filled with the R/3 Port. After the database select this context is not available anymore. So I can not route the update statement anymore.

How can I fill context objects with the correct data?

Thanks

Ron

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

What do you mean by ""this context is not available anymore"?

What are the steps you are using in your BPM design. Can you describe it a bit more.

Regards,

Jaishankar

Former Member
0 Kudos

Hi Jaishankar,

The BPM looks like this

Receive step --> receiving the IDOC in the BPM

Synchronous Send Step --> select statement to database

Transformation Step --> to determine the database updates

Synchronous Send Step --> update statement to database

In the receiver determination (configuration) of the first synchronous send step I can use the Context Object SNDPOR, because this contains the port of the sending system (eg SAPA or SAPB). With this information I can find the correct receiver (eg when SNDPOR = SAPA go to database X)

But in when I arrive at the second send step SNDPOR is nog filled anymore. So I don't have the possibility to find the correct database.

Is there a way to store this info somewhere in context objects?

ROn

Former Member
0 Kudos

Ron,

Do this particular check inside your BPM. Use a Switch step and evaluate the content of SNDPOR.

The modified BPM design will be some thing like this...

Receive step --> receiving the IDOC in the BPM

Synchronous Send Step --> select statement to database

Transformation Step --> to determine the database updates

Switch -->evaluate the content of SNDPOR

Branch1 -->Synchronous Send Step --> update statement to database (To db1)

Branch2 -->Synchronous Send Step --> update statement to database (To db2)

P.S: I was held up in a meeting and hence the delay

Regards,

Jaishankar

Former Member
0 Kudos

Hi

Thanks for the tip! I'm goig to try this one.

I would have had it a little bit more flexible, for possible future extensions. But for now this will do!

Ron