如何理解ABAP的OPEN SQL和Hybris Commerce的Flexible Search

如何理解ABAP的OPEN SQL和Hybris Commerce的Flexible Search

如何理解ABAP的OPEN SQL和Hybris Commerce的Flexible Search,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

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

如何理解ABAP的OPEN SQL和Hybris Commerce的Flexible Search

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

如何理解ABAP的OPEN SQL和Hybris Commerce的Flexible Search

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

Hybris里有类似的功能:FlexibleSearch service

如何理解ABAP的OPEN SQL和Hybris Commerce的Flexible Search

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

看个例子:

如何理解ABAP的OPEN SQL和Hybris Commerce的Flexible Search

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 (?,?,?,?,?,?,?) )

如何理解ABAP的OPEN SQL和Hybris Commerce的Flexible Search

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

如何理解ABAP的OPEN SQL和Hybris Commerce的Flexible Search

其实就是7个catalog:

如何理解ABAP的OPEN SQL和Hybris Commerce的Flexible Search

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

如何理解ABAP的OPEN SQL和Hybris Commerce的Flexible Search

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

如何理解ABAP的OPEN SQL和Hybris Commerce的Flexible Search

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对亿速云的支持。