cancel
Showing results for 
Search instead for 
Did you mean: 

How can I retrive the first sender?

Former Member
0 Kudos

Hi Guru.

So this is my scenario:

JDBC_System, here starts the process, "sends" some data to a BPM.

The BPM call a custom RFC in the R3_System.

When the R3_System sends the response, I lost the "original sender" (in this case JDBC_System) because the sender is R3_system and receiver is the BPM.

So, I need the "original sender" (JDBC_System) because I need to send an alert to some people.

I cannot modify the RFC in SAP System.

In the future I can have more JDBC_system and for each JDBC_System and I need to send an email to several users.

How can i do this?

Thanks thanks guru.

Bye

Manuel

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

well the simplest solution would have been to get the sender system via dynamic configuration,pass that onto RFC and then get it back .

but since you can't modify RFC i can think of a dirty work around.

design one data type with a two tags <Sender> and <UniqueID> and use it on the receiver side,in message mapping get the sender system and map it to <Sender> and map the unique ID of actual message to <UniqueID>,now configure one more receiver in Receiver determination and simply drop this <Sender> and <UniqueID> in some table on R/3(via another dummy ZRFC) ,once you get back the response,do a RFC lookup based upon this <UniqueID> ,get the <Sender> value and then populate it in response message mapping.

it definitely is a dirty work around,other experts might have better solution,but as of now,thats all i can think of

Thanx

Aamir

Former Member
0 Kudos

> well the simplest solution would have been to get the

> sender system via dynamic configuration,pass that

> onto RFC and then get it back .

> but since you can't modify RFC i can think of a dirty

> work around.

> design one data type with a two tags <Sender> and

> <UniqueID> and use it on the receiver side,in message

> mapping get the sender system and map it to <Sender>

> and map the unique ID of actual message to

> <UniqueID>,now configure one more receiver in

> Receiver determination and simply drop this <Sender>

> and <UniqueID> in some table on R/3(via another

> dummy ZRFC) ,once you get back the response,do a RFC

> lookup based upon this <UniqueID> ,get the <Sender>

> value and then populate it in response message

> mapping.

> t definitely is a dirty work around,other experts

> might have better solution,but as of now,thats all i

> can think of

> Thanx

> Aamir

What do you mean with <UniqueID> is the message ID of the first step (JDBC to BPM) or is a "cross id" for all the step in the flow?

Thanks

Manuel

Former Member
0 Kudos

Hi Manuel,

>>>What do you mean with <UniqueID> is the message ID of the first step (JDBC to BPM) or is a "cross id" for all the step in the flow?

You can use any unique id here (it can be the message id generated in XI).

I can just think of an approach to modify Aamir's idea.

Instead of storing the sender system name in R/3, use it directly in the BPM.

Regards,

Jai Shankar

Former Member
0 Kudos

Hi all.

So, normaly a put in my structure the sender filled at the begin of the BPM with the System constant.

So when I call the RFC I can store the Request messageID and the sender field of my structure via an RFC called in a UDF.

Then, in the response message I can retrive via DBLookup or the same RFC the sender previously stored. I can make the select using the "RefToMessageID"

It's ok for you?

Thanks

Ciao