on 07-15-2010 7:55 AM
Hi Experts,
I am working on a scenario to send HR master data from Global to local system using SAP PI 7.1 .
There are multiple local system in the landscape .
The master idoc which comes in can have records with multiple objecttype and multiple company code and Personal area.
e.g
<Idoc>
<record1>
<Otype>'O'<Otype>
<CCode>Blank<CCode> -
> Can go to multiple systems A,B,C ..message split
<Parea>blank<Parea>
<record2>
<Otype>'P'<Otype>
<CCode>CC1<CCode> -
> system 'A' after split
<Parea>a1<Parea>
<CCode>CC2<CCode> -
> system 'B' after split
<Parea>a2<Parea>
<record3>
<Otype>'P'<Otype>
<CCode>CC1<CCode> -
> system 'A' after split
<Parea>a1<Parea>
<CCode>CC3<CCode> -
> system 'C' after split
<Parea>a3<Parea>
<record4>
<Otype>'S'<Otype>
<CCode>Blank<CCode> -
> Can go to multiple systems A,B,C,D,E ..message split
<Parea>blank<Parea>
<idoc>
The receiver determination that needs to be done is based on objecttype (O,P,S) ,company code(CC1,CC2,CC3...CCn) and Personal area(a1,a2,a3...an).
This information I plan to keep in a Z table on the PI system along with the target system business system information.
e.g if Object type is 'O','S' then it should go to Business system A,B,C but say not to D.
if the object type is 'P' then further check for company code and personal area to determine the target system A only.(unique)
I am planning to use Abap mapping to look at this table in PI as RFC lookup (Can RFC lookup done to the PI system aswell ? )uses lot of bandwidth if the same needs to be done in Graphical mapping. The flow idoc -> ABAP Mapping -> Receiver determination provided by standard SAP basis receiver determination.
The next step would be to split the idoc based on the condition to its specific receivers . For this I plan to use the interface mapping which would be specific to the recivers which have been identified in the first step.
I would appreciate your suggestions and thoughts on the above scenario,and whether this is the right way.Thanks
-Alok
After initial test with the above solutions ..results are positive.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
U can use conditional receiver to determine the receiver at runtime based on payload data.
Refer the below blog for help.
/people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
Chirag
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Chirag,
Adding the conditions through XPath can be tedious ,and moreover there can be new systems added tommorow to the landscape. I have modified the idoc structure a bit to give a clear picture.
<Idoc>
<record1>
<Otype>'O1'<Otype>
<CCode>Blank<CCode> -
> Can go to multiple systems A,B,C ..message split
<Parea>blank<Parea>
<record1>
<Otype>'O2'<Otype>
<CCode>Blank<CCode> -
> Can go to multiple systems B,C,D ..message split
<Parea>blank<Parea>
<record2>
<Otype>'P'<Otype>
<CCode>CC1<CCode> -
> system 'A' after split
<Parea>a1<Parea>
<CCode>CC2<CCode> -
> system 'B' after split
<Parea>a2<Parea>
<record3>
<Otype>'P'<Otype>
<CCode>CC1<CCode> -
> system 'A' after split
<Parea>a1<Parea>
<CCode>CC3<CCode> -
> system 'C' after split
<Parea>a3<Parea>
<record4>
<Otype>'S'<Otype>
<CCode>Blank<CCode> -
> Can go to multiple systems A,B,C,D,E ..message split
<Parea>blank<Parea>
<idoc>
These conditions I wanted to them to be added to the table ,and mapping to be more generic. So that based on these conditions I can go to the custom table and pick the receiver system.Thanks for your input.I look into those as well.
Thanks
-Alok
If u going to maintained table in R3 and going to use RFC lookup than there might be a performance issue as it will always switches between java and abap stack.
In X path -u going to use boolean condition only which i feel is simple to route to corret receiver.
If u add new system in landscape then only u need to change the configuration and add the new system?
Chirag.
Hi
Very true with respect to RFC lookup( Can this call be done to Ztable in PI itself or is this always done to other systems ..I do not have much idea on RFC lookup) consuming lot of bandwith. Though I plan to do it with ABAP Mapping where I need to parse the incomming idoc to get the values of the conditions and check from the table for the receiver subsystem.
My only concern is maintaining the conditions using Xpath will be a humongous task when the combination of these conditions to identify the receiver will be high..I am talking about 20-25 receiver systems getting the data from the global system. The data that will be maintained in the Global HR system will have information about all these 20-25 systems related to organisation,personal area ,jobs,positions and personnel numbers.
Appreciate your feedback.
Thanks
-Alok
User | Count |
---|---|
93 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.