Integração com o Oracle EBS

A integração do Oracle EBS (E-Business Suite) suporta modelos de dados de encomenda a dinheiro com carregamento de dados através do Incorta. O Incorta usa uma instância alojada ou privada para carregar os dados do Oracle para um conjunto de dados de CDC do BigQuery e processa o CDC. A partir daí, a Cortex Framework transforma e materializa os dados de CDC em recursos de relatórios através do Cloud Composer para orquestrar tarefas do BigQuery.

O diagrama seguinte descreve como os dados do Oracle EBS estão disponíveis através da carga de trabalho operacional do Oracle EBS:

Origem de dados do Oracle EBS

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

Configuração de implementação

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

Parâmetro Significado Valor predefinido Descrição Campo de origem do Oracle correspondente
OracleEBS.itemCategorySetIDs Conjuntos de categorias de artigos [1100000425] Lista de conjuntos a usar para categorizar artigos. MTL_ITEM_CATEGORIES.CATEGORY_SET_ID
OracleEBS.currencyConversionType Tipo de conversão de moeda "Corporate" Tipo de conversão de moeda a usar em tabelas agregadas. GL_DAILY_RATES.CONVERSION_TYPE
OracleEBS.currencyConversionTargets Alvos de conversão de moeda ["USD"] Lista de moedas de destino a incluir nas tabelas agregadas. GL_DAILY_RATES.TO_CURRENCY
OracleEBS.languages Idiomas ["US"] Lista de idiomas para apresentar traduções de campos como descrições de artigos. 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. -

Carregamento de dados

Contacte um representante da Incorta e consulte o Oracle EBS for Google Cortex Setup Guide para ver detalhes sobre o carregamento de dados do Oracle para o BigQuery.

Embora o Incorta suporte a programação de tarefas de carregamento de dados em vários intervalos, para um desempenho e atualidade dos dados ideais, recomendamos que programe as tarefas de carregamento de dados do Incorta para serem executadas diariamente. Se o seu exemplo de utilização exigir o processamento de dados eliminados, certifique-se de que os ativa seguindo as instruções na documentação do Incorta, Processamento de eliminações de origens.

Configurações de relatórios

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

Ligação do Airflow do Cloud Composer

Crie uma ligação do Airflow do BigQuery denominada oracleebs_reporting_bq que será usada pelo operador do BigQuery para fazer transformações de relatórios. Veja mais detalhes na documentação sobre a gestão de associações do Airflow.

Definições do Materializer

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

Modelo de dados

Esta secção descreve o modelo de dados lógicos do Oracle EBS Order to Cash. Cada subsecção explica o seguinte diagrama de relação de entidades (ERD) do Oracle EBS.

Diagrama de relação entre entidades para o Oracle EBS

Figura 2. Oracle EBS: diagrama de relação entre entidades.

Vistas de factos base

Estes são os objetos azuis no DRE e são vistas em tabelas de CDC sem transformações, exceto alguns alias de nomes de colunas.

Tabelas de dimensões

Estes são os objetos roxos no DER e contêm os atributos dimensionais relevantes usados pelas tabelas de relatórios. Por predefinição, estas dimensões são filtradas com base nos valores dos parâmetros de configuração da implementação quando aplicável. Esta integração também usa a dimensão do calendário gregoriano do Cortex K9 para atributos de data, que é implementada por predefinição.

Tabelas de cabeçalho

Estes são os objetos verdes no DER e contêm os factos e as dimensões associados que descrevem entidades empresariais, como encomendas e faturas ao nível do cabeçalho. As tabelas de cabeçalhos são particionadas por uma data do 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 denominados LINES. Estes campos agrupam as várias linhas de encomenda e linhas de fatura nos respetivos cabeçalhos associados. Para consultar estes campos aninhados, use o operador UNNEST para reduzir os elementos a linhas, conforme mostrado nos scripts de exemplo fornecidos (src/OracleEBS/src/reporting/ddls/samples/).

Atributos aninhados e repetidos

Algumas tabelas contêm campos repetidos aninhados adicionais, como ITEM_CATEGORIES ou ITEM_DESCRIPTIONS, em que vários valores do mesmo atributo se podem aplicar à entidade. Se desagrupar estes atributos repetidos, certifique-se de que filtra até um valor de atributo único para evitar a contagem excessiva de medidas.

Contas a receber aplicadas

SalesAppliedReceivables é uma tabela única na medida em que as entidades podem fazer referência a faturas por si só ou a uma fatura com um recibo de caixa. Como tal, existem campos INVOICE e CASH_RECEIPT aninhados (mas não repetidos), em que o campo CASH_RECEIPT só é preenchido quando APPLICATION_TYPE = 'CASH'.

Tabelas agregadas

Estes são os objetos vermelhos no DER e agregam-se das tabelas de cabeçalho até às medidas diárias. Cada uma destas tabelas também é particionada por uma data do evento principal. As tabelas agregadas contêm apenas medidas aditivas (por exemplo, contagens, somas) e não incluem medidas como médias e relações. Isto significa que os utilizadores têm de derivar as medidas não aditivas para garantir que podem ser derivadas adequadamente quando agregadas a um nível mais elevado, como o mensal. Veja 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 aninhado de AMOUNTS que contém medidas de moeda convertidas em cada uma das moedas de destino especificadas na configuração de implementação. Quando usar estas medidas, certifique-se de que filtra por uma única moeda de destino ou agrupa por moedas de destino para relatórios, de modo a evitar a contagem excessiva. Também pode ver esta situação 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 denominado LINES para diferenciar entre atributos e medidas ao nível do elemento publicitário (por exemplo, ITEM_CATEGORY_NAME e AMOUNTS) versus atributos e medidas ao nível do cabeçalho (por exemplo, BILL_TO_CUSTOMER_NAME e NUM_ORDERS). Tenha cuidado ao consultar estes detalhes separadamente para evitar a contagem excessiva.

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

O que se segue?