Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Jitendra_Kansal
Product and Topic Expert
Product and Topic Expert
0 Kudos
2,816










PART 1 PART 2 PART 3 PART 4

Here we will see how to create a destination in Gateway cockpit and map it manually to deployed OData service and then how to perform CRUD operation on service document.

Test the OData service



  1. Log on to SMP 3.0 Admin: https://smpserver:port/Admin

  2. Create a new security profile with name as 'sap' (exact name as namespace) under Settings>Security profiles>New




3. Log on to SMP3 gateway cockpit https://smpserver:port/gateway/cockpit

4. Go to destinations tab, Create a new destination

 

         

































Properties Values
Destination Type DATABASE
Destination URL jdbc:mysql://MySQLSeverip/schema_name
Destination Driver com.mysql.jdbc.Driver
Authentication Type Basic Authentication
User Name DB User
Password DB password

 



5. Move to Services tab, click on deployed service employee_MYSQLDB.



    • Click on 'Add Destination', select MYSQLDB from the drop-down.

    • Save and close.




 

    


 

6. Once done, open the service document,

 



 

http://smpserver:8080/gateway/odata/sap/employee_MySQLDB;v=1

 



   

7. Open service metadata document



    • OData defines a metadata format based on the Entity Data Model in XML (edmx).

    • To access a service's metadata document use the $metadata command.

    • The returned document is the service's edmx metadata + backend metadata




http://smpserver:8080/gateway/odata/sap/employee_MySQLDB;v=1/$metadata



8. To get the details for the Entity 'employee'

http://smpserver:8080/gateway/odata/sap/employee_MySQLDB;v=1/employee

    

To fetch only first row of the table, http://smpserver:8080/gateway/odata/sap/employee_MySQLDB;v=1/employee(1001)

OData operations : RetrieveEntity (READ)


To retrieve details of a specific entity,use HTTP GET verb to execute the same.



    • Open Advanced REST client




REQUEST:

 


















Header Values
X-CSRF-TOKEN FETCH
Content-Type application/xml

 

    


 

RESPONSE:

 



    • 200 OK status message

    • X-CSRF-TOKEN value e.g. 1B4687085D8F59B1CA21382DF17D535A




         

 

OData Operations – InsertEntity (CREATE)





    • The InsertEntity operation creates an entity.




REQUEST:


















Header Values
X-CSRF-TOKEN 1B4687085D8F59B1CA21382DF17D535A
Content-Type application/xml




    • Pass this xml text into the BODY





<?xml version="1.0" encoding="UTF-8"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<atom:content type="application/xml">
<m:properties>
<d:EMPID>1006</d:EMPID>
<d:FIRST_NAME>SACHIN</d:FIRST_NAME>
<d:LAST_NAME>SHARMA</d:LAST_NAME>
<d:CITY>CHANDIGARH</d:CITY>
<d:COUNTRY>INDIA</d:COUNTRY>
</m:properties>
</atom:content>
</atom:entry>









RESPONSE:



    • This operation creates an entity.

    • Successful execution of the operation returns HTTP 201 status code along with the Location of the newly created entity will be returned.






ℹ To verify, you can check with http://smpserver:8080/gateway/odata/sap/employee_MySQLDB;v=1/employee(1006) OR directly in the MySQL database.

         


OData Operations – UpdatetEntity (UPDATE)





    • The UpdateEntity operation updates an entity.




REQUEST

 


















Header Values
X-CSRF-TOKEN 1B4687085D8F59B1CA21382DF17D535A
Content-Type application/xml




    • Pass this xml text into the BODY




xml version="1.0" encoding="UTF-8"?>

<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<atom:content type="application/xml">
<m:properties>
<d:EMPID>1003</d:EMPID>
<d:FIRST_NAME>CHIP</d:FIRST_NAME>
<d:LAST_NAME>ROG</d:LAST_NAME>
<d:CITY>SAN FRANS</d:CITY>
<d:COUNTRY>USA</d:COUNTRY>
</m:properties>
</atom:content>
</atom:entry>









RESPONSE:



    • If the update is successful, the server responds with 204 status code.







    • As the response code text "No Content" signifies, no data is returned in the Response Body.







OData Operations – DeleteEntity (DELETE)



  • The DeleteEntity operation deletes an entity.


 

REQUEST


















Header Values
X-CSRF-TOKEN 1B4687085D8F59B1CA21382DF17D535A
Content-Type application/xml



RESPONSE:



    • If the delete is successful, the server responds with 204 status code.

    • As the response code text "No Content" signifies, no data is returned in the Response Body.








Next Part 4