Difference between Open SQL, Native SQL in SAP HANA

As you know SAP was not providing any db for ECC and it had to be purchased separately. When you call your database in ABAP program, you need to write a SQL. As R/3 from SAP works with most relational databases, a common set of features had to be used, with some SAP specific extensions which are translated by the ABAP kernel to be understood by the actual DB. This language is known as Open SQL language.

When you develop only for one database, it uses native instructions. IT is developed in Native SQL. Now when you use SAP HANA as your underlying db with ECC, and you call it from ABAP it use Open SQL. When you create a CDS view in HANA Studio, it uses Native SQL.

Open SQL indicates the subset of ABAP statements that enable direct access to the data in the central database of the current AS ABAP. Open SQL statements map the Data Manipulation Language functionality of SQL in ABAP that is supported by all database systems.

The statements of Open SQL are converted to database specific SQL in the Open SQL interface of the database interface. They are then transferred to the database system and executed. Open SQL statements can be used to access database tables that are declared in the ABAP Dictionary. The central database of AS ABAP is accessed by default and also access to other databases is possible via secondary database connections.

To know more about Open SQL, you can refer our tutorial link:

Open SQL

The term ‘Native SQL’ refers to all statements that can be statically transferred to the Native SQL interface of the database interface. Native SQL statements do not fall within the language scope of ABAP and do not follow the ABAP syntax. ABAP merely contains statements for isolating program sections in which Native SQL statements can be listed.

You can refer our tutorial on Native SQL:

Native SQL