Seu Template de dados para processamento da folha de pagamento
Seu Template de dados para processamento da folha de pagamento
- Campos de dados otimizados para análise da folha de pagamento
- Acompanhamento abrangente de atividades para mapear o ciclo de vida
- Orientações detalhadas para extrair dados da folha de pagamento no Oracle HCM Cloud
Atributos do processamento da folha de pagamento
| Nome | Descrição | ||
|---|---|---|---|
| Data e hora do evento EventTimestamp | Data e hora exatas em que a atividade ocorreu. | ||
| Descrição Registra o momento exato em que uma atividade aconteceu. Esse dado é essencial para calcular durações e prazos e identificar gargalos. Nas etapas automatizadas, corresponde ao horário de execução do sistema. Nas etapas manuais, como aprovações, corresponde ao registro de data e hora da ação do usuário no log da transação. Por que isso importa Essencial para ordenar os eventos cronologicamente e calcular todos os KPIs baseados em tempo. Onde encontrar Colunas CREATION_DATE ou ACTION_DATE nas tabelas de transações relevantes, como PAY_ACTION_INFORMATION. Exemplos 2023-10-01T08:30:00Z2023-10-01T14:15:22Z2023-10-05T09:00:00Z | |||
| Nome da atividade ActivityName | Etapa ou evento específico realizado durante o ciclo da folha de pagamento. | ||
| Descrição Esse atributo registra o nome do evento que ocorre no processo da folha de pagamento. Alguns exemplos são 'Folha de ponto enviada', 'Cálculo da folha de pagamento iniciado' e 'Pagamento executado'. É a principal dimensão para descobrir processos e analisar variantes. No Oracle HCM Cloud, costuma ser derivado do tipo ou do status da ação nas tabelas de ações da folha de pagamento. Por que isso importa Define o que acontece no processo e permite reconstruir o mapa do processo. Onde encontrar Derivado do código ACTION_TYPE em PAY_PAYROLL_ACTIONS ou de mudanças de status nos registros de auditoria. Exemplos Cálculo da folha de pagamento iniciadoFolha de ponto aprovadaTransferência bancária geradaExceção de auditoria sinalizada | |||
| Registro da folha de pagamento PayrollRecord | Identificador exclusivo que representa um funcionário em um período específico de pagamento. | ||
| Descrição O registro da folha de pagamento funciona como identificador central do caso na análise de Process Mining. Ele é uma concatenação ou chave exclusiva que combina o identificador do vínculo empregatício do funcionário com o identificador do período da folha de pagamento. Esse atributo agrupa todas as atividades relacionadas ao pagamento de um funcionário em um ciclo específico, desde o envio inicial da folha de ponto até a transferência bancária final e a declaração de impostos. Assim, a análise distingue o pagamento do mesmo funcionário em janeiro daquele feito em fevereiro. Por que isso importa Ele funciona como ID do caso e reúne eventos distintos em uma única instância do processo para análise. Onde encontrar Criado a partir de PAY_ASSIGNMENT_ACTIONS ou da combinação do número da pessoa com o nome do período da folha de pagamento no Oracle HCM. Exemplos EMP1001-2023-M01EMP5992-2023-W42300000018273645US-NY-A123-JAN23 | |||
| Sistema de origem SourceSystem | Nome do sistema em que o evento foi originado. | ||
| Descrição Identifica o software ou módulo que gerou o dado. Neste processo, o valor principal é 'Oracle HCM Cloud Payroll'. Em ambientes complexos, porém, esse campo pode diferenciar o mecanismo central da folha de pagamento, o módulo de controle de horas e mão de obra ou uma interface bancária externa. Por que isso importa Fornece contexto de linhagem dos dados, especialmente na integração de dados de sistemas de controle de horas ou de subsistemas bancários. Onde encontrar Definido durante a extração ou derivado dos IDs das interfaces. Exemplos Oracle HCM Cloud PayrollOracle Time and LaborInterface bancária externa | |||
| Última atualização dos dados LastDataUpdate | Data e hora em que o registro foi modificado pela última vez no banco de dados de origem. | ||
| Descrição Indica se os dados usados na análise estão atualizados. É diferente do horário do evento: mostra quando a linha do banco de dados foi atualizada pela última vez por um processo de ETL ou por uma atualização do sistema. Esse campo ajuda a verificar a atualidade dos dados e a investigar problemas de latência na extração. Por que isso importa Ajuda os analistas a saber se estão consultando dados em tempo real ou desatualizados. Onde encontrar Coluna LAST_UPDATE_DATE, comum em quase todas as tabelas do Oracle HCM. Exemplos 2023-10-02T12:00:00Z2023-10-06T01:00:00Z | |||
| É correção manual IsManualCorrection | Indicador de que a atividade envolveu intervenção manual. | ||
| Descrição Indicador booleano definido como verdadeiro para atividades como 'Correção de dados realizada' ou 'Registro da folha de pagamento corrigido'. Ele é usado para calcular os KPIs 'Taxa de correção manual de dados' e 'Taxa de precisão da folha de pagamento na primeira tentativa'. Por que isso importa Diferencia o processamento direto do retrabalho manual. Onde encontrar Derivado do nome da atividade ou de tipos de ação específicos que indicam ajustes (por exemplo, QuickPay, ajuste de saldo). Exemplos truefalse | |||
| Grupo de dados legislativos LegislativeDataGroup | Divide os dados da folha de pagamento por país ou ambiente regulatório. | ||
| Descrição No Oracle HCM Cloud, o Legislative Data Group (LDG) divide os dados da folha de pagamento e os dados relacionados. Em geral, corresponde à legislação de um país ou território específico. Esse atributo é essencial para filtrar a análise do processo por país (por exemplo, folha de pagamento dos US ou do Reino Unido) e costuma ser mapeado para o atributo genérico País. Por que isso importa As regras de conformidade e os fluxos do processo costumam variar bastante conforme a jurisdição. Onde encontrar Tabela PAY_ALL_PAYROLLS_F associada às definições de Legislative Data Group. Exemplos Grupo de dados legislativos dos USLDG do Reino UnidoFolha de pagamento da França | |||
| Grupo de pagamento PayGroup | Agrupamento lógico de funcionários para o processamento da folha de pagamento. | ||
| Descrição Representa a definição específica da folha de pagamento à qual o funcionário pertence (por exemplo, 'Manufatura semanal', 'Corporativo mensal'). Esse atributo é essencial para quase todos os Dashboards, pois permite comparar a performance entre diferentes ciclos e frequências de pagamento. Por que isso importa Principal objeto de configuração que determina o cronograma da folha de pagamento. Onde encontrar Tabela PAY_ALL_PAYROLLS_F (Payroll Name). Exemplos Semimensal dos USMensal do Reino UnidoSindicato semanal | |||
| Nome do departamento DepartmentName | Unidade organizacional em que o funcionário trabalha. | ||
| Descrição Identifica o departamento responsável pelo funcionário associado ao registro da folha de pagamento. Esse campo é essencial para o Dashboard 'Eficiência na aprovação de folhas de ponto'. Ao segmentar os dados por departamento, os analistas podem identificar quais unidades de negócio atrasam com frequência a aprovação das folhas de ponto e, com isso, atrasam o processamento geral da folha de pagamento. Por que isso importa Permite fazer a análise de causa raiz dos atrasos relacionados às aprovações da gestão. Onde encontrar Derivado do registro de atribuição do funcionário vigente no momento do processamento da folha de pagamento. Exemplos Vendas na América do NorteEngenhariaRecursos HumanosLogística | |||
| Nome do período da folha de pagamento PayrollPeriodName | Nome específico do intervalo de tempo do processamento da folha de pagamento. | ||
| Descrição Identifica o ciclo específico, como 'Mensal janeiro de 2024' ou 'Período semanal 42'. Esse campo é essencial para o 'Monitor de conformidade com o prazo do SLA'. Ele ajuda a agrupar os casos individuais dos funcionários nos respectivos lotes de processamento para gerar relatórios consolidados. Por que isso importa Essencial para a análise por lote e o acompanhamento de SLA. Onde encontrar Tabela PAY_TIME_PERIODS ou campo Time Period Name na definição da folha de pagamento. Exemplos Mensal 10 de 2023Semanal 42 de 2023Processamento do bônus de dezembro de 2023 | |||
| Prazo de processamento do SLA SlaProcessingDeadline | Data e hora limite para a execução do pagamento. | ||
| Descrição Armazena o prazo contratual ou legal para o pagamento da folha. Esse atributo é comparado com a data e hora de 'Pagamento executado'. Ele é usado para calcular o KPI 'Cumprimento do prazo de processamento do SLA' e identificar grupos de pagamento em risco. Por que isso importa Principal referência para avaliar se o processo foi concluído dentro do prazo. Onde encontrar Geralmente, é um campo configurado (DFF) na definição da folha de pagamento ou derivado da data do cheque menos X dias. Exemplos 2023-10-28T17:00:00Z2023-11-30T17:00:00Z | |||
| Usuário responsável pelo processamento ProcessingUser | ID ou nome do usuário que executa a atividade. | ||
| Descrição Registra a identidade do especialista em folha de pagamento, gestor ou conta do sistema que iniciou a atividade. Esse campo dá suporte ao Dashboard 'Distribuição da carga de trabalho dos especialistas em folha de pagamento'. Ajuda a identificar gargalos relacionados à equipe e necessidades de treinamento no time de folha de pagamento. Por que isso importa Permite analisar a produtividade dos recursos e equilibrar a carga de trabalho. Onde encontrar Colunas CREATED_BY ou LAST_UPDATED_BY nas tabelas de transações. Exemplos sysadminj.smithpayroll_batch_userm.doe | |||
| Valor bruto da remuneração GrossPayAmount | Valor bruto total calculado para o período. | ||
| Descrição Representa o valor bruto calculado durante o ciclo. Esse campo é usado nas análises 'Precisão no cálculo de impostos e benefícios' e 'Integração de incentivos'. Ele permite que os analistas relacionem pagamentos de alto valor ao tempo de processamento ou às taxas de erro. Por que isso importa Fornece contexto financeiro para a análise de Process Mining. Onde encontrar Tabela PAY_RUN_RESULT_VALUES, agregada para o saldo de remuneração bruta. Exemplos 5000.002350.5010000.00 | |||
| Contagem de prévias PreviewIterationCount | Número de vezes que os resultados foram visualizados antes da finalização. | ||
| Descrição Contador que aumenta cada vez que ocorre a atividade 'Resultado da folha de pagamento visualizado' para o mesmo caso. Essa é a medida direta do Dashboard 'Acompanhamento de prévias da folha de pagamento' e indica o volume de retrabalho ou de hesitação antes da aprovação. Por que isso importa Quantifica a eficiência da etapa de validação. Onde encontrar Calculado durante a transformação dos dados, contando ocorrências de atividades específicas por ID do caso. Exemplos 1350 | |||
| Indicador de alteração retroativa RetroactiveChangeFlag | Indica se o processamento da folha inclui pagamentos retroativos. | ||
| Descrição Indicador booleano definido como verdadeiro quando elementos de 'Retropay' são processados neste registro. Isso ajuda a explicar tempos de processamento mais longos ou exceções de auditoria na 'Comparação de variantes do caminho do processo'. Alterações retroativas costumam acionar recálculos complexos que abrangem períodos anteriores. Por que isso importa Identifica casos complexos que naturalmente exigem mais tempo de processamento. Onde encontrar Presença de entradas do elemento 'Retropay' em PAY_ELEMENT_ENTRIES. Exemplos truefalse | |||
| Jurisdição fiscal TaxJurisdiction | Estado, província ou localidade específica para a declaração de impostos. | ||
| Descrição Indica a principal autoridade fiscal relacionada ao registro da folha de pagamento (por exemplo, 'CA' para Califórnia, 'NY' para Nova York). Esse campo dá suporte ao Dashboard 'Duração do processamento de conformidade fiscal'. Ele ajuda a identificar se os processos de cálculo e declaração de impostos são mais complexos ou demorados em determinadas regiões. Por que isso importa Segmenta a performance conforme a complexidade regulatória. Onde encontrar Derivado do cadastro fiscal do funcionário ou dos endereços dos locais de trabalho. Exemplos CA-CalifórniaNY-Nova YorkTX-TexasFederal-US | |||
| Status do SLA SlaStatus | Status categórico do cumprimento do SLA (cumprido/não cumprido). | ||
| Descrição Derivado da comparação entre a data e hora de 'Pagamento executado' e o 'Prazo de processamento do SLA'. Os valores podem incluir 'No prazo', 'Em risco' ou 'Estourado'. Isso simplifica os relatórios do 'Monitor de conformidade com o prazo do SLA', agrupando os casos por categoria de performance. Por que isso importa Transforma comparações complexas de tempo em categorias acionáveis. Onde encontrar Lógica calculada que compara o horário do evento com o prazo do SLA. Exemplos CumpridoEstouradoPerto do prazo | |||
| Tipo de exceção de auditoria AuditExceptionType | Categoria do erro ou alerta identificado durante a auditoria. | ||
| Descrição Classifica o problema específico encontrado na atividade 'Exceção de auditoria identificada' (por exemplo, 'Valor líquido negativo', 'ID fiscal ausente'). Esse atributo dá suporte ao Dashboard 'Análise de exceções e correções de auditoria', ajudando a identificar problemas recorrentes na qualidade dos dados. Por que isso importa Essencial para a análise de causa raiz dos ciclos de retrabalho. Onde encontrar Colunas de mensagem ou código de erro nos logs do processo da folha de pagamento ou nos relatórios de exceção. Exemplos Valor líquido negativoSSN ausenteDados bancários inválidosLimite de horas extras excedido | |||
| Tipo de funcionário EmployeeType | Classificação do funcionário (por exemplo, assalariado, horista, contratado). | ||
| Descrição Classifica o registro do funcionário. Esse campo é essencial para o Dashboard 'Atraso na publicação do demonstrativo digital de pagamento', pois as regras ou prioridades de processamento podem variar conforme o tipo de funcionário. Ele permite filtrar a análise e comparar a performance do processo entre diferentes segmentos da força de trabalho. Por que isso importa Tipos diferentes de funcionários costumam seguir variantes distintas do processo. Onde encontrar Categoria de atribuição ou termos de emprego em PER_ALL_ASSIGNMENTS_M. Exemplos Assalariado em tempo integralHorista em meio períodoContratadoExecutivo | |||
Atividades do processamento da folha de pagamento
| Atividade | Descrição | ||
|---|---|---|---|
| Cálculo da folha de pagamento executado | Conclusão bem-sucedida do processo Calculate Payroll, incluindo os cálculos do valor bruto ao líquido. Esse evento indica que os ganhos, descontos e impostos foram calculados para o vínculo empregatício. | ||
| Por que isso importa Marco importante que indica que os dados estão prontos para validação. Durações elevadas nessa etapa podem indicar problemas de performance do sistema ou fórmulas rápidas complexas. Onde encontrar Consulte PAY_PAYROLL_REL_ACTIONS, vinculada a PAY_PAYROLL_ACTIONS, quando ACTION_TYPE for R ou Q e ACTION_STATUS mudar para C (Complete). Coleta Registrado quando o status da ação Payroll Run muda para Complete Tipo de evento explicit | |||
| Cálculo da folha de pagamento iniciado | Início do processo principal de execução da folha de pagamento para uma definição e um período específicos. Marca a transição da coleta de dados para o processamento. | ||
| Por que isso importa Marca o início do período de processamento mais intenso. É usado para calcular o tempo total do ciclo de execução técnica da folha de pagamento. Onde encontrar Consulte a tabela PAY_PAYROLL_ACTIONS quando ACTION_TYPE for R (Run) ou Q (QuickPay) e ACTION_STATUS estiver como iniciado (ou deduza o início pela data de criação). Coleta Registrado quando um registro é inserido em PAY_PAYROLL_ACTIONS Tipo de evento explicit | |||
| Pagamento executado | Confirmação final de que o pagamento foi processado. No Oracle, corresponde à conclusão do fluxo de pagamento ou à conciliação no Cash Management. | ||
| Por que isso importa Principal registro de data e hora para verificar a conformidade com o SLA. É usado para determinar se os funcionários receberam o pagamento no prazo. Onde encontrar Pode ser inferido pela Effective Date da ação Bank Transfer ou obtido diretamente nos logs de conciliação do Cash Management (CE_STATEMENT_LINES). Coleta Registrado pela data efetiva da ação de pagamento ou pelo evento de conciliação Tipo de evento explicit | |||
| Pré-pagamentos calculados | Execução do processo Prepayments, que distribui o pagamento líquido pelos métodos de pagamento escolhidos pelo funcionário (cheque, EFT etc.). Essa etapa valida se os valores calculados podem ser pagos. | ||
| Por que isso importa É a ligação entre o cálculo e o pagamento. Falhas nessa etapa geralmente indicam dados bancários ausentes ou métodos de pagamento inválidos. Onde encontrar Consulte PAY_PAYROLL_ACTIONS quando ACTION_TYPE for P (Prepayments) e o status for Complete. Coleta Registrado quando a ação Prepayments é concluída Tipo de evento explicit | |||
| Transferência bancária gerada | Geração do arquivo EFT (Electronic Funds Transfer) ou de outro arquivo de pagamento. Essa é a etapa técnica de criação do arquivo de instruções para o banco. | ||
| Por que isso importa Mede o tempo de ciclo de geração do arquivo de pagamento. Atrasos nessa etapa podem fazer com que os horários limite dos bancos não sejam cumpridos. Onde encontrar Consulte PAY_PAYROLL_ACTIONS quando ACTION_TYPE for M (Magnetic Tape), E (EFT) ou C (Check Writer). Coleta Registrado quando a ação EFT/Check é concluída Tipo de evento explicit | |||
| Contracheque publicado | Momento em que o documento do contracheque fica disponível para o funcionário no Self Service. Isso acontece após o Archiver e, possivelmente, após um processo específico de 'Generate Payslip'. | ||
| Por que isso importa Afeta a satisfação dos funcionários. Um intervalo longo entre o pagamento e a disponibilização do contracheque gera chamados de suporte. Onde encontrar Consulte a tabela Documents of Record (HR_DOCUMENTS_OF_RECORD) ou verifique a conclusão do processo Generate Payslip em PAY_PAYROLL_ACTIONS. Coleta Registrado quando o processo de geração do PDF do contracheque é concluído Tipo de evento explicit | |||
| Custos transferidos | Transferência dos resultados de custos da folha de pagamento para o General Ledger. Essa etapa representa o fechamento contábil do ciclo da folha de pagamento. | ||
| Por que isso importa Garante a conformidade financeira e o registro correto dos custos de mão de obra. Atrasos impedem que a equipe financeira feche os livros contábeis. Onde encontrar Consulte PAY_PAYROLL_ACTIONS quando ACTION_TYPE for T (Transfer to GL) e o status for Complete. Coleta Registrado quando o processo Transfer to GL é concluído Tipo de evento explicit | |||
| Dados de incentivos importados | Criação de lançamentos de elementos para remuneração variável, como bônus ou comissões, por meio de carregamento em lote ou importação HDL. Esse evento representa a integração de dados externos de remuneração à execução da folha de pagamento. | ||
| Por que isso importa Acompanha a velocidade de integração da remuneração variável. Importações atrasadas muitas vezes exigem execuções complementares da folha de pagamento ou correções manuais. Onde encontrar Consulte PAY_BATCH_HEADERS para verificar a conclusão da importação ou acompanhe a criação de PAY_ELEMENT_ENTRIES_F com uma referência específica ao sistema de origem. Coleta Registrado quando o processo de lançamento de elementos em lote é concluído com sucesso Tipo de evento explicit | |||
| Declaração de impostos concluída | Geração de arquivos fiscais obrigatórios (por exemplo, Third Party Quarterly Tax File). Isso garante a conformidade regulatória no período da folha de pagamento. | ||
| Por que isso importa Essencial para o KPI de duração do processamento de conformidade fiscal. Falhas nessa etapa podem gerar penalidades. Onde encontrar Consulte PAY_PAYROLL_ACTIONS para encontrar ações de grupos de dados legislativos específicos relacionadas à declaração de impostos (por exemplo, US Third Party Tax Filing). Coleta Registrado quando o fluxo específico de declaração de impostos é concluído Tipo de evento explicit | |||
| Exceção de auditoria sinalizada | Registro de uma mensagem de erro ou aviso durante o cálculo ou a validação da folha de pagamento. Esse evento captura falhas específicas de validação que exigem intervenção humana. | ||
| Por que isso importa Essencial para identificar problemas na qualidade dos dados. Um grande volume de exceções aumenta o trabalho manual e o risco de descumprir o SLA. Onde encontrar Consulte a tabela PAY_MESSAGE_LINES vinculada ao PAY_PAYROLL_REL_ACTION_ID específico. Essa tabela armazena erros e avisos gerados durante as execuções. Coleta Registrado quando um registro é inserido em PAY_MESSAGE_LINES Tipo de evento explicit | |||
| Execução da folha de pagamento aprovada | Aprovação formal do registro ou do fluxo da folha de pagamento no Dashboard da folha de pagamento. Isso geralmente acontece após a revisão dos relatórios de validação e antes da geração dos arquivos bancários. | ||
| Por que isso importa Representa a aprovação formal da gestão. O intervalo entre o cálculo e a aprovação corresponde ao período de verificação. Onde encontrar Consulte PAY_REQ_FLOW_INSTANCES para identificar mudanças de status ou a conclusão de tarefas específicas em um Payroll Flow Pattern definido. Coleta Registrado quando o status da instância do fluxo muda para Completed/Approved Tipo de evento explicit | |||
| Folha de ponto aprovada | Confirma que um gestor revisou e autorizou os dados de horas enviados. Essa mudança de status inicia a transferência dos dados para os lançamentos de elementos da folha de pagamento. | ||
| Por que isso importa Essencial para medir o tempo de aprovação do gestor. Atrasos nessa etapa são uma das principais causas de ajustes retroativos na folha de pagamento em períodos seguintes. Onde encontrar Consulte a tabela HWM_TM_REC_GRP_DTLS ou a view HXT_TIMECARDS quando o status mudar para APPROVED. Compare os registros de data e hora da aprovação e do envio. Coleta Registrado quando o status muda para APPROVED em Time and Labor Tipo de evento explicit | |||
| Folha de ponto enviada | Evento inicial em que um funcionário ou gestor envia os dados de horas e trabalho para processamento. No Oracle HCM, esse evento é registrado quando o status da folha de ponto muda para Submitted no módulo Time and Labor. | ||
| Por que isso importa Marca a entrada dos dados brutos no possível fluxo da folha de pagamento. Atrasos nessa etapa afetam as etapas seguintes e reduzem o tempo disponível para que os especialistas validem os cálculos. Onde encontrar Consulte a tabela HWM_TM_REC_GRP_DTLS ou a view HXT_TIMECARDS quando o status mudar para SUBMITTED. Use o registro de data e hora do envio. Coleta Registrado quando o status muda para SUBMITTED em Time and Labor Tipo de evento explicit | |||
| QuickPay executado | Execução da folha de pagamento para uma única pessoa (QuickPay), geralmente usada para verificar correções. Serve como indicador da atividade de prévia do resultado da folha de pagamento. | ||
| Por que isso importa Várias execuções de QuickPay por pessoa indicam uma abordagem de tentativa e erro no processamento da folha de pagamento, em vez de uma Onde encontrar Consulte PAY_PAYROLL_ACTIONS quando ACTION_TYPE for Q (QuickPay). Conte as ocorrências por período da folha de pagamento e por funcionário. Coleta Registrado quando uma ação QuickPay é registrada em PAY_PAYROLL_ACTIONS Tipo de evento explicit | |||
| Registro da folha de pagamento corrigido | Atualizações manuais aplicadas aos lançamentos de elementos ou aos dados do vínculo empregatício após a execução inicial da folha de pagamento e antes da finalização. Essa atividade representa o retrabalho necessário para corrigir erros ou exceções. | ||
| Por que isso importa Indica ineficiência no processo e problemas na qualidade dos dados. Reduzir essa atividade é essencial para aumentar a taxa de precisão da folha de pagamento na primeira execução. Onde encontrar Inferido pela identificação de atualizações em PAY_ELEMENT_ENTRIES_F cuja Last Update Date esteja entre a data da execução inicial da folha de pagamento e a data de Prepayments. Coleta Compare os registros de data e hora das atualizações dos lançamentos de elementos com os das execuções da folha de pagamento Tipo de evento inferred | |||
| Resultados arquivados gerados | Conclusão do processo Archive Periodic Payroll Results. Esse instantâneo bloqueia os dados para a geração de relatórios e contracheques. | ||
| Por que isso importa Pré-requisito técnico para gerar contracheques e relatórios legais. Confirma que os dados foram finalizados. Onde encontrar Consulte PAY_PAYROLL_ACTIONS quando ACTION_TYPE for X (Archive) e o status for Complete. Coleta Registrado quando a ação Archive é concluída Tipo de evento explicit | |||
Guias de extração
Etapas
Acesse o Data Exchange: Entre no Oracle HCM Cloud com um usuário que tenha a função 'Human Capital Management Integration Specialist'. Acesse My Client Groups > Data Exchange > Extract Definitions.
Crie uma nova extração: Clique no ícone '+' para criar uma extração. Dê a ela o nome 'ProcessMind_Payroll_Extract'. Selecione 'Payroll' como consumidor e 'HR Archive' como categoria para acessar os dados históricos de ações da folha de pagamento.
Defina os grupos de dados: Crie um grupo de dados raiz com base na entidade de usuário
PAY_PAYROLL_REL_UE(Payroll Relationship). Ele vincula a extração ao relacionamento de folha de pagamento do funcionário. Crie grupos de dados filhos paraPAY_ACTION_INFORMATION_UE,PAY_ELEMENT_ENTRY_UEeHWM_MEASURE_DAY_V_UE(para tempo e mão de obra).Configure os registros da extração: Nos grupos de dados, defina registros para transformar os dados hierárquicos em uma estrutura plana. Crie registros específicos para cada tipo de atividade, por exemplo, um registro que filtre eventos 'Time Card' e outro para 'Run Results'.
Implemente a lógica SQL com FastFormula ou BIP: Como transformar dados hierárquicos da folha de pagamento em um Event Log linear é complexo, a abordagem mais robusta é usar 'Extract Delivery Option' para chamar um relatório do BI Publisher. Assim, você pode usar o SQL fornecido na seção 'Query' abaixo como modelo de dados. Essa opção é mais adequada do que os filtros da interface nativa para criar um Event Log unificado.
Crie um modelo de dados do BI Publisher: Acesse Tools > Reports and Analytics > Browse Catalog. Crie um novo modelo de dados e cole a consulta SQL fornecida abaixo. Defina os parâmetros
bind_start_dateebind_end_date.Vincule a extração ao BIP: Na guia 'Delivery' da definição da extração, crie uma opção de entrega. Selecione 'PDF' ou 'XML' como formato de saída. O ProcessMind prefere CSV, mas você vai converter a saída do BIP. Selecione o relatório do BI Publisher criado na etapa anterior.
Defina os parâmetros: Na árvore de execução da extração, adicione os parâmetros de data inicial e data final para enviá-los dinamicamente à consulta do BI Publisher.
Valide e envie: Valide a definição da extração para verificar se há erros. Clique em 'Submit Extract' e informe os parâmetros, por exemplo, os últimos 90 dias.
Monitore o processo: Acesse 'View Extract Results'. Aguarde até o status mudar para 'Succeeded'.
Baixe a saída: Baixe o arquivo XML/CSV gerado. Abra-o para confirmar se a estrutura contém as colunas necessárias: PayrollRecord, ActivityName, EventTimestamp etc.
Formate para o ProcessMind: Se a saída estiver em XML, converta-a em um arquivo CSV plano e confira se os cabeçalhos correspondem aos requisitos de 'Attributes to include'. Carregue o arquivo resultante no ProcessMind.
Configuração
- Modo de extração: Changes Only ou Full Extract. Para a carga inicial, use Full Extract. Para as atualizações diárias, configure 'Changes Only' com base em Last Update Date.
- Legislative Data Group (LDG): Recomendamos filtrar por LDG se sua instância oferecer suporte a vários países, pois as definições da folha de pagamento variam conforme a legislação.
- Intervalo de datas: Defina
bind_start_dateebind_end_datepara abranger pelo menos 3 a 6 meses, permitindo que o Process Mining capture os tempos de ciclo completos. - Tamanho do lote: Para folhas de pagamento com alto volume (mais de 10 mil funcionários), defina o tamanho do lote na definição da extração como 2.000 para evitar erros de tempo limite.
- Vigência por data: As tabelas da folha de pagamento têm vigência definida por data. A lógica da consulta trata explicitamente
effective_start_dateeeffective_end_datepara recuperar a versão histórica correta do registro. - Segurança: O usuário que executa a extração precisa ter perfis de segurança de dados que permitam visualizar todas as folhas de pagamento e os departamentos incluídos na análise.
Consulta de exemplo sql
/* Oracle HCM Cloud Payroll Extraction for ProcessMind */
/* Aggregating 16 specific activities into a unified Event Log */
SELECT
/* Attributes */
rel.person_number || '-' || ppa.payroll_action_id AS PayrollRecord,
'Time Card Submitted' AS ActivityName,
TO_CHAR(htr.creation_date, 'YYYY-MM-DD HH24:MI:SS') AS EventTimestamp,
'Oracle HCM Time and Labor' AS SourceSystem,
TO_CHAR(htr.last_update_date, 'YYYY-MM-DD HH24:MI:SS') AS LastDataUpdate,
pap.name AS PayrollPeriodName,
org.name AS DepartmentName,
NULL AS GrossPayAmount
FROM hwm_tm_rec htr
JOIN hwm_tm_rec_grp htrg ON htr.tm_rec_grp_id = htrg.tm_rec_grp_id
JOIN per_all_people_f rel ON htrg.person_id = rel.person_id
LEFT JOIN pay_all_payrolls_f pap ON htrg.payroll_id = pap.payroll_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id /* Adjust mapping */
WHERE htr.latest_version_flag = 'Y'
AND htr.tm_rec_status = 'SUBMITTED'
AND htr.creation_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Time Card Approved',
TO_CHAR(htr.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Time and Labor',
TO_CHAR(htr.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM hwm_tm_rec htr
JOIN hwm_tm_rec_grp htrg ON htr.tm_rec_grp_id = htrg.tm_rec_grp_id
JOIN per_all_people_f rel ON htrg.person_id = rel.person_id
LEFT JOIN pay_all_payrolls_f pap ON htrg.payroll_id = pap.payroll_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE htr.latest_version_flag = 'Y'
AND htr.tm_rec_status = 'APPROVED'
AND htr.last_update_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || pee.element_entry_id,
'Incentive Data Imported',
TO_CHAR(pee.creation_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pee.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
NULL,
org.name,
NULL
FROM pay_element_entries_f pee
JOIN pay_element_types_f pet ON pee.element_type_id = pet.element_type_id
JOIN per_all_assignments_m asg ON pee.assignment_id = asg.assignment_id
JOIN per_all_people_f rel ON asg.person_id = rel.person_id
LEFT JOIN per_departments org ON asg.organization_id = org.organization_id
WHERE pet.classification_name IN ('Supplemental Earnings', 'Voluntary Deductions')
AND pee.creator_type IN ('H', 'F') /* HDL or Flat File */
AND pee.creation_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payroll Calculation Started',
TO_CHAR(ppa.creation_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(ppa.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_actions ppa
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN pay_payroll_rel_actions pra ON ppa.payroll_action_id = pra.payroll_action_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id /* Simplified Join */
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type IN ('R', 'Q') /* Run or QuickPay */
AND ppa.creation_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payroll Calculation Executed',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
(SELECT SUM(prrv.result_value) FROM pay_run_result_values prrv JOIN pay_run_results prr ON prrv.run_result_id = prr.run_result_id WHERE prr.payroll_rel_action_id = pra.payroll_rel_action_id) AS GrossPayAmount
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type IN ('R', 'Q')
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Audit Exception Flagged',
TO_CHAR(pml.creation_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pml.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_message_lines pml
JOIN pay_payroll_rel_actions pra ON pml.source_id = pra.payroll_rel_action_id
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE pml.message_level IN ('F', 'E') /* Fatal or Error */
AND pml.creation_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payroll Record Corrected',
TO_CHAR(pee.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pee.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_element_entries_f pee
JOIN pay_payroll_rel_actions pra ON pee.creator_id = pra.payroll_rel_action_id
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE pee.last_update_date > pee.creation_date
AND pee.last_update_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'QuickPay Executed',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'Q'
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Prepayments Calculated',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'P' /* Distribution */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payroll Run Approved',
TO_CHAR(pfi.action_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pfi.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_flow_instances pfi
JOIN pay_payroll_actions ppa ON pfi.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN pay_payroll_rel_actions pra ON ppa.payroll_action_id = pra.payroll_action_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE pfi.status = 'COMPLETED'
AND pfi.instance_name LIKE '%Approval%'
AND pfi.action_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Archive Results Generated',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'X' /* Archive */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Bank Transfer Generated',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
(SELECT SUM(ppp.value) FROM pay_pre_payments ppp WHERE ppp.payroll_action_id = ppa.payroll_action_id) AS GrossPayAmount
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type IN ('M', 'E') /* Mag Tape or EFT */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Payment Executed',
TO_CHAR(ppp.base_currency_value, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(ppa.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
ppp.value AS GrossPayAmount
FROM pay_pre_payments ppp
JOIN pay_payroll_actions ppa ON ppp.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN pay_payroll_rel_actions pra ON ppa.payroll_action_id = pra.payroll_action_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type IN ('H', 'E', 'M') /* Check or EFT */
AND ppa.effective_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Pay Slip Published',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'G' /* Generate Payslip */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Costing Transferred',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.action_type = 'T' /* Transfer to GL */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date
UNION ALL
SELECT
rel.person_number || '-' || ppa.payroll_action_id,
'Tax Filing Completed',
TO_CHAR(pra.action_sequence_date, 'YYYY-MM-DD HH24:MI:SS'),
'Oracle HCM Payroll',
TO_CHAR(pra.last_update_date, 'YYYY-MM-DD HH24:MI:SS'),
pap.name,
org.name,
NULL
FROM pay_payroll_rel_actions pra
JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
JOIN pay_all_payrolls_f pap ON ppa.payroll_id = pap.payroll_id
JOIN per_all_people_f rel ON pra.payroll_relationship_id = rel.person_id
LEFT JOIN per_departments org ON rel.attribute1 = org.organization_id
WHERE ppa.report_category IN ('Tax', 'Regulatory') /* Customize based on local requirements */
AND pra.action_status = 'C'
AND pra.action_sequence_date BETWEEN :bind_start_date AND :bind_end_date Etapas
- Entre no Oracle BI Publisher: Acesse o ambiente Oracle Cloud e vá para Tools > Reports and Analytics. Clique em Browse Catalog para abrir a interface do BI Publisher.
- Crie um modelo de dados: Clique em Novo (no canto superior esquerdo) e selecione Modelo de dados. Esse será o contêiner da lógica de extração SQL.
- Crie um conjunto de dados SQL: Na guia Diagram, clique no ícone New Data Set e selecione SQL Query.
- Configure a fonte de dados: Dê um nome ao conjunto de dados, por exemplo,
ProcessMind_Payroll_Extract. Defina Dados comoApplicationDB_HCM(ou como a conexão específica com o banco de dados do seu aplicativo HCM). Mantenha o tipo como Standard SQL. - Insira a consulta: Copie o script SQL completo fornecido na seção Query abaixo e cole-o na caixa de texto SQL Query. Não inclua formatação Markdown.
- Defina os parâmetros: A consulta usa as variáveis de vinculação
:p_start_datee:p_end_date. Na guia Parameters do modelo de dados, crie esses dois parâmetros do tipo Date para filtrar o intervalo de extração, por exemplo, com base emppa.EFFECTIVE_DATE. - Valide a estrutura dos dados: Clique em OK. No editor do modelo de dados, acesse a guia Dados. Informe datas de exemplo, como
2023-01-01a2023-03-31, e clique em Visualizar. Confirme se a saída contém linhas comPayrollRecord,ActivityNameeEventTimestamp. - Salve o modelo de dados: Salve o modelo em uma pasta compartilhada, por exemplo,
/Shared Folders/Custom/ProcessMining. - Crie um relatório para exportação: Clique em Create Report e selecione o modelo de dados que você acabou de salvar. Use o Report Wizard para criar um layout simples de tabela com todas as colunas. Desmarque 'Show Grand Totals'.
- Exporte para CSV: Abra o relatório no Report Viewer. Clique no menu Ações (ícone de engrenagem) > Export > Dados > CSV.
- Transforme os dados: Abra o CSV. Se o formato não tiver sido aplicado automaticamente, confira se as datas estão no padrão ISO 8601 (
YYYY-MM-DD HH:MM:SS). Se o SQL foi colado corretamente, não será necessário reorganizar os dados. - Carregue o arquivo: Importe o CSV resultante no ProcessMind e mapeie as colunas conforme definido nos requisitos de dados.
Configuração
- Conexão com a fonte de dados: Use
ApplicationDB_HCMou a fonte de dados JNDI equivalente, com acesso de leitura aos esquemasPAY_ePER_. - Intervalo de datas: Recomendamos extrair de 3 a 6 meses para capturar ciclos completos da folha de pagamento. Use os parâmetros
:p_start_datee:p_end_datepara controlar o carregamento dinâmico. - Legislative Data Group (LDG): Por padrão, a consulta extrai dados de todos os LDGs. Se você trabalha com vários países, considere adicionar o filtro
AND ppa.LEGISLATIVE_DATA_GROUP_ID = [Your_LDG_ID]para separar os dados. - Performance: A consulta acessa tabelas de alto volume (
PAY_RUN_RESULTS,PAY_ASSIGNMENT_ACTIONS). Limite o intervalo de datas, por exemplo, a no máximo um ano, para evitar erros de tempo limite no BI Publisher. - Segurança: O usuário que executa o relatório precisa ter permissões de Data Access Set para as definições da folha de pagamento desejadas.
Consulta de exemplo sql
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Time Card Submitted' AS ActivityName,
peef.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
peef.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME AS LegislativeDataGroup,
org.NAME AS DepartmentName,
peef.LAST_UPDATED_BY AS ProcessingUser,
NULL AS GrossPayAmount,
ptp.PERIOD_NAME AS PayrollPeriodName,
NULL AS SlaProcessingDeadline,
'N' AS IsManualCorrection,
pg.PAYROLL_NAME AS PayGroup,
NULL AS ProcessDurationDays
FROM PAY_ELEMENT_ENTRIES_F peef
JOIN PER_ALL_ASSIGNMENTS_M paam ON peef.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND peef.EFFECTIVE_START_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND peef.EFFECTIVE_START_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PAY_PAY_RELATIONSHIPS_DN pprd ON paam.PAYROLL_RELATIONSHIP_ID = pprd.PAYROLL_RELATIONSHIP_ID
JOIN PER_TIME_PERIODS ptp ON pprd.PAYROLL_ID = ptp.PAYROLL_ID
AND peef.EFFECTIVE_START_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON pprd.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON pprd.PAYROLL_ID = pg.PAYROLL_ID
WHERE peef.CREATOR_TYPE = 'H'
AND peef.CREATION_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Time Card Approved' AS ActivityName,
peef.EFFECTIVE_START_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
peef.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
peef.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_ELEMENT_ENTRIES_F peef
JOIN PER_ALL_ASSIGNMENTS_M paam ON peef.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND peef.EFFECTIVE_START_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND peef.EFFECTIVE_START_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PAY_PAY_RELATIONSHIPS_DN pprd ON paam.PAYROLL_RELATIONSHIP_ID = pprd.PAYROLL_RELATIONSHIP_ID
JOIN PER_TIME_PERIODS ptp ON pprd.PAYROLL_ID = ptp.PAYROLL_ID
AND peef.EFFECTIVE_START_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON pprd.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON pprd.PAYROLL_ID = pg.PAYROLL_ID
WHERE peef.CREATOR_TYPE = 'H'
AND peef.EFFECTIVE_START_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Incentive Data Imported' AS ActivityName,
peef.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
peef.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
peef.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_ELEMENT_ENTRIES_F peef
JOIN PER_ALL_ASSIGNMENTS_M paam ON peef.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND peef.EFFECTIVE_START_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND peef.EFFECTIVE_START_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PAY_PAY_RELATIONSHIPS_DN pprd ON paam.PAYROLL_RELATIONSHIP_ID = pprd.PAYROLL_RELATIONSHIP_ID
JOIN PER_TIME_PERIODS ptp ON pprd.PAYROLL_ID = ptp.PAYROLL_ID
AND peef.EFFECTIVE_START_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON pprd.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON pprd.PAYROLL_ID = pg.PAYROLL_ID
WHERE peef.CREATOR_TYPE IN ('B', 'F')
AND peef.CREATION_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
CASE
WHEN ppa.ACTION_TYPE = 'R' AND paa.ACTION_STATUS = 'C' THEN 'Payroll Calculation Executed'
WHEN ppa.ACTION_TYPE = 'R' THEN 'Payroll Calculation Started'
WHEN ppa.ACTION_TYPE = 'Q' THEN 'QuickPay Executed'
WHEN ppa.ACTION_TYPE IN ('P', 'U') THEN 'Prepayments Calculated'
WHEN ppa.ACTION_TYPE = 'X' THEN 'Archive Results Generated'
WHEN ppa.ACTION_TYPE = 'M' THEN 'Bank Transfer Generated'
WHEN ppa.ACTION_TYPE IN ('Z', 'E') THEN 'Payment Executed'
WHEN ppa.ACTION_TYPE = 'T' THEN 'Costing Transferred'
ELSE 'Payroll Process Action'
END AS ActivityName,
ppa.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
paa.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
ppa.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
ptp.REGULAR_PAYMENT_DATE AS SlaProcessingDeadline,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_PAYROLL_ACTIONS ppa
JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE ppa.ACTION_TYPE IN ('R', 'Q', 'P', 'U', 'X', 'M', 'Z', 'E', 'T')
AND ppa.EFFECTIVE_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Audit Exception Flagged' AS ActivityName,
pml.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
pml.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
pml.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'Y',
pg.PAYROLL_NAME,
NULL
FROM PAY_MESSAGE_LINES pml
JOIN PAY_PAYROLL_ACTIONS ppa ON pml.PAYROLL_ACTION_ID = ppa.PAYROLL_ACTION_ID
LEFT JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE pml.MESSAGE_LEVEL IN ('E', 'W')
AND pml.CREATION_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Payroll Record Corrected' AS ActivityName,
peef.LAST_UPDATE_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
peef.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
peef.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'Y',
pg.PAYROLL_NAME,
NULL
FROM PAY_ELEMENT_ENTRIES_F peef
JOIN PER_ALL_ASSIGNMENTS_M paam ON peef.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND peef.EFFECTIVE_START_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND peef.EFFECTIVE_START_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PAY_PAY_RELATIONSHIPS_DN pprd ON paam.PAYROLL_RELATIONSHIP_ID = pprd.PAYROLL_RELATIONSHIP_ID
JOIN PER_TIME_PERIODS ptp ON pprd.PAYROLL_ID = ptp.PAYROLL_ID
AND peef.EFFECTIVE_START_DATE BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON pprd.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON pprd.PAYROLL_ID = pg.PAYROLL_ID
WHERE peef.LAST_UPDATE_DATE > peef.CREATION_DATE
AND peef.LAST_UPDATE_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Payroll Run Approved' AS ActivityName,
ppa.LAST_UPDATE_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
ppa.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
ppa.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_PAYROLL_ACTIONS ppa
JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE ppa.ACTION_TYPE = 'R'
AND paa.ACTION_STATUS = 'C'
AND ppa.EFFECTIVE_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Pay Slip Published' AS ActivityName,
(ppa.CREATION_DATE + 1) AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
ppa.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
ppa.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_PAYROLL_ACTIONS ppa
JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE ppa.ACTION_TYPE = 'X'
AND ppa.EFFECTIVE_DATE BETWEEN :p_start_date AND :p_end_date
UNION ALL
SELECT
TO_CHAR(papf.PERSON_NUMBER) || '-' || ptp.PERIOD_NAME AS PayrollRecord,
'Tax Filing Completed' AS ActivityName,
ppa.CREATION_DATE AS EventTimestamp,
'Oracle HCM' AS SourceSystem,
ppa.LAST_UPDATE_DATE AS LastDataUpdate,
pld.NAME,
org.NAME,
ppa.LAST_UPDATED_BY,
NULL,
ptp.PERIOD_NAME,
NULL,
'N',
pg.PAYROLL_NAME,
NULL
FROM PAY_PAYROLL_ACTIONS ppa
JOIN PAY_ASSIGNMENT_ACTIONS paa ON ppa.PAYROLL_ACTION_ID = paa.PAYROLL_ACTION_ID
JOIN PER_ALL_ASSIGNMENTS_M paam ON paa.ASSIGNMENT_ID = paam.ASSIGNMENT_ID
AND ppa.EFFECTIVE_DATE BETWEEN paam.EFFECTIVE_START_DATE AND paam.EFFECTIVE_END_DATE
JOIN PER_ALL_PEOPLE_F papf ON paam.PERSON_ID = papf.PERSON_ID
AND ppa.EFFECTIVE_DATE BETWEEN papf.EFFECTIVE_START_DATE AND papf.EFFECTIVE_END_DATE
JOIN PER_TIME_PERIODS ptp ON ppa.PAYROLL_ID = ptp.PAYROLL_ID
AND ppa.DATE_EARNED BETWEEN ptp.START_DATE AND ptp.END_DATE
LEFT JOIN PER_LEGISLATIVE_DATA_GROUPS_VL pld ON ppa.LEGISLATIVE_DATA_GROUP_ID = pld.LEGISLATIVE_DATA_GROUP_ID
LEFT JOIN HR_ORGANIZATION_UNITS_F_TL org ON paam.ORGANIZATION_ID = org.ORGANIZATION_ID AND org.LANGUAGE = USERENV('LANG')
LEFT JOIN PAY_ALL_PAYROLLS_F pg ON ppa.PAYROLL_ID = pg.PAYROLL_ID
WHERE ppa.ACTION_TYPE = 'Z'
AND ppa.CREATION_DATE BETWEEN :p_start_date AND :p_end_date Pronto para começar?
Transforme as operações da folha de pagamento usando este Template de dados para ter visibilidade completa dos ciclos. Comece hoje a avançar rumo a mais eficiência e relatórios precisos.
Otimize hoje o processamento da folha de pagamento no Oracle HCM
Reduza em 30% o tempo de ciclo da folha de pagamento e elimine gargalos.
Não é necessário cartão de crédito. Configure em minutos.