Introduzione

Come parte della capacità di estrarre dati da HCM utilizzando il data store ottimizzato per la lettura, HCM Cloud espone l'estrazione delle modifiche agli oggetti.

La modifica oggetto è una vista business generica che rappresenta una modifica dei dati nel sistema. Tale modifica dei dati può riguardare vari business object che possono essere manipolati in HCM in vari modi, ad esempio transazioni dell'interfaccia utente utente utente, chiamate API o processi backend.

È possibile definire ed eseguire le estrazioni Modifica oggetto per rilevare le modifiche desiderate, in base alle proprie esigenze.

Obiettivi

Dopo aver completato questo tutorial, capirai:

  • Che cosa sono le estrazioni di Object Change e quali modifiche dei dati consentono di rilevare
  • Come utilizzare le estrazioni Modifica oggetto per rilevare in modo efficiente le modifiche ai dati

Prerequisiti

Prima di iniziare, acquisire familiarità con l'estrazione dei dati da HCM utilizzando il data store ottimizzato in lettura.

Fare riferimento all'esercitazione su Estrai dati da data store ottimizzato per la lettura di HCM.

Casi d'uso

Questa funzionalità consente di risolvere casi d'uso quali:

  1. Rilevamento delle modifiche ai dati di business object specifici
  2. Filtraggio per tipo di operazione - tracciamento di creazioni, aggiornamenti e, in particolare, eliminazioni
  3. Come tenere traccia degli attributi modificati dei business object e dei relativi valori vecchi e nuovi

Estrazioni incrementali:

Questa funzione non sostituisce le estrazioni incrementali, ma le completa. Ad esempio, le estrazioni incrementali non consentono di tenere traccia delle eliminazioni, né forniscono approfondimenti sugli attributi modificati e sui relativi valori vecchi e nuovi.

Feed Atom:

Questa funzione è un'alternativa più generica ai feed Atom.

Task 1: Scegli business object

Di seguito è riportato l'elenco dei nomi completamente qualificati dei business object supportati.

Nome dell'oggetto origine
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

Gli oggetti che terminano con DEO sono oggetti con data di validità, altrimenti non sono oggetti con data di validità.

Task 2: Definisci estrazione

Definire una query di estrazione utilizzando la vista business objectChangeExtracts.

Esamina Task 2: Preparazione e test di una query di estrazione dell'esercitazione su Estrai dati da data store ottimizzato per la lettura HCM.

I seguenti attributi possono essere utili per definire i filtri dell'estrazione Modifica oggetto:

Attributo Descrizione
sourceObjectName Nome del business object completamente qualificato. Vedere l'elenco dal passo #1 per i valori applicabili
groupSequence Se presente, indica il numero di sequenza della modifica all'interno della transazione aziendale
operationType

Applicabile solo a oggetti validi non aggiornati.

Indica il tipo DML dell'operazione. uno dei seguenti stati:

  • DELETE
  • INSERT
  • UPDATE
dateEffectiveMode

Applicabile solo agli oggetti con data di validità.

Indica il tipo di operazione data validità. uno dei seguenti stati:

  • 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

Per ulteriori dettagli, vedere Gestisci oggetti data validità nella documentazione dell'API REST HCM.

effectiveDate

Solo business object validi a oggi.

Indica la data di validità della modifica, che può essere una data passata, presente o futura

keyAttribute1Name

keyAttribute1DataType

keyAttribute1StringValue

keyAttribute1NumberValue

keyAttribute1DateValue


keyAttribute2Name

keyAttribute2DataType

keyAttribute2StringValue

keyAttribute2NumberValue

keyAttribute2DateValue


keyAttribute3Name

keyAttribute3DataType

keyAttribute3StringValue

keyAttribute3NumberValue

keyAttribute3DateValue

Set di attributi che consente di identificare l'istanza di oggetto specifica, corrispondente alla definizione della tabella SQL del business object.

Sono supportati fino a 3 elementi chiave composita.

A seconda del tipo di dati dell'elemento chiave (VARCHAR2 / NUMBER / DATE), l'attributo numerico, stringa o data verrà popolato per il rispettivo elemento chiave.

In caso di business object con data di validità, le informazioni chiave rappresentano la chiave alternativa dell'oggetto logico.

purgeDate

I record di modifica vengono rimossi continuamente. Questo attributo è la data di rimozione pianificata per il record di modifica.

Il criterio di rimozione può variare tra oggetti ed eventi. Il 99% degli eventi viene conservato per 90 giorni o più.

timeCreated Indicatore orario creazione del record di modifica
changeComponents

Un record di modifica oggetto può avere uno o più componenti di modifica.

Mentre un record di modifica rappresenta una modifica logica di un oggetto, i componenti di modifica forniscono dettagli aggiuntivi, inclusi quelli delle modifiche a livello di record del database fisico. Ciò è rilevante soprattutto per gli oggetti con data di validità.

A seconda delle informazioni necessarie, è possibile esaminare i componenti di modifica per identificare le modifiche dei singoli record fisici.

Ad esempio, un aggiornamento con data di validità coinvolge in genere due operazioni di record fisici:

  • Aggiornamento di un record esistente (impostazione della data di fine validità)
  • Inserimento di un nuovo record con il nuovo valore

I componenti di modifica conterranno anche modifiche logiche ai record.

Per ulteriori dettagli sulla validità della data, vedere Gestisci oggetti data validità nella documentazione dell'API REST HCM.

changeComponents.oldEffectiveStartDate

changeComponents.newEffectiveStartDate

changeComponents.oldEffectiveEndDate

changeComponents.newEffectiveEndDate

changeComponents.oldEffectiveSequence

changeComponents.newEffectiveSequence

Solo business object validi a oggi.

Set di attributi che fornisce i dettagli relativi alla data di validità delle modifiche dei record fisici e logici sottostanti

changeComponents.physicalType

Solo business object validi a oggi.

Indica se il componente di modifica è considerato una modifica fisica del record (Y/N).

Per determinare il tipo DML dell'operazione al livello di modifica del singolo record fisico, verificare l'esistenza delle date di inizio validità precedenti e nuove.

  • Inserisci - oldEffectiveStartDate è nullo, newEffectiveStartDate non è nullo
  • Aggiornamento - oldEffectiveStartDate non è nullo, newEffectiveStartDate non è nullo
  • Elimina - oldEffectiveStartDate non è nullo, newEffectiveStartDate è nullo
changeComponents.logicalType

Solo business object validi a oggi.

Indica se il componente di modifica è considerato una modifica logica del record (Y/N).

changeComponents.changedAttributes.changedAttributesXml

Dettagli degli attributi modificati, inclusi i valori nuovi e precedenti.

Di seguito è riportato il payload XML degli attributi modificati di esempio.

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

Per ogni attributo modificato disponibile:

  • È presente un elemento XML con il nome attributo
  • Tipo di attributo presente:
    • V - per i valori di testo
    • N - per i valori numerici
    • D - per i valori di data e indicatore orario
  • L'elemento oldVal è presente con il valore precedente
  • elemento newVal presente con il nuovo valore

Il set di attributi acquisiti e le relative regole specifiche (sempre presenti, presenti solo se modificati e così via) possono variare tra i business object.

Task 3: Esecuzione dell'estrazione

Per eseguire l'estrazione definita, attenersi alla procedura descritta nell'esercitazione Estrai dati da data store ottimizzato in lettura HCM.

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione del prodotto, visitare Oracle Help Center.