Init
This commit is contained in:
@@ -0,0 +1,178 @@
|
||||
--=============================================================================================================================
|
||||
--Step 1: Create Template Table
|
||||
--=============================================================================================================================
|
||||
|
||||
--Table LM_BALANCESHEET_HEADER
|
||||
CREATE TABLE "CT_ET_TEMPLATES"."LM_BALANCESHEET_HEADER"
|
||||
("A_KEY" NUMBER(38,0) NOT NULL ENABLE,
|
||||
"A_WORKFLOW_HISTORY_KEY" NUMBER(38,0) NOT NULL ENABLE,
|
||||
"COUNTRY" VARCHAR2(3 CHAR),
|
||||
"REFERENCE_DATE" DATE,
|
||||
"VERSION" NUMBER(10,0),
|
||||
"STATUS" VARCHAR2(1 CHAR),
|
||||
"FREE_TEXT" VARCHAR2(4000 CHAR)
|
||||
);
|
||||
/
|
||||
|
||||
|
||||
--Table LM_BALANCESHEET_ITEM
|
||||
CREATE TABLE "CT_ET_TEMPLATES"."LM_BALANCESHEET_ITEM"
|
||||
("A_KEY" NUMBER(38,0) NOT NULL ENABLE,
|
||||
"A_WORKFLOW_HISTORY_KEY" NUMBER(38,0) NOT NULL ENABLE,
|
||||
"A_HEADER_FK" NUMBER(38,0) NOT NULL ENABLE,
|
||||
"ITEM_LEVEL" NUMBER(10,0),
|
||||
"POSITION" NUMBER(10,0),
|
||||
"ITEM_TYPE" VARCHAR2(10 CHAR),
|
||||
"FULLY_QUALIFIED_POSITION" VARCHAR2(200 CHAR),
|
||||
"NAME" VARCHAR2(200 CHAR),
|
||||
"AMOUNT" NUMBER(28,8)
|
||||
);
|
||||
/
|
||||
|
||||
--=============================================================================================================================
|
||||
--Step 2: Configure file type for processing
|
||||
--=============================================================================================================================
|
||||
|
||||
--Table LM_BALANCESHEET_HEADER
|
||||
CALL CT_MRDS.FILE_MANAGER.ADD_SOURCE_FILE_CONFIG(
|
||||
pSourceKey => 'LM'
|
||||
,pSourceFileType => 'INPUT'
|
||||
,pSourceFileId => 'AggregatedDailyFinancialStatementOfTheEurosystem'
|
||||
,pSourceFileDesc => 'Table provides data on the assets and liabilities of the ECB and Euro Area NCBs.'
|
||||
,pSourceFileNamePattern => '.*.csv'
|
||||
,pTableId => 'LM_BALANCESHEET_HEADER'
|
||||
,pTemplateTableName => 'CT_ET_TEMPLATES.LM_BALANCESHEET_HEADER'
|
||||
,pContainerFileKey => NULL
|
||||
);
|
||||
/
|
||||
|
||||
--Table LM_BALANCESHEET_ITEM
|
||||
CALL CT_MRDS.FILE_MANAGER.ADD_SOURCE_FILE_CONFIG(
|
||||
pSourceKey => 'LM'
|
||||
,pSourceFileType => 'INPUT'
|
||||
,pSourceFileId => 'AggregatedDailyFinancialStatementOfTheEurosystem'
|
||||
,pSourceFileDesc => 'Table provides data on the assets and liabilities of the ECB and Euro Area NCBs.'
|
||||
,pSourceFileNamePattern => '.*.csv'
|
||||
,pTableId => 'LM_BALANCESHEET_ITEM'
|
||||
,pTemplateTableName => 'CT_ET_TEMPLATES.LM_BALANCESHEET_ITEM'
|
||||
,pContainerFileKey => NULL
|
||||
);
|
||||
/
|
||||
|
||||
--=============================================================================================================================
|
||||
--Step 3: Date format adjustment
|
||||
--=============================================================================================================================
|
||||
|
||||
--Table LM_BALANCESHEET_HEADER
|
||||
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
|
||||
pTemplateTableName => 'CT_ET_TEMPLATES.LM_BALANCESHEET_HEADER',
|
||||
pColumnName => 'REFERENCE_DATE',
|
||||
pDateFormat => 'YYYY-MM-DD'
|
||||
);
|
||||
/
|
||||
|
||||
--=============================================================================================================================
|
||||
--Step 4: Create External Tables
|
||||
--=============================================================================================================================
|
||||
|
||||
--Table LM_BALANCESHEET_HEADER
|
||||
|
||||
--INBOX -For incoming files awaiting processing
|
||||
BEGIN
|
||||
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
|
||||
pTableName => 'LM_BALANCESHEET_HEADER_INBOX',
|
||||
pTemplateTableName => 'CT_ET_TEMPLATES.LM_BALANCESHEET_HEADER',
|
||||
pPrefix => 'INBOX/LM/AggregatedDailyFinancialStatementOfTheEurosystem/LM_BALANCESHEET_HEADER',
|
||||
pBucketUri => CT_MRDS.ENV_MANAGER.gvInboxBucketUri
|
||||
);
|
||||
END;
|
||||
/
|
||||
|
||||
--ODS - for processed files in operational data store
|
||||
BEGIN
|
||||
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
|
||||
pTableName => 'LM_BALANCESHEET_HEADER_ODS',
|
||||
pTemplateTableName => 'CT_ET_TEMPLATES.LM_BALANCESHEET_HEADER',
|
||||
pPrefix => 'ODS/LM/LM_BALANCESHEET_HEADER',
|
||||
pBucketUri => CT_MRDS.ENV_MANAGER.gvDataBucketUri
|
||||
);
|
||||
END;
|
||||
/
|
||||
|
||||
--ARCHIVE - For historical/archived files
|
||||
BEGIN
|
||||
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
|
||||
pTableName => 'LM_BALANCESHEET_HEADER_ARCHIVE',
|
||||
pTemplateTableName => 'CT_ET_TEMPLATES.LM_BALANCESHEET_HEADER',
|
||||
pPrefix => 'ARCHIVE/LM/LM_BALANCESHEET_HEADER',
|
||||
pBucketUri => CT_MRDS.ENV_MANAGER.gvArchiveBucketUri
|
||||
);
|
||||
END;
|
||||
/
|
||||
---------------------------------------------------------------
|
||||
--Table LM_BALANCESHEET_ITEM
|
||||
|
||||
--INBOX -For incoming files awaiting processing
|
||||
BEGIN
|
||||
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
|
||||
pTableName => 'LM_BALANCESHEET_ITEM_INBOX',
|
||||
pTemplateTableName => 'CT_ET_TEMPLATES.LM_BALANCESHEET_ITEM',
|
||||
pPrefix => 'INBOX/LM/AggregatedDailyFinancialStatementOfTheEurosystem/LM_BALANCESHEET_ITEM',
|
||||
pBucketUri => CT_MRDS.ENV_MANAGER.gvInboxBucketUri
|
||||
);
|
||||
END;
|
||||
/
|
||||
|
||||
--ODS - for processed files in operational data store
|
||||
BEGIN
|
||||
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
|
||||
pTableName => 'LM_BALANCESHEET_ITEM_ODS',
|
||||
pTemplateTableName => 'CT_ET_TEMPLATES.LM_BALANCESHEET_ITEM',
|
||||
pPrefix => 'ODS/LM/LM_BALANCESHEET_ITEM',
|
||||
pBucketUri => CT_MRDS.ENV_MANAGER.gvDataBucketUri
|
||||
);
|
||||
END;
|
||||
/
|
||||
|
||||
--ARCHIVE - For historical/archived files
|
||||
BEGIN
|
||||
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
|
||||
pTableName => 'LM_BALANCESHEET_ITEM_ARCHIVE',
|
||||
pTemplateTableName => 'CT_ET_TEMPLATES.LM_BALANCESHEET_ITEM',
|
||||
pPrefix => 'ARCHIVE/LM/LM_BALANCESHEET_ITEM',
|
||||
pBucketUri => CT_MRDS.ENV_MANAGER.gvArchiveBucketUri
|
||||
);
|
||||
END;
|
||||
/
|
||||
|
||||
--=============================================================================================================================
|
||||
--Step 5: Create Compatibility View
|
||||
--=============================================================================================================================
|
||||
|
||||
--View BALANCESHEET_HEADER_MARS
|
||||
CREATE OR REPLACE VIEW OU_LM.BALANCESHEET_HEADER_MARS AS
|
||||
SELECT
|
||||
A_KEY,
|
||||
A_WORKFLOW_HISTORY_KEY AS A_ETL_LOAD_SET_KEY,
|
||||
COUNTRY,
|
||||
REFERENCE_DATE,
|
||||
VERSION,
|
||||
STATUS,
|
||||
FREE_TEXT
|
||||
FROM ODS.LM_BALANCESHEET_HEADER_ODS;
|
||||
/
|
||||
|
||||
--View BALANCESHEET_ITEM_MARS
|
||||
CREATE OR REPLACE VIEW OU_LM.BALANCESHEET_ITEM_MARS AS
|
||||
SELECT
|
||||
A_KEY,
|
||||
A_WORKFLOW_HISTORY_KEY AS A_ETL_LOAD_SET_KEY,
|
||||
A_HEADER_FK,
|
||||
ITEM_LEVEL,
|
||||
POSITION,
|
||||
ITEM_TYPE,
|
||||
FULLY_QUALIFIED_POSITION,
|
||||
NAME,
|
||||
AMOUNT
|
||||
FROM ODS.LM_BALANCESHEET_ITEM_ODS;
|
||||
/
|
||||
Reference in New Issue
Block a user