You have the following business need:
You have som set of custom fields in advances that are not to be displayed for all advances and/or employees so you need to define the visibility of these fields based on criteria such as: advanceType, advanceEligibilityCode, country or any other filters you define.
Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.
- SAP SuccessFactors Employee Central
Reproducing the Issue
- Select one employee;
- Go to Eligibility For Advances;
- Click on Request Now;
- See that all the customer fields are displayed;
In order to achieve this business need you need to perform two levels of configuration as explained below:
- Under Configure Object Definitions > Advance you need to configure the Condition and Condition Value as explained below:
- First define which field will be the condition so based on the value of the condition field, the customized field you are configuring will be displayed or not, in this case the condition will be advanceType. Just remember that advance type is the object so you need to also send the field inside that object that has the value "advanceType.externalCode";
Why to add the ".externalcode"? Because the external code it the Field Name of the object loaded in the field advanceType.
- After adding the field Id in the Condition you need to add the condition values, so when the condition values match with the value in the Advances UI the field will be displayed:
- After doing this, you just need to save and the first part of the configuration is done;
- The second part is to add the fields in the UI under manage configuration UI > AdvanceConfigUI;
- Add the custom field (if you have not already done this, set the Value Type as Resolver and in the Value Type Resolver field you'll navigate into the object to select the correspondent field in the MDF object:
- After doing this you just need to save the UI and the filter is done;
Note: In the symptom we described that you can add the filter based on country for example but in this case there is a limitation. Country will need to be filled by the employee manually so if they select the wrong country then undesired fields will be displayed, the best practice is to meke use of eligibility rules to define which advances the employee has access to request and the eligibility rule can consider criteria such as legal entity, country, etc.
This would be the best practice.
For more information about the eligibility rules please refer to the section "Defining Rules to Determine Eligibility for and Employee" of the handbook Employee Central Advances
Advances UI customization filter fields in advances customize advance UI , KBA , LOD-SF-EC-ADV , Advances , How To