Présentation

Dans le cadre de la capacité à extraire des données de HCM à l'aide d'un magasin de données optimisé pour la lecture, HCM Cloud expose l'extraction de modification d'objet.

La modification d'objet est une vue d'affaires générique qui représente une modification de données dans le système. Une telle modification des données peut concerner divers objets d'affaires qui peuvent être manipulés dans HCM de diverses façons, telles que les transactions d'interface utilisateur, les appels d'API ou les processus dorsaux.

Vous pouvez définir et exécuter des extractions de modification d'objet afin de détecter les modifications qui vous intéressent, selon vos besoins.

Objectifs

À la fin de ce tutoriel, vous comprendrez ce qui suit :

  • Qu'est-ce que les extractions de modification d'objet et quels changements de données ils permettent de détecter
  • Comment utiliser les extractions de modification d'objet pour détecter efficacement les modifications de données

Préalables

Avant de commencer, familiarisez-vous avec l'extraction de données à partir de HCM à l'aide d'un magasin de données optimisé en lecture.

Cas d'utilisation

Cette fonctionnalité vous permet de traiter des cas d'utilisation tels que :

  1. Détection des modifications de données d'objets d'affaires spécifiques
  2. Filtrage par type d'opération - suivi des créations, des mises à jour et, en particulier, des suppressions
  3. Suivi des attributs modifiés des objets d'affaires et de leurs anciennes et nouvelles valeurs

Extractions incrémentielles :

Cette fonction ne remplace pas les extractions incrémentielles, mais les complète. Par exemple, les extractions incrémentielles ne permettent pas de suivre les suppressions et ne fournissent pas de données clés sur les attributs modifiés et leurs anciennes et nouvelles valeurs.

Flux Atom :

Cette fonctionnalité est une alternative plus générique aux flux Atom.

Tâche 1 : Sélectionner des objets d'affaires

Vous trouverez ci-dessous la liste des noms complets des objets d'affaires pris en charge.

Nom de l'objet source
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

Les objets se terminant par DEO sont des objets avec date en vigueur, sinon ils ne sont pas des objets avec date en vigueur.

Tâche 2 : Définir un processus d'extraction

Définissez une interrogation d'extraction à l'aide de la vue d'affaires objectChangeExtracts.

Consultez la tâche 2 : Préparation et test d'une interrogation d'extraction du tutoriel Extraire des données du magasin de données optimisées pour la lecture HCM.

Les attributs suivants peuvent être utiles pour définir les filtres de votre extraction de modification d'objet :

Attribut Description
sourceObjectName Nom d'objet d'affaires entièrement qualifié. Voir la liste de l'étape #1 pour les valeurs applicables
groupSequence S'il y a lieu, indique le numéro de séquence de la modification dans la transaction d'affaires
operationType

Applicable uniquement aux objets sans date en vigueur.

Indique le type LMD de l'opération. Parmi :

  • DELETE
  • INSERT
  • UPDATE
dateEffectiveMode

Applicable aux objets en vigueur à ce jour seulement.

Indique le type de l'opération de date en vigueur. Parmi :

  • 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

Pour plus de détails, reportez-vous à Gérer les objets de date en vigueur dans la documentation sur l'API REST HCM.

effectiveDate

Applicable uniquement aux objets d'affaires en vigueur à ce jour.

Indique la date en vigueur de la modification, qui peut être une date passée, présente ou future

keyAttribute1Name

keyAttribute1DataType

keyAttribute1StringValue

keyAttribute1NumberValue

keyAttribute1DateValue


keyAttribute2Name

keyAttribute2DataType

keyAttribute2StringValue

keyAttribute2NumberValue

keyAttribute2DateValue


keyAttribute3Name

keyAttribute3DataType

keyAttribute3StringValue

keyAttribute3NumberValue

keyAttribute3DateValue

Jeu d'attributs permettant d'identifier l'instance d'objet spécifique, correspondant à la définition de la table SQL de l'objet d'affaires.

Jusqu'à 3 éléments de clé composite sont pris en charge.

