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:
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.
Configurações recomendadas
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.
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?
- Para mais informações sobre outras origens de dados e cargas de trabalho, consulte o artigo Origens de dados e cargas de trabalho.
- Para mais informações sobre os passos de implementação em ambientes de produção, consulte os Pré-requisitos de implementação da base de dados do Cortex Framework.