イントロダクション

読取り最適化データ・ストアを使用してHCMからデータを抽出する機能の一部として、HCM Cloudではオブジェクト変更抽出が公開されています。

オブジェクト変更は、システム内のデータ変更を表す一般的なビジネス・ビューです。このようなデータ変更は、ユーザーUIトランザクション、APIコール、バックエンド プロセスなど、さまざまな方法で HCMで操作できるさまざまなビジネス オブジェクトに関連します。

要件に従って、関心のある変更を検出するためにオブジェクト変更抽出を定義および実行できます。

目的

このチュートリアルを完了すると、次のことが理解できます。

  • オブジェクト変更抽出とは何ですか。また、どのようなデータ変更を検出できますか。
  • オブジェクト変更抽出を使用してデータ変更を効率的に検出する方法

前提条件

始める前に、読取り最適化データ・ストアを使用したHCMからのデータの抽出に慣れてください。

「HCM読取り最適化データ・ストアからのデータの抽出」チュートリアルを参照してください。

ユース・ケース

この機能により、次のようなユースケースに対応できます。

  1. 特定のビジネス・オブジェクトのデータ変更の検出
  2. 操作タイプによるフィルタリング- 作成、更新、特に削除の追跡
  3. ビジネス・オブジェクトとその古い値と新しい値の変更された属性の追跡

増分Extract:

この機能により、増分抽出は置換されませんが、補完されます。たとえば、増分抽出では、削除を追跡できず、変更された属性とその古い値および新しい値に対するインサイトも提供されません。

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ビジネス・ビューを使用して抽出問合せを定義します。

「HCM読取り最適化データ・ストアからのデータの抽出」チュートリアルの「タスク2: 抽出問合せの準備とテスト」を確認します。

オブジェクト変更抽出のフィルタを定義するには、次の属性を使用できます。

属性 説明
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

オブジェクト変更レコードには、1つ以上の変更コンポーネントを含めることができます。

変更レコードはオブジェクトの論理的な変更を表しますが、変更コンポーネントは物理データベース・レコード・レベルの変更を含む追加の詳細を提供します。これは、有効日オブジェクトに特に有効です。

必要な情報に応じて、変更コンポーネントを調査して、個々の物理レコードの変更を識別できます。

たとえば、有効日更新には通常、次の2つの物理レコード操作が含まれます。

  • 既存のレコードの更新(有効終了日の設定)
  • 新しい値を持つ新しいレコードの挿入

変更コンポーネントには、論理レコードの変更も含まれます。

有効日の詳細は、HCM REST APIドキュメントの有効日オブジェクトの管理を参照してください。

changeComponents.oldEffectiveStartDate

changeComponents.newEffectiveStartDate

changeComponents.oldEffectiveEndDate

changeComponents.newEffectiveEndDate

changeComponents.oldEffectiveSequence

changeComponents.newEffectiveSequence

有効日ビジネス・オブジェクトにのみ適用可能です。

基礎となる物理レコードおよび論理レコード変更の日付有効詳細を提供する属性のセット

changeComponents.physicalType

有効日ビジネス・オブジェクトにのみ適用可能です。

変更コンポーネントが物理レコード変更とみなされるかどうかを示します(Y / N)。

個々の物理レコード変更レベルで操作のDMLタイプを決定するには、古い有効開始日と新しい有効開始日があるかどうかを確認します。

  • 挿入- oldEffectiveStartDateがnullで、newEffectiveStartDateがnullでない
  • 更新- oldEffectiveStartDateがnullでない、newEffectiveStartDateがnullでない
  • 削除- oldEffectiveStartDateがnullではなく、newEffectiveStartDateがnullです
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チャネルで無料のラーニング・コンテンツにアクセスしてください。また、Oracle Learning Explorerになるには、education.oracle.com/learning-explorerにアクセスしてください。

製品ドキュメントについては、Oracle Help Centerを参照してください。