This commit is contained in:
Grzegorz Michalski
2026-02-02 10:59:29 +01:00
commit ecd833f682
679 changed files with 122717 additions and 0 deletions

View File

View File

@@ -0,0 +1,250 @@
--=============================================================================================================================
--Step 1: Create Template Table
--=============================================================================================================================
--Table CSDB_DEBT_DAILY
CREATE TABLE "CT_ET_TEMPLATES"."CSDB_DEBT_DAILY"
("A_KEY" NUMBER(38,0) NOT NULL ENABLE,
"A_WORKFLOW_HISTORY_KEY" NUMBER(38,0) NOT NULL ENABLE,
"NEWUPDATED" DATE,
"IDLOADDATE_DIM" DATE,
"EXTERNALCODE_ISIN" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"EXTERNALCODETYPE_NC" VARCHAR2(124 CHAR) COLLATE "USING_NLS_COMP",
"EXTERNALCODE_NATIONAL" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRINSTRUMENT" NUMBER(28,0),
"SHORTNAME" VARCHAR2(255 CHAR) COLLATE "USING_NLS_COMP",
"IDIRDEPOSITORY" VARCHAR2(4 CHAR) COLLATE "USING_NLS_COMP",
"IDIRDEBTTYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRASSETSECTYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_CFI" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_ESAI" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_ESAI_DM" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCURRENCY_NOMINAL" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"AMOUNTISSUED" NUMBER(28,10),
"AMOUNTOUTSTANDING" NUMBER(28,10),
"AMOUNTOUTSTANDING_EUR" NUMBER(28,10),
"POOLFACTOR" NUMBER(28,10),
"ISSUEPRICE" NUMBER(28,10),
"IDISSUEDATE" DATE,
"IDIRCOUPONTYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCOUPONFREQUENCY" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCURRENCY_COUPON" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"COUPONRATE" NUMBER(28,10),
"COUPONDATE" DATE,
"IDIRREDEMPTIONTYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRREDEMPTIONFREQUENCY" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCURRENCY_REDEMPTION" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"REDEMPTIONPRICE" NUMBER(28,10),
"IDMATURITYDATE" DATE,
"IDIRORGANISATIONALIASTYPE_IS" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ISSUERSOURCECODE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ISSUEREXTERNALCODE_MFI" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ISSUEREXTERNALCODE_BIC" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ISSUEREXTERNALCODE_BEI" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRORGANISATION_ISSUER" NUMBER(28,0),
"ISSUERNAME" VARCHAR2(255 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCOUNTRY" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCOUNTRY_DM" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_ESAO" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_ESAO_DM" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_NACE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"PUBLICATIONPRICEDATE" DATE,
"PUBLICATIONPRICE" NUMBER(28,10),
"PUBLICATIONPRICETYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"PUBLICATIONPRICEQUOTATIONBASIS" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"MONTHLYAVERAGEPRICE" NUMBER(28,10),
"ACCRUALSTARTDATE" DATE,
"DEBTACCRUALDEBTOR" NUMBER(28,10),
"DEBTACCRUALDEBTOR_DM" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"DEBTACCRUALCREDITOR" NUMBER(28,10),
"DEBTACCRUALCREDITOR_TYP" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ACCRUEDINTEREST" NUMBER(28,10),
"YTMNONOPTIONADJUSTED" NUMBER(28,10),
"ESCB_ISSUER_IDENT" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ESCB_ISSUER_IDENT_TYP" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDUDCMPPARTY" NUMBER(28,0),
"AMOUNTOUTSTANDINGTYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"MARKETCAPITALISATION" NUMBER(28,10),
"MARKETCAPITALISATION_EUR" NUMBER(28,10),
"VA_SECURITYSTATUS" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"VA_INSTRSUPPLEMENTARYCLASS" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"VA_RESIDUALMATURITYCLASS" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"VA_ISINSEC" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"VA_ISELIGIBLEFOREADB" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_ESAI10" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_ESAO10" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRDEBTTYPE_N" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"SENIORITY" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ISSUEREXTERNALCODE_LEI" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"INSTR_ESA2010_CLASS_VALUETYPE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"ISS_ESA2010_CLASS_VALUETYPE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"SEC_STATUS_DATE" DATE,
"GROUP_TYPE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"HAS_EMBEDDED_OPTION" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"VOLUME_TRADED" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PRIMARY_LISTING_NAME" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PRIM_LISTING_RESIDENCY_COUNTRY" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"INSTR_PORTFOLIO_FLAGS" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"BOND_DURATION" NUMBER(28,10),
"RESIDUAL_MATURITY" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"ORIGINAL_MATURITY" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"CFIN_CLASSIFICATION" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONFIRSTPAYMENTDATE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONLASTPAYMENTDATE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONRATEUNDERLYINGCODE_ISIN" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONRATESPREAD" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONRATEMULTIPLIER" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONRATECAP" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONRATEFLOOR" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"IDISSUEDATE_TRANCHE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"ISSUEPRICE_TRANCHE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"VA_ISPRIVATEPLACEMENT" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"RIAD_CODE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"RIAD_OUID" NUMBER(38,0),
"ESG1" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"ESG2" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"ESG3" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"STRIP" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"DEPOSITORY_RECEIPT" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"RULE_144A" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"REG_S" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"WARRANT" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"CSEC_RELEVANCE_STOCK" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"CSEC_RELEVANCE_GROSS_ISSUANCE" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"CSEC_RELEVANCE_REDEMPTION" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"ACCRUING_COUPON" NUMBER(28,10),
"ACCRUING_DISCOUNT" NUMBER(28,10),
"PLACEHOLDER32" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER33" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER34" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER35" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER36" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER37" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER38" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER39" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER40" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER41" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER42" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER43" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER44" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER45" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER46" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER47" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER48" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER49" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER50" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP"
) DEFAULT COLLATION "USING_NLS_COMP" SEGMENT CREATION DEFERRED
PCTFREE 10 PCTUSED 40 INITRANS 10 MAXTRANS 255
COLUMN STORE COMPRESS FOR QUERY HIGH ROW LEVEL LOCKING LOGGING
TABLESPACE "DATA" ;
--=============================================================================================================================
--Step 2: Create External Tables
--=============================================================================================================================
--Table CSDB_DEBT_DAILY
--INBOX -For incoming files awaiting processing
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_DEBT_DAILY_INBOX',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT_DAILY',
pPrefix => 'INBOX/CSDB/CentralizedSecuritiesDailyReferenceDataDissemination/CSDB_DEBT_DAILY',
pBucketUri => CT_MRDS.ENV_MANAGER.gvInboxBucketUri
);
END;
--ODS - for processed files in operational data store
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_DEBT_DAILY_ODS',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT_DAILY',
pPrefix => 'ODS/CSDB/CSDB_DEBT_DAILY',
pBucketUri => CT_MRDS.ENV_MANAGER.gvDataBucketUri
);
END;
--ARCHIVE - For historical/archived files
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_DEBT_DAILY_ARCHIVE',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT_DAILY',
pPrefix => 'ARCHIVE/CSDB/CSDB_DEBT_DAILY',
pBucketUri => CT_MRDS.ENV_MANAGER.gvArchiveBucketUri
);
END;
--=============================================================================================================================
--Step 3: Date format adjustment
--=============================================================================================================================
--Table CSDB_DEBT_DAILY
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT_DAILY',
pColumnName => 'NEWUPDATED',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT_DAILY',
pColumnName => 'IDLOADDATE_DIM',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT_DAILY',
pColumnName => 'IDISSUEDATE',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT_DAILY',
pColumnName => 'COUPONDATE',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT_DAILY',
pColumnName => 'IDMATURITYDATE',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT_DAILY',
pColumnName => 'PUBLICATIONPRICEDATE',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT_DAILY',
pColumnName => 'ACCRUALSTARTDATE',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT_DAILY',
pColumnName => 'SEC_STATUS_DATE',
pDateFormat => 'dd/mm/yyyy'
);
--=============================================================================================================================
--Step 4: Configure file type for processing
--=============================================================================================================================
call CT_MRDS.FILE_MANAGER.ADD_SOURCE_FILE_CONFIG(
pSourceKey => 'CSDB'
,pSourceFileType => 'INPUT'
,pSourceFileId => 'CentralizedSecuritiesDailyReferenceDataDissemination'
,pSourceFileDesc => 'Table covers the debt information (amount issued, outstanding amount, price, debt, coupon, maturity, etc) for an instrument.'
,pSourceFileNamePattern => '.*.csv'
,pTableId => 'CSDB_DEBT_DAILY'
,pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT_DAILY'
);

