天天看點

ABAP正規表達式 vs SPLIT INTO

ABAP正規表達式 vs SPLIT INTO

傳統的做法見下圖第98行的function module SKWF_UTIL_IO_FIND_BY_KEY:

ABAP正規表達式 vs SPLIT INTO

這個function module的作用就是解析用兩個/分隔開的document type: L, document class: CRM_L_ORD和document guid。

這個function module采用傳統的做法,把三個key拆分并存儲到一個内标裡,然後READ TABLE INDEX 1,2,3的方式分别取出每個key。用了42行代碼。

ABAP正規表達式 vs SPLIT INTO

如果用正規表達式,隻需1行代碼:

ABAP正規表達式 vs SPLIT INTO

而且後者比前者快3~6倍:因為FIND REGEX是在ABAP Kernel用C++實作的,比在ABAP端做要高效。參考如下的性能測試比較結果(機關:微秒)。

ABAP正規表達式 vs SPLIT INTO

繼續閱讀