![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iN3ATO1kDNhdDN1M2Y2YTO2AjZ0ITOiZjYwYTZiVTZx8CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
傳統的做法見下圖第98行的function module SKWF_UTIL_IO_FIND_BY_KEY:
這個function module的作用就是解析用兩個/分隔開的document type: L, document class: CRM_L_ORD和document guid。
這個function module采用傳統的做法,把三個key拆分并存儲到一個内标裡,然後READ TABLE INDEX 1,2,3的方式分别取出每個key。用了42行代碼。
如果用正規表達式,隻需1行代碼:
而且後者比前者快3~6倍:因為FIND REGEX是在ABAP Kernel用C++實作的,比在ABAP端做要高效。參考如下的性能測試比較結果(機關:微秒)。