Skip to Content

IC Web Client – Modifying View Layout – I

When i first started working over IC (Interaction Center) Web Client (hereon referred to as ICWC), i faced quite a few trivial problems here and there. The search over different web sites including SDN offered me answers in bits and pieces for a lot of my problems. Still there were some problems which were far from getting solved or so i found them at that time. Hence I publish this weblog which aims to give an elementary overview on how to customize the ICWC as per our requirements.
I intend to bring forth the following in this weblog and the subsequent weblogs in this series as and when i proceed –
a) Customizing the Standard view.
b) Using ICWC Profiles to tell ICWC to use our customized views rather than the standard ones.
c) Identifying the correct view in which the changes are to be made.
d) Identifying the correct context class (Associated with the Page Attribute).
e) Writing the set and get methods inside the appropriate classes. (For cases when they dont already exist)
d) Debugging to make life easier in identifying the views where the changes should be made.
Our aim here would be to add one more field (say CIF Number) in the “Identify Account – More Fields” viewset. For some information, I am using CIF Number for Business partner number from an external system or a legacy system (field BPEXT in table BUT000).It is maintained as “CIF Number” in Business Partner Transaction. If the current business partner is known under a different number in an external system, you can store this number here for information purposes. That’s the use of this number.
Now to start with, we need to look into the Business Server Pages (BSP) Application CRM_IC which contains the core ICWC Application. It is not advisable to make changes directly to the standard view or the controllers of this Application.Instead what we would do is create a BSP Application (say Z_ICWC) in our own Package. Thereafter we would copy the views & corresponding controllers in which we want to make the changes, from the standard application CRM_IC. Before we start doing anything, our ICWC looks something like this-
After we are done with the changes, the new face of ICWC is going to be as under-
So to give ICWC the face as illustrated above we would need to follow the steps enumerated below – STEP – I
From the standard Application (CRM_IC) we would copy the view “BuPaMoreCustomerView.htm” and controller “” into our custom BSP Application Z_ICWC which we have created in our own package. (I believe copying is not a problem, & in case it is please revert to me). After this we would go ahead with activating our BSP Application which might give us a syntax error telling that one or several include files are not available in the BSP application Z_ICWC.
This is due to the fact that the relative location of the view has been changed by the copying process. To overcome this we would change the viewset as follows to include the files from the standard Application –
Once this is done we have our own Application in which we are ready to incorporate as many changes as we want. Now because we want to add another field in the “Identify Account – More Fields” viewset (view corresponding to which we have already copied in out custom BSP Application), we would do some changes in our copied view as follows, which is just a matter of adding some CRM_IC tags.
After identifying the correct place where we want to add the code, in the view which we have copied, we will use the following code snippet –

Let me give a brief explanation on the code above.
We needed to find the following field among the page attributes: CIF Number. In our case, this is the page attribute ‘Customer’. If you navigate (by double-clicking) to the class definition of this page attribute, which can be found on tab Page Attributes, you will notice the following methods:

  • These methods were generated from XML files in the Design Time Repository and can be used for HTMLB tags like in this example of context nodes. The notation for their usage is: //Page Attribute/Property Hence, in this case: //Customer/PartnerExternal
    STEP – III
    Next we would need to tell ICWC to use our view instead of the standard view. For this we would need to define our own IC WebClient Runtime Framework Profiles as follows –
  • Goto transaction ‘SPRO’.
  • Choose Implementation Guide (IMG) activity –> Customer Relationship Management –> Interaction Center WebClient –> Customer-Specific System Modifications –> Define IC WebClient Runtime Framework Profiles.
  • Make your own profile name.
  • Copy the default profile in it
  • Copy the code as given in the figure below (in red) in that profile
  • image
    The tags tell the system to replace the standard view with the view as it is defined in our BSP application.
  • Create an IC WebClient profile by copying the default profile DEFAULT as follows: i) Choose IMG activity –> Customer Relationship Management –> Interaction Center WebClient –> Define IC WebClient Profiles. ii) Enter the name of the profile created above for the framework profile name. iii) Save your entries. Assign the IC WebClient profile to your user’s or business partner’s position in organizational management and restart the IC WebClient (application CRM_IC). Activate your Custom Application and run CRM_IC. We can see “CIF Number” appearing in the view. Just cross check from the table BUT000 (field BPEXT) to see the correct value being pulled up. In my subsequent weblogs i would bring forth the ways to
  • Identify the views in which we made the changes,
  • Debug to achieve the same,
  • Write our own SET & GET methods if they are not already present in the class definition of the page attributes,
  • Idetifying those correct class definitions (& offcourse the page attributes) where these methods can be written.
You must be Logged on to comment or reply to a post.
      • Hi Martin,

        Thx for your comments.

        To assign a profile, you need to do the fellowing things –

        1.Create Organization for Contact Center.
        2.Create Position under the Organization .
        3.Create IC WebClient Profile.
        4.Create  IC WebClient Runtime Framework Profile.
        5.Assign Runtime Framework Profile to WebClient Profile.
        6.Assign the IC WebClient Profile to a Position.

        All the above steps involve some further steps n its a lil long process to write.

        If one user has to work in more than one profile (option available when he logs in and is in the main Portal screen), create 2 positions, assign 2 profiles to these positions and assign the same user to these positions.  Steps are as follows :
        SAP Easy Access Menu -> Interaction Center -> Supporting Processes -> IC Structure -> Change Organization & Staffing
        Under Org. for Contact Center, Assign User ‘Abhi’ to Positions, Project Consultant and Project Manager.

        I hope this helps you nevertheless, do you think a web-log on configuration script will be helpful 😀

        Abhi !

        • Hi Abhi!!!!

          Thanks for your response !!! It was very helpful.

          Yes I hope a web-log on configuration scripts it is a good a idea..

          Now my challenge is to change the wrapperCollection in ContactRelation(@ Account).

          Do you have any information about that ?
          My msn is

          Thanks in advance!!!

  • at last…..with the help of a BSP-crack we are trying to modify different aspects of the ICWebClient…seems we are not the only ones trying…keep on und publish part 2, 3 etc.


  • I found your blog very helpful. I tried to add a search field to BupaSearchB2B which is not in the default search BOL BuilHeaderSearch, but in BOL BuilHeader. When it is added to the view, this field is greyed. I think there is more to be done if a search page needs to be changed. I would appreciate it if you could post some thought on this.


  • Hi Sir,
    Can you provide relavant information for Creating our own viewsets,viewarea and views in ICWC.
    I would appreciate if you provide the information

    Thanks in Advance.

  • Hi abhi,

    I am new to Ic webclient.I have created the many application but when i execute them the output is coming from only one view that is Bupasearchb2b view.Even though i assigned profiles(which i created) and all changes done but the end result is same please help me in this.