cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Adapter Receiver - change SAP User for each call

Former Member
0 Kudos

Hi guys,

I need to create one connection between PI and SAP, all right, i can use RFC Adapter Receiver, no problem.

But, for each call i need to use User and Password different, then, I would pass SAP User and Password in my XML Payload.

Can anybody help me, please?

Accepted Solutions (1)

Accepted Solutions (1)

MichalKrawczyk
Active Contributor
0 Kudos

hi,

>>But, for each call i need to use User and Password different, then, I would pass SAP User and Password in my XML Payload.

sure we can help you but no in this way:)

it is possible to change the user for RFC adapter but using

principal propagation:

/people/alexander.bundschuh/blog/2007/01/16/principal-propagation-in-sap-xi

this is the way you need to go and not send password in XML payload

(this is certainly not the way and no client will approve it)

why use a password is anyone can see it ?

Regards,

Michal Krawczyk

Former Member
0 Kudos

Hi,

I am using PI 7.0

My scenrio is SOAP -> RFC (sync)

I would pass some identify paramter in XML SOAP, this parameter have be the identify for SAP User, example:

Parameter "XX", the RFC Adapter Receiver call SAP using SAP User "SAPUser111"

Parameter "YY", the RFC Adapter Receiver call SAP using SAP User "SAPUser222"

Parameter "AA", the RFC Adapter Receiver call SAP using SAP User "SAPUser333"

And so go....

Do you know anything about that ?

Can you help me?

MichalKrawczyk
Active Contributor
0 Kudos

hi,

if you use principle propagation as mentioned before

the user that you use in SOAP call will be used in RFC call

do you understand that ?

so no need to send anything in XML

Regards,

Michal Krawczyk

Former Member
0 Kudos

Hi,

for your this scenario, i dont think there is a direct way.............

but there is a workaround...........you will have to create multiple RFC destinations from XI to R/3 and so configure multiple RFC comm channels using these RFC destinations..........then in reciever determination, you will have to do a conditional reciver determintain, in which you will take your parameter field and check its value and then add your r/3 reciever system with the corresponding RFC recever channel.

Regards,

Rajeev Gupta

Former Member
0 Kudos

Ok,

I have understanded, but, I am using PI 7.0.

Are there principle propagation in PI 7.0 ?

Thanks

udo_martens
Active Contributor
0 Kudos

hmmm, and if he has like 100 user?

There is (like mentioned before) no standard way. What you could do (definitiv not a good solution) is to send the message via proxy to ECC:

SOAP -> PI -> ABAP proxy

and inside the proxy you use class cl_http_client to invoke a request to PI system, where you map the user credentials into the url parameter.

HTTP -> PI -> RFC

Then you could use principal propagation. One (there are some more) disadvantages is the password what is not secured or encrypted. Monitoring woud be difficult / confusing.

Regards,

Udo

udo_martens
Active Contributor
0 Kudos

Hi Joao,

yes, Michal (and me) provided the link.

Regards,

Udo

Answers (2)

Answers (2)

udo_martens
Active Contributor
0 Kudos

Hi,

not possible in standard.

Use instead principle propagation:

PI < 7.1: [Principal Propagation in SAP XI|https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/5579] [original link is broken] [original link is broken] [original link is broken];

[Principal Propagation with SAP NetWeaver Process Integration 7.1|https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/7068] [original link is broken] [original link is broken] [original link is broken];

Regards,

Udo

Former Member
0 Kudos

Hi,

if you are using PI7.1, then you can ask your basis guys to configure principal propagation in your XI system.........then you can use different users to invoke your RFC provided those users are maintained in both XI and R/3 systems..............and then you will not need to pass the user data in the msg payload.

Regards,

Rajeev Gupta