Streamline the performance of Mass Update Worksheets jobs by using automated MDF-based eligibility rules
A few customers with large numbers of employees in compensation worksheets (15k+) have reached out to SAP Professional Services recently to try to find a solution to a persistent issue impacting their review cycle : when first applying their eligibility rules or when running the daily “Mass Update Worksheets” job it takes 10+ hours for the job to finish running.
Beyond making sure that the rules built under Plan Setup > Plan Details > Eligibility are streamlined (as few rules as possible is recommended because every new rule will increase job processing times by 1.5 / also the use of Variables is recommended), there is a way to automate eligibility rules through MDF objects that is incredibly efficient and can bring down job run times from 14 hours to less than 4 hours.
It was the case for a customer I worked with recently that has 300,000 active users and 700,000 inactive users in their production environment : these statistics matter as much as the number of employees on worksheets (35,000 for this customer) or the number of worksheets (9,000 for this customer) because when regular compensation eligibility rules run they always run on the whole UDF including inactive users – even if “Include inactive users” is unchecked in Plan Setup > Define planners).
Eligibility rules based on automated MDF objects
Discover in the recording below how to set up not only the custom MDF object but also all business rules and integration center jobs that will enable us to fully replace the regular compensation eligibility rules with a custom MDF Object without any loss of functionality and without having to do any CSV upload.
Credits go to Phil MacGovern for paving the way for this design.
- The first 5-6 minutes are dedicated to building the starting situation and expectations.
- The new MDF eligibility design demo starts at 6’50.
- The first demo of how the custom object for eligibility gets populated “On Save” by the business rules tied to it starts at 21’23.
Notes about this MDF based eligibility design and the recording
In the recording contrarily to what I mention I only take care of greying out the Merit column with the new MDF based design for employee Alexander Ruuid. To also grey out the Promotion and the Adjustment columns with that same design I would have needed to create two more fields in the custom MDF object (promotionEligible and extraEligible) as well as 2 more “set” conditions in my existing business rule (no need for a new one in this case since the criteria for ineligibility is the same than for Merit).
The only drawback of this MDF design for eligibility rules vs existing Eligibility rules has to do with the Integration Center which is usually only accessible to full System Admins and not just to Comp Admins. So just like for Executive Review access changes (RBP) Comp Admins would need to reach out to System Admin in case they need to trigger the integration center job manually (in case they cannot wait for the daily or semi-daily job to run). Please note however that we could have the job scheduled every 2 or 3 hours as a workaround. Usually the integration center jobs are very fast (10 minutes max for 200,000 active employees in an environment in my experience).
Conclusion and other links
I personally love this design not only because it allows customers to improve performance but also because it allows us to breakdown the complexity of the rules : we could for example build the MDF in a way that a user is marked as compensationEligible=TRUE only if MDF field A (Eligibility based on Country)=YES + MDF field B (Eligibility based on Pay Grade) =YES + C=YES+ D=YES, … which makes it incredibly easy to troubleshoot eligibility issues.
For customers that would like to keep using the regular eligibility rules offered by the Compensation module because they are not impacted by long runtimes please refer to this blog for a lot of tips and tricks about building regular rules (especially please see the Did you Know section at the top of the post about using Variables) : Compensation Eligibility Rules : lesser-known rule conditions and overall limitations
Finally in case of issues while using the module itself (page loading times, error messages, failed jobs, etc…), please refer to these blogs :
- How to avoid latency in Compensation
- Compensation issues troubleshooting step by step
- How to troubleshoot failing Variable Pay employee history jobs or Bonus Calculation jobs
All the best,