Siebel – Refresh Applet retaining existing context
by Nitin JainRefreshRecord() does not work in all cases, does it?
This is a very common requirement I have seen in almost all Siebel EAI implementations. We have data flowing IN and OUT of the Siebel CRM system. It is updated in the Database alright, but, how do we update the user on the UI. I am assuming a quick data interchange in Real-time using a VBC or a Web Service or something similar. Whenever we update the Database using a Workflow or a script here, the UI will not refresh automatically, and though the process would end successfully (I hope it does), the user would never come to know about the successful updation until he manually does a Query + Go on the Applet, or uses the famed Alt+Enter Hotkey.
Above is the problem. What is the potential solution to it? A number of solutions actually. Some of the most common solutions to this problem that I have seem so far are:
1) RefreshRecord()
This is a vanilla method declared at the Business Component level. You can directly use it in script in certain events as per the requirement, in BC Server Script to achieve the desired objective of refreshing the applet, on a specific event. Siebel says this will work on all Account based BCs (if I recollect clearly). However, by my experience, two major issues:
Not all BCs I want to update fall in this category.
Even the BCs where I expect it to work, the approach doesn’t work.
2) Query and Go
This is basically a very baad and performance hit simulation of the vanilla Query and Go functionality. Try using Alt+R and Enter functionality on a particular screen in Siebel. Issues with this approach are:
The performance is Bad.
It loses the context from the existing record. The focus will be placed on the first record in a list of records.
I have never taken a liking for it somehow! I use it only when absolutely necessary. (my personal opinion)
3) SIS OM PMT Service
By now, all of us know the wonders associated with the goddess, “SIS OM PMT Service”, and its capabilities. It has a vanilla BS Method, “Refresh Business Component”. Try using this. I have seen it work beautifully! Issues with this approach:
Performance is still a pain! Solution: Use Performance BCs in Siebel.
It retains the context of the current view, but, loses the context of the current record, and, places the focus on the first record in the list.
I enjoyed using this after some minor tweaks!
4) FINS Teller UI Navigation
Get to it in Siebel Tools, and notice the method, “RefreshCurrentApplet”. It seems it refreshes the Applet, and not the Business Component context as in (3) above. It could possibly retain the context of the current record. I never tried it, just found it out during some research. Try it at your end, and do advise if I should consider using it in my future implementations!
Feel free to add to the above. Cheers!
Related posts:
- Siebel – millisecond dates on Applet I had discussed in my previous posts about invoking a...
- Siebel – Custom Applet Title There is an Applet title on the top of the...
- Siebel – Number of rows displayed in List Applet Siebel Web Client by default shows only the first 7...
- Siebel – SIA BC Utility Service – Invoke BC Method I had discussed about the vanilla Business Service, “SIA BC...
- Siebel – SIS OM PMT Service There are lots of vanilla business services available in Siebel...
- Siebel – FINS Teller UI Navigation Siebel is POWERFUL! Now, need I even say that? And,...
- Siebel – EAI Siebel Adapter – Looping Multiple Records This is a follow-up post on the post, Siebel –...