Human Capital Management Blogs by SAP
Get insider info on HCM solutions for core HR and payroll, time and attendance, talent management, employee experience management, and more in this SAP blog.
Showing results for 
Search instead for 
Did you mean: 
Active Participant

I am delighted to create my very first blog in the Rewarding space as a Product Manager and super excited to share our brand-new feature that our team built which is extending our capability to allow publishing compensation planning information to customer-created extensions built on our Meta Data Framework (MDF).  I hope you find the information in this blog useful to adopt this feature. I will look forward to your comments and feedback.

Let us take a deep dive into feature details !!!


SAP SuccessFactors Compensation customers with Employee Central use the SuccessFactors Platform Metadata framework to build extensions to extend the HRIS solution capabilities. This may include extensions created to track information like employee retention bonuses, equity grants, other long-term incentives, additional superannuation contributions, etc. Currently, our Compensation Planning tool allows customers to pull information stored in these extensions to the compensation planning worksheet.  However, prior to the current release, we did not offer capabilities to our customers to publish/write the information changed on the planning worksheets to these extensions. Customers will have to run manual imports to upload data changed in compensation planning worksheets to these extensions or publish MDF fields to EC, but they had to be embedded in job info/personal info and a few other portlets.

We are changing this by releasing the Publish feature from Compensation to Metadata Framework, With this we deliver full end-to-end capability to our customers, to read and write to their custom extensions built on our MDF Platform. This feature automates the publishing capabilities and allows customers to publish compensation worksheet data into the custom extensions. This feature is available with b2111 release and with this, we provide better integration capabilities within our suite.

Use Cases

Let's take a look at some use cases to publish data from compensation planning to the custom extensions

  • Publish Bonus Amount granted or changed on compensation planning worksheet to a MDF extension built to track one-time Retention Bonus granted to employees

  • Publish Last Promotion Date and Promotion Rating from compensation planning worksheet to a custom MDF extension built to track it

  • Publish Equity grants made during compensation cycle to custom MDF object created to track year over year employee equity grants to show on their people profile



Let's understand some pre-requisites  required to enable this feature

  • It is available for only for EC Integrated or Hybrid Templates and applies to employee central users only.

  • This feature is available for user-level MDF objects. We support the following object types

    • Non-effective-dated

    • Effective-dated

    • An object that supports multiple effective-dated changes in one day

  • For all custom MDF objects, it is required to add a cust_templateId field of type number in the MDF object

  • The field mapping should be added to the compensation template that maps compensation fields to the fields on the MDF object. The mapped fields should be of similar field types

  • The administrator has the following Role-Based Permission (RBP) enabled: Manage Permission RoleAdministrator Permission > Manage Compensation > Store Compensation Data in MDF is required to enable the menu drop down for “Publish Compensation Data to MDF” UI


Implementations Steps

Here is a step-by-step instruction to implement this feature

Step 1: Configure or Edit the Metadata Object Definition

Configure a Metadata Framework (MDF) object to store compensation planning info. It is required to add a field on type number templateID to the object for publishing to work. Customers typically already have extensions created using our MDF framework so if you already have a user-level MDF object, you will just need to add a templateId field to your MDF definition. (The “cust_” prefix is automatically added for all custom fields added by customers to an MDF object). Save the object definition.

Note: Please note that the field templateId is case sensitive and needs to 
have a
data type of “Number”.


Step 2: Add the MDF Mapping to the Compensation Template

Your next step is to map data fields from the compensation template to MDF object definition fields.

Select an EC integrated or Hybrid  Compensation Plan template to add the mapping. Download the selected template and open it using an xml editor and field mapping The template can either be Employee Central Integrated or a Hybrid template.
Note: Variable Pay or Total Compensation (which includes variable pay) 
Templates are not supported at this time.

Note: Data can only be published for EC users from Hybrid template.



This is the most critical step to enable publishing from Compensation worksheets to a user-based MDF object.

An MDF mapping block using <comp-mdf-output-component> is required to be added to the XML of the plan template and should be positioned after the Budget Override section <comp-budget-override> and then Employee Central publishing  mapping section <comp-ect-output>

Identify and map the fields on Compensation Templates using <comp-field-id> to publish to the field on MDF object fields <mdf-field-id>.


Sample Field Mapping Block