View File

@@ -0,0 +1,245 @@
--=============================================================================================================================
--Step 1: Create Template Table
--=============================================================================================================================
--Table CSDB_DEBT
CREATE TABLE "CT_ET_TEMPLATES"."CSDB_DEBT"
(
"A_KEY" NUMBER(38,0) NOT NULL ENABLE,
"A_WORKFLOW_HISTORY_KEY" NUMBER(38,0) NOT NULL ENABLE,
"NEWUPDATED" DATE,
"IDLOADDATE_DIM" DATE,
"EXTERNALCODE_ISIN" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"EXTERNALCODETYPE_NC" VARCHAR2(124 CHAR) COLLATE "USING_NLS_COMP",
"EXTERNALCODE_NATIONAL" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRINSTRUMENT" NUMBER(28,0),
"SHORTNAME" VARCHAR2(255 CHAR) COLLATE "USING_NLS_COMP",
"VA_BONDDURATION" NUMBER(28,10),
-- "IDIRDEPOSITORY" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP", --- missing in yaml file
"IDIRDEBTTYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRASSETSECTYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_CFI" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_ESAI" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_ESAI_DM" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCURRENCY_NOMINAL" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"AMOUNTISSUED" NUMBER(28,10),
"AMOUNTOUTSTANDING" NUMBER(28,10),
"AMOUNTOUTSTANDING_EUR" NUMBER(28,10),
"POOLFACTOR" NUMBER(28,10),
"ISSUEPRICE" NUMBER(28,10),
"IDISSUEDATE" DATE,
"IDIRCOUPONTYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCOUPONFREQUENCY" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCURRENCY_COUPON" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"COUPONRATE" NUMBER(28,10),
"COUPONDATE" DATE,
"IDIRREDEMPTIONTYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRREDEMPTIONFREQUENCY" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCURRENCY_REDEMPTION" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"REDEMPTIONPRICE" NUMBER(28,10),
"IDMATURITYDATE" DATE,
"IDIRORGANISATIONALIASTYPE_IS" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ISSUERSOURCECODE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ISSUEREXTERNALCODE_MFI" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ISSUEREXTERNALCODE_BIC" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ISSUEREXTERNALCODE_BEI" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRORGANISATION_ISSUER" NUMBER(28,0),
"ISSUERNAME" VARCHAR2(255 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCOUNTRY" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCOUNTRY_DM" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_ESAO" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_ESAO_DM" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_NACE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"PUBLICATIONPRICEDATE" DATE,
"PUBLICATIONPRICE" NUMBER(28,10),
"PUBLICATIONPRICETYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"PUBLICATIONPRICEQUOTATIONBASIS" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"MONTHLYAVERAGEPRICE" NUMBER(28,10),
"ACCRUALSTARTDATE" DATE,
"DEBTACCRUALDEBTOR" NUMBER(28,10),
"DEBTACCRUALDEBTOR_DM" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"DEBTACCRUALCREDITOR" NUMBER(28,10),
"DEBTACCRUALCREDITOR_TYP" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ACCRUEDINTEREST" NUMBER(28,10),
"YTMNONOPTIONADJUSTED" NUMBER(28,10),
"ESCB_ISSUER_IDENT" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"VA_ESCBCODETYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDUDCMPPARTY" NUMBER(28,0),
"AMOUNTOUTSTANDINGTYPE" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"MARKETCAPITALISATION" NUMBER(28,10),
"MARKETCAPITALISATION_EUR" NUMBER(28,10),
"VA_SECURITYSTATUS" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"VA_INSTRSUPPLEMENTARYCLASS" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"VA_RESIDUALMATURITYCLASS" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"VA_ISINSEC" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"VA_ISELIGIBLEFOREADB" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_ESAI10" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_ESAO10" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"IDIRDEBTTYPE_N" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"SENIORITY" VARCHAR2(32 CHAR) COLLATE "USING_NLS_COMP",
"ISSUEREXTERNALCODE_LEI" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"INSTR_ESA2010_CLASS_VALUETYPE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"ISS_ESA2010_CLASS_VALUETYPE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"VA_SECURITYSTATUSDATE" DATE,
"GROUP_TYPE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"HASEMBEDDEDOPTION" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"VOLUMETRADED" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PRIMARYLISTINGNAME" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PRIMARYLISTINGCOUNTRY" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"VA_INSTRPORTFLAGS" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
-- "VA_BONDDURATION" NUMBER(28,10), --- moved to other possition
"RESIDUALMATURITY" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"ORIGINAL_MATURITY" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"IDIRCLASSIFICATIONCODE_CFIN" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONFIRSTPAYMENTDATE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONLASTPAYMENTDATE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONRATEUNDERLYINGCODE_ISIN" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONRATESPREAD" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONRATEMULTIPLIER" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONRATECAP" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"COUPONRATEFLOOR" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"IDISSUEDATE_TRANCHE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"ISSUEPRICE_TRANCHE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"VA_ISPRIVATEPLACEMENT" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"RIAD_CODE" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"RIAD_OUID" NUMBER(38,0),
"ESG1" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"ESG2" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"ESG3" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"STRIP" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"DEPOSITORY_RECEIPT" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"RULE_144A" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"REG_S" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"WARRANT" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"CSEC_RELEVANCE_STOCK" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"CSEC_RELEVANCE_GROSS_ISSUANCE" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"CSEC_RELEVANCE_REDEMPTION" VARCHAR2(1 CHAR) COLLATE "USING_NLS_COMP",
"ACCRUING_COUPON" NUMBER(28,10),
"ACCRUING_DISCOUNT" NUMBER(28,10),
"STEPID" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PROGRAMNAME" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PROGRAMCEILING" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PROGRAMSTATUS" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"ISSUERNACE21SECTOR" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"INSTRUMENTQUOTATIONBASIS" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER38" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER39" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER40" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER41" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER42" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER43" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER44" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER45" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER46" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER47" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER48" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER49" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP",
"PLACEHOLDER50" VARCHAR2(4000 CHAR) COLLATE "USING_NLS_COMP"
) ;
--=============================================================================================================================
--Step 2: Create External Tables
--=============================================================================================================================
--Table CSDB_DEBT
--INBOX -For incoming files awaiting processing
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_DEBT_INBOX',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT',
pPrefix => 'INBOX/CSDB/CentralizedSecuritiesDissemination/CSDB_DEBT',
pBucketUri => CT_MRDS.ENV_MANAGER.gvInboxBucketUri
);
END;
--ODS - for processed files in operational data store
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_DEBT_ODS',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT',
pPrefix => 'ODS/CSDB/CSDB_DEBT',
pBucketUri => CT_MRDS.ENV_MANAGER.gvDataBucketUri
);
END;
--ARCHIVE - For historical/archived files
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_DEBT_ARCHIVE',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT',
pPrefix => 'ARCHIVE/CSDB/CSDB_DEBT',
pBucketUri => CT_MRDS.ENV_MANAGER.gvArchiveBucketUri
);
END;
--=============================================================================================================================
--Step 3: Date format adjustment
--=============================================================================================================================
--Table CSDB_DEBT
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT',
pColumnName => 'NEWUPDATED',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT',
pColumnName => 'IDLOADDATE_DIM',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT',
pColumnName => 'IDISSUEDATE',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT',
pColumnName => 'IDMATURITYDATE',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT',
pColumnName => 'PUBLICATIONPRICEDATE',
pDateFormat => 'dd/mm/yyyy'
);
-- not data , set using other column model
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT',
pColumnName => 'ACCRUALSTARTDATE',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT',
pColumnName => 'VA_SECURITYSTATUSDATE',
pDateFormat => 'dd/mm/yyyy'
);
CALL CT_MRDS.FILE_MANAGER.ADD_COLUMN_DATE_FORMAT(
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT',
pColumnName => 'COUPONDATE',
pDateFormat => 'dd/mm/yyyy'
);
--=============================================================================================================================
--Step 4: Configure file type for processing
--=============================================================================================================================
call CT_MRDS.FILE_MANAGER.ADD_SOURCE_FILE_CONFIG(
pSourceKey => 'CSDB'
,pSourceFileType => 'INPUT'
,pSourceFileId => 'CentralizedSecuritiesDissemination'
,pSourceFileDesc => 'Table covers the monthly debt information (amount issued, outstanding amount, price, debt, coupon, maturity, etc) for an instrument.'
,pSourceFileNamePattern => '.*.csv'
,pTableId => 'CSDB_DEBT'
,pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_DEBT'
);

