簡介
您可以使用 HCM 資料載入器來大量載入生效日期歷史記錄,並維護該歷史記錄。
附註:
預計您瞭解如何使用 HCM 資料載入器 (HDL) 建立與上傳檔案。如果您剛開始使用 HDL,請先完成使用 HCM 資料載入器 (HDL) 建立並維護資料教學課程。目標
在本教學課程中,您將學習。
- 建立並載入生效日期歷史記錄,以及每天的多重變更。
- 更正並更新現有的生效日期記錄。
- 上傳歷史變更、保留未來值及覆寫未來值。
- 刪除歷史記錄中的生效日期記錄。
必要條件
若要完成此教學課程,您需要:
- 使用 HCM 資料載入器匯入與載入資料的存取權。
秘訣:
請參閱設定 HCM 資料載入器 (HDL) 與瞭解 HDL 安全性選項的存取教學課程,瞭解建立 HDL 存取和瞭解安全性選項的步驟。 - 可建立檔案的文字編輯器。
- 壓縮業務物件資料檔的檔案壓縮程式。
建議您先完成使用 HCM 資料載入器 (HDL) 建立和維護資料教學課程,再嘗試此教學課程。工作 10 是指您在此教學課程中建立的資料。
作業 1:建立具有生效日期歷史記錄的物件
在此步驟中,您將學習如何在建立新物件時載入生效日期歷史記錄。
- 使用任何文字編輯器建立新檔案,然後輸入下列內容:
- 儲存您的檔案,並將其命名為 Job.dat 。
- 下載此 JobFamily.dat 檔案。
- 將 Job.dat 和 JobFamily.dat 檔案壓縮成名為 1 Create Job.zip 的 zip 檔案。
- 匯入並載入 zip 檔案。將建立以下資料:
系統會為「銷售」工作建立下列生效日期記錄。 生效日期 有效期限 名稱 相關職務代碼 標準工作時數 全職 1-Mar-2024 銷售管理系統 SALES 24 PART_TIME 1-Jan-2020 29-Feb-2024 銷售管理系統 SALES 16 PART_TIME 1-Jan-2010 31-Dec-2019 銷售管理系統 16 PART_TIME 總結來說:
- 工作已於 2010 年 1 月 1 日建立。
- 已於 2020 年 1 月 1 日植入「職系代碼」。
- 於 2024 年 3 月 1 日,標準工作時間由 16 小時增加至 24 小時。
秘訣:
您可在 .dat 檔案中以任何順序提供生效日期記錄,但日期中不會中斷。附註:
當您建立生效日期物件時,只會處理第一筆生效日期記錄作為新記錄。較晚日期的記錄會更新至第一筆記錄。若要保留先前生效日期記錄的值,您可以將這些屬性保留空白,或重複要繼續的值。
METADATA|Job|JobCode|SetCode|EffectiveStartDate|EffectiveEndDate|Name|ActiveStatus|JobFamilyCode|RegularTemporary|FullPartTime|StandardWorkingHours|StandardWorkingFrequency MERGE|Job|SALES|COMMON|2024/03/01|4712/12/31|Sales|ACTIVE|SALES|R|PART_TIME|24|W MERGE|Job|SALES|COMMON|2020/01/01|2024/02/29|Sales|ACTIVE|SALES|R|PART_TIME|16|W MERGE|Job|SALES|COMMON|2010/01/01|2019/12/31|Sales|ACTIVE||R|PART_TIME|16|W
這三個檔案行是用於相同的工作,由 JobCode SALES 與 SetCode COMMON 屬性值所識別。
秘訣:
當記錄沒有結束日期時,您可以將 4712/12/31 值指定給 EffectiveEndDate 屬性。或者,請留白。附註:
提供生效日期歷史記錄時,請確定日期範圍是連續的,且日期範圍內沒有間隔。所有記錄都必須有效。HDL 會將這些記錄群組在一起,並將它們載入為單一物件。如果在物件內的任何記錄上發現錯誤,則整個物件將無法載入。附註:
您的 Job.dat 檔案是指由 JobFamily.dat 檔案建立的職系。任務 2:更正最晚生效日期記錄
在此步驟中,您將上傳更正至您職務的最新生效日期記錄。
- 建立新檔案並輸入下列項目:
- 將檔案命名為 Job.dat ,然後壓縮成名為 2 的壓縮檔案 Job.zip
- 匯入並載入您的壓縮檔。這將對您的職務產生下列影響:
「銷售」工作有下列生效日期記錄。 生效日期 有效期限 名稱 相關職務代碼 標準工作時數 全職 1-Mar-2024 銷售管理系統 SALES 32 PART_TIME 1-Jan-2020 28-Feb-2024 銷售管理系統 SALES 16 PART_TIME 1-Jan-2010 31-Dec-2019 銷售管理系統 16 PART_TIME - 在 2024 年 3 月 1 日,「標準工時」已從 24 點修正為 32 點。
- 未對此記錄的任何其他屬性進行任何變更。
METADATA|Job|JobCode|SetCode|EffectiveStartDate|EffectiveEndDate|StandardWorkingHours MERGE|Job|SALES|COMMON|2024/03/01|4712/12/31|32
由於職務的記錄已存在於 2024 年 3 月 1 日,因此會加以更正,而不是建立新的生效日期分割。
秘訣:
只要更正 StandardWorkingHours ,您就只需要提供該屬性。其他屬性將維持不變。總結來說:
任務 3:建立生效日期更新
在此任務中,您將上傳您工作的生效日期更新。
- 建立新檔案並輸入下列項目:
- 將檔案命名為 Job.dat ,然後壓縮成名為 3 Update Job.zip 的壓縮檔案
- 匯入並載入您的壓縮檔。這將對您的職務產生下列影響:
「銷售」工作有下列生效日期記錄。 生效日期 有效期限 名稱 職系代碼 標準工作時數 全職 15-Mar-2024 銷售管理系統 SALES 40 PART_TIME 1-Mar-2024 14-Mar-2024 銷售管理系統 SALES 32 PART_TIME 1-Jan-2020 28-Feb-2024 銷售管理系統 SALES 16 PART_TIME 1-Jan-2010 31-Dec-2019 銷售管理系統 16 PART_TIME - 在 2024 年 3 月 15 日將標準工時增加到 40 時,會建立新的生效日期更新。
- 記錄上先前執行至結束時間的有效結束日期,會更新為 2024 年 3 月 14 日,也就是新生效日期的前一天。
METADATA|Job|JobCode|SetCode|EffectiveStartDate|StandardWorkingHours MERGE|Job|SALES|COMMON|2024/03/15|40
因為您提供的 EffectiveStartDate 尚未存在於工作中,將會建立新的生效日期分割。
秘訣:
如果未提供 EffectiveEndDate 的值,變更將執行到結束時間為止。總結來說:
任務 4:刪除未來生效日期分割
在此任務中,您將以新記錄取代最後兩個生效日期分割。
- 建立新檔案並輸入下列項目:
- 將檔案命名為 Job.dat ,然後壓縮成名為 4 取代 Job.zip 中的 DE 分割的壓縮檔案。
- 匯入並載入您的壓縮檔。這將對您的職務產生下列影響:
「銷售」工作有下列生效日期記錄。 生效日期 有效期限 名稱 相關職務代碼 標準工作時數 全職 1-Jan-2024 銷售管理系統 SALES 40 FULL_TIME 1-Jan-2020 31-Dec-2022 銷售管理系統 SALES 16 PART_TIME 1-Jan-2010 31-Dec-2019 銷售管理系統 16 PART_TIME - The date-effective records starting on 1-Mar-2024 and 15-Mar-2024 are deleted as they existed after the EffectiveStartDate of 1-Jan-2024.
- 新記錄是從 2024 年 1 月 1 日更新標準工作時數和全職值來建立。
- 在 2024 年 1 月 1 日之前記錄的有效結束日期已更新為 2022 年 12 月 31 日。
- 檔案中未提供值的屬性不會更新,而是會從先前日期的記錄向前捲動,例如「職系代碼」。
SET PURGE_FUTURE_CHANGES Y METADATA|Job|JobCode|SetCode|EffectiveStartDate|StandardWorkingHours|FullPartTime MERGE|Job|SALES|COMMON|2024/01/01|40|FULL_TIME
SET PURGE_FUTURE_CHANGES Y 指令會告知 HDL 取代任何存在於 EffectiveStartDate 與 EffectiveEndDate 屬性所指定之日期範圍內的生效日期記錄。
總結來說:
任務 5:上傳保留未來日期值的歷史變更
在此步驟中,您將插入生效日期記錄,而不會覆寫未來日期記錄上的任何值。
- 建立新檔案並輸入下列項目:
- 將檔案命名為 Job.dat ,然後壓縮成名為 5 Retain Future Changes Job.zip 的壓縮檔案。
- 匯入並載入您的壓縮檔。這將對您的職務產生下列影響:
「銷售」工作有下列生效日期記錄。 生效日期 有效期限 名稱 相關職務代碼 標準工作時數 全職 1-Jan-2024 銷售管理系統 SALES 40 FULL_TIME 1-Jan-2020 31-Dec-2022 銷售管理系統 SALES 16 PART_TIME 1-Jan-2015 31-Dec-2019 銷售顧問 16 PART_TIME 1-Jan-2010 31-Dec-2014 銷售管理系統 16 PART_TIME - 新記錄建立於 2015 年 1 月 1 日,將名稱設定為銷售顧問。
- 新記錄的有效結束日期衍生為下一個日期記錄生效日期的前一天。亦即,下一個現有記錄於 2020 年 1 月 1 日開始,因此新記錄將於 2019 年 12 月 31 日結束。
- 系統會保留所有未來日期的記錄。由於使用提供給 EffectiveEndDate 屬性的 #RETAIN 記號,因此名稱值不會向前復原。
- 檔案中未提供值的屬性會從先前存在於 2015 年 1 月 1 日的記錄繼承其值;檔案中指定的 EffectiveStartDate 屬性值。
SET PURGE_FUTURE_CHANGES N METADATA|Job|JobCode|SetCode|EffectiveStartDate|EffectiveEndDate|Name MERGE|Job|SALES|COMMON|2015/01/01|#RETAIN|Sales Consultant
SET PURGE_FUTURE_CHANGES N
指令會告知 HDL 保留任何存在的未來生效日期分割。
提供給 EffectiveEndDate 屬性的 #RETAIN
值會告知 HDL 在所有存在的未來生效日期記錄上保留屬性值。
總結來說:
任務 6:上傳更新未來日期記錄的歷史變更
在此步驟中,您將從 EffectiveStartDate 屬性指定的開始日期更正所有現有的生效日期記錄。
- 建立新檔案並輸入下列項目:
- 將檔案命名為 Job.dat ,然後壓縮成名為 6 取代未來變更 Job.zip 的壓縮檔案。
- 匯入並載入您的壓縮檔。這將對您的職務產生下列影響:
「銷售」工作有下列生效日期記錄。 生效日期 有效期限 名稱 相關職務代碼 標準工作時數 全職 1-Jan-2024 銷售顧問 SALES 40 FULL_TIME 1-Jan-2020 31-Dec-2022 銷售顧問 SALES 16 PART_TIME 1-Jan-2015 31-Dec-2019 銷售顧問 16 PART_TIME 1-Jan-2010 31-Dec-2014 銷售顧問 16 PART_TIME - 會保留所有生效日期分割。
- EffectiveStartDate 將來的所有記錄都會更正為銷售顧問名稱變更,但日期為 2015 年 1 月 1 日的記錄沒有變更。
- 只有檔案中提供的屬性值會向前捲動。
SET PURGE_FUTURE_CHANGES N METADATA|Job|JobCode|SetCode|EffectiveStartDate|EffectiveEndDate|Name MERGE|Job|SALES|COMMON|2010/01/01|#ALL|Sales Consultant
SET PURGE_FUTURE_CHANGES N
指令會告知 HDL 保留任何存在的未來生效日期分割。
提供給 EffectiveEndDate 屬性的 #ALL
值會告知 HDL 在所有未來生效日期記錄中向前捲動提供的屬性值。
總結來說:
任務 7:刪除生效日期記錄
在此步驟中,您將刪除從 2015 年 1 月 1 日開始的非必要生效日期記錄,因為屬性值與立即預測的記錄相同。
- 建立新檔案並輸入下列項目:
- 將您的檔案命名為 Job.dat ,然後壓縮成名為 7 Delete Date Effective Splits.zip 的 zip 檔案。
- 匯入並載入您的壓縮檔。這將對您的職務產生下列影響:
「銷售」工作有下列生效日期記錄。 生效日期 有效期限 名稱 相關職務代碼 標準工作時數 全職 1-Jan-2024 銷售顧問 SALES 40 FULL_TIME 1-Jan-2020 31-Dec-2022 銷售顧問 SALES 16 PART_TIME 1-Jan-2010 31-Dec-2019 銷售顧問 16 PART_TIME - 若要刪除生效日期記錄,請提供 EffectiveStartDate ,其中包含您要保留之最後一筆記錄的生效日期。指定 EffectiveEndDate ,其中包含您需要刪除之最後一筆記錄的有效結束日期。
- 在此範例中,只會刪除從 2015 年 1 月 1 日開始的記錄:
- 將 2010/01/01 指定至 EffectiveStartDate ,這是要保留之最後一筆記錄的生效日期。這可確保不會建立新的日期分割,因為 2010 年 1 月 1 日記錄已存在。
- 將 2022/12/31 指定至 EffectiveEndDate ,這是要刪除之最後一筆記錄的有效結束日期。這可確保在此日期之後不會變更記錄。
SET PURGE_FUTURE_CHANGES Y METADATA|Job|JobCode|SetCode|EffectiveStartDate|EffectiveEndDate MERGE|Job|SALES|COMMON|2010/01/01|2019/12/31
SET PURGE_FUTURE_CHANGES Y
指令會告知 HDL 取代任何存在於 EffectiveStartDate 與 EffectiveEndDate 屬性所指定之日期範圍內的生效日期記錄。
只提供識別工作的屬性,此檔案不會對任何屬性進行更正或更新。
總結來說:
作業 8:刪除屬性值
在此步驟中,您將刪除日期範圍的屬性值。
- 建立新檔案並輸入下列項目:
- 將您的檔案命名為 Job.dat ,然後壓縮成名為 8 Delete Attribute Values.zip 的壓縮檔案。
- 匯入並載入您的壓縮檔。這將對您的職務產生下列影響:
「銷售」工作有下列生效日期記錄。 生效日期 有效期限 名稱 相關職務代碼 標準工作時數 全職 1-Jan-2024 銷售顧問 SALES FULL_TIME 1-Jan-2020 31-Dec-2022 銷售顧問 SALES PART_TIME 1-Jan-2010 31-Dec-2019 銷售顧問 PART_TIME - 標準工作時數與標準工作頻率 (此表格中未顯示) 的值,會從所有較晚日期記錄的生效日期中刪除。
SET PURGE_FUTURE_CHANGES N METADATA|Job|JobCode|SetCode|EffectiveStartDate|EffectiveEndDate|StandardWorkingHours|StandardWorkingFrequency MERGE|Job|SALES|COMMON|2010/01/01|#ALL|#NULL|#NULL
SET PURGE_FUTURE_CHANGES N
指令會告知 HDL 保留任何存在的未來生效日期分割。
提供給 StandardWorkingHours 和 StandardWorkingFrequency 屬性的 #NULL
值會告知 HDL 移除這些屬性的值。
提供給 EffectiveEndDate 屬性的 #ALL
值會告知 HDL 在所有存在的未來生效日期記錄上向前捲動屬性值。
秘訣:
您也可以提供變更的結束日期,例如 4712/12/31,以向前復原此變更直到時間結束為止。不過,如果物件已過期 (亦即,上次生效日期不是 4712/12/31),則更新將會失敗。總結來說:
任務 9:變更邏輯開始日期
在此步驟中,您將調整工作的第一個生效日期。這會取代第一個現有的生效日期分割。
秘訣:
使用檢視業務物件任務來判斷物件是否支援第一個或最後一個生效日期的更新。- 建立新檔案並輸入下列項目:
- 將檔案命名為 Job.dat ,然後壓縮成名為 9 調整開始 Date.zip 的壓縮檔案。
- 匯入並載入您的壓縮檔。這將對您的職務產生下列影響:
「銷售」工作有下列生效日期記錄。 生效日期 有效期限 名稱 職系代碼 標準工作時數 全職 1-Jan-2024 銷售顧問 SALES FULL_TIME 1-Jan-2020 31-Dec-2022 銷售顧問 SALES PART_TIME 1-Jan-2000 31-Dec-2019 銷售顧問 PART_TIME - 第一個生效日期變更為檔案中提供的 EffectiveStartDate 。
- 此範例中指定的 EffectiveEndDate 是現有第一筆生效日期記錄 2019 年 12 月 31 日的結束日期。
SET PURGE_FUTURE_CHANGES Y METADATA|Job|JobCode|SetCode|EffectiveStartDate|EffectiveEndDate|ReplaceFirstEffectiveStartDate|Name MERGE|Job|SALES|COMMON|2000/01/01|2019/12/31|Y|Sales Consultant
SET PURGE_FUTURE_CHANGES Y
指令會告知 HDL 取代任何存在於 EffectiveStartDate 和 EffectiveEndDate 屬性所指定之日期範圍內的未來生效日期分割。
當屬性 ReplaceFirstEffectiveStartDate 設為 Y 時,HDL 會將邏輯開始日期調整為 EffectiveStartDate 屬性所指定的日期。
附註:
由於工作名稱為必要且已轉譯,因此您也必須指定名稱屬性,才能調整轉譯記錄的第一個生效日期。總結來說:
附註:
如果您要保留現有分割並在新開始日期之前建立新記錄,請改用SET PURGE_FUTURE_CHANGES N
指令來保留未來日期的記錄。
秘訣:
您可以使用 ReplaceLastEffectiveEndDate 屬性來調整支援物件的有效期限。作業 10:每天載入多重變更
職工物件階層內的僱用條款與指派記錄支援每日多次變更 (MCPD)。這可讓您追蹤在相同生效日期進行的個別更新。
當您載入單一日期有多重變更之物件的生效日期歷史記錄時,EffectiveSequence 值必須從 1 開始,並依序增加。您無法在相同日期對相同邏輯物件重複一個 EffectiveSequence 值,序列中也沒有間隔。如果生效日期只有一項變更,則 EffectiveSequence 必須為 1。
舉例而言:
METADATA|Assignment|SourceSystemId|EffectiveStartDate|EffectiveEndDate|EffectiveSequence|EffectiveLatestChange|... MERGE|Assignment|2724|2012/06/02||1|Y|... MERGE|Assignment|2724|2012/03/04|2012/06/01||3|Y... MERGE|Assignment|2724|2012/03/04|2012/03/04|2|N|... MERGE|Assignment|2724|2012/03/04|2012/03/04|1|N|... MERGE|Assignment|2724|2010/06/08|2012/03/03|1|Y|...
本範例遵循下列規則:
- 日期中沒有差距。
- 所有生效日期記錄的唯一索引鍵都相同。
- 所有新生效日期的 EffectiveSequence 從 1 開始,且為符合生效日期的循序開始日期。
- 當記錄為生效日期的上次變更時,EffectiveLatestChange 為 Y 。否則,EffectiveLatestChange 為 N 。
- 當 EffectiveLatestChange 為 N 時,EffectiveEndDate 會比對 EffectiveStartDate 。
- 建立新檔案並輸入下列項目:
- 將您的檔案命名為 Worker.dat ,然後壓縮成名為 10 MCPD.zip 的壓縮檔案。
- 匯入並載入您的壓縮檔。這會為「外派」建立具有下列生效日期記錄的員工:
職工的指派有下列生效日期記錄。 生效日期 有效期限 有效序號 動作 工作 標準時數 10-May-2010 2 WORK_HOURS_CHANGE MGR 37.5 10-May-2010 10-May-2010 1 JOB_CHANGE MGR 40 8-Feb-2005 9-May-2010 1 僱主 SCN 40
METADATA|Worker|SourceSystemOwner|SourceSystemId|EffectiveStartDate|PersonNumber|StartDate|DateOfBirth|ActionCode MERGE|Worker|EMP|MCPD|2005/02/08|HDL-MCPD|2005/02/08|1966/04/21|HIRE METADATA|PersonName|SourceSystemOwner|SourceSystemId|EffectiveStartDate|PersonId(SourceSystemId)|NameType|LegislationCode|Title|LastName|FirstName MERGE|PersonName|EMP|MCPD_NME|2005/02/08|MCPD|GLOBAL|US|MRS.|Hugh|Lorraine METADATA|WorkRelationship|SourceSystemOwner|SourceSystemId|PersonId(SourceSystemId)|LegalEmployerName|DateStart|WorkerType|PrimaryFlag MERGE|WorkRelationship|EMP|MCPD_POS|MCPD|Vision Corporation|2005/02/08|E|Y METADATA|WorkTerms|SourceSystemOwner|SourceSystemId|PeriodOfServiceId(SourceSystemId)|ActionCode|EffectiveStartDate|EffectiveEndDate|EffectiveSequence|EffectiveLatestChange|AssignmentName|AssignmentNumber|PrimaryWorkTermsFlag MERGE|WorkTerms|EMP|MCPD_TRM|MCPD_POS|WORK_HOURS_CHANGE|2010/05/10|4712/12/31|2|Y|ET-MCPD|ET-MCPD|Y MERGE|WorkTerms|EMP|MCPD_TRM|MCPD_POS|JOB_CHANGE|2010/05/10|2010/05/10|1|N|ET-MCPD|ET-MCPD|Y MERGE|WorkTerms|EMP|MCPD_TRM|MCPD_POS|HIRE|2005/02/08|2010/05/09|1|Y|ET-MCPD|ET-MCPD|Y METADATA|Assignment|SourceSystemOwner|SourceSystemId|ActionCode|EffectiveStartDate|EffectiveEndDate|EffectiveSequence|EffectiveLatestChange|WorkTermsAssignmentId(SourceSystemId)|AssignmentName|AssignmentNumber|AssignmentStatusTypeCode|PersonTypeCode|BusinessUnitShortCode|PrimaryAssignmentFlag|JobId(SourceSystemId)|JobId(SourceSystemOwner)|StandardHours|StandardFrequencyDB MERGE|Assignment|EMP|MCPD_ASG|WORK_HOURS_CHANGE|2010/05/10|4712/12/31|2|Y|MCPD_TRM|MCPD Example|E-MCPD|ACTIVE_PROCESS|Employee|Vision Operations|Y|MGR|VISION|37.5|W MERGE|Assignment|EMP|MCPD_ASG|JOB_CHANGE|2010/05/10|2010/05/10|1|N|MCPD_TRM|MCPD Example|E-MCPD|ACTIVE_PROCESS|Employee|Vision Operations|Y|MGR|VISION|37.5|W MERGE|Assignment|EMP|MCPD_ASG|HIRE|2005/02/08|2010/05/09|1|Y|MCPD_TRM|MCPD Example|E-MCPD|ACTIVE_PROCESS|Employee|Vision Operations|Y|SCN|VISION|40|W
秘訣:
此檔案所參考的工作是在使用 HCM 資料載入器 (HDL) 建立和維護資料教學課程中建立。您還需要將 WorkRelationship 上的 LegalEmployerName 屬性值和「指派」記錄上的 BusinessUnitShortCode 屬性值更新為環境中可用的值。
附註:
在載入此檔案之前,請確定您在應用程式中建立來源系統擁有者,或將 SourceSystemOwner 變更為已存在的值。秘訣:
提供「指派」記錄的有效日期變更時,您必須在 WorkTerms 記錄上建立相同的生效日期分割。接下來的步驟
下列教學課程將進一步擴展您的 HCM 資料載入器知識:
相關連結
HDL 和 HSDL 的最新教學課程發佈於 Cloud Customer Connect 的這個主題:
如需進一步的資訊,請參閱此說明主題:
致謝
- 作者 - Ema Johnson (資深首席產品經理)
其他學習資源
在 docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。