您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么解決Fiori上my contact加了Dr. 后搜索不出數據的問題”,在日常操作中,相信很多人在怎么解決Fiori上my contact加了Dr. 后搜索不出數據的問題問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么解決Fiori上my contact加了Dr. 后搜索不出數據的問題”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在My task UI上維護了Account后,再點Contact F4 value help:
我們發現在GM6上,只要在search field里加了”Dr”, 就搜索不出來contact,如下圖。但是換成諸如“Florianna Adler”就可以。
昨晚我們糾結了好久,想知道為什么會有這種奇怪的behavior。
上午經過debug找到了原因:
起初我們懷疑加了Dr之后的search沒出來結果,是因為DB 沒query到數據。今早經過驗證,發現不是。Contact 的open sql是下列這個方法里動態生成的:
主要就是這4張表做inner join:
然后在下列這個方法里動態執行OPEN SQL,命中40條數據。
命中40條的原因就是OPEN SQL的where條件是掃描account的mc_name1和contact的mc_name1, mc_name2這三個字段。
因此,像下圖中第一行和第三行這種數據也命中了,只因為它們的三個column中有一個column的value包含”DR”:
DB search做完后,對結果集做filter.
逐一遍歷結果集的40條entry,對每個entry,執行三輪掃描,掃描條件定義在lt_search_f-里, 每個entry只有通過所有三輪掃描,才會最后返回給UI。
掃描的具體邏輯:檢查某個entry的這三個紅色的field里是否包含每輪掃描指定的key word。如果不包含,將該行entry從結果集中刪除,再處理下一個。
因此,加了Dr后搜不出來結果的原因:
Contact F4 search仍然將Dr作為一個free text傳入后臺,在后臺從DB取回來數據做filter之后,如果結果集的三個column里沒有包含DR這個字符串的話,就會從結果集里過濾掉。只有name1 & name2里面形如Andrew,Dragon的contact才有機會唄search出來。
到此,關于“怎么解決Fiori上my contact加了Dr. 后搜索不出數據的問題”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。