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

i042416發表於2020-01-13

在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簡介


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2673076/,如需轉載,請註明出處,否則將追究法律責任。

相關文章