View File

@@ -0,0 +1,94 @@
--=============================================================================================================================
--Step 1: Create Template Table
--=============================================================================================================================
--Table CSDB_INSTR_DESC_FULL
CREATE TABLE "CT_ET_TEMPLATES"."CSDB_INSTR_DESC_FULL"
("A_KEY" NUMBER(38,0) NOT NULL ENABLE,
"A_WORKFLOW_HISTORY_KEY" NUMBER(38,0) NOT NULL ENABLE,
"IDIRINSTRUMENT" VARCHAR2(4000 CHAR) ,
"ISIN" VARCHAR2(4000 CHAR) ,
"MOO_INSTR_ID" VARCHAR2(4000 CHAR) ,
"SNP_INSTR_ID" VARCHAR2(4000 CHAR) ,
"FITCH_IDENTIFIER" VARCHAR2(4000 CHAR) ,
"DBRS_IDENTIFIER" VARCHAR2(4000 CHAR) ,
"EA_STATUS" VARCHAR2(4000 CHAR) ,
"IS_TMS" VARCHAR2(4000 CHAR) ,
"DBRS_COVERED_BOND_PROGRAM" VARCHAR2(4000 CHAR) ,
"FITCH_PRG_IDENTIFIER" VARCHAR2(4000 CHAR) ,
"MOO_DEAL_NUMBER" VARCHAR2(4000 CHAR) ,
"SNP_PROGRAM_ID" VARCHAR2(4000 CHAR) ,
"IDIRDEBTTYPE" VARCHAR2(4000 CHAR) ,
"SNP_DEBT_TYPE" VARCHAR2(4000 CHAR) ,
"MOODY_SENIORITY" VARCHAR2(4000 CHAR) ,
"FITCH_DEBT_LEVEL_CODE" VARCHAR2(4000 CHAR) ,
"DBRS_RANK_TYPE" VARCHAR2(4000 CHAR) ,
"DBRS_SECURITY_TYPE" VARCHAR2(4000 CHAR) ,
"SCO_DEBT_TYPE" VARCHAR2(4000 CHAR) ,
"SCO_INSTR_ID" VARCHAR2(4000 CHAR) ,
"SCO_COVERED_BOND_PROGRAM" VARCHAR2(4000 CHAR) ,
"SCO_CATEGORY" VARCHAR2(4000 CHAR) ,
"PLACEHOLDER15" VARCHAR2(4000 CHAR) ,
"PLACEHOLDER16" VARCHAR2(4000 CHAR) ,
"PLACEHOLDER17" VARCHAR2(4000 CHAR) ,
"PLACEHOLDER18" VARCHAR2(4000 CHAR) ,
"PLACEHOLDER19" VARCHAR2(4000 CHAR) ,
"PLACEHOLDER20" VARCHAR2(4000 CHAR)
)
;
--=============================================================================================================================
--Step 2: Create External Tables
--=============================================================================================================================
--Table CSDB_INSTR_DESC_FULL
--INBOX -For incoming files awaiting processing
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_INSTR_DESC_FULL_INBOX',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_INSTR_DESC_FULL',
pPrefix => 'INBOX/CSDB/FullRatingsDissemination/CSDB_INSTR_DESC_FULL',
pBucketUri => CT_MRDS.ENV_MANAGER.gvInboxBucketUri
);
END;
--ODS - for processed files in operational data store
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_INSTR_DESC_FULL_ODS',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_INSTR_DESC_FULL',
pPrefix => 'ODS/CSDB/CSDB_INSTR_DESC_FULL',
pBucketUri => CT_MRDS.ENV_MANAGER.gvDataBucketUri
);
END;
--ARCHIVE - For historical/archived files
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_INSTR_DESC_FULL_ARCHIVE',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_INSTR_DESC_FULL',
pPrefix => 'ARCHIVE/CSDB/CSDB_INSTR_DESC_FULL',
pBucketUri => CT_MRDS.ENV_MANAGER.gvArchiveBucketUri
);
END;
--=============================================================================================================================
--Step 3: Configure file type for processing
--=============================================================================================================================
--Table CSDB_INSTR_DESC_FULL
CALL CT_MRDS.FILE_MANAGER.ADD_SOURCE_FILE_CONFIG(
pSourceKey => 'CSDB',
pSourceFileType => 'INPUT',
pSourceFileId => 'FullRatingsDissemination',
pSourceFileDesc => 'Table contains the identification codes and the rating codes (Moodys, S&P, Fitch, Scope, DBRS) for an instrument (not rating values).',
pSourceFileNamePattern => '.*.csv',
pTableId => 'CSDB_INSTR_DESC_FULL',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_INSTR_DESC_FULL',
pContainerFileKey => NULL
);

