天天看點

use regular expression instead of ABAP function module to parse attachment

在做my task offline performanc improvement時,先參考BP代碼,裡面有一行call 下圖的FM去将變量ls_key裡存儲的attachment information解析出來:

use regular expression instead of ABAP function module to parse attachment

ls_key的一個例子:

use regular expression instead of ABAP function module to parse attachment

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

這個FM用的傳統的做法,把三個k split到一個internal table裡,然後READ TABLE INDEX 1,2,3的方式分别取出每個key。用了42行代碼。

use regular expression instead of ABAP function module to parse attachment

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

use regular expression instead of ABAP function module to parse attachment

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

use regular expression instead of ABAP function module to parse attachment

繼續閱讀