In SAP’s ABAP application based on NetWeaver, application developers use open SQL to access the database. These open SQL will be converted by database interface into native SQL statements supported by various database providers and then executed.
The database providers supported by NetWeaver can see in the DBMS field of table dbcon:
In addition to the common ABAP open SQL statements used to add, delete, query and modify business data, SAP CRM and C4C also support enterprise search (sometimes referred to as simple search, fuzzy search). Just like Google search, users only need to specify the value to be searched, without specifying the search criteria corresponding to the search value.
The implementation principle of enterprise search in these two products is actually that the application initiates an RFC (remote function call) to get the query results on the Trex server.
Please refer to Wikipedia for SAP Trex introduction
Hybris also has the same function as the API layer in CRM webui, which encapsulates the operation on DB.
The database access implementation in hybris is encapsulated in a large number of Java classes ending with Dao (data access object), which is equivalent to those function modules in SAP CRM API layer.
Click any Dao to see the implementation, which is also a SQL statement, and then throw it to DB for execution:
The SQL statement assembled in the above code is not the native SQL language related to the data provider, but a new language called flexible search. Similar to ABAP’s open SQL, it decouples the code of hybris application accessing the database layer from the underlying database.
You can see the list of supported databases on the hybris help document:
HSQLDB: a lightweight open source relational database system developed in pure Java