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

Posted JerryWangSAP

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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里搜索得到:

技术图片

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
技术图片

以上是关于ABAP的OPEN SQL和Hybris Commerce的Flexible Search简介的主要内容,如果未能解决你的问题,请参考以下文章

SAP ABAP, Fiori, Android和Hybris里的异步操作

SAP Hybris的build callback和SAP ABAP的SGEN事务码

SAP Hybris的类型系统更改和ABAP的LOAD_PROGRAM_TABLE_MISMATCH

SAP ABAP SICF事务码和SAP Hybris的链式过滤器filter chain

ABAP 7.50 新特性 – Open SQL中的宿主表达式和其它表达式

使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异