Following up on my recent blog Extending SuccessFactors with the Metadata Framework, I wanted to delve a little deeper into the Rules Engine that forms part of the SuccessFactors Metadata Framework (MDF) and also look at Picklists. Both of these form an integral part of data validations, approvals, and business logic that is used within the SuccessFactors system and, in particular, Employee Central.
As mentioned in my blog on the MDF, it provides a flexible and consistent framework for customers and consultants to extend the object model of SuccessFactors and add their own unique rules, validations, and business logic to SuccessFactors. Rules can be used where user exits, BAdIs, or ABAP program Enhancement points would be used in SAP HCM to provide customer-specific business logic or validation of data input.
The Rules Engine allows you to create rules by modeling statements and flow logic to define the business logic of the rule. Rules have two sets of logic that is configured in the MDF: If logic and Then logic.
If logic uses statements “and” and “or” statements to determine if the Then logic should occur. Each of these statements involves checking a field for a particular value or object attribute. If logic can also be set to Always True, which means that the Then logic automatically executes when the rule is triggered. An example can be seen in the screenshot below, along with Then logic.
The Then logic determines either the value to be set and/or the message to be raised if the If logic conditions are met. When the Set Output Type is selected then a value will be set to the field that is configured, either from a selected value or an object attribute.
Once a rule has been created, it can be assigned to one or more Hooks. Hooks are points at which Rules can be triggered and can be either at the object level or the field level.
At the object level Rules can be added at four points of the object “lifecycle”:
- Validation (pre-save)
At each point one or more rules can be defined. They will be triggered once the object gets to that point of its maintenance.
Within the object level rules can be added at field level. Here one or more rules can be defined so that they will be triggered when a field is modified.
Picklists are, simply, selection lists used to populate a data input field with one of a number of predefined values. They act in the same way as F4 Helps in SAP HCM. Picklists provided in the standard system can be altered to use customer-specific values. The screenshot below shows a simple example of a Picklist for Marital Status.
Picklists are configured using the option Manage Configure Generic Object Definition under Company Settings in OneAdmin or under Generic Objects in the old Admin Tools. Below shows a Picklist being created for the different types of documents that you can contribute on SCN.
This Picklist can then be assigned to a field in the MDF as below. You can also see the Rules section to define one or more rules at the field level.