Technical Articles
SAP HANA Cloud modeling in Business Application Studio
SAP Business Application Studio is a new SAP Cloud Platform service available on CF environment, it has got a modern development environment to create business applications. It is available as a Cloud service and positioned as a successor to WebIDE fullstack. In the past, It has got features to support fiori and Cloud Application programming models but not the native HANA modeling models like Calculation views and HANA DB Explorer for runtime access. With that it used to be a combination of Web IDE full stack for Native HANA models(CVs) and BAS for other application developments. In the latest update to BAS, HANA modeling tools are made available to use.
Let us take a summary of what steps are performed to create a calculation view in BAS and deploy it without Web IDE full stack.
BAS is available on SCP CF subaccount as a subscription to access, then a Dev space will be created while accessing the BAS application. This space is going to provide all the tools needed for your required development, not to confuse BAS space with Cloud Foundry Org and Space. they both are completely different. When you creating a BAS space, select a SAP HANA native application category, with that we will get SAP predefined extensions for CV editor and DB explorer.
In BAS Workspace, Connect to Target HANA instance from Command Palette as shown below, provide API Endpoint of HANA instance, CF login credentials, email ID and Password. Also choose the target Org and Space.
Then hit finish, With that Project set up is completed as the template Wizard has taken care of most of the config work. Now we can see the project is added to our workspace, with mta.yaml file, db module with src folder and .hdiconfig files etc.
you can also check the services created in CF space, by running CF commands in the Terminal.
cf services
Now we can start creating design time artifacts, I created a .hdbtable file in the src folder. I will be using this table source while creating a CV model.
Customer.hdbtable
Customer table will need to built first, in order to be available in runtime and then can be used in HANA CV. so Let us build this file. I can do this either in CF terminal or SAP HANA Projects menu in the bottom. In this example I am doing it from the Project menu as shown below.
Select Customer.hdbtable and hit deploy, you can see the log of file being deployed in Terminal. When it is completed, customer table is now available in the HDI container of Database. We can check that by accessing HANA DB explorer (it is another tool which is used to check HANA runtime objects and run SQL statements).
How to Navigate to DB explorer: Command Palette, a new link will be opened for DB Explorer.
In the next step, I can create a calculation view, by choosing a new file in src folder, provide the extension as Customer.hdbcalculationview, system will open a graphical layout for CV creation. It will be the same layout what is currently available in WebIDE fullstack, you don’t feel any difference while working in BAS. Then, I can deploy this CV also in the same way table got deployed before.
Finally, I can insert couple of records in the table and display data in the CV., in HANA Database Explorer SQL console.
In Summary, We have seen how to use Business Application studio for HANA modeling and HANA SQL console actions going forward.
Thanks for reading.
Sreekanth Surampally
Great blog! Thanks for sharing.
Great Blog, Thank you.
On top of what you wrote I would like to mention two additional capabilities:
Thanks
Ayala
Thanks Ayala, Yes, Using Wizard for Creating HDB artifacts is a good option because we don't enter any wrong extensions for the file. Thanks for adding.
Thanks Sreekanth, this feature just snuck up on me and a long awaited one too.
Thanks for the blog.
Thanks for this great post Sreekanth. Is there any way where we can import our calculation views created in HANA 1.0 here into BAS?
Thanks
Vishnupriya
You can migrate all design time objects like calculation views using Migration assistant tool. https://blogs.sap.com/2020/05/27/hana-db-migration-from-neo-to-cloud-foundry/
After migration, you can import the migrated content into BAS project and start building and deploying.
Thanks Sreekanth. Will try.
Hi Sreekanth,
I had managed to use the migration tool and create the migrated content (db,migration,mta.yaml) folders. I am trying to import it in both Web IDE and BAS. Below is the error I am encountering in Web IDE :
3:44:49 PM (HDB) Requested version of @sap/hdi-deploy is 3.7.0, found in package.json.
3:44:49 PM (HDB) You're not using the latest available version of @sap/hdi-deploy. You might want to consider upgrading to version 3.11.10.
3:44:52 PM (HDB) @sap/hdi-deploy, version 3.7.0 (mode default), server version unknown (0.0.0.0), node version 8.12.0Detection of server version
failed; root cause: Could not connect to any host: [ 5a9645ac-10ec-4b79-8e97-90c6f32c8a4e.hana.prod-eu10.hanacloud.ondemand.com:443 -
certificate has expired ]
3:44:52 PM (HDB) No ignore file at /tmp/hdi-space-deploy-5438U3pP44BR5j-content/.hdiignore.
3:44:52 PM (HDB) Collecting files...
3:44:52 PM (HDB) Collecting files... ok (0s 1ms)
3:44:52 PM (HDB) 5 directories collected16 files collected0 reusable modules collectedTarget service:
MIGVVTEF1-MIGTEL-hdi-S0011581101-w2exNqkNJMT/Ge/kF
3:44:52 PM (HDB) Processing grants files...
3:44:52 PM (HDB) Processing "cfg/synonym-grantor-service.hdbgrants"...
3:44:52 PM (HDB) Error: service synonym-grantor-service not found; the service definition does not exist.
3:44:52 PM (HDB) (3s 156ms)
3:44:52 PM (HDB) Deployment failed with exit code: 1
3:44:52 PM (HDB) STRUCTURED LOG CHECKSUM b5ded8d553f94f27f8acbb2e3b673763e70371f501d06faf2944deec6bb5f906
3:44:52 PM (HDB) STRUCTURED LOG SIZE723
3:44:52 PM (HDB) SENDING STRUCTURED LOG
3:44:52 PM (HDB) Ended because of error: Deployment failed with exit code: 1
3:44:52 PM (HDB) Build command failed : hdi-build operation failed: Deployment failed with exit code: 1
3:44:52 PM (HDB) Build of /MIGVVTEF1/db failed due to The "task for hdb build" process finished with code 1.
Also, have a clarification - do we need to explicitly create user-provided services for synonym-grantor-service as expected by generated db/cfg/grantor.hdbgrants files as mentioned in the image below :
Any help would be really appreciated.
Thanks
You will have to adjust the grantor file, user provided service and synonyms files according to your Cloud foundry Database guidelines. if you are facing while doing the build, you can ask questions in the community forum.
Regards
Sreekanth
Great Blog, Thank you for Sharing.
As you said
By accessing HANA DB explorer I am trying to check HANA runtime objects but I could not see in my Main user DBADMIN.
In Fact I could not see system generated users/schemas like
_SYS_BIC for Activated objects,
_SYS_REPO Activated objects, Inactive Objects for this I was trying to provide access in hana-cockpit monitor and administrator by User & Role assignment but I could not get lookup(_SYS_BIC, _SYS_REPO) from the list.
Why it is not showing any idea on this change, Where we could see runtime and design time objects(CalculatedViews)
Hi, In this blog I am using HANA cloud database, in which _SYS_REPO and _SYS_BIC user/schemas do Not exist as XSA/Cloud foundry don't use them. All Calculation views are not created in _SYS_BIC schema instead they will be created in the hdi container you are working.
So You are going to create calculation views as part of HDI container in the workspace(design time), after deployment they will be available as column views under the HDI container database/Schema(Run Time).
Thank you for clarifications
Hi Sreekanth,
Great Blog! Thanks for sharing.
I have two doubts -
1.)I am unable to do data preview at intermediate nodes in a calculation view. Is it some thing which is not available at the moment or do we need to do some configuration?
2.)How can we access SYS_REPO objects? I have few roles created on SYS_REPO objects like GRANT_ACTIVATED_ROLE and REVOKE_ACTIVATED_ROLE in SAP HANA 1.0 SP12 which we are accessing using PUBLIC synonyms. How can we replicate the same in BAS as I cannot see these objects in Public Synonyms in my HDI container?
Hi Sreekanth,
Am also having same doubts on SAP BAS, data preview for intermediate nodes for debugging.
Hi Pitchiah Bellam
Data Preview at intermediate nodes in BAS is available now.
Please find screenshot.
Thanks,
Mirnal