Skip to Content

Manager Self-Service (MSS) – Performance Optimization with OADP

SAP delivered Business function HCM, Manager Self-Service – Performance Optimization with OADP (HCM_MSS_OADP_1) with HR Renewal 1.0 (EA-HRGXX 607 SP10). The main focus of this delivery was to offer enhanced MSS (Web Dynpro ABAP) that is optimized for performance with improvements to Object and Data Provider (OADP).

Motivation for the Development

The existing versions of Manager Self-Service were recommended to be used only for middle level Manager (Note 922267).  This was due to inherent performance bottlenecks experienced for the Manager users that have high number of employees. This limitation was a challenge for customers who wanted to implement the solution for senior level Managers.  Also at some customers that have flat hierarchical organizations, middle level Managers also had high number of direct employees and experienced performance issues.  Of course, this was not a desirable situation and needed a solution.

Let us have a look deeper look at a typical Manager Self-service application and try to understand what were the existing performance issues.


Above screenshot shows schematic diagram of MSS Homepage application.  This application contains many UI blocks that display summarized data for the team.  If the Manager user is a senior manager, some of the UI blocks also includes information of the team members in the teams of his direct reports.  As you can imagine, there is lot of processing involved here.  Lots of data including all the details team members is read from the Database; once they are read, the data is further processed to create summary information. 

The overall process is expensive, and we try to save processing as much as possible.  Also, the data in these UI blocks do not change often – for e.g., when the Manager views the Homepage, navigates to Inbox and navigates back to the Homepage, it does not make sense to read the database and prepare it all over again.  For this reason, we already use a persistent buffer with Object and Data provider (OADP).  System always reads from this buffer.  The buffer is updated in cases when the Database is read for fresh data.  This works well in most of the times. 

However, for some use cases this was not enough.  Performance issues cropped up whenever the system accessed the Database fro new data. 

For example:

  • when user logged in for the first time
  • when user logged on and the system finds that the buffer validity has expired
  • when search is performed in team viewer

Below is the screenshot of application with user pain points highlighted



SAP delivered Business function HCM, Manager Self-Service – Performance Optimization with OADP (HCM_MSS_OADP_1) with HR Renewal 1.0 (EA-HRGXX 607 SP10).  This enhancement is already available to customers since 21st March 2013.  The Business Function is part of HR Renewal 1.0 SP10.  You can find more details about HR Renewal 1.0 SP10 here:

Enhancements included Optimization, UI improvements and Utility report


  • The direct Database read by the application is improved – the OADP APIs used by the Manager Self-service have been optimized.  The new versions of the API’s are 3x times faster when compared with the existing version.
  • The Homepage UI blocks were optimized for performance.  The end to end response time is now 1.7x faster when compared with the existing version.

The improvement factors may vary from customer to customer depending on system setup and configuration.  Our internal improvement measurements considered with a Manager that has 200 direct reports or/and 2000 indirect reports with Threshold set to 100 (more on Threshold later).

UI improvements

We also wanted to cover uses cases of Managers who had a very high number of employees in their team.  Despite the optimization in the APIs and the Homepage application, when  you have to process a very large number of employee data there is more  processing time needed.  The user does not know this and always demands  high levels of system response.  In the enhanced version of MSS, the Homepage intelligently responds to the Refresh command of the user. 

If the Manager has a large number of employees, the system triggers an Asynchronous update of data (the default is set to a value greater than 100).  When Refresh command is given, the user is greeted with Update Started message.  The user can continue with other tasks on the Homepage and is not held back until the refresh is complete (see the screenshot below):


Once the Asynchronous refresh is completed, a notification is pushed to the Homepage. The  Update completed message automatically displayed on the screen (see the screenshot below)


If the manager has fewer employees (the default is set to a value less than or equal to 100), the system triggers a Synchronous update of data. The Synchronous refresh is optimized. The response times are better (1.7x times) when compared to the previous version; optimal performance can be expected for direct employees up to 200 (see the screenshot below)


