簡介
作為使用讀取最佳化資料存放區從 HCM 擷取資料的功能的一部分,HCM Cloud 會公開物件變更擷取。
「物件變更」是代表系統中資料變更的一般業務視圖。這類資料變更可與各種可在 HCM 中操作的業務物件相關,例如使用者 UI 交易、API 呼叫或後端處理。
您可以定義並執行「物件變更」擷取,以根據您的需求偵測您感興趣的變更。
目標
完成本教學課程後,您將瞭解:
- 什麼是物件變更擷取及其允許偵測的資料變更
- 如何使用物件變更擷取有效地偵測資料變更
必要條件
開始之前,請先熟悉使用讀取最佳化資料儲存從 HCM 擷取資料。
使用案例
此功能可讓您處理使用案例,例如:
- 偵測特定業務物件的資料變更
- 依作業類型篩選 - 追蹤建立、更新,特別是刪除
- 追蹤業務物件的已變更屬性及其舊值與新值
增量摘錄:
此功能不會取代增量擷取,但會加以補充。例如,增量擷取不允許追蹤刪除,既不提供已變更屬性及其舊值與新值的洞察分析。原子饋送:
此功能是 Atom 饋送更為一般的替代方案。作業 1:選擇業務物件
以下是支援之業務物件的完整名稱清單。
| 來源物件名稱為 |
|---|
|
oracle.apps.hcm.addresses.publicModel.entity.AddressDEO oracle.apps.hcm.compensation.salary.core.protectedModel.entity.SalaryEO oracle.apps.hcm.documentsOfRecord.core.protectedModel.entity.DocumentDeliveryPreferenceEO oracle.apps.hcm.employment.core.publicModel.entity.AssignmentExtraInfoEFFDEO oracle.apps.hcm.employment.core.publicModel.entity.AssignmentSupervisorDEO oracle.apps.hcm.employment.core.publicModel.entity.AssignmentWorkMeasureDEO oracle.apps.hcm.employment.core.publicModel.entity.CWKAssignmentDEO oracle.apps.hcm.employment.core.publicModel.entity.ContractDEO oracle.apps.hcm.employment.core.publicModel.entity.EmployeeAssignmentDEO oracle.apps.hcm.employment.core.publicModel.entity.PWAssignmentDEO oracle.apps.hcm.employment.core.publicModel.entity.PeriodOfServiceEO oracle.apps.hcm.locations.model.entity.LocationDetailDEO oracle.apps.hcm.locations.model.entity.LocationDetailTranslationDEO oracle.apps.hcm.locations.model.entity.LocationEO oracle.apps.hcm.locations.model.entity.LocationExtraInfoEFFDEO oracle.apps.hcm.locations.model.entity.LocationLegislativeEFFDEO oracle.apps.hcm.organizations.protectedModel.entity.OrgInformationEFFDEO oracle.apps.hcm.organizations.protectedModel.entity.OrganizationUnitDEO oracle.apps.hcm.organizations.protectedModel.entity.OrganizationUnitTranslationDEO oracle.apps.hcm.people.core.protectedModel.entity.CitizenshipEO oracle.apps.hcm.people.core.protectedModel.entity.DriversLicenceEO oracle.apps.hcm.people.core.protectedModel.entity.EmailAddressEO oracle.apps.hcm.people.core.protectedModel.entity.EthnicityEO oracle.apps.hcm.people.core.protectedModel.entity.NationalIdentifierEO oracle.apps.hcm.people.core.protectedModel.entity.PassportEO oracle.apps.hcm.people.core.protectedModel.entity.PersonDEO oracle.apps.hcm.people.core.protectedModel.entity.PersonEO oracle.apps.hcm.people.core.protectedModel.entity.PersonExtraInfoDEO oracle.apps.hcm.people.core.protectedModel.entity.PersonLegislativeInfoDEO oracle.apps.hcm.people.core.protectedModel.entity.PersonNameDEO oracle.apps.hcm.people.core.protectedModel.entity.PhoneEO oracle.apps.hcm.people.core.protectedModel.entity.ReligionEO oracle.apps.hcm.people.core.protectedModel.entity.VisaPermitDEO oracle.apps.hcm.people.healthAndSafety.protectedModel.entity.PersonDisabilityDEO oracle.apps.hcm.users.publicModel.entity.UserEO oracle.apps.hcm.workStructures.grades.model.entity.GradeDEO oracle.apps.hcm.workStructures.grades.model.entity.GradeLegislativeEFFDEO oracle.apps.hcm.workStructures.grades.model.entity.GradeTranslationEO oracle.apps.hcm.workStructures.jobs.model.entity.JobDEO oracle.apps.hcm.workStructures.jobs.model.entity.JobExtraInfoDEO oracle.apps.hcm.workStructures.jobs.model.entity.JobLegislativeDEO oracle.apps.hcm.workStructures.jobs.model.entity.JobTranslationEO oracle.apps.hcm.workStructures.positions.model.entity.PositionDEO oracle.apps.hcm.workStructures.positions.model.entity.PositionExtraInformationDEO oracle.apps.hcm.workStructures.positions.model.entity.PositionLegislativeDEO oracle.apps.hcm.workStructures.positions.model.entity.PositionTranslationEO |
結尾為 DEO 的物件是日期有效物件,否則它們是非日期有效物件。
任務 2:定義摘錄
使用 objectChangeExtracts 業務視圖定義擷取查詢。
請參閱任務 2:準備與測試擷取查詢的從 HCM 讀取最佳化資料存放區擷取資料教學課程。
下列屬性可能有助於定義「物件變更」擷取的篩選:
| 屬性 | 描述 |
|---|---|
sourceObjectName |
完整業務物件名稱。請參閱步驟 #1 的清單以取得適用值 |
groupSequence |
如果存在,則表示業務交易中的變更序號 |
operationType |
僅適用於非日期有效物件。 表示作業的 DML 類型。頁面類型可為下列任一種:
|
dateEffectiveMode |
僅適用於生效日期物件。 表示生效日期作業的類型。頁面類型可為下列任一種:
如需詳細資訊,請參考 HCM REST API 文件中的管理生效日期物件。 |
effectiveDate |
僅適用於生效日期業務物件。 表示變更的生效日期,可以是過去、現在或未來日期 |
|
|
允許識別與業務物件之 SQL 表格定義對應之特定物件實例的屬性集。 最多支援 3 個複合索引鍵元素。 根據索引鍵元素的資料類型 ( 如果是生效日期業務物件,則索引鍵資訊代表邏輯物件的替代索引鍵。 |
purgeDate |
正在持續清除變更記錄。此屬性是變更記錄的計畫永久刪除日期。 物件與事件之間的永久清除原則可能會不同。 99% 的事件會保留 90 天或更長的時間。 |
timeCreated |
變更記錄的建立時戳 |
changeComponents |
物件變更記錄可以有一或多個變更元件。 當變更記錄代表物件的邏輯變更時,變更元件會提供其他詳細資訊,包括實體資料庫記錄層級的變更。這特別適用於日期生效物件。 視您需要的資訊而定,您可以檢查變更元件,以識別個別實體記錄的變更。 例如,生效日期更新通常涉及兩個實體記錄作業:
變更元件也會包含邏輯記錄變更。 請參考 HCM REST API 文件中的管理生效日期物件,以取得生效日期的更多明細。 |
|
|
僅適用於生效日期業務物件。 提供基礎實體與邏輯記錄變更之生效日期明細的屬性集 |
changeComponents.physicalType |
僅適用於生效日期業務物件。 指示變更元件是否被視為實體記錄變更 ( 為了決定個別實體記錄變更層級的作業 DML 類型,請檢查新舊生效日期是否存在。
|
changeComponents.logicalType |
僅適用於生效日期業務物件。 指示變更元件是否被視為邏輯記錄變更 ( |
changeComponents.changedAttributes.changedAttributesXml |
已變更屬性的明細,包含新的與舊值。 以下是範例變更的屬性 XML 有效負載。 <ChgAttrs>
<EmailType type="V">
<attrName>EmailType</attrName>
<oldVal>
<![CDATA[W1]]>
</oldVal>
<newVal>
<![CDATA[W1]]>
</newVal>
</EmailType>
<PersonId type="N">
<attrName>PersonId</attrName>
<oldVal>300100210126395</oldVal>
<newVal>300100210126395</newVal>
</PersonId>
<DateFrom type="D">
<attrName>DateFrom</attrName>
<oldVal>2012-01-01</oldVal>
<newVal>2012-01-01</newVal>
</DateFrom>
<EmailAddress type="V">
<attrName>EmailAddress</attrName>
<oldVal>
<![CDATA[jdoe@example.com]]>
</oldVal>
<newVal>
<![CDATA[john.doe@example.com]]>
</newVal>
</EmailAddress>
<EmailAddressId type="N">
<attrName>EmailAddressId</attrName>
<oldVal>300100210126404</oldVal>
<newVal>300100210126404</newVal>
</EmailAddressId>
</ChgAttrs>
針對每個已變更的可用屬性:
擷取的屬性集與其特定規則 (一律存在,只有在變更時才會出現) 在業務物件之間可能會有所不同。 |
任務 3:執行擷取
請依照從 HCM 讀取最佳化資料存放區擷取資料教學課程中所述的步驟執行定義的擷取。
其他學習資源
在 docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。