Integração com o Oracle EBS

A integração do Oracle EBS (E-Business Suite) oferece suporte a modelos de dados de ordem a caixa com ingestão de dados usando o Incorta. O Incorta usa uma instância hospedada ou particular para processar os dados do Oracle em um conjunto de dados do CDC do BigQuery e processa o CDC. A partir daí, o Cortex Framework transforma e materializa os dados do CDC em recursos de relatórios usando o Cloud Composer para orquestrar jobs do BigQuery.

O diagrama a seguir descreve como os dados do Oracle EBS estão disponíveis na carga de trabalho operacional do Oracle EBS:

Fonte de dados do Oracle EBS

Figura 1. Visão geral da integração do Cortex Framework com o Oracle EBS-Incorta .

Configuração da implantação

A tabela a seguir compartilha os parâmetros para configurar a carga de trabalho do Oracle EBS: O arquivo config.json configura as configurações necessárias para transferir dados de qualquer origem, incluindo o Oracle EBS. Esse arquivo contém os seguintes parâmetros para o Oracle EBS:

Parâmetro Significado Valor padrão Descrição Campo de origem do Oracle correspondente
OracleEBS.itemCategorySetIDs Conjuntos de categorias de itens [1100000425] Lista de conjuntos a serem usados para categorizar itens. MTL_ITEM_CATEGORIES.CATEGORY_SET_ID
OracleEBS.currencyConversionType Tipo de conversão de moeda "Corporate" Tipo de conversão de moeda a ser usado em tabelas agregadas. GL_DAILY_RATES.CONVERSION_TYPE
OracleEBS.currencyConversionTargets Metas de conversão de moeda ["USD"] Lista de moedas de destino a serem incluídas nas tabelas de agregação. GL_DAILY_RATES.TO_CURRENCY
OracleEBS.languages Idiomas ["US"] Lista de idiomas para apresentar traduções de campos, como descrições de itens. FND_LANGUAGES.LANGUAGE_CODE
OracleEBS.datasets.cdc Conjunto de dados do CDC - Conjunto de dados do CDC. -
OracleEBS.datasets.reporting Conjunto de dados de relatórios "REPORTING_OracleEBS" Conjunto de dados do relatório. -

Ingestão de dados

Entre em contato com um representante da Incorta e consulte o guia de configuração do Oracle EBS para o Google Cortex para saber como transferir dados do Oracle para o BigQuery.

Embora o Incorta ofereça suporte ao agendamento de jobs de ingestão de dados em vários intervalos, para ter o melhor desempenho e atualização de dados, recomendamos agendar os jobs de ingestão de dados do Incorta para execução diária. Se o seu caso de uso exigir o processamento de dados excluídos, ative-os seguindo as instruções na documentação da Incorta, Processamento de exclusões de origem.

Configurações de relatórios

Esta seção descreve as configurações de relatórios necessárias para seu ambiente.

Conexão do Airflow do Cloud Composer

Crie uma conexão do BigQuery Airflow chamada oracleebs_reporting_bq, que será usada pelo operador do BigQuery para realizar transformações de relatórios. Confira mais detalhes na documentação sobre como gerenciar conexões do Airflow.

Configurações do Materializer

Encontre as configurações de materialização em src/OracleEBS/config/reporting_settings.yaml. Por padrão, as tabelas dimensão, cabeçalho e agregada são materializadas diariamente. As tabelas da camada de relatórios também são particionadas por data. As partições e a agregação podem ser personalizadas, se necessário. Para mais informações, consulte Configurações do cluster e Particionamento de tabelas.

Modelo de dados

Esta seção descreve o modelo de dados lógicos do Oracle EBS Order to Cash. Cada subseção explica o diagrama de relacionamento de entidade (ERD, na sigla em inglês) do Oracle EBS a seguir.

Diagrama de relacionamento de entidades para o Oracle EBS

Figura 2. Oracle EBS: diagrama de relacionamento de entidades.

Visualizações de fatos básicos

Esses são os objetos azuis no ERD e são visualizações em tabelas de CDC sem transformações, exceto alguns aliases de nome de coluna.

Tabelas de dimensões

Esses são os objetos roxos no ERD e contêm os atributos dimensionais relevantes usados pelas tabelas de relatórios. Por padrão, essas dimensões são filtradas com base nos valores do parâmetro da configuração de implantação, quando aplicável. Essa integração também usa a dimensão do calendário gregoriano do Cortex K9 para atributos de data, que é implantada por padrão.

Tabelas de cabeçalho

Esses são os objetos verdes no ERD e contêm os fatos e dimensões mesclados que descrevem entidades de negócios, como pedidos e faturas, no nível do cabeçalho. As tabelas de cabeçalho são particionadas por uma data de evento principal correspondente a cada entidade, por exemplo, ORDERED_DATE ou INVOICE_DATE.

Linhas aninhadas e repetidas

As tabelas SalesOrders e SalesInvoices contêm campos aninhados e repetidos chamados LINES. Esses campos agrupam as várias linhas de pedido e de fatura nos cabeçalhos associados. Para consultar esses campos aninhados, use o operador UNNEST para nivelar os elementos em linhas, conforme mostrado nos scripts de exemplo fornecidos (src/OracleEBS/src/reporting/ddls/samples/).

Atributos aninhados e repetidos

Algumas tabelas contêm outros campos repetidos aninhados, como ITEM_CATEGORIES ou ITEM_DESCRIPTIONS, em que vários valores do mesmo atributo podem ser aplicados à entidade. Se você desaninhar esses atributos repetidos, filtre até um único valor de atributo para evitar a contagem de medidas.

Recebíveis aplicados

SalesAppliedReceivables é uma tabela exclusiva em que as entidades podem fazer referência a faturas por conta própria ou a uma fatura com um recibo de caixa. Portanto, há campos INVOICE e CASH_RECEIPT aninhados (mas não repetidos), em que o campo CASH_RECEIPT é preenchido apenas quando APPLICATION_TYPE = 'CASH'.

Tabelas de agregação

Esses são os objetos vermelhos no ERD e agregados das tabelas de cabeçalho até as medidas diárias. Cada uma dessas tabelas também é particionada por uma data de evento principal. As tabelas agregadas contêm apenas medidas aditivas (por exemplo, contagem, somas) e não incluem medidas como médias e proporções. Isso significa que os usuários precisam extrair as medidas não aditivas para garantir que elas possam ser extraídas de forma adequada ao agregar até um nível mais alto, como mensal. Confira exemplos de scripts, como src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql.

Valores de conversão de moeda

Cada tabela agregada usa a dimensão CurrencyRateMD para criar um campo repetido anexado de AMOUNTS que contém medidas de moeda convertidas em cada uma das moedas de destino especificadas na configuração de implantação. Ao usar essas medidas, filtre para uma única moeda de destino ou grupo em moedas de destino para gerar relatórios e evitar a contagem excessiva. Isso também pode ser visto nos scripts de exemplo, como src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql.

Atributos e medidas de linhas aninhadas

A tabela SalesOrdersDailyAgg contém um campo repetido aninhado chamado LINES para diferenciar entre medidas e atributos no nível da linha (por exemplo, ITEM_CATEGORY_NAME e AMOUNTS) e no nível do cabeçalho (por exemplo, BILL_TO_CUSTOMER_NAME e NUM_ORDERS). Consulte esses detalhes separadamente para evitar contagem excessiva.

Embora as faturas também tenham uma noção de cabeçalhos e linhas, a tabela SalesInvoicesDailyAgg contém apenas medidas no nível da linha, portanto, não segue a mesma estrutura de SalesOrdersDailyAgg.

A seguir