View File

@@ -0,0 +1,97 @@
--=============================================================================================================================
--Step 1: Create Template Table
--=============================================================================================================================
--Table CSDB_INSTR_RAT_FULL
CREATE TABLE "CT_ET_TEMPLATES"."CSDB_INSTR_RAT_FULL"
( "A_KEY" NUMBER(38,0) NOT NULL ENABLE,
"A_WORKFLOW_HISTORY_KEY" NUMBER(38,0) NOT NULL ENABLE,
"RDB_INSTR_ID" VARCHAR2(4000 CHAR),
"SOURCE" VARCHAR2(10 CHAR),
"RATING_SCHEME" VARCHAR2(32 CHAR),
"RATING" VARCHAR2(50 CHAR),
"RATING_DATE" VARCHAR2(4000 CHAR),
"TIME_HORIZON" VARCHAR2(2 CHAR),
"CURRENCY_TYPE" VARCHAR2(10 CHAR),
"NOTES" VARCHAR2(4000 CHAR),
"VALID_FROM" VARCHAR2(4000 CHAR),
"VALID_UNTIL" VARCHAR2(4000 CHAR),
"RDB_RATINGS_ID" VARCHAR2(4000 CHAR),
"WATCHLIST" VARCHAR2(50 CHAR),
"WATCHLIST_DATE" VARCHAR2(4000 CHAR),
"OUTLOOK" VARCHAR2(50 CHAR),
"OUTLOOK_DATE" VARCHAR2(4000 CHAR),
"RATING_ACTION" VARCHAR2(100 CHAR),
"RATING_ACTION_DATE" VARCHAR2(4000 CHAR),
"IS_PRELIMINARY" VARCHAR2(1 BYTE),
"RATING_RAW" VARCHAR2(50 CHAR),
"RATING_TYPE" VARCHAR2(4000 CHAR),
"ENDORSEMENT_INDICATOR" VARCHAR2(4000 CHAR),
"LAST_REVIEW_DATE" VARCHAR2(4000 CHAR),
"PLACEHOLDER6" VARCHAR2(4000 CHAR),
"PLACEHOLDER7" VARCHAR2(4000 CHAR),
"PLACEHOLDER8" VARCHAR2(4000 CHAR),
"PLACEHOLDER9" VARCHAR2(4000 CHAR),
"PLACEHOLDER10" VARCHAR2(4000 CHAR),
"PLACEHOLDER11" VARCHAR2(4000 CHAR),
"PLACEHOLDER12" VARCHAR2(4000 CHAR),
"PLACEHOLDER13" VARCHAR2(4000 CHAR),
"PLACEHOLDER14" VARCHAR2(4000 CHAR),
"PLACEHOLDER15" VARCHAR2(4000 CHAR),
"PLACEHOLDER16" VARCHAR2(4000 CHAR),
"PLACEHOLDER17" VARCHAR2(4000 CHAR),
"PLACEHOLDER18" VARCHAR2(4000 CHAR),
"PLACEHOLDER19" VARCHAR2(4000 CHAR),
"PLACEHOLDER20" VARCHAR2(4000 CHAR)
);
--=============================================================================================================================
--Step 2: Create External Tables
--=============================================================================================================================
--Table CSDB_INSTR_RAT_FULL
--INBOX -For incoming files awaiting processing
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_INSTR_RAT_FULL_INBOX',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_INSTR_RAT_FULL',
pPrefix => 'INBOX/CSDB/FullRatingsDissemination/CSDB_INSTR_RAT_FULL',
pBucketUri => CT_MRDS.ENV_MANAGER.gvInboxBucketUri
);
END;
--ODS - for processed files in operational data store
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_INSTR_RAT_FULL_ODS',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_INSTR_RAT_FULL',
pPrefix => 'ODS/CSDB/CSDB_INSTR_RAT_FULL',
pBucketUri => CT_MRDS.ENV_MANAGER.gvDataBucketUri
);
END;
--ARCHIVE - For historical/archived files
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_INSTR_RAT_FULL_ARCHIVE',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_INSTR_RAT_FULL',
pPrefix => 'ARCHIVE/CSDB/CSDB_INSTR_RAT_FULL',
pBucketUri => CT_MRDS.ENV_MANAGER.gvArchiveBucketUri
);
END;
--=============================================================================================================================
--Step 3: Configure file type for processing
--=============================================================================================================================
--Table CSDB_INSTR_RAT_FULL
CALL CT_MRDS.FILE_MANAGER.ADD_SOURCE_FILE_CONFIG(
pSourceKey => 'CSDB',
pSourceFileType => 'INPUT',
pSourceFileId => 'FullRatingsDissemination',
pSourceFileDesc => 'Table contains the actual ratings with current and historical values for an instrument.',
pSourceFileNamePattern => '.*.csv',
pTableId => 'CSDB_INSTR_RAT_FULL',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_INSTR_RAT_FULL',
pContainerFileKey => NULL
);

