cancel
Showing results for 
Search instead for 
Did you mean: 

XI/PI: adding new fields to service definition

former_member268877
Participant
0 Kudos

Hi All,

I am trying to enhance the existing service definition in IR, so what are the restrictions to do so?

1. can i add nodes, attributes, elements anywhere ?

2. can i add both optional and required fields?

3. if i regenerate proxy for the changed service will it retain old implementation?

In general what should be taken care while changing service definition/message interface?

Thanks in advance,

Regards,

Ujwal

Accepted Solutions (1)

Accepted Solutions (1)

prateek
Active Contributor
0 Kudos

Adding field in datatype won't be a problem for you. You may add nodes.

But this would affect you mappings. If there is additional node, then it would be fine but if existing heirarchy is edited, then mapping could be lost.

Regeneration will keep old implemntation. But just copy the source code to be on safer side.

Regards,

Prateek

former_member268877
Participant
0 Kudos

Hi All,

Let me give an example so that i set the right context,

Lets say i have following structure:

Existing:

CreateOrder

OrderNumber

OrderValue

OrderType

OrderTypeValue

OrderDate

OrderDateValue

Based on first tqo answer if i do in following way will that be fine?

New:

CreateOrder

OrderNumber

OrderValue

OrderName

OrderType

OrderTypeValue

OrderDate

OrderDateValue

OrderTimeValue

OrderResponsible

OrderRespValue

With above changes will it affect existing mapping logic?

Thanks agian,

Regards,

Ujwal

former_member200962
Active Contributor
0 Kudos

Yes the mapping will be fine then....just you will get unmapped nodes in your mapping (rest logic remaining intact).....

I think you have wrongly inserted OrderName....it is not present in Existing structure.

former_member268877
Participant
0 Kudos

Hi All,

Note:Alignement didn't come so changed it.

Let me give an example so that i set the right context,

Lets say i have following structure:

Existing:

CreateOrder

OrderNumber

-> OrderValue

OrderType

-> OrderTypeValue

OrderDate

-> OrderDateValue

Based on first tqo answer if i do in following way will that be fine?

New:

CreateOrder

OrderNumber

->OrderValue

->OrderName

OrderType

->OrderTypeValue

OrderDate

->OrderDateValue

->OrderTimeValue

OrderResponsible

->OrderRespValue

With above changes will it affect existing mapping logic?

Thanks agian,

Regards,

Ujwal

former_member200962
Active Contributor
0 Kudos

same answer as in previous reply

prateek
Active Contributor
0 Kudos

It shouldn't change ideally. But make sure to save a copy of mapping before performing this

Regards,

Prateek

Former Member
0 Kudos

hi ,

It won't effect your existing mapping.

Existin mapping will remain same until and unless you make changes in parent nodes.

Thanks

Jai

former_member200962
Active Contributor
0 Kudos

Changes will even be reflected in the copy.....

former_member268877
Participant
0 Kudos

Hi,

So if i understood correctly if i do changes in following way,

Existing:

CreateOrder

OrderNumber

-> OrderValue

OrderType

-> OrderTypeValue

OrderDate

-> OrderDateValue

Based on first two answer if i do in following way will that be fine?

New:

CreateOrder

OrderNumber

->OrderValue

->OrderName

OrderResponsible

->OrderRespValue

OrderType

->OrderTypeValue

OrderDate

->OrderDateValue

->OrderTimeValue

I might lose mapping logic for the nodes starting from OrderType?

New:

CreateOrder

OrderNumber

->OrderID

->OrderValue

->OrderName

OrderResponsible

->OrderRespValue

OrderType

->OrderTypeValue

OrderDate

->OrderDateValue

->OrderTimeValue

In this i might lose mapping logic within node OrderNumber as i added new element in begining and other nodes logic would still work.

Is my understanding correct?

Thanks and Regards,

Ujwal

former_member200962
Active Contributor
0 Kudos

You are trying to insert OrderResponsible node inbetween....so your mapping will be lost

If possible have OrderResponsible node at the end of the structure

CreateOrder

OrderNumber

->OrderID

->OrderValue

->OrderName

OrderType

->OrderTypeValue

OrderDate

->OrderDateValue

->OrderTimeValue

OrderResponsible

->OrderRespValue

Regards,

Abhishek.

Answers (2)

Answers (2)

former_member181962
Active Contributor
0 Kudos

Hi Ujwal,

Refer this Enterprise Service Enhancement Guide:

http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c0bb5687-00b2-2a10-ed8f-c9af69942...

Regards,

Ravi

P.S: Steps till Page 19 may be relevant for you.

Edited by: Ravi Kanth Talagana on Aug 3, 2009 1:12 PM

former_member200962
Active Contributor
0 Kudos

Avoid inserting the elements anywhere in the structure. Possibly insert them as end-elements in the enclosing Parent node

If this is not followed then the Mapping Programs referring the messages will get distorted and all the mapping logic needs to inserted again.

Proxy regeneration will overwrite the existing one.

Regards,

Abhishek.