on 05-20-2015 9:56 AM
Hi Experts,
I have one scenario (SOAP - PI - RFC ) in which i used one BAPI for Batch confirmation and that BAPI is calling from my PI system. now My scenario is working correctly but when i called a BAPI my batches are confirmed with a username which i gave in receiver communication channel but i need the actual user which is calling this BAPI.
I don't want to maintained all users which are using this interface into my PI system but they all are in my ECC system.
Kindly guide me to solve this problem.
Thank you in advance..
Hi Sunil,
Are you able to achieve this ?
We are also having similar requirement where we have dynamically pass on the logon user to RFC
Thanks,
ROhit
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Charan and Iñaki,
Thank you for your valuable responses.
@ Charan : i checked the link provided by you but it requires same users have to be maintained in both ECC and PI systems as per my understanding.
am i correct ?
@ Charan and Iñaki : i already applied the same logic given by you. my both structure(RFC and SOAP) have field "USER" and tried to change the system field value with my actual data. But my BAPI Internally called few BDC to confirm batches and it initially picked user which i passed to receiver communication channel.
As i already mentioned i don't want to maintain all user in my PI system,This application will be used by so many users and my BASIS team doesn't allow me to create such number of users in PI.
Is it not possible to achieve this requirement by PI only without creating such number of users?
Please Friends help me to come out from this problem. may your suggestions helpful to me.
Regards,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sunil,
Check the blog by Michal on Pseudo Prinicpal Propagation. It might help you in your case.
http://scn.sap.com/community/pi-and-soa-middleware/blog/2009/05/26/pixi-pseudo-principal-propagation
Please give a careful thought on this before implementing.
Regards
Charan
Hi Charan and Iñak,
This is a good solution to implement and it give me expected result as you mentioned but i have a synchronous scenario and want to send immediate response to user.
When we use BDC_OPEN_GROUP and BDC_CLOSE_GROUP, my task will be run in background and it takes to much time to response and more it to i am also calling some BDC programs to confirm batches.
My ECC team has already implemented this solution but we faced many problems and can not be fulfill the actual requirement.
Is there any way that we can change the values of channel object while it is calling.?
or is it possible to call BDC using some different user(i tried to change the values of SY_UNAME but it doesn't work here).?
Hi Charan,
The best way is the say suggested by Charan R. However, i usually take different approach, i create as many sender parties as users, later you do your configuration in the ID selecting different communication channel for each configuration.
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes Iñaki, we have different ways to achieve this requirement. However, it again depends on the number of users that are going to call the web service.
In my previous project, we had additional field for the USER in the RFC and a similar field in the Sender WSDL structure. So whenever the RFC is called, the user from the SOAP request is passed onto the RFC and the same is stored in the ABAP table. RFC user in the RFC destination is going to be the same for all the calls.
Though this might not achieve the exact requirement of Sunil, this is just a work around.
Regards
Charan
Hi Charan,
I catch you, you used in you previous project a value-mapping to the user logon issue, i have done similar approach with other kind of channels. In my opinion the ideal solution would a dynamic configuration but it is not possible with this kind of channel.
Correct me if i'm wrong, with principal propagation he will need to define the users in PI, because mainly in the SOAP, PI check the user and later this user can used to logon the ECC. Therefore the initial problem "I don't want to maintained all users which are using this interface into my PI" persists.
I think your suggestion is the best way to work in this cases, however sometimes a workaround can be thought, for example, changing the user name in the ABAP code (with a job
Change of System variable sy-uname during the p... | SCN) or may be to accept don't to have the exact user on ECC endpoint and to define a low set of communication users by any business hierarchy and to save in a Z table the real user that it could come like variable in the XML payload.
Regards.
Hi Sunil,
Your scenario requires Principal Propagation to be configured. Check the blog on Principal Propagation.
https://scn.sap.com/community/pi-and-soa-middleware/blog/2007/01/16/principal-propagation-in-sap-xi
Let me know if this helps.
Regards
Charan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.