Introdução

Como parte da capacidade de extrair dados do HCM usando o armazenamento de dados otimizado para leitura, o HCM Cloud expõe a extração de Alteração de Objeto.

Alteração de Objeto é uma exibição de negócios genérica que representa uma alteração de dados no sistema. Essa alteração de dados pode pertencer a vários objetos de negócios que podem ser manipulados no HCM de várias maneiras, como transações de interface do usuário, chamadas de API ou processos de back-end.

Você pode definir e executar extrações de Alteração de Objeto para detectar alterações nas quais está interessado, de acordo com seus requisitos.

Objetivos

Ao concluir este tutorial, você entenderá:

  • O que são extrações de Alteração de Objeto e quais alterações de dados elas permitem detectar
  • Como usar extrações de Alteração de Objeto para detectar alterações de dados com eficiência

Pré-requisitos

Antes de começar, familiarize-se com a extração de dados do HCM usando o armazenamento de dados otimizado para leitura.

Casos de Uso

Essa funcionalidade permite abordar casos de uso como:

  1. Detectando alterações de dados de objetos de negócios específicos
  2. Filtragem por tipo de operação - rastreando criações, atualizações e, em particular, exclusões
  3. Rastreando atributos alterados de objetos de negócios e seus valores antigos e novos

Extrações incrementais:

Esse recurso não substitui as extrações incrementais, mas as complementa. Por exemplo, as extrações incrementais não permitem rastrear exclusões, nem fornecem informações sobre atributos alterados e seus valores antigos e novos.

Feeds Atom:

Esse recurso é uma alternativa mais genérica aos feeds Atom.

Tarefa 1: Escolher Objetos de Negócios

Veja a seguir a lista de nomes totalmente qualificados dos objetos de negócios suportados.

Nome do Objeto de Origem
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

Objetos que terminam com DEO são objetos de data efetiva, caso contrário, eles são objetos de data efetiva.

Tarefa 2: Definir uma Extração

Defina uma consulta de extração usando a exibição de negócios objectChangeExtracts.

Revise a Tarefa 2: Preparando e Testando uma Consulta de Extração do tutorial Extrair Dados do Armazenamento de Dados Otimizado para Leitura do HCM.

Os seguintes atributos podem ser úteis para definir filtros de sua extração de Alteração de Objeto:

Atributo Descrição
sourceObjectName Nome do objeto de negócios totalmente qualificado. Consulte a lista da etapa 1 para obter os valores aplicáveis
groupSequence Se presente, indica o número de sequência da alteração na transação de negócios
operationType

Aplicável somente a objetos efetivos sem data.

Indica o tipo de DML da operação. As opções são:

  • DELETE
  • INSERT
  • UPDATE
dateEffectiveMode

Aplicável somente a objetos de data efetiva.

Indica o tipo da operação de data efetiva. As opções são:

  • 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

Consulte Gerenciar Objetos de Data Efetiva na documentação da API REST do HCM para obter mais detalhes.

effectiveDate

Aplicável somente a objetos de negócios efetivos de data final.

Indica a data efetiva da alteração, que pode ser uma data passada, presente ou futura

keyAttribute1Name

keyAttribute1DataType

keyAttribute1StringValue

keyAttribute1NumberValue

keyAttribute1DateValue


keyAttribute2Name

keyAttribute2DataType

keyAttribute2StringValue

keyAttribute2NumberValue

keyAttribute2DateValue


keyAttribute3Name

keyAttribute3DataType

keyAttribute3StringValue

keyAttribute3NumberValue

keyAttribute3DateValue

Conjunto de atributos que permite identificar a instância do objeto específico, correspondente à definição da tabela SQL do objeto de negócios.

Até 3 elementos de chave composta são suportados.

Dependendo do tipo de dados do elemento-chave (VARCHAR2 / NUMBER / DATE), o número, a string ou o atributo de data serão preenchidos para o respectivo elemento-chave.

No caso de objetos de negócios de data efetiva, as informações-chave representam a chave substituta do objeto lógico.

purgeDate

Os registros de alteração estão sendo limpos continuamente. Este atributo é a data de expurgação planejada para o registro de alteração.

A política de expurgação pode variar entre objetos e eventos. 99% dos eventos são retidos por 90 dias ou mais.

timeCreated Timestamp de criação do registro de alteração
changeComponents

Um registro de alteração de objeto pode ter um ou mais componentes de alteração.

Embora um registro de alteração represente uma alteração lógica de um objeto, os componentes de alteração fornecem detalhes adicionais, incluindo as alterações no nível dos registros do banco de dados físico. Isso é relevante especialmente para objetos de data efetiva.

Dependendo das informações necessárias, você pode examinar os componentes de alteração para identificar alterações de registros físicos individuais.

Por exemplo, uma atualização de data efetiva geralmente envolverá duas operações de registros físicos:

  • Atualização de um registro existente (definindo a data final efetiva)
  • Inserir um novo registro com o novo valor

Os componentes de alteração também conterão alterações de registro lógico.

Para obter mais detalhes sobre a efetividade da data, consulte Gerenciar Objetos de Data Efetiva na documentação da API REST do HCM.

changeComponents.oldEffectiveStartDate

changeComponents.newEffectiveStartDate

changeComponents.oldEffectiveEndDate

changeComponents.newEffectiveEndDate

changeComponents.oldEffectiveSequence

changeComponents.newEffectiveSequence

Aplicável somente a objetos de negócios efetivos de data final.

Conjunto de atributos que fornece detalhes de data efetiva das alterações de registros físicos e lógicos subjacentes

changeComponents.physicalType

Aplicável somente a objetos de negócios efetivos de data final.

Indica se o componente de alteração é considerado uma alteração de registro físico (Y / N).

Para determinar o tipo de DML da operação no nível de alteração de registro físico individual, verifique a existência das datas de início efetivas antiga e nova.

  • Inserir - oldEffectiveStartDate é nulo, newEffectiveStartDate não é nulo
  • Atualizar - oldEffectiveStartDate não é nulo, newEffectiveStartDate não é nulo
  • Excluir - oldEffectiveStartDate não é nulo, newEffectiveStartDate é nulo
changeComponents.logicalType

Aplicável somente a objetos de negócios efetivos de data final.

Indica se o componente de alteração é considerado uma alteração de registro lógico (Y / N).

changeComponents.changedAttributes.changedAttributesXml

Detalhes dos atributos alterados, incluindo seus valores novos e antigos.

Veja a seguir a amostra de payload XML de atributos alterados.

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

Para cada atributo alterado disponível:

  • Um elemento XML está presente com o nome do atributo
  • O tipo do atributo está presente, um dos seguintes:
    • V - para valores de texto
    • N - para valores numéricos
    • D - para valores de data e timestamp
  • O elemento oldVal está presente com o valor antigo
  • O elemento newVal está presente com o novo valor

O conjunto de atributos capturados e suas regras específicas (sempre presentes, presentes apenas se alterados etc.) podem variar entre objetos de negócios.

Tarefa 3: Executar a Extração

Siga as etapas descritas no tutorial Extrair Dados do Armazenamento de Dados Otimizado para Leitura do HCM para executar a extração definida.

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.