ABAP的OPEN SQL和Hybris Commerce的Flexible Search简介

简介:

在ABAP应用里,我们application developer用Open SQL访问database, 这些Open SQL会被Database interface转换成database provider specific的SQL然后执行。

CRM和C4C里还支持enterprise search / simple search,

实现原理实际上是application call一个RFC到TREX server上拿到查询结果。

Hybris里有类似的功能:FlexibleSearch service

FlexibleSearch service使用Hybris自己发明的一套基于SQL syntax的language,类似ABAP的open SQL.

看个例子:

select * from {Product} where {code} = 'cris03'

这条flexible search语言被预编译成和SQL语句语法类似的查询语句:
SELECT * FROM products item_t0 WHERE ( item_t0.p_code = 'cris03') AND (item_t0.TypePkString IN (?,?,?,?,?,?,?) )

上述语句里7个问号代表的变量的值,可以在execution statistics里找到:

其实就是7个catalog:

搜索结果,对应两条记录:

这两条记录同样可以在backoffice里搜索得到:

本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

相关文章
|
6月前
|
SQL 网络协议 数据库连接
在 ABAP 层执行 Open SQL 的幕后操作 - 武侠版
在 ABAP 层执行 Open SQL 的幕后操作 - 武侠版
35 0
|
2月前
|
SQL 数据库
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
小技巧:如何让 ABAP OPEN SQL 代码具有自解释性(Self-Explained)
23 0
|
5月前
|
SQL 安全 数据库
关于 ABAP OPEN SQL 注入漏洞的防御
关于 ABAP OPEN SQL 注入漏洞的防御
33 0
|
6月前
|
SQL 存储 API
SAP CRM 系统使用 API 和 open sql 读取订单长文本的两种方式比较
SAP CRM 系统使用 API 和 open sql 读取订单长文本的两种方式比较
43 0
|
6月前
|
SQL 数据库
使用 ABAP Open SQL 的 Select AS 别名,提高代码可读性
使用 ABAP Open SQL 的 Select AS 别名,提高代码可读性
93 1
|
7月前
|
SQL 数据库
使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异试读版
使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异试读版
62 0
|
11月前
|
存储 SQL API
SAP CRM 系统使用 API 和 open sql 读取订单长文本的两种方式比较
SAP CRM 系统使用 API 和 open sql 读取订单长文本的两种方式比较
|
12月前
|
SQL 数据库
使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异试读版
使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异试读版
|
SQL 数据库
SAP ABAP——OPEN SQL(六)【DML】
本文主要介绍SAP ABAP中OPEN SQL的数据操控语言(DML)
104 0
SAP ABAP——OPEN SQL(六)【DML】
|
SQL
SAP ABAP——OPEN SQL(五)【GROUPING & SORT】
本文主要介绍SAP ABAP中OPEN SQL的GROUPING和SORT语句
513 0
SAP ABAP——OPEN SQL(五)【GROUPING & SORT】