245 lines
12 KiB
SQL
245 lines
12 KiB
SQL
--=============================================================================================================================
|
|
--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'
|
|
); |