天天看点

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。

继续阅读