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

@@ -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'
);