Selon le type de données de l'élément de clé (VARCHAR2 / NUMBER / DATE), l'attribut de nombre, de chaîne ou de date sera alimenté pour l'élément de clé respectif.

Dans le cas d'objets fonctionnels avec date d'effet, les données clés représentent la clé de remplacement de l'objet logique.

purgeDate

Les enregistrements de modification sont continuellement épurés. Cet attribut correspond à la date d'épuration planifiée de l'enregistrement de modification.

La politique d'épuration peut varier entre les objets et les événements. 99 % des événements sont conservés pendant 90 jours ou plus.

timeCreated Horodatage de création de l'enregistrement de modification
changeComponents

Une table de modification d'objet peut comporter un ou plusieurs composants de modification.

Bien qu'un enregistrement de modification représente une modification logique d'un objet, les composants de modification fournissent des détails supplémentaires, notamment ceux des modifications au niveau des enregistrements de base de données physique. Ceci est particulièrement pertinent pour les objets avec date en vigueur.

Selon les informations dont vous avez besoin, vous pouvez examiner les composants de modification pour identifier les modifications des enregistrements physiques individuels.

Par exemple, une mise à jour avec date d'effet implique généralement deux opérations d'enregistrement physique :

  • Mise à jour d'un enregistrement existant (définition de la date de fin en vigueur)
  • Insertion d'un nouvel enregistrement avec la nouvelle valeur

Les composants de modification contiennent également des modifications d'enregistrement logique.

Pour plus de détails sur les dates en vigueur, reportez-vous à Gérer les objets de date en vigueur dans la documentation sur l'API REST HCM.

changeComponents.oldEffectiveStartDate

changeComponents.newEffectiveStartDate

changeComponents.oldEffectiveEndDate

changeComponents.newEffectiveEndDate

changeComponents.oldEffectiveSequence

changeComponents.newEffectiveSequence

Applicable uniquement aux objets d'affaires en vigueur à ce jour.

Jeu d'attributs fournissant les détails avec date en vigueur des modifications des enregistrements physiques et logiques sous-jacents

changeComponents.physicalType

Applicable uniquement aux objets d'affaires en vigueur à ce jour.

Indique si le composant de modification est considéré comme une modification d'enregistrement physique (Y / N).

Afin de déterminer le type LMD de l'opération au niveau de la modification de l'enregistrement physique individuel, vérifiez l'existence des anciennes et nouvelles dates de début en vigueur.

  • Insérer - oldEffectiveStartDate est nul, newEffectiveStartDate n'est pas nul
  • Mise à jour - oldEffectiveStartDate n'est pas nul, newEffectiveStartDate n'est pas nul
  • Supprimer - oldEffectiveStartDate n'est pas nul, newEffectiveStartDate est nul
changeComponents.logicalType

Applicable uniquement aux objets d'affaires en vigueur à ce jour.

Indique si le composant de modification est considéré comme une modification d'enregistrement logique (Y / N).

changeComponents.changedAttributes.changedAttributesXml

Détails des attributs modifiés, y compris leurs valeurs nouvelles et anciennes.

Voici l'exemple de données utiles XML d'attributs modifiés.

<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>

Pour chaque attribut modifié disponible :

  • Un élément XML avec le nom d'attribut est présent
  • Le type de l'attribut est présent :
    • V - pour les valeurs de texte
    • N - pour les valeurs numériques
    • D - pour les valeurs de date et d'horodatage
  • L'élément oldVal est présent avec l'ancienne valeur
  • L'élément newVal est présent avec la nouvelle valeur

L'ensemble des attributs capturés et leurs règles spécifiques (toujours présentes, présentes uniquement si modifiées, etc.) peuvent varier d'un objet d'affaires à l'autre.

Tâche 3 : Exécuter le processus d'extraction

Suivez les étapes décrites dans le tutoriel Extraire des données du magasin de données optimisé pour la lecture HCM pour exécuter l'extraction définie.

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur le site docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation sur le produit, visitez Oracle Help Center.