在做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