Human Capital Management Blogs by Members
Gain valuable knowledge and tips on SAP SuccessFactors HCM suite and human capital management market from member blog posts. Share your insights with a post of your own.
cancel
Showing results for 
Search instead for 
Did you mean: 
Huge85
Active Participant
Hi all

 

Today I will be discussing how to create a custom MDF Object that allows you to create multiple records with effective dates.  The use case I recently had was where a custom MDF is required to capture qualifications, since the background element doesn't provide me with the functionality I need, like field level override permissions among others.  I am also then able to leverage workflows and require attachments for qualification records with the solution at the end of the day.

In terms of the solution, TWO custom MDF objects are actually needed.  One parent custom MDF {let's call it Qualification}, that basically acts as a holder for the multiple child records, which is the second custom MDF {I have called it Add Qualificaiton} with the various fields and picklists that make up the entry.


As a note, you only need to create a custom UI for the Parent Object.  With this custom UI created, you can now go to Configure People Profile and add the Live Profile MDF Information block.

Since I have a need for multiple qualification records to be added (like a high school certificate, a diploma, doctorate, etc.), I have configured the Associations on the Parent MDF, with One to Many multiplicity and my second MDF Object as the Destination.

I also only secured the Parent Object since it is not possible to create child entity records either in the People Profile or via Manage Data.

Lastly, I also created a workflow for approval and added it only to the Parent Object's Save Rules.

The intended consequence is that I can now add multiple qualifications on different effective dates to an employee's profile, and they trigger a workflow for approval.  Each new effective dated record will also have a unique number, since I have set the externalCode as "Auto Number" Data Type on my child entity.


Trust you would find this helpful, and as always, feel free to comment, correct or ask questions if you need assistance to make this solution your own.
13 Comments
hubertcieplak
Explorer
0 Kudos
Hi Eugene,

 

I'm now following an almost identical approach, however when I save the data it updates all child entries. Are you aware how this can be avoided?

 

Hubert
Huge85
Active Participant
0 Kudos
Hi Hubert

 

Each time you add a new effective date entry, the previous child record will still be there.  So if the child entity is no longer applicable, you can Bin it, or keep it there with a new child record.

 

You mention that it updates all child entities - in what way?
hubertcieplak
Explorer
0 Kudos
Hi,

 

in our case we need to have child act independently - we need to track "progress" for each one and for this we are "progressing" the status every time you save data. This is done at the child object with a rule. But as stated above child object are not handled separately and "save" will "update" all of them.

I was looking for a solution but seems that only workaround is possible (potentially a very complex rule may also do the trick but we want to avoid that path)

Hubert
Huge85
Active Participant
0 Kudos
You could try amending your rule, that it only applies to the new child entity.  Is your externalCode set to Auto Number?  If so, you can add If externalCode = null into your rule, since the external code for the child record only gets created when you save.
hubertcieplak
Explorer
0 Kudos
Hi,

 

good idea however it's only part of the solution. We have multiple steps/statuses (in some cases six of them). Potentially we can also track previous value and value but we actually want to avoid complex rules here.
Huge85
Active Participant
0 Kudos

Just throwing another idea out there - you could try and use Integration Centre to update some of the child entities.

I have a scenario where I assign a validity date, and based on the Integration Center comparing the validity date to current date when it runs, it updates my status from Completed to Archive if the Validity Date has passed, and does not change the status of the child records that have a validity date in future.

Although not visible, I have the first effective date record in 2010 (with a three-year validity), and after the IC run, both the effective date entries for the child record that was effective until 2013 are now indicated as Archived.

tan_xiaobing
Member
0 Kudos
Hi,

How to create three level object?

1) Now, I create object level1,level2,level2 and level1 (1:n) level2,level2 (1:n) level3.FlowingUI


2) Result: Now one level3 for one level2, but hope multi level3 for one level2



 

 
Bench
Participant
0 Kudos
Hi Eugene - great solution and am looking at utilising this.

Is it possible to make the parent custom MDF (in your case cust_Qualification) to have "Effective Dating" of "None"?

It appears that if the below scenario occurs, it starts to delete entries even though I have never asked it to.

  1. Enter a qualification dated 21 April 2021

  2. Save

  3. Enter a qualification dated 1 January 2021

  4. Save

  5. The qualification dated 21 April 2021 is deleted


 
Huge85
Active Participant
0 Kudos
If you dont have effective dating, it will not store history - with 'None", you are effectively updating the same record over and over again.
miriamdadone
Explorer
0 Kudos
Hi Eugene,

 

I'm following the same approach! i just want to ask you how can i add the picklist like the "Qualification level" and "Level of schooling"  fields.

Thank you

Miriam
joe1989
Explorer
0 Kudos

eugenefourie Hi Eugene, I'm working on a similar request and followed your post. Just wondering is it possible to put conditions to avoid overlapping between the date ranges? for example the first record with date 01/01/2023 to 31/06/2023, and if wanted to create a second record with date 15/06/2023 to 31/12/2023 , here the system should give an error message saying overlapping record so should not create the 2nd record.

Does anyone have an idea if this is possible in SuccessFactors?

former_member101093
Discoverer
0 Kudos

Hi Pradeep,

you have to control user behaviour on UI Rules, where it reads the previous entry end date

and New entry date is not editable.

Hope that help.

Regards

MPeters7
Newcomer
0 Kudos

I have a requirement to create a custom mdf portlet where an employee may have multiple records effective at the same time. There could be overlaps in effective dates. Would I accomplish it in this manner?   In your example would each qualification have its own effective date?  I think I need something similar to that.

 

 

 

 

Labels in this area