소개
HCM Cloud는 읽기 최적화된 데이터 저장소를 사용하여 HCM에서 데이터를 추출하는 기능의 일부로 객체 변경 추출을 노출합니다.
객체 변경은 시스템의 데이터 변경을 나타내는 일반 비즈니스 뷰입니다. 이러한 데이터 변경은 사용자 UI 트랜잭션, API 호출 또는 백엔드 프로세스와 같은 다양한 방식으로 HCM에서 조작할 수 있는 다양한 비즈니스 객체와 관련될 수 있습니다.
요구 사항에 따라 관심 있는 변경 사항을 감지하기 위해 객체 변경 추출을 정의하고 실행할 수 있습니다.
목표
이 자습서를 완료하면 다음 사항을 이해하게 됩니다.
- 객체 변경 추출이란 무엇이며 감지할 수 있는 데이터 변경 사항
- 객체 변경 추출을 사용하여 데이터 변경 사항을 효율적으로 감지하는 방법
필요 조건
시작하기 전에 읽기 최적화된 데이터 저장소를 사용하여 HCM에서 데이터를 추출하는 방법을 익히십시오.
사용 사례
이 기능을 통해 다음과 같은 사용 사례를 해결할 수 있습니다.
- 특정 업무 객체의 데이터 변경 사항 감지
- 작업 유형별 필터링 - 생성, 갱신, 특히 삭제 추적
- 비즈니스 객체의 변경된 속성 및 이전 값과 새 값 추적
증분 추출물:
이 기능은 증분 추출을 대체하지 않지만 보완합니다. 예를 들어 증분 추출에서는 삭제를 추적할 수 없으며 변경된 속성 및 이전 값과 새 값에 대한 인사이트도 제공하지 않습니다.Atom 피드:
이 기능은 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를 참조하십시오.