Skip to Content
Technical Articles
Author's profile photo Karen Perez

Employee Central Head of Unit Automatism

INTRODUCTION

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.

SOLUTION

Step 1

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

Image%20from%20Demo

 

Image from Demo

Image%20from%20Demo

Image from Demo

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.

Image%20from%20Demo

Image from Demo

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.

Image%20from%20Demo

Image from Demo

Remember to save the changes.

Step 2

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:

Image%20from%20Demo

Image from Demo

Step 3

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.

Image%20from%20Demo

Image from Demo

Check if the two fields created before are visible in the UI:

Image%20from%20Demo

Image from Demo

Now go to the Edit Properties in the top left menu:

Image%20from%20Demo

Image from Demo

Add the created rule to the onload Business Rules section and click OK.

Image%20from%20Demo

Image from Demo

Remember to SAVE your changes in the UI screen:

Image%20from%20Demo

Image from Demo

Step 4

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.

Image%20from%20Demo

Image from Demo

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.

Image%20from%20Demo

Image from Demo

Image%20from%20Demo

Image from Demo

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.

Image%20from%20Demo

Image from Demo

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.

CONCLUSION

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.

Assigned Tags

      10 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Vladimir Latyshenko
      Vladimir Latyshenko

      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.

      Author's profile photo Karen Perez
      Karen Perez
      Blog Post Author

      Hi Vladimir,

      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!

      Best Regards,

      Karen Perez

      Author's profile photo Vladimir Latyshenko
      Vladimir Latyshenko

      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.

      Author's profile photo Karen Perez
      Karen Perez
      Blog Post Author

      Hi Vladimir,

      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.

      Karen Perez

      Author's profile photo Vladimir Latyshenko
      Vladimir Latyshenko

      Thanks; however, I doubt that the same On-Load rule would work differently for the Configurable UI and the Standard UI.

      Author's profile photo Vladimir Latyshenko
      Vladimir Latyshenko

      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.

      Author's profile photo Karen Perez
      Karen Perez
      Blog Post Author

      Hello Vladimir,

      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.
      Best Regards,

      Karen Perez

      Author's profile photo Vladimir Latyshenko
      Vladimir Latyshenko

      Hi Karen!

      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.

      Thanks,

      Vladimir

      Author's profile photo Karen Perez
      Karen Perez
      Blog Post Author

      Hi Vladimir,

      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!

      Best Regards,

      Karen Perez

      Author's profile photo Vladimir Latyshenko
      Vladimir Latyshenko

      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