Introduction
In this example we will showcase how to perform CORRECTION and UPDATE actions on Assignment Metadata.
As a pre-requisite we have already loaded a record (Person Number AH1). The Assignment details as checked on UI appears as shown below:
We could see that the FTE value is 1. Headcount field is Blank. And, also there are no details populated for Probation and Notice Periods.
We would make the following changes :
Change FTE value to 0.8 from 1
Add Record for HEAD in Assignment Measure . Value used is 1
Add Notice Period as 3, Probation Period as 6 and Probation Unit as M
The new file is zipped and the zipped file is named as AssignmentCorrectionModeUpdate
We may check the “Manage Employment” page to view the changes.
We could see that the FTE value has changed (to new value 0.8) , Headcount data field has got a value of 1. Also Probation and Notice Period related fields are populated. Another important point to note being that the Assignment History shows that there has been only one entry made which also confirms that the HDL file performed an CORRECTION action.
Making Changes to Assignment Record in UPDATE Mode
In this scenario we would try to make the changes in UPDATE mode. This means that we will try to Add a New Record (with New Effective Start Date say 2018/02/01) and verify the changes. For the sake of simplicity lets try to revert the changes. This essentially means that we will make following changes:
Use Effective Start Date as 2018/02/01
Change FTE value from 0.8 to 1
Change Headcount Value from 1 to Blank
Change Probation Period Value from 6 to Blank
Change Probation Period UOM value from M to Blank
Change Notice Period Value from 3 to Blank
Change Notice Period UOM value from M to Blank
Use Reason Code as PER_REORGANIZATION
And now we will have a look at the Manage Employment page too to confirm the data values.
Now from the above screenshot we can see that:
A new assignment record got created with effective start date as 02/01/2018 . This confirms that an UPDATE action did happened.
The value of FTE field has changed from 0.8 to 1
The value of Headcount field which was supposed to become BLANK hasn’t changed
Probation Period ,Probation Unit and Probation End Date (which gets calculated on the basis of first assignment start date, probation period and unit) which were also supposed to have BLANK values have retained the previous values
Notice Period and Notice Period UOM which were supposed to have BLANK values have retained previous values.
Well to some of you this might appear that all the expected changes didn’t take place. But as per the underlying technical architecture this was an expected result.
As per HDL documentation in case we want to explicitly set the value of a Data field (which holds a NOT NULL) to a NULL value we would need to pass #NULL as the new data value. We did not meet this criteria last time. But lets try to do a new load with a new effective start date (starting 2018/03/01) to confirm this.
Making Changes to Assignment Record in UPDATE Mode to explicitly assign NULL Values
In this scenario we will make the following changes:
Use Effective Start Date as 2018/03/01
Change Notice Period Value from 3 to Blank (#NULL)
Change Notice Period UOM value from M to Blank (#NULL)
Use Reason Code as PER_REORGANIZATION
We have created a new file with the above changes, named the zipped file as AssignmentUpdateModeSetExplicitNull and will try a re-load.
And when we check the “Manage Employment” page we will find below.
One could notice that a new assignment record has been created with effective start date as 2018/03/01 , and the Notice Period value has changed to NULL from 3 and similarly the Notice Period UOM value has changed from Months to NULL.
Data Files used for this example can be accessed from following link:
AssignmentCorrectionModeUpdate
AssignmentUpdateModeSetExplicitNull
Inference / Summary
From the above illustration one can easily conclude the following:
While performing an CORRECTION action ensure that the effective start date and end date values are not changed (that is they should hold the same values as present in the system)
While performing an UPDATE action one would need to provide a new effective start date and also an appropriate Action Reason and Action Reason Code
In case the intent is to set the value of data attribute as NULL one would need to explicitly pass #NULL as data value and just choosing to not pass any value would mean that the old value would be retained.