Employee Central Head of Unit Automatism
Very often we hear customers requesting to have a Position Head of Unit and not only the User Head of Unit. Also, this comes with an automation ask, where the position head incumbent changes, should reflect in the Unit. We know that currently the User Head of Unit field is the standard option and must be maintained manually, but there is one alternative and that is what this blog is about.
In this blog, you will find a way to maintain the Position Head of Unit and derive the incumbent of this position to a User Head of Unit field.
Create 2 custom fields to the Department object: Position Head of Unit and User Head of Unit.
Go to Configure Object Definitions, search for the Department Object and click Take Action > Make Correction
Go to the bottom of the fields section and create the two fields mentioned before. Please make sure that the Position Head of Unit must be ‘GO=Position’ type and the User Head of Unit must be ‘User’ type.
Another important aspect is to mark the User Head of Unit as a transient field, as per below, and this is because we will generate the Head of Unit value on a run time.
Remember to save the changes.
Now we need to create the business rule that will populate the User Head of Unit field. Go to Configure Business Rules and click to create a new MDF rule as per the below example:
Next, we need to create a UI for our Department Object where we will assign the new rule created.
Go to Manage Configuration UI > Create New.
Check if the two fields created before are visible in the UI:
Now go to the Edit Properties in the top left menu:
Add the created rule to the onload Business Rules section and click OK.
Remember to SAVE your changes in the UI screen:
To finalize, go to the Department Object and add the new UI created.
Navigate to Configure Object Definition, search for the Department object and click Take Action > Make Correction. Add the UI created in the Default Screen.
Now the solution is implemented so let’s test it!
Go to the Org Chart > Company Structure Overview and search for a Department. Once you select the Department click on the quick card to open this Department data. There you will see the new two fields and the User Head is now a transient field, so it means that it will be generated every time that you access the screen. If you terminate this employee (Jessica Smith in our example) and hire another one to the Position Head, it will automatically show the new employee’s name when you access the department data.
NOTE: Unfortunately, transient fields are not supported to be added in the card view (below image), and this is due to the performance of the system, as it would have to be generated/calculated on chart load for all affected objects to display the info. In any case, you can still have it when you access the department data from the Company Structure Overview or Manage Data transactions – both works.
SAP HCM Integration Considerations
For SAP HCM integration, integration transfers the position, which is assigned as head of the Department and when this position has an incumbent, this information is replicated with the job information of the incumbent. This means that you don’t need to take the User Head of Unit info for integration, but instead the Position Head of Unit.
This blog post described how to generate the User Head of Unit from a Position Head of Unit and have this field automatically generated which covers cases where the incumbent of the position changes.
With the proposed solution we aim to prevent manual maintenance and increase data quality.
Looking forward to your comments and questions.
I like the article; however, it is applicable only for visualization of the Configurable UI of Department and does not cover the Standard UI and the data storage of the Department (and thus reporting). Also, I recommend you use The MDF Rules and do not use the basic scenario when working with MDF objects.
Absolutely. As added in the Note part, this works when you access the department data, not in the chart as it would generate performance issues and the proposal is to use a transient field so the only way to have it is creating a UI (all details about transient fields can be found in the implementation guide, as the idea was not to explain it).
Thanks for sharing your thoughts!
I ment that it is possible to trigger the On-Load rule on the Standard UI as well (i.e. w/o Manage Configuration UI). It can be done in the Object Configuration.
For vacant position you will have a challenge as this will not work (the system crashes as it does not find an incumbent). We tried all these rules options in the object and the big issue is for vacant positions.
Thanks; however, I doubt that the same On-Load rule would work differently for the Configurable UI and the Standard UI.
I like the idea with the transient field for headOfUnit. Yes, we do not need userId on Department. We rather need his/her position, which is cust_positionHeadOfUnit, to transfer it to SAP HCM as relationship 012 (assuming the time constraint is not 3). However, manual selection of the position is not user-friendly because you need to know the code of the position.
I recommend that you assign an additional Evaluate-Purposed rule to the On-Change Event of field headOfUnit. Leave headOfUnit to be editable by user. And once user manually fills in headOfUnit, the rule automatically fills in cust_positionHeadOfUnit.
And once again, I recommend using MDF rules when working with MDF objects.
Sure. Each client will have a different requirement and each Consultant may find the best fit to fulfill those requirements. Most of our customers ask to maintain the position which is one time maintenance, so they don’t complain and accept as part of the department creation. Now the user is not dynamic like the position, and every time there is a change (employee leave the company or is transferred) there is a need go to the department (s) and manually update it. Once again, all depends on customer requirements!
Appreciate your ideas share, it always help other colleagues to think on more and more use cases.
Fields like headOfUnit are used on other objects like department; however for SAP HCM we need their positions))) You gave us a nice idea how to utilize the fields with minimal config efforts. And in case the client needs position as the leading field, I would recommend an Evaluate-Purtposed rule on-change of cust_positionHeadOfUnit to update the headOfdUnit. And the latter field to set as Read-Only, which is the best choice for transient fields.
One of my customers are using the onChange rule in the PositionHead field, but please be aware that in case the employee leaves the position (termination or transfer) the user head standard filed will not be automatically updated, actually it will keep the old and incorrect value, and this I why the transient is the only option for those customers who wants to see the field with the correct user or empty (in case the position is vacant). OnSave rules will not work with vacant position either. Lots of configuration types for the head of unit was tried.
Super thanks for making blog comments active with so many share ideas/experience. This is the goal.
Have a nice holiday season and more challenges for us in 2022!
I meant to use the On-Change rule to change value of the transient field (i.e. see the result in headOfUnit once the position is changed). BTW, I did not mean to use On-Save rule
Thank you for the Blog post. I followed your guideline and it worked perfectly. I have one improvement though. I would recommend to use for the "As of Date" in the Business Rule not "Today", but the "Department Effective as of date". By doing so the correct Head of will be displayed when navigating in the Company Structure Overview and adapting the "As of date" as well as when viewing older entries of the department history.
Dear Susan Platzdasch,
Such a great addition. Thanks a lot for sharing it, as this will help lots of people when building something similar!
I also followed this blog and I would like to use "As of Date" in the Business Rule to "Effective as of date" but I think the effective date should be Position Effective Date, in case the incumbent leave the position. For example, Position Head of Unit hasn't changed from the start date of department creation, but there are incumbent changed 2-3 times until the present. How do you handle this case? Could you please share the idea.