Position MDF Effective dated object behavior with respect to DC & User time zone
This blog is relevant for customer’s and consultants who are implementing Employee Central on a global scale with EC instance in one central location and user base spread across globe.
Position Effective date with respect to DC time zone:
Position MDF Object is created using “Manage Positions” tool in “Admin Center”. Admin of the system can choose to create the position object with effective date that he/she can set a “Start Date” and “End Date” of the object. All the dates with respect to effective date in the object follow Data Center time zone. As SuccessFactors have DC’s all across the globe for this example we are considering DC to be located US EST time zone. For explanation we are going to consider DC time zone is in America EST(UTC -5) and user time zone in Sydney, Australia AEST (UTC +11) as depicted below. Here we have 16 hours difference between user’s business hours and Data center time, so effectively user is always one day ahead with respect to DC.
Admin in Australia time zone creates a Position as of today and saves it. He/She wants to use the position object that was created as soon as it is created with respect his/her time zone in (AEST).
Expectation: Creation process goes through fine and admin expects to be able to access the position object that he/she just created.
Behavior of the system: Admin would have to wait for close to 16 hours depending on his/her time zone before he/she could access the Position object that was created as of today in their time zone. This is because Position mdf object’s “EffectiveStartDate” follows DC time zone. If object was created on Australia time June 10th8:00 AM AEST, in DC time is still June 9th6:00PM EST,so they have to wait for another 6+ hours for the position object to become active before they can start to use it.
Solution: To overcome the delay in Position mdf object becoming active/effective, the workaround solution is to create the object where “EffectiveStartDate” is back dated. A solution that could work is to create a custom date field in Position mdf object. The custom date would be used as the Position Start/Create date for all business purposes. “EffectiveStartDate” would be used in the background to get the mdf object active/effective by backdating it during creation of Position object. You can achieve backdating the Position object by creating a simple business rule where you sent the “EffectiveStartDate” in the past. For this example, I am setting it to the first of that month as “EffectiveStartDate”.
Below I have provided screenshots on how we can achieve this and explained all the steps to achieve the above solution.
Step 1: In “Configure Object Definitions” tool add custom field “Position Creation Date” to Position mdf object. And then associate a onSave business rule to automatically update the “EffectiveStartDate” to beginning of the month.
Step 2: Creating actual Position object. We can hide the “Effective Start Date” from user and only show the “Position creation Date”. But I have not hidden the field so that I can show the changes after business rule is executed.
Step 3: Start Date modified to beginning of the month, only “Position Creation Date” need to entered and rule will automatically save the “Effective Start Date”
Step 4: Business Rule that changes the “Effective Start Date” to a beginning of the month.