Oracle EBS 통합

Oracle EBS (E-Business Suite) 통합은 Incorta를 사용하여 데이터 처리와 함께 주문-대금 수령 데이터 모델을 지원합니다. Incorta는 호스팅된 인스턴스 또는 비공개 인스턴스를 사용하여 Oracle의 데이터를 BigQuery CDC 데이터 세트로 처리하고 CDC 처리를 처리합니다. 그런 다음 Cortex Framework는 Cloud Composer를 사용하여 BigQuery 작업을 조정하여 CDC 데이터를 보고 애셋으로 변환하고 구체화합니다.

다음 다이어그램은 Oracle EBS 운영 워크로드를 통해 Oracle EBS 데이터를 사용하는 방법을 설명합니다.

Oracle EBS 데이터 소스

그림 1 Cortex Framework-Oracle EBS-Incorta 통합 개요

배포 구성

다음 표에는 Oracle EBS 워크로드를 구성하기 위한 매개변수가 나와 있습니다. config.json 파일은 Oracle EBS를 비롯한 모든 데이터 소스에서 데이터를 전송하는 데 필요한 설정을 구성합니다. 이 파일에는 Oracle EBS의 다음 매개변수가 포함됩니다.

매개변수 의미 기본값 설명 일치하는 Oracle 소스 필드
OracleEBS.itemCategorySetIDs 상품 카테고리 세트 [1100000425] 항목을 분류하는 데 사용할 세트 목록입니다. MTL_ITEM_CATEGORIES.CATEGORY_SET_ID
OracleEBS.currencyConversionType 통화 변환 유형 "Corporate" 집계 표에 사용할 통화 변환 유형입니다. GL_DAILY_RATES.CONVERSION_TYPE
OracleEBS.currencyConversionTargets 통화 변환 타겟 ["USD"] 집계 표에 포함할 대상 통화 목록입니다. GL_DAILY_RATES.TO_CURRENCY
OracleEBS.languages 언어 ["US"] 상품 설명과 같은 필드의 번역을 표시할 언어 목록입니다. FND_LANGUAGES.LANGUAGE_CODE
OracleEBS.datasets.cdc CDC 데이터 세트 - CDC 데이터 세트 -
OracleEBS.datasets.reporting 보고 데이터 세트 "REPORTING_OracleEBS" 보고 데이터 세트 -

데이터 수집

Incorta 담당자에게 문의하고 Google Cortex 설정을 위한 Oracle EBS 가이드에서 Oracle에서 BigQuery로 데이터를 처리하는 방법을 자세히 알아보세요.

Incorta는 다양한 간격으로 데이터 처리 작업을 예약하도록 지원하지만 최적의 성능과 데이터 최신성을 위해 Incorta 데이터 처리 작업이 매일 실행되도록 예약하는 것이 좋습니다. 사용 사례에서 삭제된 데이터를 처리해야 하는 경우 Incorta 문서 소스 삭제 처리의 안내에 따라 이러한 데이터를 사용 설정해야 합니다.

보고 구성

이 섹션에서는 환경에 필요한 보고 구성을 간략히 설명합니다.

Cloud Composer Airflow 연결

BigQuery 연산자가 보고 변환을 실행하는 데 사용할 oracleebs_reporting_bq라는 BigQuery Airflow 연결을 만듭니다. 자세한 내용은 Airflow 연결 관리 문서를 참고하세요.

Materializer 설정

src/OracleEBS/config/reporting_settings.yaml에서 구체화 설정을 찾습니다. 기본적으로 측정기준, 헤더, 집계 테이블은 매일 매터리얼라이즈됩니다. 보고 영역 테이블도 날짜별로 파티션이 나뉩니다. 필요한 경우 파티션과 클러스터링을 맞춤설정할 수 있습니다. 자세한 내용은 클러스터 설정테이블 파티션을 참고하세요.

데이터 모델

이 섹션에서는 Oracle EBS 주문-대금 수령 로직 데이터 모델을 설명합니다. 각 하위 섹션에서는 다음 Oracle EBS 항목 관계 다이어그램 (ERD)을 설명합니다.

Oracle EBS의 항목 관계 다이어그램

그림 2 Oracle EBS: 항목 관계 다이어그램

기본 사실 뷰

