Seu Template de dados de Record to Report: fechamento do período e conciliação
Seu Template de dados de Record to Report: fechamento do período e conciliação
- Atributos recomendados para coleta
- Principais atividades para acompanhar na análise do processo
- Orientações passo a passo para extrair os dados
Atributos de Record to Report: fechamento do período e conciliação
| Nome | Descrição | ||
|---|---|---|---|
| Período financeiro FinancialPeriod | Identificador exclusivo do ciclo de relatórios financeiros, como '2023-12' para dezembro de 2023, que representa o caso do processo de fechamento de fim de período. | ||
| Descrição O período financeiro é o identificador de caso principal que agrupa todas as atividades relacionadas ao fechamento dos livros contábeis em um intervalo específico, geralmente um mês do calendário ou período fiscal. Cada período financeiro representa uma execução completa do processo de fechamento de fim de período. Na análise de Process Mining, este atributo permite acompanhar todo o ciclo de vida do fechamento, do início à divulgação final. Ele é usado para comparar os tempos de ciclo entre períodos, identificar caminhos recorrentes do processo e analisar variações entre os procedimentos de fechamento mensal, trimestral e anual. Ao tratar cada período como um caso, os analistas podem medir a performance ao longo do tempo e identificar gargalos sistêmicos. Por que isso importa Este é o identificador de caso essencial que define o escopo da análise, permitindo comparar a performance do fechamento de período ao longo do tempo e identificar tendências ou problemas recorrentes. Onde encontrar Derivado da combinação dos campos Exercício fiscal (GJAHR) e Período de lançamento (MONAT) dos cabeçalhos de documentos financeiros, geralmente em tabelas como BKPF. Exemplos 2023-122024-032024-T1 | |||
| Atividade ActivityName | Nome de uma etapa ou tarefa específica de negócio realizada no processo de fechamento do período, como 'Lançamento contábil de ajuste registrado' ou 'Período fechado para lançamentos'. | ||
| Descrição Este atributo representa um evento ou tarefa do processo de fechamento e conciliação de período de ponta a ponta. As atividades são os elementos que compõem o mapa do processo e mostram a sequência do trabalho realizado. Muitas vezes, elas são derivadas de uma combinação de códigos de transação, tipos de documento ou alterações de status no SAP S/4HANA. Analisar as atividades é fundamental para o Process Mining. Isso ajuda a visualizar o fluxo do processo, identificar desvios do procedimento padrão, descobrir gargalos causados por atividades demoradas e entender a frequência e a ordem das tarefas. Essa análise é essencial para dashboards como Análise de variantes do fechamento de período e Status atual do fechamento de período. Por que isso importa Define as etapas do processo, serve de base para o mapa do processo e permite analisar o fluxo, os desvios e os gargalos. Onde encontrar Derivado de várias fontes, como códigos de transação (TCODE), tipos de documento (BLART) ou campos de status em tabelas relacionadas às tarefas de fechamento financeiro (por exemplo, no SAP Financial Closing Cockpit). Exemplos Período aberto para lançamentosConciliação de conta iniciadaDemonstrações financeiras geradasConciliação entre empresas iniciada | |||
| Hora de início EventTime | Registro de data e hora que indica quando uma atividade específica começou ou foi registrada no sistema. | ||
| Descrição A hora do evento registra a data e a hora exatas em que uma atividade ocorreu. Para lançamentos financeiros, geralmente corresponde à hora de criação (CPUTM) ou à data de lançamento (BUDAT) de um documento. Para alterações de status ou tarefas, é o registro de data e hora em que a mudança foi registrada. Este atributo é essencial para ordenar as atividades cronologicamente e serve de base para todas as análises de tempo. Ele é usado para calcular os tempos de ciclo entre atividades, a duração de tarefas específicas e a duração total do processo de ponta a ponta. Também dá suporte direto a KPIs como Tempo médio de ciclo do fechamento de período e Tempo médio de aprovação de conciliação. Por que isso importa Este registro de data e hora obrigatório permite ordenar os eventos cronologicamente e serve de base para todos os cálculos de duração e performance. Onde encontrar Obtido de campos de data e hora, como Data de criação (CPUDT) e Hora de criação (CPUTM) em tabelas como BKPF, ou de campos de data de alteração em várias tabelas de status (por exemplo, CDHDR e CDPOS). Exemplos 2023-12-28T09:15:30Z2024-01-02T14:00:12Z2024-01-05T11:21:00Z | |||
| Código da empresa CompanyCode | Identificador exclusivo de uma entidade legal ou empresa na organização SAP. | ||
| Descrição A Empresa representa uma unidade contábil independente dentro de uma organização, para a qual é possível criar um conjunto completo e autônomo de contas. Todas as atividades de fechamento do período são realizadas no nível da Empresa. Essa é uma dimensão organizacional fundamental para a análise financeira. Em Process Mining, ela permite comparar o processo de fechamento do período entre diferentes entidades legais. O Dashboard 'Análise de variantes do fechamento do período' usa a Empresa para identificar inconsistências e promover a padronização dos procedimentos de fechamento. Por que isso importa Oferece um contexto organizacional essencial, permitindo comparar processos entre diferentes entidades legais para identificar variações e boas práticas. Onde encontrar Está presente em praticamente todas as tabelas financeiras do SAP, principalmente na tabela de cabeçalho BKPF (campo BUKRS). Exemplos 10001710US01DE01 | |||
| Data prevista de conclusão TargetCompletionDate | Data planejada ou prazo para concluir uma atividade importante, como a geração das demonstrações financeiras. | ||
| Descrição A data prevista de conclusão corresponde ao prazo interno ou externo de uma etapa específica do processo de fechamento do período. É a data em que se espera que uma tarefa esteja concluída. Esse atributo é essencial para medir o cumprimento do cronograma e o desempenho em relação aos prazos. Ele serve de base para o Dashboard 'Cumprimento dos prazos de reporte' e para o KPI 'Taxa de demonstrações financeiras entregues no prazo', que comparam essa data com Por que isso importa Permite analisar o desempenho em relação aos prazos e ajuda a medir e melhorar a taxa de conclusão no prazo das atividades críticas de fechamento. Onde encontrar Esses dados costumam estar em um sistema de gestão de tarefas ou de agendamento, como o SAP Financial Closing cockpit, onde as listas de tarefas de fechamento são definidas com datas planejadas de conclusão. Exemplos 2024-01-05T23:59:59Z2024-04-04T23:59:59Z2024-07-05T23:59:59Z | |||
| Hora de término EndTime | Registro de data e hora que indica quando uma atividade foi concluída. | ||
| Descrição A hora de término marca a conclusão de uma tarefa. Em alguns casos, pode ser igual à hora de início, como acontece com eventos instantâneos registrados no sistema. Para atividades com duração mensurável, representa o registro de data e hora da conclusão. Junto com a hora de início, este atributo é essencial para calcular o Por que isso importa Permite calcular a duração das atividades (tempo de processamento), algo essencial para identificar gargalos de performance e analisar a eficiência. Onde encontrar Assim como a hora de início, este dado pode vir de vários campos de data e hora. Para algumas atividades, pode ser igual à hora de início. Para outras, pode vir de um campo separado de data de conclusão ou de alteração nas tabelas da aplicação ou nos registros de alteração (CDHDR, CDPOS). Exemplos 2023-12-28T09:16:10Z2024-01-02T17:30:00Z2024-01-05T11:21:00Z | |||
| Número da conta do razão GlAccountNumber | Identificador de uma conta específica no razão geral. | ||
| Descrição O número da conta do razão geral (GL) identifica cada conta usada para registrar transações financeiras, como caixa, contas a pagar ou receita. Muitas atividades de fechamento do período, como conciliações e lançamentos de ajuste, estão diretamente relacionadas a contas específicas do razão. Esse atributo é essencial para uma análise detalhada dos processos financeiros. O Dashboard 'Análise de lançamentos de ajuste' usa esse dado para mostrar o volume de ajustes por conta e ajudar a identificar áreas problemáticas. O KPI 'Tempo médio de conciliação da conta do razão' também usa esse atributo para localizar atrasos relacionados a contas específicas. Por que isso importa Relaciona as atividades do processo a contas financeiras específicas, permitindo analisar em detalhes conciliações e lançamentos contábeis para encontrar as causas raiz dos problemas. Onde encontrar Está nas tabelas de itens de documentos financeiros, principalmente na BSEG (campo HKONT) ou na tabela universal de lançamentos do S/4HANA, ACDOCA. Exemplos 113100004000000073000000 | |||
| Número do documento DocumentNumber | Identificador único de um documento financeiro, como um lançamento contábil. | ||
| Descrição O número do documento é uma chave única atribuída pelo SAP a cada lançamento financeiro. Ele serve como referência principal para rastrear e auditar as transações individuais que compõem as atividades do processo de fechamento. Embora não seja um ID do caso, ele oferece um vínculo importante com o sistema de origem. Os analistas podem usar o número do documento para aprofundar um nível, saindo da visualização de Process Mining e chegando aos detalhes da transação específica no SAP S/4HANA para fazer a análise de causa raiz. Esse dado é especialmente útil na investigação de lançamentos de ajuste ou lançamentos de conciliação específicos. Por que isso importa Oferece uma referência direta à transação correspondente no SAP, facilitando a análise detalhada e a auditoria a partir do modelo de processo. Onde encontrar Está na tabela de cabeçalho de documentos financeiros BKPF (campo BELNR) e em tabelas de itens, como BSEG ou ACDOCA. Exemplos 100000045190000001300000023 | |||
| Status da conciliação ReconciliationStatus | Status de uma atividade de conciliação de contas, como 'Aberto', 'Em andamento' ou 'Aprovado'. | ||
| Descrição Esse atributo acompanha o estado do processo de conciliação de uma conta ou tarefa. Ele indica se a conciliação foi iniciada, enviada para revisão, aprovada ou rejeitada. As mudanças de status são eventos importantes no processo. Esse dado é fundamental para o Dashboard 'Análise de retrabalho em conciliações'. Ao analisar a sequência de status, é possível identificar quando um status 'Aprovado' é seguido por novos ajustes, o que indica retrabalho. O atributo também ajuda a calcular o KPI 'Taxa de conciliação aprovada na primeira tentativa', mostrando quais conciliações são aprovadas sem rejeição ou reabertura anterior. Por que isso importa Acompanha o andamento e o resultado das tarefas de conciliação, permitindo identificar retrabalho, medir taxas de aprovação e analisar gargalos. Onde encontrar Essas informações costumam ficar em tabelas relacionadas à ferramenta de conciliação usada, como o SAP Financial Closing cockpit ou o SAP Account Substantiation and Automation by BlackLine. Exemplos Não iniciadoEm preparaçãoAprovadoRejeitado | |||
| Usuário responsável ResponsibleUser | ID do usuário que executou a atividade ou é responsável pela tarefa. | ||
| Descrição Este atributo identifica o funcionário que realizou uma tarefa, como registrar um lançamento contábil ou aprovar uma conciliação. Geralmente, ele é capturado como um ID de usuário nos registros do sistema e nos cabeçalhos dos documentos. Analisar o processo por usuário é essencial para entender a distribuição da carga de trabalho, a performance individual e as necessidades de treinamento. O Dashboard Eficiência da alocação de recursos usa este atributo diretamente para visualizar os tempos de processamento das atividades por usuário. Ele também pode ajudar a identificar oportunidades de automação, destacando tarefas altamente repetitivas realizadas por vários usuários. Por que isso importa Relaciona as atividades do processo às pessoas que as realizaram, permitindo analisar a carga de trabalho, otimizar recursos e gerenciar a performance. Onde encontrar Geralmente encontrado em tabelas de cabeçalho de documentos, como BKPF (campo USNAM, nome do usuário), ou em tabelas de documentos de alteração, como CDHDR (campo USERNAME). Exemplos ABROWNCSMITHDJOHNSON | |||
| Código de transação TransactionCode | Código de transação do SAP (T-code) usado para executar a atividade. | ||
| Descrição Um código de transação é um atalho para iniciar uma função ou um programa específico no SAP. Por exemplo, FB01 é usado para lançar um documento, e FAGLB03, para exibir saldos de contas do razão geral. O T-code costuma indicar claramente, em termos técnicos, qual atividade foi realizada. Esse atributo ajuda a definir as atividades do modelo de processo. É uma forma confiável de diferenciar atividades automatizadas de atividades manuais e entender exatamente como uma tarefa foi realizada no sistema. A análise dos T-codes pode revelar métodos fora do padrão ou ineficientes usados pelos funcionários. Por que isso importa Mostra, em nível técnico e de sistema, como uma atividade foi realizada. Isso ajuda a identificar etapas manuais e automatizadas, além de procedimentos fora do padrão. Onde encontrar Está na tabela de cabeçalho de documentos financeiros BKPF (campo TCODE) ou nos logs de documentos de alteração. Exemplos FB01FAGL_FCVF.13 | |||
| Data real de conclusão ActualCompletionDate | Data em que uma atividade importante ou todo o fechamento do período foi concluído. | ||
| Descrição Esse atributo registra a data real de conclusão de uma etapa importante. Corresponde ao registro de data e hora da aprovação final das demonstrações financeiras ou do fechamento do período para lançamentos. Ele complementa Por que isso importa Registra o momento real de conclusão das etapas, necessário para medir o desempenho em relação aos prazos planejados e analisar atrasos. Onde encontrar Obtido do EventTime da última atividade de uma sequência, como 'Demonstrações financeiras aprovadas' ou 'Período fechado para lançamentos'. Exemplos 2024-01-06T10:00:00Z2024-04-05T17:00:00Z2024-07-04T11:00:00Z | |||
| É automatizado IsAutomated | Indicador booleano que informa se a atividade foi realizada por um usuário do sistema ou por um processo automatizado. | ||
| Descrição Esse indicador diferencia as tarefas realizadas manualmente por uma pessoa daquelas executadas automaticamente pelo sistema, como um job em lote agendado para avaliação cambial ou execuções de compensação automatizadas. Em geral, ele é derivado do ID de Esse atributo é essencial para entender o nível de automação do processo de fechamento. Ele ajuda a identificar oportunidades de automação adicional ao destacar tarefas manuais de alto volume. Também é usado na análise de causa raiz para verificar se os gargalos ocorrem em etapas manuais ou automatizadas. Por que isso importa Diferencia as atividades humanas das atividades do sistema, o que é essencial para identificar oportunidades de automação e analisar a eficiência de ambas. Onde encontrar É um atributo derivado, geralmente com base em uma regra aplicada ao campo 'ResponsibleUser' (por exemplo, verificar IDs de usuários do sistema ou de processamento em lote, como 'BATCHUSER') ou ao código de transação. Exemplos truefalse | |||
| Está no prazo IsOnTime | Indicador booleano verdadeiro quando uma etapa é concluída na data prevista ou antes dela. | ||
| Descrição Esse atributo fornece um resultado binário simples sobre o cumprimento do cronograma. Ele é calculado comparando Esse é o cálculo central do KPI 'Taxa de demonstrações financeiras entregues no prazo'. Ele simplifica o acompanhamento do desempenho ao transformar a comparação entre datas em um status claro, 'no prazo' ou 'atrasado', fácil de visualizar em Dashboards e relatórios. Também ajuda a medir a eficácia das iniciativas para acelerar o fechamento. Por que isso importa Simplifica a análise do cumprimento de prazos com um resultado claro de sucesso ou falha, facilitando o acompanhamento e o reporte do desempenho no prazo. Onde encontrar Campo calculado: Exemplos truefalse | |||
| Há retrabalho na conciliação IsReconciliationRework | Indicador booleano verdadeiro quando uma atividade de conciliação é seguida por uma rejeição ou por novos ajustes. | ||
| Descrição Esse atributo calculado identifica ocorrências de retrabalho no subprocesso de conciliação. A lógica sinaliza atividades ou casos em que uma conciliação é rejeitada, reaberta após o envio ou seguida por lançamentos de ajuste, mesmo depois de ter sido considerada concluída para uma conta do razão geral. Esse indicador foi criado especificamente para alimentar o Dashboard 'Análise de retrabalho em conciliações' e o KPI 'Taxa de retrabalho em conciliações'. Ele transforma sequências complexas do processo em um atributo simples e mensurável, que quantifica o retrabalho e ajuda as equipes a melhorar a qualidade na primeira tentativa. Por que isso importa Quantifica diretamente o retrabalho, uma forma importante de ineficiência do processo, e permite direcionar a análise e as iniciativas de melhoria da qualidade das conciliações. Onde encontrar Calculado com base na sequência de atividades. Por exemplo, o indicador é definido como verdadeiro quando a sequência 'Conciliação aprovada' é seguida por 'Lançamento contábil de ajuste realizado' para a mesma conta do razão geral e no mesmo período. Exemplos truefalse | |||
| Moeda do documento DocumentCurrency | Código da moeda usada nos valores do documento financeiro. | ||
| Descrição Esse atributo especifica a moeda em que a transação foi registrada, como USD, EUR ou JPY. Ele fornece o contexto necessário para o atributo Em organizações multinacionais, a análise por moeda pode ser importante. Ela garante que os valores monetários sejam interpretados corretamente e é necessária para converter os valores para uma única moeda de reporte em análises agregadas. Sem esse contexto, não é possível comparar nem somar os valores de Por que isso importa Fornece o contexto necessário para interpretar corretamente os valores monetários, especialmente em ambientes com várias moedas. Onde encontrar Está na tabela de cabeçalho de documentos financeiros BKPF (campo WAERS). Exemplos USDEURJPY | |||
| Sistema de origem SourceSystemId | Identificador da instância ou do cliente específico do SAP S/4HANA de onde os dados foram extraídos. | ||
| Descrição Este atributo especifica o sistema de origem dos dados. Em ambientes com várias instâncias SAP, por exemplo, para diferentes regiões ou unidades de negócio, este campo é essencial para distinguir as fontes de dados. Ele é usado principalmente para governança de dados, auditoria e garantia da integridade dos dados. Na análise, pode servir como filtro para comparar processos entre diferentes sistemas de origem, caso eles estejam reunidos em um único modelo de Process Mining. Por que isso importa Fornece contexto e informações essenciais sobre a linhagem dos dados, deixando clara sua origem, especialmente em ambientes com vários sistemas. Onde encontrar Geralmente são metadados adicionados durante a extração dos dados, muitas vezes obtidos do ID do sistema (SY-SYSID) ou do cliente (SY-MANDT) no SAP. Exemplos S4H_PROD_100S4H_QAS_200ECC_LEGACY_001 | |||
| Tempo de ciclo do fechamento do período PeriodCloseCycleTime | Tempo total de um período financeiro, da primeira à última atividade. | ||
| Descrição Essa métrica representa a duração de ponta a ponta do processo de fechamento do período para um único caso (período financeiro). Ela é calculada pela diferença entre o registro de data e hora da última atividade e o da primeira atividade desse período. Esse é um dos principais indicadores de performance e dá suporte direto ao Dashboard 'Visão geral do tempo de ciclo do fechamento do período' e ao KPI 'Tempo médio de ciclo do fechamento do período'. Ele oferece uma medida geral da eficiência e da velocidade do processo de fechamento, permitindo comparações ao longo do tempo e entre diferentes empresas. Por que isso importa Representa o principal KPI da duração geral do processo e permite acompanhar, em alto nível, os ganhos de eficiência ao longo do tempo. Onde encontrar Calculado no nível do caso: Exemplos P5D10H30MP7D2HP6D | |||
| Tipo de lançamento contábil JournalEntryType | Tipo de documento financeiro lançado, que diferencia lançamentos padrão, apropriações e ajustes. | ||
| Descrição O tipo de lançamento contábil, chamado de tipo de documento na terminologia do SAP, é uma chave que classifica documentos contábeis. Ele controla os tipos de conta em que um documento pode ser lançado e diferencia transações comerciais, como uma fatura de fornecedor (KR), um lançamento no razão geral (SA) ou um pagamento de cliente (DZ). No fechamento do período, esse atributo é essencial para isolar tipos específicos de atividade. Por exemplo, ele permite que os analistas se concentrem nos lançamentos contábeis de ajuste, apoiando o Dashboard 'Análise de lançamentos de ajuste' e o KPI 'Quantidade de lançamentos contábeis de ajuste'. Também ajuda a calcular a 'Proporção de lançamentos manuais'. Por que isso importa Classifica as transações financeiras e permite concentrar a análise em tipos específicos de lançamento, como ajustes manuais, que são importantes para um fechamento do período sem problemas. Onde encontrar É um campo padrão na tabela de cabeçalho de documentos financeiros BKPF (campo BLART). Exemplos SAKRAB | |||
| Última atualização dos dados LastDataUpdate | Registro de data e hora que indica quando os dados foram atualizados ou extraídos pela última vez do sistema de origem. | ||
| Descrição Este atributo registra a data e a hora da extração de dados mais recente. Ele informa o quão atualizados estão os dados analisados na ferramenta de Process Mining. Seu principal objetivo é apoiar a governança de dados e manter os usuários informados. Quem tem acesso de visualização ao Dashboard pode ver o quão atualizada está a análise, o que é especialmente importante em dashboards de monitoramento quase em tempo real, como 'Status atual do fechamento de período'. Isso ajuda a entender se os dados exibidos são de hoje, de ontem ou da semana passada. Por que isso importa Informa aos usuários se os dados estão atualizados, ajudando a entender o quão recentes são os insights sobre o processo. Onde encontrar São metadados gerados e registrados no conjunto de dados pela ferramenta de extração de dados ou ETL durante a execução. Exemplos 2024-06-10T08:00:00Z2024-06-09T08:00:00Z | |||
| Valor do documento DocumentAmount | Valor total do lançamento financeiro na moeda do documento. | ||
| Descrição Esse atributo representa o valor monetário associado a um documento financeiro. Nos ajustes de fim de período, pode corresponder ao valor da apropriação ou da correção lançada. A análise do valor é útil para avaliar a materialidade. Ela permite que os analistas priorizem a investigação de lançamentos de ajuste de alto valor, que podem representar um risco financeiro maior. Também é possível filtrar o mapa do processo para mostrar apenas transações acima de determinado limite, destacando as atividades mais relevantes. Por que isso importa Acrescenta uma dimensão financeira à análise e permite priorizar problemas de acordo com o impacto monetário e a materialidade. Onde encontrar Esse valor geralmente precisa ser agregado a partir de tabelas de itens, como BSEG ou ACDOCA (campo WRBTR, valor na moeda do documento). Exemplos 15000.00250.75-500.00 | |||
Atividades de Record to Report: fechamento do período e conciliação
| Atividade | Descrição | ||
|---|---|---|---|
| Conciliação de conta aprovada | Esta atividade marca a aprovação final de uma conciliação de conta do GL, confirmando que o saldo foi comprovado e que todos os problemas foram resolvidos. Ela é inferida a partir da mudança de status para 'Aprovado' em uma ferramenta de conciliação. | ||
| Por que isso importa Este marco representa a conclusão de uma atividade de controle essencial. Acompanhar os tempos de aprovação ajuda a identificar gargalos no processo de revisão e é fundamental para medir o retrabalho e o rendimento na primeira passagem. Onde encontrar Capturado em um sistema de gestão de conciliações, como SAP Account Substantiation and Automation, por meio do registro de data e hora do status de aprovação final. Coleta Identifique o registro de data e hora em que o campo de status da conciliação é atualizado para o estado final 'Aprovado'. Tipo de evento inferred | |||
| Conciliação de conta iniciada | Marca o início do processo manual ou semiautomatizado de comprovação dos saldos das contas do GL. O início é inferido quando o status de uma conciliação muda de 'Nova' para 'Em andamento' ou quando a primeira ação do responsável pela preparação é registrada. | ||
| Por que isso importa Este é um marco importante para entender a duração e o esforço necessários para comprovar os saldos do balanço patrimonial. Ele ajuda a identificar quais contas ou departamentos começam as conciliações com atraso. Onde encontrar Este evento geralmente é capturado em uma ferramenta específica de conciliação, como SAP Account Substantiation and Automation da BlackLine ou outros sistemas de terceiros. Ele é inferido a partir dos registros de data e hora das alterações de status. Coleta Acompanhe o registro de data e hora da primeira alteração de status a partir de 'Não iniciada' para uma conciliação de conta do GL. Tipo de evento inferred | |||
| Conciliação entre empresas iniciada | Esta atividade marca o início do processo de correspondência e conciliação de transações entre diferentes códigos de empresa do mesmo grupo corporativo. Geralmente, ela começa com a execução de um job de conciliação ou a criação de um novo caso de conciliação na ferramenta ICMR do SAP. | ||
| Por que isso importa A conciliação entre empresas costuma ser complexa e demorada. Analisar sua duração e seu fluxo é essencial para otimizar o fechamento do grupo e garantir a precisão das demonstrações financeiras consolidadas. Onde encontrar Inferido a partir de alterações de status no módulo SAP Intercompany Matching and Reconciliation (ICMR) ou da criação dos primeiros documentos de conciliação do período. Coleta Acompanhe a data de criação ou o registro de data e hora da alteração de status das unidades de conciliação no ICMR para o período em questão. Tipo de evento inferred | |||
| Demonstrações financeiras geradas | Esta atividade marca a criação das demonstrações financeiras oficiais, como o balanço patrimonial e a demonstração de resultados. Ela representa a conclusão dos processos contábeis e de consolidação de fim de período. | ||
| Por que isso importa Este é um marco importante no ciclo de Record to Report. O momento em que ocorre é fundamental para cumprir os prazos de divulgação e fornecer informações oportunas às partes interessadas. Onde encontrar A melhor forma de capturar este evento é por meio de uma ferramenta de gestão do fechamento financeiro, como SAP Financial Closing Cockpit, onde ele aparece como uma tarefa explícita. Caso contrário, é necessário inferi-lo pelos registros de geração de relatórios ou pelos registros de data e hora de criação dos arquivos. Coleta Acompanhe o status de conclusão da tarefa 'Gerar demonstrações financeiras' em uma ferramenta de fechamento ou analise os registros de execução dos relatórios. Tipo de evento inferred | |||
| Lançamento contábil de ajuste registrado | Representa um lançamento contábil corretivo feito após as conciliações iniciais, geralmente para corrigir discrepâncias encontradas durante a revisão. É uma transação explícita lançada no Razão Geral. | ||
| Por que isso importa Uma frequência alta de lançamentos de ajuste indica baixa qualidade na primeira execução dos processos anteriores ou das conciliações. Analisar esses lançamentos é essencial para identificar as causas raiz dos erros e reduzir o retrabalho. Onde encontrar Registrados como documentos explícitos nas tabelas ACDOCA e BKPF. É possível identificá-los por tipos de documento específicos, datas de lançamento próximas ao fim do ciclo de fechamento ou descrições específicas. Coleta Filtre os lançamentos contábeis na BKPF combinando o tipo de documento e a data de lançamento em relação às atividades de conciliação. Tipo de evento explicit | |||
| Período aberto para lançamentos | Este evento marca o início do período financeiro, quando os períodos de lançamento são abertos para registrar transações. É uma alteração de configuração explícita e registrada, feita por um administrador financeiro no SAP, que permite lançar registros contábeis no novo período. | ||
| Por que isso importa Esta atividade é o principal evento de início do processo de fechamento de fim de período. Ela permite medir com precisão o tempo total do ciclo e define um ponto de partida claro para a análise do processo. Onde encontrar Este evento é capturado nos documentos de alteração (tabelas CDHDR e CDPOS), que registram modificações na tabela de controle de períodos de lançamento T001B, geralmente feitas pela transação OB52. Coleta Filtre os registros de alteração da tabela T001B pelo exercício fiscal e período correspondentes. Tipo de evento explicit | |||
| Período fechado para lançamentos | Esta é a atividade final do ciclo, quando o período de lançamento é formalmente fechado para impedir novas transações. Essa ação protege a integridade dos dados dos relatórios financeiros finalizados. | ||
| Por que isso importa Esta atividade é o evento final definitivo do processo. Ela é essencial para calcular o tempo total do ciclo de fechamento do período e analisar tendências de conclusão do processo. Onde encontrar Assim como na abertura do período, este evento é capturado nos documentos de alteração (tabelas CDHDR e CDPOS), que registram atualizações na tabela de controle de períodos de lançamento T001B pela transação OB52. Coleta Filtre os registros de alteração da tabela T001B para identificar o fechamento do exercício fiscal e do período correspondentes. Tipo de evento explicit | |||
| Balancete preparado | Indica que um balancete foi gerado e salvo para revisão, servindo como ponto de controle antes da criação das demonstrações financeiras finais. A captura deste evento geralmente depende de procedimentos que salvam o resultado do relatório. | ||
| Por que isso importa A preparação do balancete é um controle de qualidade essencial. Analisar o momento em que ela ocorre ajuda a entender se tudo está pronto para os relatórios finais e pode revelar atrasos nas atividades anteriores. Onde encontrar Este evento muitas vezes não é explícito. Ele pode ser inferido pela execução de uma transação de relatório específica, se as variantes forem salvas com usuário e data, ou se o processo for gerenciado em uma ferramenta como SAP Financial Closing Cockpit. Coleta É necessário analisar o sistema para verificar se existe um mecanismo confiável de registro, como logs de execução de relatórios ou listas de tarefas do closing cockpit. Tipo de evento inferred | |||
| Demonstrações financeiras aprovadas | Representa a aprovação final das demonstrações financeiras pela gestão autorizada antes da publicação. Muitas vezes, este processo acontece fora do sistema, mas pode ser capturado quando existe uma etapa formal de aprovação digital. | ||
| Por que isso importa Este é o controle final de qualidade e conformidade. Acompanhar o momento em que ocorre é essencial para entender o cumprimento dos prazos de divulgação e a eficiência geral do ciclo de revisão da gestão. Onde encontrar Este evento é capturado quando existe um fluxo de trabalho ou campo de status para aprovação das demonstrações, por exemplo, no SAP Financial Closing Cockpit ou em um sistema de gestão de documentos. Coleta Identifique um campo de dados e um registro de data e hora que indiquem a aprovação final do conjunto de demonstrações financeiras. Tipo de evento inferred | |||
| Execução da avaliação de moeda estrangeira | Este é um procedimento padrão de fim de mês para reavaliar itens em aberto e saldos em moedas estrangeiras com base nas taxas de câmbio do fim do período. A execução do programa lança as diferenças de avaliação resultantes. | ||
| Por que isso importa Garante a conformidade com as normas contábeis e oferece uma visão financeira precisa. Acompanhar esta atividade ajuda a garantir que todas as avaliações cambiais sejam feitas no prazo. Onde encontrar Capturado nos registros de execução do programa de avaliação de moeda estrangeira (por exemplo, FAGL_FCV). Os detalhes dos jobs ficam nas tabelas TBTCO e TBTCP. Coleta Monitore os registros de execução dos jobs relacionados à transação FAGL_FCV ou ao programa correspondente. Tipo de evento explicit | |||
| Execução de compensação automática | Representa a execução de programas de compensação automática no SAP, como o processamento de compensação GR/IR (Goods Receipt/Invoice Receipt). Esses jobs conciliam e compensam itens em aberto em contas específicas do GL, reduzindo o esforço manual de conciliação. | ||
| Por que isso importa Esta atividade mostra o nível de automação do processo de conciliação. Falhas ou exceções nessas execuções podem gerar muito trabalho manual e atrasos. Onde encontrar Capturado nos registros de execução de jobs em lote específicos, como F.13 ou F.13E para compensação automática. As tabelas de registro de jobs TBTCO e TBTCP contêm os detalhes da execução. Coleta Monitore os registros de data e hora de início e término dos jobs associados a transações como F.13 nos registros de jobs do SAP. Tipo de evento explicit | |||
| Provisões e despesas apropriadas lançadas | Este evento registra a criação de lançamentos contábeis manuais para despesas apropriadas, diferimentos e outras provisões necessárias para a precisão dos relatórios financeiros pelo regime de competência. São transações explícitas lançadas no Razão Geral. | ||
| Por que isso importa Acompanhar esses lançamentos ajuda a analisar o volume e o momento dos ajustes manuais. Um volume elevado pode indicar oportunidades de automação ou melhorias nos processos anteriores. Onde encontrar Registrados como lançamentos contábeis explícitos na tabela de diário universal ACDOCA e na tabela de cabeçalho BKPF. É possível identificá-los pelos tipos de documento específicos configurados para provisões. Coleta Filtre os documentos da tabela BKPF pelo tipo de documento (por exemplo, 'SA' ou tipos personalizados) e pela data de lançamento dentro do período. Tipo de evento explicit | |||
| Tarefas de consolidação executadas | Representa a execução de atividades de consolidação no SAP Group Reporting, como conversão de moeda, reclassificação e eliminação de lucros entre empresas. Essas tarefas geralmente são gerenciadas e registradas no monitor de consolidação. | ||
| Por que isso importa Para organizações com várias entidades legais, a consolidação é uma etapa crítica do processo. Monitorar essas tarefas ajuda a otimizar o fechamento do grupo e garantir a entrega pontual dos relatórios consolidados. Onde encontrar Capturado nos registros de status do Data Monitor ou do Consolidation Monitor no SAP S/4HANA for Group Reporting. Cada tarefa geralmente inclui usuário, registro de data e hora e status. Coleta Extraia os registros de execução das tarefas das tabelas subjacentes do monitor de consolidação do Group Reporting. Tipo de evento explicit | |||
| Transferência de dados dos submódulos concluída | Representa a conclusão dos jobs em lote que transferem dados consolidados de submódulos, como Contas a Receber, Contas a Pagar e Contabilidade de Ativos, para o Razão Geral. Isso garante que todas as transações operacionais subjacentes estejam refletidas no GL antes do início dos procedimentos de fechamento. | ||
| Por que isso importa Atrasos no fechamento dos submódulos podem se tornar um gargalo importante para o processo como um todo. Acompanhar esta atividade ajuda a identificar ineficiências na coleta e integração de dados dos sistemas de origem. Onde encontrar Inferido a partir do status de conclusão bem-sucedida de jobs em lote específicos, responsáveis pela liquidação do razão e pela transferência de dados. Os registros dos jobs ficam nas tabelas TBTCO e TBTCP. Coleta Identifique e monitore os registros de data e hora de conclusão dos jobs em lote relevantes na visão geral de jobs do SAP (transação SM37). Tipo de evento explicit | |||
Guias de extração
Etapas
- Identifique e valide as CDS Views: Acesse seu sistema SAP S/4HANA pelo SAP HANA Studio ou pelo Eclipse com ADT. Use o ABAP Development Tools para pesquisar e confirmar a existência das CDS Views padrão mencionadas na consulta, como I_JournalEntryItem, I_BatchJob e I_ConsolidationTaskLog. Para processos como a conciliação de contas, talvez seja necessário criar CDS Views personalizadas, por exemplo Z_I_ACCOUNTRECONCILIATION, para registrar mudanças de status.
- Disponibilize as CDS Views via OData: No backend do SAP, use a transação
SEGW(Gateway Service Builder) para criar um projeto. Clique com o botão direito na pasta Data Model e selecione 'Reference -> Data Source'. Adicione as CDS Views necessárias. Gere os objetos de runtime para criar um serviço OData que disponibilize essas views para uso externo. - Ative o serviço OData: Acesse a transação
/IWFND/MAINT_SERVICEno hub do SAP Gateway. Clique em 'Add Service', localize o serviço gerado na etapa anterior e adicione-o. Assim, o serviço fica ativo e disponível para consultas. - Estabeleça a conexão com os dados: Na ferramenta de extração de dados escolhida, como Python, Power BI ou uma plataforma ETL dedicada, conecte-se ao serviço OData recém-criado. Você precisará da URL do serviço e de credenciais com autorização para acessar as CDS Views.
- Adapte e execute a consulta: Copie a consulta SQL fornecida. Altere os valores de exemplo para intervalos de datas, códigos de empresa e nomes de CDS Views personalizadas ou jobs em lote, de acordo com seu ambiente SAP. Execute a consulta no endpoint do serviço OData. O OData usa uma sintaxe diferente ($filter, $select), então talvez seja necessário converter a lógica da consulta UNION ALL em várias chamadas de API separadas, uma para cada atividade.
- Consolide os dados das atividades: Como o OData geralmente não permite executar consultas UNION ALL complexas em uma única chamada, você precisará fazer uma solicitação separada para cada bloco de atividade da consulta. Consolide os resultados de todas as solicitações em um único conjunto de dados ou tabela na ferramenta cliente.
- Transforme e limpe os dados: Revise os dados consolidados. Verifique se as colunas
EventTimeeEndTimeusam um formato de registro de data e hora consistente. Confirme seFinancialPeriodestá no formato 'YYYY-MM'. Trate valores NULL em colunas comoResponsibleUserouDocumentNumber, conforme necessário. - Exporte como Event Log: Exporte o conjunto de dados final consolidado para um arquivo CSV. Confira se os cabeçalhos das colunas correspondem aos atributos necessários:
FinancialPeriod,ActivityName,EventTime,EndTime,ResponsibleUseretc. O arquivo estará pronto para ser carregado no ProcessMind.
Configuração
- CDS Views: A consulta combina CDS Views padrão e personalizadas. Views padrão como
I_JournalEntryItem(para lançamentos contábeis) eI_BatchJob(para execuções automatizadas) são essenciais. Muitas vezes, são necessárias views personalizadas, comoZ_I_ACCOUNTRECONCILIATION, para registrar o status de processos internos que não são cobertos pelas views padrão. - Intervalo de datas: Defina um intervalo específico para controlar o volume de dados extraídos. A consulta usa os marcadores
[Start Date]e[End Date], que normalmente devem abranger de 3 a 6 períodos fiscais completos para permitir uma análise relevante. - Filtros principais: Os filtros são essenciais para o desempenho e a relevância. Sempre filtre por
CompanyCode. Outros filtros importantes incluemLedger(por exemplo, '0L' para o ledger principal),FiscalYeare valores específicos deDocumentTypepara diferenciar lançamentos regulares, apropriações e ajustes. - Pré-requisitos: O usuário que executa a extração precisa de autorizações no SAP para acessar as CDS Views especificadas e executar serviços OData (por exemplo, objetos de autorização
S_SERVICE,S_RFC). Os serviços do SAP Gateway precisam estar configurados e ativos. - Desempenho: Consultar
I_JournalEntryItempode exigir muitos recursos. Sempre aplique filtros seletivos, principalmente para datas, códigos de empresa e ledgers. Considere executar a extração fora dos horários de pico ou usar uma estratégia de carregamento incremental para monitoramento contínuo.
Consulta de exemplo sql
SELECT
CONCAT(CAST(PostingDate AS DATE FORMAT 'YYYY'), '-', CAST(PostingDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Opened For Posting' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- This is a proxy; this activity is a configuration change often found in change logs (CDHDR/CDPOS for table T001B)
WHERE PostingPeriodVariant = '[Your Variant]' AND FiscalYear = '[Your Fiscal Year]' AND FromPostingPeriod = 1 AND AuthorizationGroup IS NOT NULL -- Logic to detect the opening event
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod, -- Infer period from Job Name if patterned, otherwise use job start date
'Subledger Data Transfer Completed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Subledger Job Prefix]%' AND JobStatus = 'F' -- 'F' for Finished
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(CreationDate AS DATE FORMAT 'YYYY'), '-', CAST(CreationDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Intercompany Reconciliation Started' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
CreatedByUser AS ResponsibleUser,
LeadingCompanyCode AS CompanyCode,
NULL AS GlAccountNumber,
ReconciliationCase AS DocumentNumber,
ReconciliationCaseStatus AS ReconciliationStatus,
NULL AS TargetCompletionDate,
NULL AS ProcessingTime
FROM I_ICRcnCase -- Part of SAP S/4HANA for group reporting
WHERE CreationDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Accruals And Provisions Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Accrual Doc Type 1]', '[Accrual Doc Type 2]') -- e.g., 'SA', 'AC'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Automated Clearing Run Executed' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'SAPF124%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Foreign Currency Valuation Run' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE 'FAGL_FCV%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on like SAP Account Substantiation and Automation.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Started' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
NULL AS EndTime,
ChangedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'In Progress' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'IN_PROGRESS' AND OldStatus = 'NEW'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Adjusting Journal Entry Posted' AS ActivityName,
CAST(CreationDateTime AS TIMESTAMP) AS EventTime,
CAST(CreationDateTime AS TIMESTAMP) AS EndTime,
CreatedByUser AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
AccountingDocument AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_JournalEntryItem
WHERE DocumentType IN ('[Adjustment Doc Type 1]', '[Adjustment Doc Type 2]') -- e.g., 'AJ'
AND PostingDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- This activity often requires a custom view on a custom table or an add-on product.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Account Reconciliation Approved' AS ActivityName,
CAST(ChangedAt AS TIMESTAMP) AS EventTime,
CAST(ChangedAt AS TIMESTAMP) AS EndTime,
ApprovedBy AS ResponsibleUser,
CompanyCode,
GLAccountNumber,
ReconciliationID AS DocumentNumber,
'Approved' AS ReconciliationStatus,
PlannedCompletionDate AS TargetCompletionDate,
NULL AS ProcessingTime
FROM Z_I_ACCOUNTRECONCILIATION -- Placeholder for your custom reconciliation status view
WHERE Status = 'APPROVED'
AND ChangeDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(FiscalYear, '-', LPAD(FiscalPeriod, 2, '0')) AS FinancialPeriod,
'Consolidation Tasks Executed' AS ActivityName,
CAST(TaskExecutionUTCTimestamp AS TIMESTAMP) AS EventTime,
CAST(TaskCompletionUTCTimestamp AS TIMESTAMP) AS EndTime,
ExecutedByUser AS ResponsibleUser,
ConsolidationUnitCompanyCode AS CompanyCode, -- Assuming mapping exists
NULL AS GlAccountNumber,
DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(TaskExecutionUTCTimestamp AS TIMESTAMP), CAST(TaskCompletionUTCTimestamp AS TIMESTAMP)) AS ProcessingTime
FROM I_ConsolidationTaskLog
WHERE ConsolidationTaskStatus = 'S' -- Successful
AND TaskExecutionUTCDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Trial Balance Prepared' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Trial Balance Job Prefix]%' AND JobStatus = 'F' -- Example: FAGL_TRIAL_BALANCE_RUN
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(SUBSTRING(JobName, STRPOS(JobName, '_') + 1, 4), '-', SUBSTRING(JobName, STRPOS(JobName, '_') + 5, 2)) AS FinancialPeriod,
'Financial Statements Generated' AS ActivityName,
CAST(JobStartDate || JobStartTime AS TIMESTAMP) AS EventTime,
CAST(JobEndDate || JobEndTime AS TIMESTAMP) AS EndTime,
JobCreatedByUser AS ResponsibleUser,
'[Configure based on your system]' AS CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
SECONDS_BETWEEN(CAST(JobStartDate || JobStartTime AS TIMESTAMP), CAST(JobEndDate || JobEndTime AS TIMESTAMP)) AS ProcessingTime
FROM I_BatchJob
WHERE JobName LIKE '[Fin Statement Job Prefix]%' AND JobStatus = 'F'
AND JobEndDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
-- Approval is often a manual step. This requires a custom solution to capture.
-- The following is a placeholder for such a custom view.
SELECT
CONCAT(ApprovalYear, '-', LPAD(ApprovalPeriod, 2, '0')) AS FinancialPeriod,
'Financial Statements Approved' AS ActivityName,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EventTime,
CAST(ApprovalTimestamp AS TIMESTAMP) AS EndTime,
ApproverUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
FinancialStatementVersion AS DocumentNumber,
'Approved' AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM Z_I_FINSTATEMENTAPPROVAL -- Placeholder for custom approval tracking view
WHERE ApprovalDate BETWEEN '[Start Date]' AND '[End Date]'
UNION ALL
SELECT
CONCAT(CAST(LastChangeDate AS DATE FORMAT 'YYYY'), '-', CAST(LastChangeDate AS DATE FORMAT 'MM')) AS FinancialPeriod,
'Period Closed For Posting' AS ActivityName,
CAST(LastChangeDateTime AS TIMESTAMP) AS EventTime,
CAST(LastChangeDateTime AS TIMESTAMP) AS EndTime,
LastChangedByUser AS ResponsibleUser,
CompanyCode,
NULL AS GlAccountNumber,
NULL AS DocumentNumber,
NULL AS ReconciliationStatus,
NULL AS TargetCompletionDate,
0 AS ProcessingTime
FROM I_FinPostingPeriodControl -- Proxy, see note on 'Period Opened'
WHERE PostingPeriodStatus = 'C' -- 'C' for Closed
AND LastChangeDate BETWEEN '[Start Date]' AND '[End Date]'; Etapas
- Confirme se há acesso direto de leitura ao esquema SAP HANA que contém as tabelas de aplicação necessárias e identifique o proprietário do esquema de ACDOCA, TBTCO, CDHDR e CDPOS. Substitua o marcador do esquema na consulta pelo nome aprovado.
- Confirme o exercício fiscal, o período fiscal, o escopo dos códigos de empresa e o intervalo de datas da extração. Use um intervalo que cubra todo o ciclo de fechamento, normalmente de três a seis meses, e substitua os parâmetros de data por valores adequados ao seu sistema.
- Valide os mapeamentos locais de campos para alterações na configuração do período de lançamento, conclusão de jobs em lote, mudanças no status de conciliação, execução da consolidação, geração de relatórios e registros de aprovação. A consulta usa marcadores descritivos para objetos de origem que podem não existir em todas as implantações do SAP S/4HANA. Antes de executar, substitua esses marcadores por views ou tabelas aprovadas do seu sistema.
- Execute a consulta com credenciais de banco de dados somente leitura. A consulta cria explicitamente uma linha de evento para cada atividade necessária e não infere eventos adicionais com base na ordem dos eventos.
- Revise as colunas retornadas. FinancialPeriod é o identificador do caso, ActivityName é a atividade do evento e EventTime é o registro de data e hora obrigatório do evento. EndTime, ResponsibleUser, CompanyCode, GlAccountNumber, DocumentNumber, ReconciliationStatus e TargetCompletionDate são incluídos quando o registro de origem fornece esses dados.
- Valide se todas as atividades necessárias aparecem no resultado, inclusive as que podem não ter registros de origem em determinado período. Para os tipos de atividade ausentes, a consulta retorna uma linha de validação com ActivityName definido como Activity Coverage Validation. Remova essa linha ou trate-a separadamente antes de carregar os dados no ProcessMind, caso a importação de destino aceite apenas eventos de negócio.
- Concilie eventos representativos com os registros da aplicação SAP e os logs de jobs. Confirme se os eventos de lançamentos contábeis correspondem aos registros de ACDOCA, os eventos de jobs aos registros de TBTCO e os eventos de alteração aos registros de CDHDR e CDPOS ou às fontes configuradas para conciliação e aprovação.
- Exporte o resultado como CSV UTF-8 ou em outro formato tabular compatível com o ProcessMind. Mantenha exatamente os nomes de coluna FinancialPeriod, ActivityName e EventTime. Ordene por FinancialPeriod e EventTime e preserve uma linha para cada evento extraído explicitamente.
- Carregue o Event Log no ProcessMind e configure FinancialPeriod como identificador do caso, ActivityName como atividade e EventTime como registro de data e hora de início. Mapeie EndTime como registro de data e hora de término, quando disponível, e mapeie as demais colunas como atributos do evento ou do caso.
Observação importante sobre o mapeamento das fontes: o SAP S/4HANA não oferece uma estrutura de tabelas universal para todas as ferramentas de conciliação, monitores de consolidação, arquivos de relatórios, fluxos de aprovação ou configurações de período de lançamento. Substitua cada marcador [Your table name] e [Your column name] da consulta por um objeto e uma coluna verificados no seu sistema. Não trate um marcador como SQL executável.
Configuração
- Acesso ao banco de dados: Use um usuário do banco de dados SAP HANA com acesso somente leitura e autorização SELECT para ACDOCA, TBTCO, CDHDR, CDPOS e os objetos de origem configurados para controle do período de lançamento, conciliação, consolidação, relatórios e aprovações.
- Configuração do esquema: Substitua [Your SAP schema] pelo esquema real que contém os objetos da aplicação. Confirme se os objetos são tabelas, calculation views ou views de relatórios aprovadas.
- Intervalo de datas: Extraia o ciclo de fechamento completo, normalmente de três a seis meses. Inclua as atividades de abertura e fechamento, lançamentos tardios, estornos, aprovações e ajustes pós-fechamento.
- Período fiscal: Filtre pelo exercício e pelo período fiscal usados pelo código de empresa. Não presuma que os períodos correspondem ao ano-calendário se a variante do exercício fiscal for diferente.
- Código de empresa: Aplique um filtro de código de empresa quando o processo abranger entidades legais selecionadas. Use [Configure based on your system] se o escopo estiver definido em um mapeamento organizacional separado.
- Tipos de documento: Restrinja a extração de lançamentos contábeis aos tipos de documento usados para apropriações, provisões, ajustes, avaliação, compensação e outros lançamentos de fechamento. Confirme a configuração local dos tipos de documento antes de ativar esses filtros.
- Status do job: Inclua apenas jobs concluídos ou finalizados com sucesso nas atividades de conclusão. Valide os valores de status locais de TBTCO antes de aplicar um predicado de status.
- Documentos de alteração: Filtre CDHDR e CDPOS pela classe de objeto e pelos indicadores de alteração relevantes, após confirmar a configuração local. Os documentos de alteração, por si só, podem não identificar todas as atividades de negócio.
- Fontes de conciliação e aprovação: Configure objetos de origem verificados para transições de status da conciliação, ações de preparação, aprovações, datas previstas e aprovações digitais. Essas fontes variam conforme os componentes e as extensões SAP implantados.
- Desempenho: Restrinja os predicados por exercício fiscal, período fiscal, código de empresa, data de lançamento e registro de data e hora do evento. Aplique os filtros em cada ramificação de UNION ALL, evite varreduras irrestritas de ACDOCA e execute a extração durante uma janela de relatórios aprovada.
- Tipos de dados: Normalize os registros de data e hora para usar o mesmo fuso horário e tipo de dado. Converta strings vazias em NULL e preserve os zeros à esquerda nos códigos de empresa, números de conta e números de documento.
- Pré-requisitos: Confirme se os componentes SAP necessários, as ferramentas de conciliação, os recursos de consolidação, o registro de jobs, a ativação de documentos de alteração e qualquer registro de auditoria de relatórios ou fluxos de trabalho estão disponíveis e preenchidos.
- Segurança e Conformidade: Aplique o princípio do menor privilégio, proteja os dados financeiros e de usuários, documente a finalidade da extração e siga os requisitos de auditoria SAP e de banco de dados da organização.
Consulta de exemplo sql
WITH
params AS (
SELECT
TO_DATE('[Start date YYYY-MM-DD]') AS start_date,
TO_DATE('[End date YYYY-MM-DD]') AS end_date,
'[Fiscal year]' AS fiscal_year_filter,
'[Fiscal period]' AS fiscal_period_filter,
'[Company code filter]' AS company_code_filter
FROM DUMMY
),
base_events AS (
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0') AS FinancialPeriod,
'Accruals And Provisions Posted' AS ActivityName,
CAST(a.BUDAT AS TIMESTAMP) AS EventTime,
CAST(NULL AS TIMESTAMP) AS EndTime,
CAST(a.USNAM AS NVARCHAR(80)) AS ResponsibleUser,
CAST(a.RBUKRS AS NVARCHAR(20)) AS CompanyCode,
CAST(a.RACCT AS NVARCHAR(40)) AS GlAccountNumber,
CAST(a.BELNR AS NVARCHAR(40)) AS DocumentNumber,
CAST(NULL AS NVARCHAR(40)) AS ReconciliationStatus,
CAST(NULL AS DATE) AS TargetCompletionDate
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Accrual document type]', '[Provision document type]')
UNION ALL
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0'),
'Adjusting Journal Entry Posted',
CAST(a.BUDAT AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(a.USNAM AS NVARCHAR(80)),
CAST(a.RBUKRS AS NVARCHAR(20)),
CAST(a.RACCT AS NVARCHAR(40)),
CAST(a.BELNR AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Adjusting journal entry document type]')
UNION ALL
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0'),
'Foreign Currency Valuation Run',
CAST(a.BUDAT AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(a.USNAM AS NVARCHAR(80)),
CAST(a.RBUKRS AS NVARCHAR(20)),
CAST(a.RACCT AS NVARCHAR(40)),
CAST(a.BELNR AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Foreign currency valuation document type]')
UNION ALL
SELECT
TO_NVARCHAR(a.RYEAR) || '-' || LPAD(TO_NVARCHAR(a.POPER), 2, '0'),
'Automated Clearing Run Executed',
CAST(a.BUDAT AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(a.USNAM AS NVARCHAR(80)),
CAST(a.RBUKRS AS NVARCHAR(20)),
CAST(a.RACCT AS NVARCHAR(40)),
CAST(a.BELNR AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].ACDOCA a
CROSS JOIN params p
WHERE a.BUDAT >= p.start_date
AND a.BUDAT < ADD_DAYS(p.end_date, 1)
AND (p.fiscal_year_filter = '[Fiscal year]' OR TO_NVARCHAR(a.RYEAR) = p.fiscal_year_filter)
AND (p.fiscal_period_filter = '[Fiscal period]' OR TO_NVARCHAR(a.POPER) = p.fiscal_period_filter)
AND (p.company_code_filter = '[Company code filter]' OR TO_NVARCHAR(a.RBUKRS) = p.company_code_filter)
AND a.BLART IN ('[Automated clearing document type]')
UNION ALL
SELECT
CAST(j.[Financial period column] AS NVARCHAR(20)),
'Subledger Data Transfer Completed',
CAST(j.[Job end timestamp column] AS TIMESTAMP),
CAST(j.[Job end timestamp column] AS TIMESTAMP),
CAST(j.[Job user column] AS NVARCHAR(80)),
CAST(j.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(j.[Job name column] AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].TBTCO j
CROSS JOIN params p
WHERE j.[Job end timestamp column] >= p.start_date
AND j.[Job end timestamp column] < ADD_DAYS(p.end_date, 1)
AND j.[Job status column] = '[Successful job status]'
AND j.[Job name column] IN ('[AR transfer job]', '[AP transfer job]', '[Asset Accounting transfer job]')
UNION ALL
SELECT
CAST(j.[Financial period column] AS NVARCHAR(20)),
'Intercompany Reconciliation Started',
CAST(j.[Job start timestamp column] AS TIMESTAMP),
CAST(j.[Job end timestamp column] AS TIMESTAMP),
CAST(j.[Job user column] AS NVARCHAR(80)),
CAST(j.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(j.[Job name column] AS NVARCHAR(40)),
CAST(NULL AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your SAP schema].TBTCO j
CROSS JOIN params p
WHERE j.[Job start timestamp column] >= p.start_date
AND j.[Job start timestamp column] < ADD_DAYS(p.end_date, 1)
AND j.[Job name column] IN ('[Intercompany reconciliation job]')
UNION ALL
SELECT
CAST(r.[Financial period column] AS NVARCHAR(20)),
'Intercompany Reconciliation Started',
CAST(r.[Status change timestamp column] AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(r.[Responsible user column] AS NVARCHAR(80)),
CAST(r.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(r.[Reconciliation case column] AS NVARCHAR(40)),
CAST(r.[Status column] AS NVARCHAR(40)),
CAST(r.[Target completion date column] AS DATE)
FROM [Your table name for intercompany reconciliation] r
CROSS JOIN params p
WHERE r.[Status change timestamp column] >= p.start_date
AND r.[Status change timestamp column] < ADD_DAYS(p.end_date, 1)
AND r.[Status column] IN ('Started', 'In Progress')
UNION ALL
SELECT
CAST(r.[Financial period column] AS NVARCHAR(20)),
'Account Reconciliation Started',
CAST(r.[Status change timestamp column] AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(r.[Responsible user column] AS NVARCHAR(80)),
CAST(r.[Company code column] AS NVARCHAR(20)),
CAST(r.[GL account column] AS NVARCHAR(40)),
CAST(r.[Reconciliation case column] AS NVARCHAR(40)),
CAST(r.[Status column] AS NVARCHAR(40)),
CAST(r.[Target completion date column] AS DATE)
FROM [Your table name for account reconciliation] r
CROSS JOIN params p
WHERE r.[Status change timestamp column] >= p.start_date
AND r.[Status change timestamp column] < ADD_DAYS(p.end_date, 1)
AND r.[Status column] IN ('In Progress')
UNION ALL
SELECT
CAST(r.[Financial period column] AS NVARCHAR(20)),
'Account Reconciliation Approved',
CAST(r.[Status change timestamp column] AS TIMESTAMP),
CAST(NULL AS TIMESTAMP),
CAST(r.[Approver user column] AS NVARCHAR(80)),
CAST(r.[Company code column] AS NVARCHAR(20)),
CAST(r.[GL account column] AS NVARCHAR(40)),
CAST(r.[Reconciliation case column] AS NVARCHAR(40)),
CAST(r.[Status column] AS NVARCHAR(40)),
CAST(r.[Target completion date column] AS DATE)
FROM [Your table name for account reconciliation] r
CROSS JOIN params p
WHERE r.[Status change timestamp column] >= p.start_date
AND r.[Status change timestamp column] < ADD_DAYS(p.end_date, 1)
AND r.[Status column] = 'Approved'
UNION ALL
SELECT
CAST(c.[Financial period column] AS NVARCHAR(20)),
'Consolidation Tasks Executed',
CAST(c.[Execution start timestamp column] AS TIMESTAMP),
CAST(c.[Execution end timestamp column] AS TIMESTAMP),
CAST(c.[Responsible user column] AS NVARCHAR(80)),
CAST(c.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(c.[Task identifier column] AS NVARCHAR(40)),
CAST(c.[Status column] AS NVARCHAR(40)),
CAST(c.[Target completion date column] AS DATE)
FROM [Your table name for consolidation execution] c
CROSS JOIN params p
WHERE c.[Execution start timestamp column] >= p.start_date
AND c.[Execution start timestamp column] < ADD_DAYS(p.end_date, 1)
AND c.[Status column] IN ('Completed', 'Successful')
UNION ALL
SELECT
CAST(t.[Financial period column] AS NVARCHAR(20)),
'Trial Balance Prepared',
CAST(t.[Report saved timestamp column] AS TIMESTAMP),
CAST(t.[Report saved timestamp column] AS TIMESTAMP),
CAST(t.[Responsible user column] AS NVARCHAR(80)),
CAST(t.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(t.[Report identifier column] AS NVARCHAR(40)),
CAST(t.[Status column] AS NVARCHAR(40)),
CAST(t.[Target completion date column] AS DATE)
FROM [Your table name for trial balance output] t
CROSS JOIN params p
WHERE t.[Report saved timestamp column] >= p.start_date
AND t.[Report saved timestamp column] < ADD_DAYS(p.end_date, 1)
AND t.[Status column] IN ('Saved', 'Completed')
UNION ALL
SELECT
CAST(f.[Financial period column] AS NVARCHAR(20)),
'Financial Statements Generated',
CAST(f.[Generation timestamp column] AS TIMESTAMP),
CAST(f.[Generation timestamp column] AS TIMESTAMP),
CAST(f.[Responsible user column] AS NVARCHAR(80)),
CAST(f.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(f.[Report identifier column] AS NVARCHAR(40)),
CAST(f.[Status column] AS NVARCHAR(40)),
CAST(f.[Target completion date column] AS DATE)
FROM [Your table name for financial statement output] f
CROSS JOIN params p
WHERE f.[Generation timestamp column] >= p.start_date
AND f.[Generation timestamp column] < ADD_DAYS(p.end_date, 1)
AND f.[Status column] IN ('Generated', 'Saved', 'Completed')
UNION ALL
SELECT
CAST(f.[Financial period column] AS NVARCHAR(20)),
'Financial Statements Approved',
CAST(f.[Approval timestamp column] AS TIMESTAMP),
CAST(f.[Approval timestamp column] AS TIMESTAMP),
CAST(f.[Approver user column] AS NVARCHAR(80)),
CAST(f.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(f.[Report identifier column] AS NVARCHAR(40)),
CAST(f.[Status column] AS NVARCHAR(40)),
CAST(f.[Target completion date column] AS DATE)
FROM [Your table name for financial statement approval] f
CROSS JOIN params p
WHERE f.[Approval timestamp column] >= p.start_date
AND f.[Approval timestamp column] < ADD_DAYS(p.end_date, 1)
AND f.[Status column] = 'Approved'
UNION ALL
SELECT
CAST(x.[Financial period column] AS NVARCHAR(20)),
'Period Opened For Posting',
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Changed by column] AS NVARCHAR(80)),
CAST(x.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(x.[Change document number column] AS NVARCHAR(40)),
CAST(x.[New status column] AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your table name for posting period changes] x
CROSS JOIN params p
WHERE x.[Change timestamp column] >= p.start_date
AND x.[Change timestamp column] < ADD_DAYS(p.end_date, 1)
AND x.[New status column] = 'Open'
UNION ALL
SELECT
CAST(x.[Financial period column] AS NVARCHAR(20)),
'Period Closed For Posting',
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Change timestamp column] AS TIMESTAMP),
CAST(x.[Changed by column] AS NVARCHAR(80)),
CAST(x.[Company code column] AS NVARCHAR(20)),
CAST(NULL AS NVARCHAR(40)),
CAST(x.[Change document number column] AS NVARCHAR(40)),
CAST(x.[New status column] AS NVARCHAR(40)),
CAST(NULL AS DATE)
FROM [Your table name for posting period changes] x
CROSS JOIN params p
WHERE x.[Change timestamp column] >= p.start_date
AND x.[Change timestamp column] < ADD_DAYS(p.end_date, 1)
AND x.[New status column] = 'Closed'
),
activity_list AS (
SELECT 'Period Opened For Posting' AS ActivityName FROM DUMMY
UNION ALL SELECT 'Subledger Data Transfer Completed' FROM DUMMY
UNION ALL SELECT 'Intercompany Reconciliation Started' FROM DUMMY
UNION ALL SELECT 'Accruals And Provisions Posted' FROM DUMMY
UNION ALL SELECT 'Automated Clearing Run Executed' FROM DUMMY
UNION ALL SELECT 'Foreign Currency Valuation Run' FROM DUMMY
UNION ALL SELECT 'Account Reconciliation Started' FROM DUMMY
UNION ALL SELECT 'Adjusting Journal Entry Posted' FROM DUMMY
UNION ALL SELECT 'Account Reconciliation Approved' FROM DUMMY
UNION ALL SELECT 'Consolidation Tasks Executed' FROM DUMMY
UNION ALL SELECT 'Trial Balance Prepared' FROM DUMMY
UNION ALL SELECT 'Financial Statements Generated' FROM DUMMY
UNION ALL SELECT 'Financial Statements Approved' FROM DUMMY
UNION ALL SELECT 'Period Closed For Posting' FROM DUMMY
),
missing_activities AS (
SELECT
CAST(NULL AS NVARCHAR(20)) AS FinancialPeriod,
'Activity Coverage Validation' AS ActivityName,
CAST(NULL AS TIMESTAMP) AS EventTime,
CAST(NULL AS TIMESTAMP) AS EndTime,
CAST(NULL AS NVARCHAR(80)) AS ResponsibleUser,
CAST(NULL AS NVARCHAR(20)) AS CompanyCode,
CAST(NULL AS NVARCHAR(40)) AS GlAccountNumber,
CAST(NULL AS NVARCHAR(40)) AS DocumentNumber,
CAST('Missing activity: ' || al.ActivityName AS NVARCHAR(40)) AS ReconciliationStatus,
CAST(NULL AS DATE) AS TargetCompletionDate
FROM activity_list al
LEFT JOIN base_events b ON b.ActivityName = al.ActivityName
WHERE b.ActivityName IS NULL
)
SELECT
FinancialPeriod,
ActivityName,
EventTime,
EndTime,
ResponsibleUser,
CompanyCode,
GlAccountNumber,
DocumentNumber,
ReconciliationStatus,
TargetCompletionDate
FROM base_events
UNION ALL
SELECT
FinancialPeriod,
ActivityName,
EventTime,
EndTime,
ResponsibleUser,
CompanyCode,
GlAccountNumber,
DocumentNumber,
ReconciliationStatus,
TargetCompletionDate
FROM missing_activities
ORDER BY FinancialPeriod, EventTime, ActivityName Pronto para começar?
Use este Template de dados para ajudar sua organização a ganhar eficiência e fortalecer a Conformidade. Comece hoje a transformar seu processo de Record to Report.
Otimize hoje o fechamento e a conciliação de Record to Report
Identifique ineficiências e reduza em até 30% o tempo de ciclo do fechamento.
Não é necessário informar cartão de crédito. Comece em poucos minutos.