View File

@@ -0,0 +1,95 @@
--=============================================================================================================================
--Step 1: Create Template Table
--=============================================================================================================================
--Table CSDB_ISSUER_DESC_FULL
CREATE TABLE "CT_ET_TEMPLATES"."CSDB_ISSUER_DESC_FULL"
( "A_KEY" NUMBER(38,0) NOT NULL ENABLE,
"A_WORKFLOW_HISTORY_KEY" NUMBER(38,0) NOT NULL ENABLE,
"RDB_ISSUER_ID" VARCHAR2(4000 CHAR),
"ISSUERNAME" VARCHAR2(4000 CHAR),
"COUNTRY_DOMICILE" VARCHAR2(4000 CHAR),
"IS_SOVEREIGN" VARCHAR2(4000 CHAR),
"MOODY_IDENTIFIER" VARCHAR2(4000 CHAR),
"SNP_ISSUER_ID" VARCHAR2(4000 CHAR),
"FITCH_IDENTIFIER" VARCHAR2(4000 CHAR),
"DBRS_IDENTIFIER" VARCHAR2(4000 CHAR),
"LEI_ISSUER_ID" VARCHAR2(4000 CHAR),
"RIAD_CODE" VARCHAR2(4000 CHAR),
"RIAD_OUID" VARCHAR2(4000 CHAR),
"CLASH_GROUP_STATUS" VARCHAR2(4000 CHAR),
"SCO_ISSUER_ID" VARCHAR2(4000 CHAR),
"PLACEHOLDER5" VARCHAR2(4000 CHAR),
"PLACEHOLDER6" VARCHAR2(4000 CHAR),
"PLACEHOLDER7" VARCHAR2(4000 CHAR),
"PLACEHOLDER8" VARCHAR2(4000 CHAR),
"PLACEHOLDER9" VARCHAR2(4000 CHAR),
"PLACEHOLDER10" VARCHAR2(4000 CHAR),
"PLACEHOLDER11" VARCHAR2(4000 CHAR),
"PLACEHOLDER12" VARCHAR2(4000 CHAR),
"PLACEHOLDER13" VARCHAR2(4000 CHAR),
"PLACEHOLDER14" VARCHAR2(4000 CHAR),
"PLACEHOLDER15" VARCHAR2(4000 CHAR),
"PLACEHOLDER16" VARCHAR2(4000 CHAR),
"PLACEHOLDER17" VARCHAR2(4000 CHAR),
"PLACEHOLDER18" VARCHAR2(4000 CHAR),
"PLACEHOLDER19" VARCHAR2(4000 CHAR),
"PLACEHOLDER20" VARCHAR2(4000 CHAR)
);
--=============================================================================================================================
--Step 2: Create External Tables
--=============================================================================================================================
--Table CSDB_ISSUER_DESC_FULL
--INBOX -For incoming files awaiting processing
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_ISSUER_DESC_FULL_INBOX',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_ISSUER_DESC_FULL',
pPrefix => 'INBOX/CSDB/FullRatingsDissemination/CSDB_ISSUER_DESC_FULL',
pBucketUri => CT_MRDS.ENV_MANAGER.gvInboxBucketUri
);
END;
--ODS - for processed files in operational data store
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_ISSUER_DESC_FULL_ODS',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_ISSUER_DESC_FULL',
pPrefix => 'ODS/CSDB/CSDB_ISSUER_DESC_FULL',
pBucketUri => CT_MRDS.ENV_MANAGER.gvDataBucketUri
);
END;
--ARCHIVE - For historical/archived files
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_ISSUER_DESC_FULL_ARCHIVE',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_ISSUER_DESC_FULL',
pPrefix => 'ARCHIVE/CSDB/CSDB_ISSUER_DESC_FULL',
pBucketUri => CT_MRDS.ENV_MANAGER.gvArchiveBucketUri
);
END;
--=============================================================================================================================
--Step 3: Configure file type for processing
--=============================================================================================================================
--Table CSDB_ISSUER_DESC_FULL
CALL CT_MRDS.FILE_MANAGER.ADD_SOURCE_FILE_CONFIG(
pSourceKey => 'CSDB',
pSourceFileType => 'INPUT',
pSourceFileId => 'FullRatingsDissemination',
pSourceFileDesc => 'Table contains the actual ratings with current and historical values for an instrument.',
pSourceFileNamePattern => '.*.csv',
pTableId => 'CSDB_ISSUER_DESC_FULL',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_ISSUER_DESC_FULL',
pContainerFileKey => NULL
);

