cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic structure handling in PI

Former Member
0 Kudos

Hi All,

Here is the detailed description of the issue I am facing in PI for dynamically handling receiver structure change.

Sender : GIS (Through Web Service)

Receiver: SAP ( ABAP Proxy )

Interface : Synch

Equipment and Functional Location will be sent from GIS through Web service. PI will pass the these two fields to SAP through proxy which in turn calls the BAPI. This BAPI returns the hierarchy of functional and sub functional locations.

Please find the XML below as an example:

<SapAssets>

<FunctionLocation id="fnloc1" name="Substation1" GISGlobalID="589534tgdf222" GisFeatureName="" SAPObjectid="">

<FunctionLocation id="fnloc2" name="Substation2" GISGlobalID = "45896211ithsdvb" GisFeatureName="" SAPObjectid="">

<Equipment id="eq1" GISGlobalID = "270DA616-4E5D-459F-AD21-3B65EBF32EE1" name="Transformer" GisFeatureName="UIXELE.SDE.T_Transformer" SAPObjectid="10000539"></Equipment>

<Equipment id="eq2" GISGlobalID = "1238923789512ED" name="Tower2" GisFeatureName="" SAPObjectid=""></Equipment>

</FunctionLocation>

<FunctionLocation id="fnloc3" name="Substation3" GISGlobalID="" GisFeatureName="" SAPObjectid="" >

<Equipment id="eq3" GISGlobalID = "270DA616-4E5D-459F-AD21-3B65EBF32EE1" name="Transformer" GisFeatureName="UIXELE.SDE.T_Transformer" SAPObjectid="10000539"></Equipment>

<FunctionLocation id="fnloc4" name="Substation3" GISGlobalID="" GisFeatureName="" SAPObjectid="" >

<Equipment id="eq4" GISGlobalID = "270DA616-4E5D-459F-AD21-3B65EBF32EE1" name="Transformer" GisFeatureName="UIXELE.SDE.T_Transformer" SAPObjectid="10000539"></Equipment>

</FunctionLocation>

</FunctionLocation>

<FunctionLocation id="fnloc5" name="Substation3" GISGlobalID="" GisFeatureName="" SAPObjectid="" > </FunctionLocation>

<Equipment id="eq5" GISGlobalID = "270DA616-4E5D-459F-AD21-3B65EBF32EE1" name="Transformer" GisFeatureName="UIXELE.SDE.T_Transformer" SAPObjectid="10000539"></Equipment>

</FunctionLocation>

</SapAssets>

-


The above updated structure, is representing below mentioned hierarchy

FnLoc1 u2026u2026u2026Parent Functional Location which GIS sends as input to SAP PI,

It has 3 FL (fnloc2, fnloc3, fnloc5) and 1equipment u2013 eq5 installed

_____ Fnloc2 u2026u2026 Fnloc2 has 2 installed equipments (eq1 and eq2)

_______ eq1

_______ eq2

|______ Fnloc3 u2026u2026 Fnloc3 has 1 equipment (eq3) and 1 FL (fnloc4) installed

| |________ eq3

| |________ fnloc4u2026Fnloc4 has 1 equipments (eq4) installed

| |______ eq4

|________ Fnloc5 u2026u2026 Fnloc5 has no equipments installed

|________ eq5

But every time the hierarchy may change as in the the position of nodes and sub-nodes can change. For e.g. instead of 3 sub-functional locations there can be 2 and each can further have its own FLs.

So basically the hierarchy or the XML structure is not fixed and it may vary based on input from GIS.

As per my knowledge we need to create data types for receiver based on some structure. Can anybody please suggest how this dynamic structure change can be handled in PI?

Regards,

Aparna

Accepted Solutions (0)

Answers (1)

Answers (1)

udo_martens
Active Contributor
0 Kudos

Hi Aparna,

you could create a data type with optinal, repeatable fields:

SapAssets

|-FunctionLocation: 0-unbounded

...|-Equipment: 0-unbounded

...|-FunctionLocation: 0-unbounded

......|-Equipment: 0-unbounded

......|-FunctionLocation: 0-unbounded

Regards,

Udo

Former Member
0 Kudos

Thanks Udo for your reply. So what I understand is irrespective of the nodes and sub-nodes data will be populated in the tree form by taking occurance as 0 to unbounded at level.