天天看點

CRM WebClient UI錯誤消息的兩種顯示方式比較

Sent: Friday, September 27, 2013 1:12 PM

To: DL CN SOCIAL

Subject: message raise: when use CL_BSP_WD_MESSAGE_SERVICE and when use CL_BSP_MESSAGES

林師傅曾經提過兩個問題:

CL_BSP_WD_MESSAGE_SERVICE add的message最後怎樣在ui上顯示出來的?

做Enterprise search時,發現context node裡有另一種message service 也有add_message的方法,但使用後最後在ui無法看到add的message。

CRM WebClient UI錯誤消息的兩種顯示方式比較

我們在application裡通過第一種辦法add message時,實際隻是把message 加到internal table裡,

CRM WebClient UI錯誤消息的兩種顯示方式比較

這個message service是一個singleton,在ui render時會把app 存在internal table裡面的message 全部顯示出來:

CRM WebClient UI錯誤消息的兩種顯示方式比較
CRM WebClient UI錯誤消息的兩種顯示方式比較

Regarding CL_BSP_MESSAGES: 其實它和前者一樣,都僅僅把message放到自己的internal table裡,但是webclient ui framework隻取前者的internal table裡的内容,對于後者直接忽略,是以通過後者add的message不會顯示在ui上,除非developer自己手動設定一個顯示用的ui element:

在app裡通過CL_BSP_MESSAGES加message:

CRM WebClient UI錯誤消息的兩種顯示方式比較

在bsp裡面手動畫一個message bar:

CRM WebClient UI錯誤消息的兩種顯示方式比較

最後的效果:

CRM WebClient UI錯誤消息的兩種顯示方式比較

這種behavior違反了crm ui 關于message area的guideline,是以在webclient ui environment裡我們總應該用第一種方法去add message。

繼續閱讀