Stop Auto-navigation to Home Page on END of Interaction
This is my first Blog on SCN.
In this Blog I will explain how can we stop Auto-navigation to home page and navigate to a different page on END of the Interaction.
We all know that in Interaction Center Web Client Account Identification Page is the Home Page.
Suppose the user wants to see the Open tasks etc on the home page So we have changed the Home to Sales home page.
Now whenever the user press END button to end the interaction he will direct to sales home page.
But User also wants that if he END the interaction then he should redirect to the Account Identification Page.
So I will explain how can we Stop this auto-navigation to Home page and redirect it to Account Identification Page.
So there is a class CL_CRM_IC_AUTO_NAV2. This class gets loaded when the agent log in to Interaction Center Web Client.
There is a maintenance view ‘CRMV_IC_APP_COMP‘ where this Class has been maintained.
Now Copy this class ‘CL_CRM_IC_AUTO_NAV2‘ to a z class and activate it.
Now in the view ‘CRMV_IC_APP_COMP‘ change the standard class with your z class.
Now open the newly created Z class . There will be a method ‘HANDLE_INTERACTION_ENDED’ . Its responsible for the navigation to default Home Page.
And the Code which is responsible for navigation and which we need to replace with our custom code is :-
Replace above highlighted code with :-
* Navigate to empty view (Workaround for SP00) – general rule
if me->end_descr_object is initial.
iv_nav_srv->navigate( EXPORTING IV_LINK_ID = ‘IC_BPIDENT’ ).
We also need to make the same changes in method ‘‘IF_CRM_IC_EVENT_LISTENER~HANDLE_EVENT‘ of the same class:-
Replace the commented code with the below code:-
IF lr_nav_srv IS BOUND.
lr_nav_srv->navigate( EXPORTING IV_LINK_ID = ‘IC_BPIDENT’ ).
This is all about to stop auto-navigation to the default home page in interaction center web client. You can redirect the navigation to any page in interaction center. You only need to change the logical link ‘IC_BPIDENT’ in above given steps. Other things will remain same.
Nice doc gaurav..Thanks for sharing.
Your requirement can be achieved simply by using IDI with zero coding involved, but still the document is good if we need to add some process based on navigation which cannot be done using IDI.
Thanks for your reply.
I have no idea how it can be done by using IDI.
It would be great for me and also for other member if you can explain in some detail.
Maintainin a different logical link in your Z-navbar profile might help if you simply want to navigate to the same page on pressing END.
If you will maintain a logical link in Z navprofile even then you need to follow above steps to navigate to that link because on pressing of END button in Interaction Center the system automatically navigate to the home page which we have defined for our business role. And its a standard functionality which run when we END the interaction in the IC Web Client.
You write "We all know that in Interaction Center Web Client Account Identification Page is the Home Page". As far as I know, the "Homepage" is defined in the Navigational Profile (field Link_ID in table CRMC_UI_NB) and is customizable. Did you try to change the Link ID in the Nav Bar Profile of your business role? Of course, your coding is helpful if you do not want to navigate always to the same page.
Yes , You are right. Home Page is customizable.
But if someone customized the home page with the Sales home page to see the open activities calender etc and now whenever the user END the interaction it will navigate to the sales home page. Now if the user do not want to navigate to the Sales home page but he wants to navigate to the account identification page when he ends the interaction then the above given steps should be followed.
I have a requirement similar to this.In ic agent if we check the customer check box in account overview we need to pass four mandetory fields but if we click on end the data is going to save and it will navigate to account identification.how can we stop it in account overview only.Please help me on this.
You can use a global static variable in your account overview component and use this variable to set the value to 'X' if the check box is checked .
Now you can use this variable in the method as given above in Step3 as :-
If checkbox eq 'X'.
iv_nav_srv->navigate( EXPORTING IV_LINK_ID = 'Logical link ID for Account Overview page' ).
Hope it helps.
Will stopping of navigation prevent saving of data when pressing END?
No , It will not prevent saving of Data.
Thanks for the blog. However, the requirement is a bit confusing.
As Sigrid says, changing your homepage is simple, using the Link ID in the Nav Bar profile.
In my understanding, the above steps are required, if you have the following scenario:
1. Home Page (1st Page on logon) is Page 1
2. Page required to be shown after clicking on End is different i.e. Page 2
If the above is correct, then your steps do make sense.
You are right Nelson. That's the requirement..
Document is Very Useful Gaurav.
Keep it up. Thanks!