소개

HCM Cloud는 읽기 최적화된 데이터 저장소를 사용하여 HCM에서 데이터를 추출하는 기능의 일부로 객체 변경 추출을 노출합니다.

객체 변경은 시스템의 데이터 변경을 나타내는 일반 비즈니스 뷰입니다. 이러한 데이터 변경은 사용자 UI 트랜잭션, API 호출 또는 백엔드 프로세스와 같은 다양한 방식으로 HCM에서 조작할 수 있는 다양한 비즈니스 객체와 관련될 수 있습니다.

요구 사항에 따라 관심 있는 변경 사항을 감지하기 위해 객체 변경 추출을 정의하고 실행할 수 있습니다.

목표

이 자습서를 완료하면 다음 사항을 이해하게 됩니다.

  • 객체 변경 추출이란 무엇이며 감지할 수 있는 데이터 변경 사항
  • 객체 변경 추출을 사용하여 데이터 변경 사항을 효율적으로 감지하는 방법

필요 조건

시작하기 전에 읽기 최적화된 데이터 저장소를 사용하여 HCM에서 데이터를 추출하는 방법을 익히십시오.

사용 사례

이 기능을 통해 다음과 같은 사용 사례를 해결할 수 있습니다.

  1. 특정 업무 객체의 데이터 변경 사항 감지
  2. 작업 유형별 필터링 - 생성, 갱신, 특히 삭제 추적
  3. 비즈니스 객체의 변경된 속성 및 이전 값과 새 값 추적

증분 추출물:

이 기능은 증분 추출을 대체하지 않지만 보완합니다. 예를 들어 증분 추출에서는 삭제를 추적할 수 없으며 변경된 속성 및 이전 값과 새 값에 대한 인사이트도 제공하지 않습니다.

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 유형을 나타냅니다. 다음 중 하나입니다.

  • DELETE
  • INSERT
  • UPDATE
dateEffectiveMode

유효 종료 일자 객체에만 적용됩니다.

유효 일자 공정의 유형을 나타냅니다. 다음 중 하나입니다.

  • CORRECTION
  • DELETE THIS CHANGE
  • END DATE
  • END DATE FUTURE CHANGES REMOVED
  • INSERT
  • LOGICAL EED CHANGE
  • LOGICAL ESD CHANGE
  • PHYSICAL ESD CHANGE
  • UPDATE
  • UPDATE CHANGE INSERT
  • ZAP

자세한 내용은 HCM REST API 문서의 유효 일자 객체 관리를 참조하십시오.

effectiveDate

유효 종료 일자 비즈니스 객체에만 적용됩니다.

변경의 유효 일자를 나타내며 과거, 현재 또는 미래 일자일 수 있습니다.

keyAttribute1Name

keyAttribute1DataType

keyAttribute1StringValue

keyAttribute1NumberValue

keyAttribute1DateValue


keyAttribute2Name

keyAttribute2DataType

keyAttribute2StringValue

keyAttribute2NumberValue

keyAttribute2DateValue


keyAttribute3Name

keyAttribute3DataType

keyAttribute3StringValue

keyAttribute3NumberValue

keyAttribute3DateValue

비즈니스 객체의 SQL 테이블 정의에 해당하는 특정 객체 인스턴스를 식별할 수 있는 속성 세트입니다.

최대 3개의 조합 키 요소가 지원됩니다.

키 요소의 데이터 유형(VARCHAR2 / NUMBER / DATE)에 따라 각 키 요소에 대해 숫자, 문자열 또는 날짜 속성이 채워집니다.

유효 일자 비즈니스 객체의 경우 키 정보는 논리적 객체의 대리 키를 나타냅니다.

purgeDate

변경 레코드가 지속적으로 제거되고 있습니다. 이 속성은 변경 레코드에 대한 계획된 비우기 일자입니다.

비우기 정책은 객체와 이벤트마다 다를 수 있습니다. 이벤트 99%90일 이상 보존됩니다.

timeCreated 변경 레코드의 생성 시간 기록
changeComponents

객체 변경 레코드에는 변경 구성요소가 하나 이상 있을 수 있습니다.

변경 레코드는 객체의 논리적 변경 사항을 나타내지만 변경 구성 요소는 물리적 데이터베이스 레코드 레벨의 변경 사항을 포함하여 추가 세부 정보를 제공합니다. 이는 특히 유효 일자 객체에 적용됩니다.

필요한 정보에 따라 변경 구성 요소를 검사하여 개별 물리적 레코드의 변경 사항을 식별할 수 있습니다.

예를 들어 유효 일자 업데이트에는 일반적으로 두 개의 물리적 레코드 작업이 포함됩니다.

  • 기존 레코드 업데이트(유효 종료 일자 설정)
  • 새 값을 사용하여 새 레코드를 삽입합니다.

변경 구성요소에는 논리적 레코드 변경 사항도 포함됩니다.

일자 유효성에 대한 자세한 내용은 HCM REST API 문서의 유효 일자 객체 관리를 참조하십시오.

changeComponents.oldEffectiveStartDate

changeComponents.newEffectiveStartDate

changeComponents.oldEffectiveEndDate

changeComponents.newEffectiveEndDate

changeComponents.oldEffectiveSequence

changeComponents.newEffectiveSequence

유효 종료 일자 비즈니스 객체에만 적용됩니다.

기본 물리적 및 논리적 레코드 변경 사항의 유효 일자 세부정보를 제공하는 속성 세트입니다.

changeComponents.physicalType

유효 종료 일자 비즈니스 객체에만 적용됩니다.

변경 구성요소가 물리적 레코드 변경으로 간주되는지 여부를 나타냅니다(Y / N).

개별 물리적 레코드 변경 레벨에서 작업의 DML 유형을 확인하려면 이전 유효 시작 날짜와 새 유효 시작 날짜가 존재하는지 확인하십시오.

  • 삽입 - oldEffectiveStartDate가 널입니다. newEffectiveStartDate가 널이 아닙니다.
  • 업데이트 - oldEffectiveStartDate가 널이 아니며 newEffectiveStartDate이 널이 아닙니다.
  • 삭제 - oldEffectiveStartDate가 널이 아니고 newEffectiveStartDate이 널입니다.
changeComponents.logicalType

유효 종료 일자 비즈니스 객체에만 적용됩니다.

변경 구성요소가 논리적 레코드 변경으로 간주되는지 여부를 나타냅니다(Y / N).

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>

사용 가능한 변경된 각 속성에 대해 다음을 수행합니다.

  • 속성 이름과 함께 XML 요소가 있습니다.
  • 속성 유형이 있습니다. 다음 중 하나입니다.
    • V - 텍스트 값
    • N - 숫자 값
    • D - 날짜 및 시간 기록 값
  • oldVal 요소가 이전 값과 함께 있습니다.
  • newVal 요소가 새 값과 함께 있습니다.

캡처된 속성 집합과 해당 특정 규칙(항상 존재, 변경된 경우에만 존재 등)은 업무 객체마다 다를 수 있습니다.

작업 3: 추출 실행

HCM 읽기 최적화된 데이터 저장소에서 데이터 추출 자습서에 설명된 단계에 따라 정의된 추출을 실행합니다.

추가 학습 자원

docs.oracle.com/learn에서 다른 랩을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.