Many of you know and widely use SAPlink. I bet this application spared you lots of time not once. No doubt, a great project. Although there are many plugins available which increase its usability, over time however your expectations might increase as well. I experienced that myself last time.
While working on some recent cutover projects for one of our customers, I faced a problem with existing development. I had to move some customer DDIC objects which contained a number of customer sub objects. That forced me to add each object’s definition one by one to SAPlink nugget. Eventually I missed some anyway, so the process has extended largely, as I had to revert to legacy system and add those missing definitions. Futhermore I had to rename each object separately in target system as very seldom we share the same namespace in different systems.
Then I realized that such drilling object’s hierarchy option would be great to have. One click, several (sub)definitions extracted. Renaming option was optional, but welcome.
So it is there
After a short analysis of how SAPlink works in its core, I was able to achieve my initial goal – develop the “plugin”. It is available under SAPlink chain and rename. It isn’t rocket science, but can help you with transition process. Please feel invited to participate in testing (I was only able to do unit tests), using, proposing changes, reporting bugs, joining the project. Any help that you can offer to make this enhancement useful, is greatly appreciated.
Open source project and hosting
I was told by Gregor Wolf who is a member of SAPlink project that it is going to be moved from Google Code to Code Exchange due to some issues with licensing. If this happens you will be able to find this project over there as well. So please stay tuned for upcoming changes in projects hosting.
There are only a few things you need to pay attention to:
- It suports only DDIC objects
- Chaining options are only available for nugget file. Slinkee doesn’t support it, as from its nature it is used to export/import only single object. So is renaming used for nuggets only and for objects with are exported with chain option
- Object definition mustn’t already reside in nugget, XML traversing will finish at spot where existing definition was found. Mechanism will treat it as end point of further sub object search. If you get message “No new object added to specified file” this means you need to ensure that definition is not already in nugget or you selected object which doesn’t exist in the system
The process of which you got used to when using SAPlink has changed only slightly:
- run your SAPlink, create a nugget file
- choose “Add object” radio
- you will get three new options available – “Rename” and “Only customer objects” can be selected once “Chain” is chosen
- after you run it, you will get a tree of sub objects that were extracted from main definition, check ones you want to export and rename if needed, then run again
Hope you will like this small enhancement and will help me to improve it over the time.