Skip to Content

Hacking the new Portal iView Personalization Feature

    The iView Personalization feature is new as of EP7 (aka. EP7 NW04s .aka. NWP7….thanks once again SAP Marketing!) It simply allows a portal administrator (and even end-users!) to make several user interface changes to WebDynpros through an iView. You can change text labels for an input field such as changing “Preferred Name” to “known as”. You can change the text on labels such as changing “Submit Form” to simply “Submit”. You can hide unwanted fields as text. You can mark fields as required or read-only. You can rearrange the order of fields and elements on the screen. You can even add text to the screen (aka. “decorative” elements). It eliminates much of the tedious work performed by developers in the past. From the administrator’s perspective, the actual personalization settings are kept with the iView and are transportable as such. One of the nice effects of this is that we could actually have several different customized/personalized iViews for the same underlying WebDynpro! (find more info on iView Personalization here: documentation)

But what do you do when the simple appearance type settings are not immediately exposed to you through the personalization settings? Well, if you are like me, you poke around here and there, fiddle with it a bit and come up with a hack to get to work for you. I’ll call this one Solomon’s Style-ish Hack just cause it’s fun to name things after yourself. (haha)

This hack was born out of a forum question in the “ERP Employee Self-Service” forum by one “John Lennon” (real name?). He asked if anyone knew how to change the column colors on the CATW timesheet for Saturday and Sunday only. When he said he was on ECC 6 and EP7, I thought right off  “sure….this will be easy in iView Personalization!”, but I was wrong. To my surprise, there were no settings for column color or the like. So I started to poke around a bit…. (note: this assumes that our columns will always be in the same position. With timesheets, different profiles could have different column positions, but we will assume they will all be the same)

The standard WebDynpro screen for the timesheet appears as follows:


By selecting (clicking) the column header for Sunday (the dark brown header showing “SU 08/19”) and then starting personalization (ctrl + right-click), I could see the following parameters were available for the header of the column:



Now, from my web development past, I know that most of your appearance kind of settings (width, color, alignment, etc) are typically set in style sheets or directly in the “style” parameter. Furthermore, they have the appearance of:


Simply, colons divide a property and it’s value, and semi-colons divide properties from each other. Right off, I noticed the “width” parameter with a value of “6ex”. I guessed that SAP must placed the quotes around this field (and maybe even the ending/closing semi-colon). Much like a SQL Injection hack (another discussion), I simply thought I would expand the value by adding in my own style properties. So, for the “width” parameter, I entered,

                                                     6ex; background-color: red


(note: do NOT put a semi-colon on the end! )

as shown below:



When I applied and accepted the change, I was pleasantly surprised to see that it had my desired effect:



Next, I wanted to change the colors of the table cells in my column to match. This is where I hit a bit of a snag. I selected the first of my input columns and opened personalization as shown.  Here, I seemed to only have the “width of input field” parameter that might suffice. I entered,

                                                      ; background-color: red

By entering the semicolon at the beginning, I was in effect closing the setting for the width parameter and then adding my own into the “style” string.



Again, I applied and accepted the change. However, this had the unwanted impact of not changing the entire cell color as shown:



I tried and played with many of the available parameters but nothing seemed to work. This seemed ok to me however since why would I change the color of a cell if it accepted input? So, I decided to mark the field as “read-only” as shown:



With this change, I got the result shown below which is exactly what I had wanted! It was an odd side-effect, but it worked.



Well, I knewmy cells would be editable, so I changed those settings back. Just for grins, I wanted to see how much more I could change on my column header just to show a little variety. I picked some easy ones. For the “Width” parameter, I entered:

                                6ex; color: white; font-weight:bold; background-color: red



As expected, this was the result:






A few things to keep in mind when making personalization changes:

  1. Make sure you are personalizing in “admin mode”. You will do this under the “Content Administration” area in the portal. Typically, I do this from the immediate “Portal Content” area by opening the iView and then “Previewing” it to make my changes.
  2. Make sure you are making personalization changes to the iView that end users will be using within their role. From what I have seen (and it makes sense), personalization is not delta-linked. Therefore, if you change an original iView, but your delta-linked one is what is exposed to end users, they will not see the personalization changes.
  3. You may want to make sure that you mark your changes as “final” (checkbox on right side of personalization pop-up) or just disable end user personalization all together (did you know that you can ctrl+righ click on a webdynpro as an end user and get all kinds of personaliztion options too?!?!) I like to call this “protecting the user from themselves…haha.


