Symptom
Behavior in Advanced Reporting:
Running an Advanced Reporting report with the Date Options set to 'Current Date', fetches the 'External Code' and 'Label' for the affected picklists.
But setting the date options to 'As Of Date' and choosing certain dates in the past or in the future fetches no data for these fields.
Behavior in the UI:
Setting the same dates as the effective date in the People Profile / Employee Files > Employment Information does fetch data for these fields.
If the picklist is associated to MDF Objects, data along with effective dates is displayed as expected when we check the data in UI for them.
i.e. 'Manage Data' or 'Manage Positions', depending on the MDF object under consideration.
Behavior in Ad Hoc (Report - Table) reports:
If the fields are reportable in Ad Hoc (Report - Table) report Sub Domain Schema with effective dating (As Of Date or Date Range), creating and running a report with the past or future dates does fetch the data seen in the UI.
Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental
Environment
SAP SuccessFactors HCM Suite:
- Advanced Reporting
Reproducing the Issue
- Using 'Configure Object Definitions', create an MDF Picklist - lets call it 'DateEffective'.
- Associate a field from the Job Information portlet or a Generic object to the MDF picklist created in Step 1
Let us assume the following:
Generic Object - Position
Field Name - Field1
Now field 'Field1' in the Position object is associated to the MDF Picklist called 'DateEffective' - Create two versions of the MDF picklist, each with different effective Start Dates:
- Current - Effective Start date in the past(example - 1st of December 2018)
- Future Dated - Effective start date in the future (example - 1st of January 2020)
To add some context, the 'Past', 'Present' and 'Future' dates are based on the day this article was created -13th of December 2018 - Add distinct Codes and Labels to Picklist versions created in Step 3
There should be no overlaps in data between the 'Current' and 'Future Dated' versions - Through 'Manage Positions' edit an existing Position or create a new Position. Position 'CEO' in this example
- 'Make Correction' to a currently active record or 'Insert New Record'
- When prompted with 'Enter Effective Date for this change', choose today's date
- Set the value of 'Field1' to something from the current version of the picklist (Step 3.i) and Save
- 'Insert New Record' and choose the 1st of January 2020 for 'Enter Effective Date for this change'
- Set the value of 'Field1' to something from the Future Dated version of the picklist (Step 3.ii) and Save
'Manage Positions' for CEO has the below entries now: - Create an Advanced Reporting report for the Position object
- Include the following fields:
- Position Code
- effectiveStartDate
- effectiveEndDate
- Field1
- Field1 (External Code)
- Field1 (Picklist Label)
- Add a filter for the Position Code and restrict it to the Position being tested (CEO)
- Set the 'Date Options' for the Driving Table to 'As Of Date' and choose a date Between today and the 31st of December 2019
All the fields display data - Change the 'Date Options' and change the 'As Of Date' value to a date greater than or equal to the 1st of January 2020
'Field1' fetches data. But 'Field1 (External Code)' and 'Field1 (Picklist Label)' are blank
Cause
This is a known limitation in Advanced Reporting.
The External Code and Picklist label will be displayed in Advanced Reporting only if the picklist value belongs to a version that is current and active.
i.e. The Effect Start Date of the picklist version should be less than or equal to today and the Effective End Date should greater than or equal to today.
Note:
The Configure Object Definition screen will not display the Effective End Date of picklist versions.
The Effective End Date of one version, is the next version's Effective Start Date minus one day
In the above example, the Effective End Date of the 'Current' version is the 31st of December 2019.
This is because the next version's (Future Dated) Effective Start Date is the 1st of January 2020.
Resolution
This is working as designed.
Advanced Reporting does not support future or past dated versions of MDF picklists.
Work Arounds:
- Maintain the desired picklist values in as many versions of the picklist object as required.
- MDF picklists have to be modified
If we were to consider the Position example stated earlier, copy the 'Future Code 1' value to the Current version of the picklist(Step 3.i in the replication steps). - Maintain just one version of the MDF picklist.
- MDF picklists have to be modified
If there is just one version of the picklist, it will be always active (current effective) and Advanced Reporting will fetch the desired data. - Create a legacy version for the same picklist and use the legacy picklist instead of the MDF one
- Legacy picklist has to be created / modified
- The corresponding object has to be modified and the remapped to the legacy picklist instead of the MDF one
Legacy picklists are not date effective and Advanced reporting will just use the effective dates from the parent object / portlet - Ad Hoc (Report - Table) reports:
Ad Hoc report support date effectiveness in MDF picklists.
If the field is reportable in a date effective Ad Hoc report Sub Domain Schema(As Of Date or Date Range), Ad Hoc reports can be used to extract the required data.
If you feel the behaviour must be changed, we request you to submit an enhancement request for the same.
2090228 - How to submit enhancement requests for SAP SuccessFactors products
This will allow other customers to vote up and thereby express their interest on the same.
Our Product management teams review enhancement requests regularly and implement them if and when feasible.
Keywords
Advanced Reporting, Realms, Picklist, MDF Picklists, Effective Dating, Future Effective Dated Picklists, Blank, Missing, Past, Effective Dated, Report - Canvas, current effective dated MDF picklists , KBA , LOD-SF-ANA-ADV , Advanced Reporting (ODS) , Product Enhancement