5.3 Propagation Rules and Hire/Rehire Rules
Key Takeaways
- Propagation rules copy data from one field or object to another, such as the timezone from the selected location.
- In THR81, propagation from Job Classification uses the scenario Trigger onChange Rules for HRIS Elements with base object Job Information Model.
- Propagation rules are assigned at field level with the onChange event in Manage Business Configuration.
- Hire/Rehire rules can use only Employee Information or Employee Information Model as base objects and run only on Add New Employee.
- An onInit hire rule can prefill fields such as National ID country and card type when the Add New Employee page opens.
5.3 Propagation Rules and Hire/Rehire Rules
Quick Answer: A propagation rule copies data from a source, usually a foundation object, into employee data so it is maintained in one place. It is typically an onChange rule on the driving field. For example, changing Job Classification sets Pay Grade and Employee Class. Hire/Rehire rules use the special base objects Employee Information or Employee Information Model and run only on the Add New Employee form. They typically use onInit to prefill fields as the page opens.
Why Propagation Matters
Employee records depend on foundation data. THR81 stresses that corporate (foundation) data must be set up before employee data, because the job classification holds the job code, job title, pay grade, and standard weekly hours that employee records reuse. Once the foundation data exists, propagation rules fill parts of the employee record automatically. This reduces data entry errors. If Engineer (ENG) is chosen as the job classification during a hire, the related pay grade and weekly hours are filled in.
Typical propagation use cases from THR81:
- Update job codes: whenever the job code changes, retrieve all job-related data from the job foundation objects.
- Propagate FLSA status: if the country is USA and the job classification changes, set the FLSA status in Job Info.
- Propagate standard hours: if the legal entity changes in Job Info, set the standard hours.
- Propagate timezone: when the location changes, copy the location's timezone into Job Info.
Building a Propagation Rule
THR81's exercise copies Employee Class and Pay Grade from the selected Job Classification:
| Setting | Value |
|---|---|
| Rule scenario | Trigger onChange Rules for HRIS Elements |
| Rule name / ID | Propagate Job Classification to Job Info / Propagate_Job_Classification_to_Job_Info |
| Start date | 01/01/1900 |
| Base object | Job Information Model |
| IF | Always True (or a condition such as job classification not null) |
| THEN | Set Job Information Model.Employee Class and Pay Grade = the values of the selected Job Classification |
Assign it at field level: in Manage Business Configuration > jobInfo, open the job-code field's Details, and in Trigger Rules select base object Job Information Model, event type onChange, and the rule. Save, and accept any data model adjustments.
Test it: open Actions > Change Job and Compensation Info for an employee, choose Job Information with today's date, change the job classification, and confirm that the pay grade now changes. Cancel so nothing is saved.
In the timezone example, the rule is assigned to the location field with onChange, with IF set to Always True. The user's timezone always follows the location's timezone when the location changes.
Why onChange and not onSave? onChange fires the moment the driving field changes, so the user sees the propagated values while completing the form. An onSave rule would set the values only when the page is saved.
A Related Scenario: Save Changes to Foundation Objects
When the logic belongs to a foundation object record, use the scenario Save Changes to Foundation Objects. SAP's example defaults the standard weekly hours on a location. FO records created in Manage Organization, Pay and Job Structures can also use onInit rules to set defaults as the new record opens.
Hire/Rehire Rules
For Employee Central, SAP created special base objects, Employee Information and Employee Information Model, for rules that should run only on the Add New Employee form. They also make every EC object included in the hire form available to the rule.
Setup steps:
- Create a rule with an Employee Central Core scenario: Rules for Hire/Rehire or Trigger onInit Rules for Hire/Rehire.
- Choose Employee Information or Employee Information Model as the base object.
- Assign the trigger to the HRIS element being affected on the form. Rules that trigger workflows for new hires must be assigned in jobInfo.
Worked Example: Default the US National ID
Most of ACE Corp's hires are in the United States and use a Social Security Number. THR81's rule prefills the National ID section:
| Setting | Value |
|---|---|
| Scenario | Trigger onInit Rules for Hire/Rehire |
| Rule name / ID | USA National ID / INIT_NAT_ID |
| IF | Always True |
| THEN | Set National ID Information.Country.Value = USA; Set Is Primary.Value = Yes; Set National ID Card Type.Value = ssn |
| Assignment | BCUI > nationalIdCard > Trigger Rules: Base Object Employee Information, Event Type onInit |
Two details from SAP's exercise often decide success:
- The order of the expressions matters: Country, then Is Primary, then Card Type. The card type list depends on the country.
- Text values are case-sensitive: USA and ssn must match the stored codes.
Because the event is onInit, the defaults appear as soon as the administrator opens Add New Employee, before anything is entered. Other hire screens are not affected because the base object is Employee Information.
Choosing Between the Patterns
| Requirement | Pattern |
|---|---|
| Fill job details the moment a job classification or location is chosen | Propagation rule, onChange on the driving field |
| Prefill or hide fields when the hire wizard opens | Hire/Rehire rule, onInit, Employee Information (Model) |
| Default a value on a new FO record | onInit or Save Changes to Foundation Objects |
| Keep position and incumbent data in sync | Position Management sync rules (Section 13.2) |
Common Mistakes
- Creating the rule but not assigning it, so nothing happens.
- Assigning an onChange rule at element level. onChange works only at field level.
- Choosing a different base object in BCUI from the one used to build the rule.
- Forgetting permissions for newly propagated or enabled fields, so users cannot see the results.
Which base objects may a Hire/Rehire rule use?
A propagation rule should set Pay Grade and Employee Class immediately when a user selects a new Job Classification. How is it assigned?
An onInit hire rule sets National ID Country = USA, Is Primary = Yes, and Card Type = ssn, but the card type is not defaulted. Which cause does SAP's exercise highlight?