As you can hopefully see, with a little “creative thinking”, you may be able to personalize far more than what is explicitly exposed to you in iView Personalization parameter settings. Give it a try!

You must be Logged on to comment or reply to a post.
  • During the migration process problems have been reported for this blog. The blog content may look corrupt due to not supported HTML code on this platform. Please adjust the blog content manually before moving it to an official community.
    • Ooooo Mr. McEvoy…if you weren’t such an ABAP wizard, I’d be offended…..besides, this is web stuff….you best steer clear before you mess around and hurt yourself. (haha)
      • Christopher,
          We have a project to roll out CATS. The project has us configuring R/3, in addition to the ESS timesheet with the later being the preferred method of access. We have even developed a neat little blackberry application that interfaces back to CATS. 

        The reason for the email is we have a requirement to enhance the heard of the ESS timesheet to include a couple drop-downs, like Employee Information (vacation balances, etc..).  We would like to have our enhancements behave just like the calendar and worklist do, but we are unable to code it. Right now it launches another browser window and frankly looks funky.

        Any thoughts, suggestions?

  • Great effort… Could you test it whether these changes are applicable for other users( apart from administrator).When I did these changes , it is only applicable to me


    • Yes….these were done at the admin iView Personalization level….same as the other typical ones you would do (I usually do them from the “Preview” while in the PCD). This was not the end user version….same as changing a label from say “House Number” to “Address Line 1” or some such.
      • John….just to make absolutely sure, I had 3 different users test it this morning for me. All of them could see the personalization correctly. A few things to note…make sure you are in the admin mode for personalization (ie. do it under “Content Administration” in the PCD or Webdynpro areas)…make sure you are personalizing the correct iView (ie. the one the end users have in their role). I will add some “gotchas” to the blog just to make sure.
  • During the migration process problems have been reported for this blog. The blog content may look corrupt due to not supported HTML code on this platform. Please adjust the blog content manually before moving it to an official community.
  • This UI was already enhanced in release 7.1 and validation for such “CSS size” property values has been added. Thus this trick will stop working in NW 7.1.


    • Hence the word “hack”….like any hack, it will work until the “exploit” is corrected. Good thing we aren’t on 7.1 and have no immediate plans of moving to it! =)

      *The idea is to motivate others to find “ways around”…not that this is a specific solution as such.

      • Hi Christopher… nice hint.
        I have a general question though, if I may ask: Are personalization changes in iviews overwritten by support packs?

        Thanks in advance.


        • Personalization is stored at the iView level as a parameter (and hence is transported with the iView). Soooo if SAP updates the iView, your changes to your own copy should not be affected. If you delta-linked your copy of the iView, then those parameters are not touched. If you did a straight copy, then of course, no worries there. Keep in mind, you should always delta-link or straight copy your iViews though. If, as you suggest, you simply personalized the out-of-the-box standard SAP iView and then they issued a SP, you DO run a risk of having your changes/personalization overwritten.
  • Do you know if there can be something done for MSS Team Calendar Colors. There is a enhancement spot PT_ABS_REQ which allows to do some color changes but not much.


    • Hi,

      i have personalize with success the “Leave Request” application in the portal.

      Now i want do personalization also in the task of the approvation of the leave request “TS12300097” used in the universal work list(UWL)

      I have personalize the application in all the delta-linked application and in the roles of the portal, but when i open the application on the uwl the modification are not taken.

      Can you help me to understand where i can personalize the web dynpro in the uwl?

      Thanks a lot,

  • Hi,

    i have done personalatizion for the leave request on Employee Self-Service with success.

    Now i want personalize also the LeaveRequestApprovation used in the Universal Worklist for the task TS12300097.

    I do the personalization in all the roles used for the application, but the personalization don’t take effect when the users open the workitem.

    Can you have any suggestions?

    Thansk a lot,