Step by step quick developing guide based on SAP Web IDE for SAP HANA
When it comes to develop HANA artifacts, there are several tools provided by SAP.
1) SAP HANA studio
HANA Studio is published together with HANA as a traditional C/S tool which is extended from open-sourced Eclipse.
It's a very user friendly workbench and support lots of fetures for development, administration and monitoring, etc.
Even now, there are quite a large number of HANA studio users not only for HANA development but also BW and ABAP development.
However the disadvantage is obvious, you have to install and upgrade HANA Studio locally, and ADT and BWMT plugins
are also needed to be installed manually.
2) SAP HANA Web-based Development Workbench
I always mix it up with Web IDE, but Web-based Devlopment workbench is just a simplified but web-based HANA studio
webapps which is running in XS engine ever since in HANA 1.0 SPS05.
3) SAP Cloud Platform, Web IDE
It's a cloud based service for developing online and is independent on your HANA instance.
4) SAP Web IDE Personal Edition
It's the local offline version for SAP Cloud Platform, Web IDE, you can download from https://tools.hana.ondemand.com/#sapui5
5) SAP Cloud Platform, Web IDE Full Stack
It's a enhanced version based on SAP Cloud Platform, Web IDE with full-fetured, and it is the only envisioned and recommended developoment platform.
6) SAP Web IDE for SAP HANA
When HANA comes to 1.0 SPS11, XS Advanced is introduced in order to replace XS Classic engine.
SAP Web IDE for SAP HANA is exactly an full-featured development platform application running in XSA.
It best fits for HANA development within your local HANA and no need Cloud service.
I'm going to roughly walk trough a quick guide on Web IDE for SAP HANA
deploying in official HANA expression edition with Google Cloud Platform.
1. build a virtual machine instance for SAP HANA, expression edition(server+applications) from Marketplace
2. configure pychical resources
3. stage to the OS command after deployment finished
4. switch to hana admin( hxe is the instance name, 90 is the instance no)
5. post processing after deployment
6. HANA DB is started automatically:
7. change your local hosts file machine for HANA DNS adressing
8. login to XSA Portal: https://hxehost:39030/
9. step into xsa-cockpit,user the XSA admin user and intial pasword previously
10. cretae a new tenant database
11. enable the tenant database instance YCL
12. create a new orgnization
13. create a new space
14. map space to tenant database created previously
15. step into Web IDE for SAP HANA
16. create a new MTA prject
17. create a new HDI module
18. install builder for project
https://launchpad.support.sap.com/#/notes/0002642384
19. It' a dead end,accroding to the SAP note 2642384, Web IDE application is registered in HANAExpress-SAP space, so new spaces have to be created under HNAExpress.
20. one more time for new space
21. remember to delete the DEV space cretaed previously, otherwize spaces under org. HANAExpress couldn't be selected in porject settings. I think this is a bug.
22. reInstall, finished successfully and you could see a di-builder servcie is under the new space
23. build HDI module , it works now.
24. create a new CDS artifact
25. create a new entity(Table):
26 create a new CDS View
27. in grahical editor, add the entity created previously
28. add a where condition
29 save and build CDS Artifact
30. another bug in graphical editor, reopen in code editor and comment the line as below
31. add HDI container in Database Explorer
32. find the table built in the runtime
33. insert some records manually
34. preivew data from CDS view
35. Add tenant database in Database Explorer to operate classic schema data
36. create a new table and prepare some records in current schema SYSTEM
37. Schenario 1: acess classic schema in HDI container.
create a new HANA service connection
38. add a Non HDI container UPS connected to current tanant database
39. check the service in space
40. add HANA Service connection one more time
41. check mta.yaml configuration file has been updated accordingly
42. Build Project
43. create synonym from classic schema
44. could'nt preview metadata in UPS, targeted invalidated port no in UPS configuration
by refer to the article https://blogs.sap.com/2017/12/04/hey-sap-hana-express-edition-any-idea-whats-your-sql-port-number/
try to get the right port no using the following sql:
SELECT
SERVICE_NAME
, PORT
, SQL_PORT
, (PORT + 2) HTTP_PORT
FROM
SYS.M_SERVICES
WHERE
(
SERVICE_NAME = 'indexserver'
and COORDINATOR_TYPE = 'MASTER'
)
or SERVICE_NAME = 'xsengine'
;
or refer to the following info.
45. reassign the port for User-Provided Services
46. create synonym manually, or automatically when consumed in CDS view or calculation view
47. do not remove prefix of the Synonym name,otherwize an error says file not found when building
48. preview data in Database Explorer
49. create a new calculation view upon classic schema table
50. we will use synonym created automatically here. The first line is the synonym created previously
51. build calculation view and synonym
52. preview data directly
53. Scenario 2, access data crossing HDI containers
creater another new project PJ0002
54. this time we test to specify a schema name manually
55. create HANA service connection
56. this time HDI Container is selected with the container built in the first project
57. mak sure the mta.yaml updated accordingly, if not showed up, try to add HANA service connection one more time
58. create a calculation view to consume external container object
59. couldn't see the table in external container
authorization is missing, roles and grant need to configured in the first position
60. go back to project PJ0001, create a hdbrole file
61. switch to PJ0002 and create a hdbgrants file
62. build with error
I didn't fine a solution to solve in frontend...
According to the error logs, I tried to grant directly in SQL console,
manully assign admin# to the current container's access_role
63. continued, external container table showed up this time
64. Build View successfully
65. preview calculation view data
66. Scenario 3, access data crossing tenant database by SDA.
create a remote source in current tenant database YCL to tenant database HXE
67 create a virtual table:
but couldn't see remote source we created previously
I have no idea, working aroud to create with file:
68. create a table and prepare some data in HXE tenant database
69. link to virtual table
70. build but with authorization issue
71. grant directly in sql editor to schema #OO user:
72. rebuild virtual table successfully
73. preview data in database explorer
74. test consumed in Calculation view
75. build CV
76. preview data
All of the above 3 scenarios hav been tested successfully.
77. integrate with github and push projects to remote repository
initial local repository
78. provide a local username and email
79. set remote to link to github repository
80. create github repository
81. copy repository url
82. back to Web IDE and continue
83. stage all and commit to local repository
84. first pull and then push changes to github
85. check in github, works fine.
By now, 2 test projects have been uploaded and could be found with the following Git link:
https://github.com/Yinchuanlang/SAP-WebIDE-PJ0001.git
https://github.com/Yinchuanlang/SAP-WebIDE-PJ0002.git
There are very useful articles refered to and with great regards to the author.
https://developers.sap.com/tutorial-navigator.html
https://developers.sap.com/tutorials/xsa-create-user-provided-anonymous-service.html
https://blogs.sap.com/2017/09/19/sap-web-ide-versions...-which-do-i-use.../
https://blogs.sap.com/2018/02/13/cross-tenant-database-access-in-sap-hana/
https://blogs.sap.com/2018/12/13/overview-modeling-in-sap-web-ide-compared-to-sap-hana-studio/
Any comment and advice are welcome. Thanks for your reading.
Clyde on April 24th 2020.