How to expose Attribute Views as XS OData Service in HANA

0
17745

Hello everyone, in this SAP HANA tutorial, we will learn how to expose Attribute Views as XS OData service in HANA. Let’s get started.

Prerequisites

  1. You should have installed SAP HANA Studio in your local machine.
  2. You should have connected to HANA system with your HANA DB Credentials.
  3. You should have Attribute View created in HANA Repository.Please read our previous tutorial on how to create Attribute View.

Step-By-Step Procedure

1. You need to change the Eclipse IDE perspective to SAP HANA Development. Navigate to Window → Open Perspective → Other to change the perspective of your HANA Studio to SAP HANA Development   (OR)   Select the SAP HANA Development perspective in the perspective shortcut which is at the top right corner of your SAP HANA Studio.

SAP HANA Development Perspective
SAP HANA Development Perspective

2. In the Open Perspective window, select SAP HANA Development Perspective and hit OK,

Open Perspective
Open Perspective

3. In the left section, you will see three new tabs Project Explorer, Repositories, and Systems. Select the Repositories tab.

4. Right-click to create a new repository workspace for the HANA System you have already logged in.

Create Repository Workspace
Create Repository Workspace

5. In the Create New Repository Workspace window, select the HANA system for which you want to create a workspace, enter Workspace name, and hit Finish.

Create New Repository Workspace
Create New Repository Workspace

6. Your new workspace will be created.

HANA Repositories
HANA Repositories

7. Expand the created workspace and identify your repository package, right-click on it and choose to Check Out.

Tip: Checked out package will have tick mark like this Check_Out

Check Out Repository Package
Check Out Repository Package

8. After checking out, select your package and press Cntrl+N (or) Right-click → New → Other.

9. In the New window search with XS OData and select XS OData File XS_OData_Fileand hit Next.

HANA XS OData Service File
HANA XS OData Service File

10. In the New XS OData Service window, enter Filename, choose Template as “Basic” and hit Finish.

New HANA XS OData Service
New HANA XS OData Service

11. A new HANA XS OData service will be created with predefined syntax like below.

HANA XS OData Service Basic Syntax
HANA XS OData Service Basic Syntax

12. We are not going to use the predefined syntax as it, remove that and copy and paste the below code.

service  { 
   "demopackage.models::ZAV_EMPLOYEE_INFO" //Full path to your Attribute View & its Name  
   as "EmployeeCollecion"                  //Name of Entity Type     
   with ( "EMPLOYEE_ID",
   		  "FIRST_NAME",
   		  "LAST_NAME",
   		  "EMAIL_ADDRESS",
   		  "CITY",
   		  "COUNTRY")                //List of exposed columns
   key  ("EMPLOYEE_ID");                    //Key relevant for Attribute view        
}

13. Let’s see what the HANA XS OData service file contains

  1. Service definition starts with syntax – service {  }.
  2. you have to provide the full path of attribute view where it is stored and its name.
  3. as  –  you have to provide the Entity Type name.
  4. with – columns of attribute view you want to expose.
  5. key – key of the attribute view.

14. Activate the service by clicking on Active Button on the toolbar.  You can also right-click on the package and choose Activate / Activate All.

Activate HANA XS OData Service
Activate HANA XS OData Service

15. Before testing the service we need to first expose our package to do so we need to create two files in our package they are .xsaccess and .xsapp. Right-click on your package → New → File.

New HANA .xsaccess File
New HANA .xsaccess File

16. Copy and paste the below code into the newly created .xsaccess file.

{
    "exposed" : true
}

17. Again repeat Step-17 to create a .xsapp file. This file will be a blank file.

18. Activate all objects in the package. Now we are ready for testing. SAP HANA XS OData services are accessed by URL. Open your chrome browser and enter the URL of your XS OData service in the below format.

http://hostname:port/package/file.xsodata

For example, in our case, the URL would be

https://saplearners.com:8005/demopackage/services/EmployeeInfo.xsodata

18. You will see the XS OData service metadata output like below in the browser.

HANA XS OData Service metadata
HANA XS OData Service metadata

19. Now append the entity name “EmployeeCollection” to the above URL and you will see the data of the attribute view like below.

URL – https://saplearners.com:8005/demopackage/services/EmployeeInfo.xsodata/EmployeeCollection

HANA XS OData Service Data
HANA XS OData Service data

Conclusion

Congrats you have successfully exposed the SAP HANA attribute view as an XS OData service. Now we can use this XS OData service in SAPUI5/SAP Fiori applications to display the data in UI.

Please stay tuned to us for more SAP HANA/HANA XS OData tutorials. Please feel free to comment and let us know your feedback. Your feedback will keep us alive. Thank you.  🙂