The decision making value that makes the system decide to switch between Asynchronous and Synchronous mode is called Threshold.  Default value is set to 100 and is fully customizable (the performance of the system depends on various factors and this flexibility is needed).


There are situations when the buffer validity expires and the system needs to refresh the data when the user logs on to the system.  This will be understood by the regular users.  However, the users who log on very rarely to MSS (for e.g., very Senior Managers that have delegated day to day activities to their subordinates), are faced with the unpleasant task of facing the system triggering a refresh every time they log on to the system. 

To address this challenge, the enhancement also includes a utility report, that can be used to update the Buffer data.  This report can be setup to update the Buffer data in batch mode on a flexible basis.  For e.g., while setting up the batch job, you can choose specific Managers who have very high number of employees.


As usual, the solution is highly flexible and can be configured to suit every implementation. 

  • The Threshold value can be configured, and will be considered by both utility reports and the MSS applications
  • If you have configured your UIs (for e.g., you do not use all the UI blocks of MSS Homepage, or have your own custom UI blocks in Homepage), you can make the system also consider them

More information and links

Detailed information regarding the enhancements, configuration options and the per-requsites for implementation is available in

Documentation of Business Function in SAP Help Portal

You must be Logged on to comment or reply to a post.
    • Hi Srikanth,

      This enhancement is already available to customers since 21st March.  The Business Function I mention in the blog is part of HR Renewal 1.0 SP10.  You can find more details here:

      Thanks for the feedback, I have also updated this information in the blog (Solution section).

      best regards


  • Very Detailed indeed, Thanks for sharing this information from Feature Pack 3 of HR renewal

    Hopefully this is the start of many to follow from your side, Ganesh!

    • Hi Daniel,

      The configuraiton needs to decide if it is offline refresh or online refresh. I dont think dynamic decision is possible based on reporting line volume.

      When offline refresh is configured - when the refresh button is clicked a backgrond process is triggered.  The timestamp should reflect the new timestamp if not immediately, after some time. 

  • Hi,

    Let's say I am running SAP HCM on top of HANA.

    As we have managers waiting more than a minute for their data, do you know whether it would be possible to leverage CDS views (for instance) to improve (drastically this time, not 1.7 times [no offense]) the performance?

    Thanks in advance.

    Best regards,


  • Hi Ganesh,

    We are trying to go for this approach, could you please let me know the impact of activating business function HCM_MSS_OADP_1.

    I read the documentation but wanted to confirm if somebody has followed this approach.

    Thanks for your help

    Sunny Thakur

      • Thank You Ganesh!

        In our organisation, MSS is mostly used for Compensation Planning and we do NOT use areas like Time Recording, Attendance Overview which have been enhanced with this feature.

        So this means we would get refresh button on the MSS Comp planning screen and we would make use of utility report?

        Also I checked this function is reversible function so in case we don't get expected results we can easily roll back right? We would first be doing this in our DEV system.

        Let me know


        Sunny Thakur

        • Hi Sunny,

          This Business function only ships optimization in the Home page.  You will not get a referesh button in other applications of MSS (for e.g., Compensation Planning) and also optimizaiton. 

          As part of the home page optimiztaion, we created optimizated new versions of the OADP function modules.  If your compensation planning view also contains fields that can make use of these optimized function modules, you can use them.

          Btw, there has been a new Product Owner who is responsible for MSS - and they may be able to offer you much more upto date information.  I will internally e-mail him and ask him to update if there is additional information.  I will also ask him to respond to your question on reversability of the Business Function.

          best regards


          • Thanks Ganesh!

            In our organisation we usually face performance issue during Compensation Planning and we are trying to check how to improve this since Senior Mgmt has been frustrated by slow performance of MSS during Comp Planning.

            If you could help us out or re-direct us to correct person that would be really helpful.

            Sunny Thakur