Integração com o Oracle EBS

A integração do Oracle EBS (E-Business Suite) oferece suporte a modelos de dados de pedido a recebimento com ingestão de dados usando o Incorta. O Incorta usa uma instância hospedada ou privada para ingerir 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 Serviço Gerenciado para Apache Airflow para orquestrar jobs do BigQuery.

O diagrama a seguir descreve como os dados do Oracle EBS ficam disponíveis pela carga de trabalho operacional do Oracle EBS:

Fonte de dados do Oracle EBS

Figura 1. Visão geral da integração do Cortex Framework-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 config.json arquivo configura as definições necessárias para transferir dados de qualquer fonte, 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 em tabelas agregadas. 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 de relatórios. -

Ingestão de dados

Entre em contato com um representante do Incorta e consulte o guia de configuração do Oracle EBS para o Google Cortex para mais detalhes sobre como ingerir dados do Oracle no BigQuery.

Embora o Incorta ofereça suporte à programação de jobs de ingestão de dados em vários intervalos, para otimizar o desempenho e a atualização de dados, recomendamos programar jobs de ingestão de dados do Incorta para serem executados diariamente. Se o caso de uso exigir o tratamento de dados excluídos, ative-os seguindo as instruções na documentação do Incorta, Tratamento 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 Gerenciado

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

Configurações do materializador

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

Modelo de dados

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

Diagrama de relacionamento de entidade 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 do 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 de parâmetros de configuração de implantação , quando aplicável. Essa integração também usa a dimensão do calendário gregoriano K9 do Cortex 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 unidos que descrevem entidades comerciais, 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 repetidos aninhados 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 UNNEST operador para nivelar os elementos em linhas conforme mostrado em 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ê desagrupar esses atributos repetidos, filtre para um único valor de atributo para evitar a contagem excessiva de medidas.

Contas a receber aplicadas

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

Tabelas agregadas

Esses são os objetos vermelhos no ERD e agregam 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, contagens, somas) e não incluem medidas como médias e proporções. Isso significa que os usuários precisam derivar as medidas não aditivas para garantir que elas possam ser derivadas adequadamente ao agregar até um nível mais alto, como mensal. Consulte scripts de exemplo como src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql.

Valores de conversão de moeda

Cada tabela de agregação usa a dimensão CurrencyRateMD para criar um campo repetido aninhado 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 agrupe em moedas de destino para relatórios para 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 linha aninhados

A tabela SalesOrdersDailyAgg contém um campo repetido aninhado chamado LINES para diferenciar entre atributos e medidas de nível de linha (por exemplo, ITEM_CATEGORY_NAME e AMOUNTS) e atributos e medidas de nível de cabeçalho (por exemplo, BILL_TO_CUSTOMER_NAME e NUM_ORDERS). Tenha cuidado ao consultar esses níveis separadamente para evitar a contagem excessiva.

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

A seguir