Transferring Eclipse Project Artifacts between HANA systems using Web IDE w/b Editor
In some environments, it is not always the case where control and security is necessary. Especially in home based developments such as HANA Express Edition, where you may wish to lift your efforts and take to another system.
If you are developing content in Eclipse, under a Project, and you have Functions amongst other Project artifacts. Using Eclipse File -> Export will not pick up certain objects, i.e. functions.
See below, the various Functions exist in Project, along with Views. In the Export Dialog Window, the Functions are not visible, like the Views. More so, adding the Function Package, still does not find them.
So, using the Import/Export mechanism, is not available in this scenario.
However, it can be achieved using the SAP HANA Web-based Development Workbench Editor.
1 Make sure you have the appropriate privileges (sap.hana.ide.roles:Developer)
2 Organize your content in a Project Package (everything in it will be exported)
3 Use the Web IDE Export Package functionality to Export
4 Modify Export Zip file to selectively import (optional)
5 Use the Web IDE Export Package functionality to Import
Tip: Refreshing the Package tree is often required to see any updates
Open up the SAP HANA Web-based Development Workbench Editor, on the source, with a URL something like this
Navigate and r/click the Package to Export
Give it a name, and save the Zip file
It is saved as a ZIP file with the Package contents
Take the ZIP file over to the Target system and open up the SAP HANA Web-based Development Workbench Editor.
If the Objects are to be imported into different Package names, than where they were originally Exported from, it is likely that the Objects will need to be modified appropriately before successful Activation.
If the desired target Package does not exist, it will need to be created.
r/click the Package under which the new Package is to exist – New -> Package
Name the Package, and Create
If the Package is not immediately visible, Refresh the Package tree.
Before selecting the Archive for Importing, the Zip file can be edited, and Objects that are not required can be deleted from the Archive.
r/click on the Package, Import -> Archive
r/click the Package in which to import, Import -> Archive
Note: Picking up the file, can be a little bugging and may require a couple of attempts
After the import i received these errors (don’t bother with them)
I navigated to the Package, and performed a Refresh, to find my Objects, present, but Inactive.
I selected one individually and Activated it, successfully
I then tried to select all the remaining Objects, and Activate together, only to receive the same error message as before
“Centiq/Monitiq/Functions/hanaInstanceScope.hdbtablefunction: Syntax error in table function object: object is empty or contains white spaces only; add content to the object definition”
To this end, I Activated them all individually, successfully.
Multi-File Drop Zone
Another way of performing the import, is to use this Multi-File Drop Zone.
Unzipped the downloaded Package to a location. Select the import Package. This displays the Multi-File Drop Zone.
Drag the required Objects into the Drop Zone, and they will be imported
This provides the same functionality as Importing a File
In short, Eclipse File -> Export will not see all Project artifacts to Export.
The procedure above, works around this using the SAP HANA Web-based Development Workbench Editor.
So, I hope the above is clear, and gives you a good guidance to get Packages and Objects from one system to another, without too much hassle.
Another way of performing this could be using Delivery Units, however, at this point I have not testing it, and will save that for another day.