Human Capital Management Blogs by SAP
Get insider info on SAP SuccessFactors HCM suite for core HR and payroll, time and attendance, talent management, employee experience management, and more in this SAP blog.
cancel
Showing results for 
Search instead for 
Did you mean: 
karenperez
Product and Topic Expert
Product and Topic Expert
3,634
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 from Demo



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 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 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 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 from Demo


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


Image from Demo


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


Image from Demo


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


Image from Demo


Remember to SAVE your changes in the UI screen:


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 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 from Demo



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 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.
13 Comments
Latyshenko2
Active Participant
0 Kudos
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.
Latyshenko2
Active Participant
0 Kudos

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.

karenperez
Product and Topic Expert
Product and Topic Expert
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
karenperez
Product and Topic Expert
Product and Topic Expert
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
Latyshenko2
Active Participant
0 Kudos

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

Latyshenko2
Active Participant
0 Kudos
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.
karenperez
Product and Topic Expert
Product and Topic Expert
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
karenperez
Product and Topic Expert
Product and Topic Expert
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
Latyshenko2
Active Participant
0 Kudos

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

Latyshenko2
Active Participant
0 Kudos

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

susanplatzdas
Explorer
Dear Karen,

 

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.

Best,

Susan
karenperez
Product and Topic Expert
Product and Topic Expert
0 Kudos
Dear Susan Platzdasch,

Such a great addition. Thanks a lot for sharing it, as this will help lots of people when building something similar!

Appreciate!

Karen Perez
anyamanee
Discoverer
0 Kudos
Dear Susan,

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.

Best Regards,
Anyamanee