View File

@@ -0,0 +1,101 @@
--=============================================================================================================================
--Step 1: Create Template Table
--=============================================================================================================================
--Table CSDB_ISSUER_RAT_FULL
CREATE TABLE "CT_ET_TEMPLATES"."CSDB_ISSUER_RAT_FULL"
( "A_KEY" NUMBER(38,0) NOT NULL ENABLE,
"A_WORKFLOW_HISTORY_KEY" NUMBER(38,0) NOT NULL ENABLE,
"RDB_ISSUER_ID" VARCHAR2(4000 CHAR),
"SOURCE" VARCHAR2(4000 CHAR),
"RATING_SCHEME" VARCHAR2(4000 CHAR),
"RATING" VARCHAR2(4000 CHAR),
"RATING_DATE" VARCHAR2(4000 CHAR),
"TIME_HORIZON" VARCHAR2(4000 CHAR),
"CURRENCY_TYPE" VARCHAR2(4000 CHAR),
"NOTES" VARCHAR2(4000 CHAR),
"VALID_FROM" VARCHAR2(4000 CHAR),
"VALID_UNTIL" VARCHAR2(4000 CHAR),
"RDB_RATINGS_ID" VARCHAR2(4000 CHAR),
"OUTLOOK" VARCHAR2(4000 CHAR),
"OUTLOOK_DATE" VARCHAR2(4000 CHAR),
"WATCHLIST" VARCHAR2(4000 CHAR),
"WATCHLIST_DATE" VARCHAR2(4000 CHAR),
"RATING_ACTION" VARCHAR2(4000 CHAR),
"RATING_ACTION_DATE" VARCHAR2(4000 CHAR),
"IS_PRELIMINARY" VARCHAR2(1 BYTE),
"RATING_RAW" VARCHAR2(4000 CHAR),
"RATING_TYPE" VARCHAR2(4000 CHAR),
"ENDORSEMENT_INDICATOR" VARCHAR2(4000 CHAR),
"LAST_REVIEW_DATE" VARCHAR2(4000 CHAR),
"PLACEHOLDER6" VARCHAR2(4000 CHAR),
"PLACEHOLDER7" VARCHAR2(4000 CHAR),
"PLACEHOLDER8" VARCHAR2(4000 CHAR),
"PLACEHOLDER9" VARCHAR2(4000 CHAR),
"PLACEHOLDER10" VARCHAR2(4000 CHAR),
"PLACEHOLDER11" VARCHAR2(4000 CHAR),
"PLACEHOLDER12" VARCHAR2(4000 CHAR),
"PLACEHOLDER13" VARCHAR2(4000 CHAR),
"PLACEHOLDER14" VARCHAR2(4000 CHAR),
"PLACEHOLDER15" VARCHAR2(4000 CHAR),
"PLACEHOLDER16" VARCHAR2(4000 CHAR),
"PLACEHOLDER17" VARCHAR2(4000 CHAR),
"PLACEHOLDER18" VARCHAR2(4000 CHAR),
"PLACEHOLDER19" VARCHAR2(4000 CHAR),
"PLACEHOLDER20" VARCHAR2(4000 CHAR)
);
--=============================================================================================================================
--Step 2: Create External Tables
--=============================================================================================================================
--Table CSDB_ISSUER_RAT_FULL
--INBOX -For incoming files awaiting processing
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_ISSUER_RAT_FULL_INBOX',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_ISSUER_RAT_FULL',
pPrefix => 'INBOX/CSDB/FullRatingsDissemination/CSDB_ISSUER_RAT_FULL',
pBucketUri => CT_MRDS.ENV_MANAGER.gvInboxBucketUri
);
END;
--ODS - for processed files in operational data store
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_ISSUER_RAT_FULL_ODS',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_ISSUER_RAT_FULL',
pPrefix => 'ODS/CSDB/CSDB_ISSUER_RAT_FULL',
pBucketUri => CT_MRDS.ENV_MANAGER.gvDataBucketUri
);
END;
--ARCHIVE - For historical/archived files
BEGIN
ODS.FILE_MANAGER_ODS.CREATE_EXTERNAL_TABLE(
pTableName => 'CSDB_ISSUER_RAT_FULL_ARCHIVE',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_ISSUER_RAT_FULL',
pPrefix => 'ARCHIVE/CSDB/CSDB_ISSUER_RAT_FULL',
pBucketUri => CT_MRDS.ENV_MANAGER.gvArchiveBucketUri
);
END;
--=============================================================================================================================
--Step 3: Configure file type for processing
--=============================================================================================================================
--Table CSDB_ISSUER_RAT_FULL
CALL CT_MRDS.FILE_MANAGER.ADD_SOURCE_FILE_CONFIG(
pSourceKey => 'CSDB',
pSourceFileType => 'INPUT',
pSourceFileId => 'FullRatingsDissemination',
pSourceFileDesc => 'Table contains the actual ratings with current and historical values for an instrument.',
pSourceFileNamePattern => '.*.csv',
pTableId => 'CSDB_ISSUER_RAT_FULL',
pTemplateTableName => 'CT_ET_TEMPLATES.CSDB_ISSUER_RAT_FULL',
pContainerFileKey => NULL
);