<comp-mdf-output-component componentType="customMDF" componentCode="cust_equity_retention_bonus" effectiveDate="2021-05-01">
<comp-mdf-output-component componentType="customMDF" componentCode="cust_RT_Multiple_Changes" effectiveDate="2021-05-01">


Simple guidelines/rules for the mapping

  • componentType will always be customMDF as we are currently support writing to a custom MDF object.

  • componentCode is the technical id of the custom object that customer has created using the MDF framework. It begins with cust_.

  • comp-mdf-field-map is the block that stores the mapping for all field.

  • comp-field-id is the technical field id on a compensation plan template and mdf-field-id is the technical field name on the metadata object definition created by the customer.


We support mapping for string field text, date fields  and amount and money fields
on the compensation template. We also support mapping to multiple MDF objects
within the same template for same comp fields.

Any translatable, picklist, and fields with lookup tables are not supported for
publishing to MDF. Also the date field on compensation template should be mapped to
date field on MDF and not to a Datetime field type on the MDF object.


Step 3: Upload the Compensation Plan template into the System

Upon completion of your mapping in the Compensation Plan template for MDF publication, you can upload your local file template to the instance


Step 4: Generate Worksheets using the template

After uploading your updated template, generate worksheets using that template and modify data for some users for the comp template field id mapped to the MDF template and complete their worksheets


Step 5: Publish Compensation Data to MDF

On the “Complete Compensation Cycle” tab, click on Publish Data dropdown and select Publish Data in the Metadata Framework (MDF) to publish data to MDF.

Currently we publish the compensation data for all employees or only for selected employees.

  • Publish compensation data for all employees – Use the Check Forms Status button to view forms status.

Note: Only completed forms can be published.

  • Publish compensation data for selected employees – When you select this option, please provide a list of user names to publish data for.

Allow Override Switch

This is a critical flag for publish. Allow override allows you to override existing data in the MDF with the same key field combination. This can be used when you have published to MDF, however data has changed on Compensation Worksheets after the first publish was done. This allows you to do multiple publishes or decide if the data should be overridden or not.

Use “Allow Override” when you believe that data in Compensation Worksheet is the master data. Heres how “Allow Override” slights differs depending on object type you are publishing too

  • Non-Effective Dated Objects

    • When Allow override is selected, the MDF publish job overrides the data for the user in the MDF object. If no user data existed, it will insert a new row for the user.

    • When Allow override is not selected, the MDF publish job will skip the user record, if the user data already exists.

  • Effective Dated Objects

    • When Allow override is selected, the MDF publish job overrides the data for the user in the MDF object, if the data exists for the user and effective date in the MDF object. If no user data existed, it will insert a new row for the user with the effective date.

    • When Allow override is not selected the MDF publish job will skip the data for if the data exist in the MDF object for the user and effective date. If no user data existed, it will insert a new row for the user with the effective date.

  • Objects with Multiple Changes on the same day

    • When Allow override is selected or not selected, the MDF publish job will insert a new row for the same Effective Date with a new sequence number.

Note: Overwritten data on MDF object can come either from prior publish from 
the template or manually entered by a user on the MDF object.

Note: The MDF publish action skips data for employees when no data has been
entered in a mapped field in the plan template.


Step 6: Reviewing the MDF Publish Logs

When the publish job ends, a summary log is published for users with total number of successful, failed and skipped records on the Monitor Compensation Jobs UI.  A detailed log file is available to download that includes a detailed message for all failed users with specific details about what data needs fixing.  This log provides the above summary for individual MDF objects if data is published to multiple MDF objects from the same template. You can download the summary log in a csv formats so admins can open it in excel for easy sorting and filtering. Logs for published jobs are available in the Monitor Compensation Jobs UI.

Note: If the job fails for one user, then the inserts/updates for other user 
will continue and the job will be completed as successful.
The failed records will be written to the log files.


Step 7: Viewing Published Data

You can review the published MDF data for the user, using the Manage Data UI for the MDF objects
Note: If the MDF object has future dated rows, it will not be forward 
propagated MDF logic



Exciting things are happening in SuccessFactors Rewarding Space, We are building a brand new product SuccessFactors Total Rewards. If you are interested to learn more join us as a  design advisors in our co-innovation journey. Stay Tuned for exciting stuff to come next year!! Until then, have a smooth comp season!!! We look forward to your feedback always!!


Additional Resources:

To see a Video Demo please use this link.

For detailed instructions follow our Implementation Guide.