換、獨立值幫助服務(wù)到遞歸 F4 的完整機制)
在 SAP 傳統(tǒng) Dynpro 或經(jīng)典 ABAP 應(yīng)用里,按下 F4 鍵尋找一個字段的合法輸入值,是再普通不過的操作。開發(fā)人員通常不會特別關(guān)心這個過程背后發(fā)生了多少事情,因為 Data Element、Domain、Search Help、Check Table、Fixed Values 這些 ABAP Dictionary 對象已經(jīng)形成了一套非常成熟的值幫助體系。到了 SAP Gateway Foundation 的 OData V4 世界里,問題一下變得有趣起來。假設(shè)一個業(yè)務(wù)字段 CurrencyCode 在 OData V4 服務(wù)中提供 F4 值幫助。表面上看,前端打開 Value Help Dialog,從列表中選擇 CNY、EUR 或 USD,再把結(jié)果寫回主業(yè)務(wù)字段即可。但真正困難的地方并不只是返回一張代碼表。CurrencyCode 可能帶有 DDIC 轉(zhuǎn)換規(guī)則,金額字段可能依賴貨幣字段,數(shù)量可能關(guān)聯(lián)單位字段,而 Search Help 返回的字段內(nèi)部又可能擁有自己的 Fixed Value 或 Check Table。于是會出現(xiàn)一個很容易被忽略的問題。F4 彈窗里的字段,本身還能不能繼續(xù)擁有 F4SAP Gateway Foundation 給出的答案是可以。而且它不是靠前端硬編碼一層又一層彈窗,而是讓 Generic OData V4 Value Help Service 自己具備生成下一級 Value Help 的能力。SAP 官方把這個能力稱作F4 of F4。父 OData V4 服務(wù)中的完整 conversion 信息也會被帶入這條值幫助鏈路,使 Value Help 不只是查到了正確的數(shù)據(jù),還能夠按照父業(yè)務(wù)屬