ERD의 파란색 객체이며 일부 열 이름 별칭 외에 변환이 없는 CDC 테이블의 뷰입니다.

측정기준 테이블

ERD의 보라색 객체이며 보고 테이블에서 사용하는 관련 측정기준 속성을 포함합니다. 기본적으로 이러한 측정기준은 해당하는 경우 배포 구성 매개변수 값을 기준으로 필터링됩니다. 이 통합은 날짜 속성에 기본적으로 배포되는 Cortex K9 Gregorian Calendar 측정기준도 사용합니다.

헤더 표

ERD의 녹색 객체이며 헤더 수준에서 주문 및 인보이스와 같은 비즈니스 항목을 설명하는 결합된 사실 및 측정기준을 포함합니다. 헤더 테이블은 각 항목에 해당하는 기본 이벤트 날짜(예: ORDERED_DATE 또는 INVOICE_DATE)로 파티셔닝됩니다.

중첩되고 반복되는 선

SalesOrdersSalesInvoices 테이블에는 LINES라는 중첩 반복 필드가 포함되어 있습니다. 이 필드는 연결된 헤더 아래에 다양한 주문 내역 및 인보이스 내역을 그룹화합니다. 이러한 중첩된 필드를 쿼리하려면 제공된 샘플 스크립트 (src/OracleEBS/src/reporting/ddls/samples/)와 같이 UNNEST 연산자를 사용하여 요소를 행으로 평면화합니다.

중첩되고 반복되는 속성

일부 테이블에는 ITEM_CATEGORIES 또는 ITEM_DESCRIPTIONS와 같이 중첩된 반복 필드가 추가로 포함되어 있으며, 여기서 동일한 속성의 여러 값이 항목에 적용될 수 있습니다. 이러한 중복 속성을 중첩 해제하는 경우 측정항목이 과도하게 집계되지 않도록 단일 속성 값으로 필터링해야 합니다.

적용된 수취채권

SalesAppliedReceivables는 항목이 인보이스를 단독으로 참조하거나 현금 영수증이 있는 인보이스를 참조할 수 있다는 점에서 고유한 테이블입니다. 따라서 중첩된 (반복되지 않음) INVOICECASH_RECEIPT 필드가 있으며 CASH_RECEIPT 필드는 APPLICATION_TYPE = 'CASH'인 경우에만 채워집니다.

집계 테이블

ERD의 빨간색 객체이며 헤더 테이블에서 일일 측정항목까지 집계됩니다. 또한 각 테이블은 기본 이벤트 날짜별로 파티션이 나뉩니다. 집계 표에는 합산 측정항목 (예: 개수, 합계)만 포함되며 평균 및 비율과 같은 측정항목은 포함되지 않습니다. 즉, 사용자는 월별과 같이 더 높은 수준으로 집계할 때 적절하게 파생될 수 있도록 비덧셈식 측정항목을 파생해야 합니다. src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql와 같은 샘플 스크립트를 참고하세요.

통화 변환 금액

각 집계 표는 CurrencyRateMD 측정기준을 사용하여 배포 구성에 지정된 각 대상 통화로 변환된 통화 측정값이 포함된 중첩된 반복 AMOUNTS 필드를 만듭니다. 이러한 측정항목을 사용할 때는 과도한 집계를 방지하기 위해 보고용으로 단일 대상 통화 또는 대상 통화 그룹으로 필터링해야 합니다. src/OracleEBS/src/reporting/ddls/samples/SalesOrderAggMetrics.sql와 같은 샘플 스크립트에서도 확인할 수 있습니다.

중첩된 선 속성 및 측정항목

SalesOrdersDailyAgg 테이블에는 행 수준 속성 및 측정항목 (예: ITEM_CATEGORY_NAMEAMOUNTS)과 헤더 수준 속성 및 측정항목(예: BILL_TO_CUSTOMER_NAMENUM_ORDERS)을 구분하기 위해 중첩된 반복 필드 LINES가 포함되어 있습니다. 과도한 집계를 방지하려면 이러한 그래인을 별도로 쿼리해야 합니다.

인보이스에도 헤더와 행의 개념이 있지만 테이블 SalesInvoicesDailyAgg에는 행 수준의 측정항목만 포함되어 있으므로 SalesOrdersDailyAgg와 동일한 구조를 따르지 않습니다.

다음 단계