Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
robert_warde4
Active Participant

I’ve been asked to look at versioning on PI. Specifically how we maintain multiple versions of a single interface for our various releases. I’ve researched the options, run a few tests and my conclusions are below but I would appreciate your feedback

Options

1) Create a new SWCV.

According to SAPs documentation ‘a software component version is a shipment unit for design objects in the ES Repository. You use a SWCV to group together objects that are shipped or installed together.’ SAP uses this approach for the majority of their standard content. You can’t copy objects between different releases of a SWCV. You have to use the Transfer Design Objects Function (ESR Menu under tools). It’s a neat tool that will transfer objects only if the source objects are more recent or the target objects don’t exist. You can preview the changes and it will tell you what will be updated (source version is more recent), what can’t be transferred (the target version is more recent) or what doesn’t need to be transferred (the versions are the same).

This is appropriate for deploying different versions of a particular software packages but doesn’t allow us to use both versions. The majority of the ID objects refer to the interface/namespace and not the SWCV. If you try and add two identical interfaces from separate SWCV to the same Communications Component you get an error.

2) Create a new namespace with a version number.

SAP has used this approach for the NFE updates and it works.

3) Ensure that the interface is backwards compatible.

Backwards compatibility isn’t always easy to achieve. The functional requirements we are given evolve over time and it may be the case that what seems to be a simple change that may not have any impact may will change significantly.

4)  Add a version number to the object names

Not the most elegant approach but it would work.

5) Stand up a separate PI landscape.

Not my preferred approach as it introduces additional costs, maintenance, monitoring and development.

Summary

Using different SWCV’s allows new releases to be created and deployed but you can only have a single release active at any moment in time. Using Namespaces allows multiple releases to be deployed. If you look at the SWCV for NFE, SAP SLL-NFE you can see they’ve taken this approach. I’ve checked the SAP support sites and can’t find anything on versioning.

My preferred option is number 2. Using a different namespace works but will require the calling system to update their configuration to support this.

7 Comments
Labels in this area