Files
mars-elt/dbt/macros/mopdb/get_sql_t_collateral_ma_dissem.sql
Grzegorz Michalski 2c225d68ac init
2026-03-02 09:47:35 +01:00

100 lines
4.8 KiB
SQL

{% macro get_sql_t_collateral_ma_dissem() %}
-- depends_on: {{ ref('m_MOPDB_C2D_T_COLLATERAL_ALL_SOURCES_OU_C2D_UC_MA_DISSEM_SQ') }}
select 'MARKET_ASSET' AS DATASET,
FILE_CREATION_DATE AS DATABASE_ENTRY_TIMESTAMP,
SNAPSHOT_DATE,
REPORTING_NCB AS NCB,
MFI_ID,
ISIN_CODE,
OTHER_REG_NO AS OTHER_REGISTRATION_NUMBER,
NOM_AMT_SUBMITTED AS NOMINAL_AMOUNT_SUBMITTED,
COLL_BEFORE_HAIRCUTS AS COLL_VALUE_BEFORE_HAIRCUTS, -- to find
COLL_AFTER_HAIRCUTS AS COLL_VALUE_AFTER_HAIRCUTS, -- to find
TYPE_OF_SYSTEM AS SYSTEM_TYPE,
TYPE_OF_OPERATION,
DOM_OR_XBORDER AS DOM_OR_CB,
ISSUER_CAS AS ISSUER_CRED_ASSESS_SOURCE,
ISSUER_RATING_ENUM_VALUE,
ISSUER_RATING_NUMBER_VALUE,
CAST(NULL AS VARCHAR2(18 CHAR)) AS NONMKT_ASSET_TYPE,
CAST(NULL AS NUMBER(10,0)) AS NO_OF_AGGREGATED_DEBTORS,
CAST(NULL AS VARCHAR2(50 CHAR)) AS ELIGIBLE_VIA_GUARANTOR,
CAST(NULL AS VARCHAR2(200 CHAR)) AS DEBTOR_NAME,
CAST(NULL AS VARCHAR2(100 CHAR)) AS DEBTOR_ID,
CAST(NULL AS VARCHAR2(5 CHAR)) AS DEBTOR_GROUP,
CAST(NULL AS VARCHAR2(17 CHAR)) AS DEBTOR_CLASS,
CAST(NULL AS VARCHAR2(50 CHAR)) AS DEBTOR_RESIDENCE,
CAST(NULL AS VARCHAR2(4 CHAR)) AS DEBTOR_CRED_ASSESS_SOURCE,
CAST(NULL AS VARCHAR2(20 CHAR)) AS DEBTOR_RATING_ENUM_VALUE,
CAST(NULL AS NUMBER(9,8)) AS DEBTOR_RATING_NUMBER_VALUE,
CAST(NULL AS VARCHAR2(255 CHAR)) AS GUARANTOR_NAME,
CAST(NULL AS VARCHAR2(256 CHAR)) AS GUARANTOR_ID,
CAST(NULL AS VARCHAR2(50 CHAR)) AS GUARANTOR_RESIDENCE,
CAST(NULL AS VARCHAR2(4 CHAR)) AS GUARANTOR_CRED_ASSESS_SOURCE,
CAST(NULL AS VARCHAR2(20 CHAR)) AS GUARANTOR_RATING_ENUM_VALUE,
CAST(NULL AS NUMBER(9,8)) AS GUARANTOR_RATING_NUMBER_VALUE,
CAST(NULL AS NUMBER(10,0)) AS NO_OF_AGGREGATED_ASSETS,
NCB_COMMENT AS NCB_COMMENTS,
CAST(NULL AS DATE) AS MATURITY_DATE, -- to find
CAST(NULL AS VARCHAR2(50 CHAR)) AS GUARANTOR_CLASS,
ISSUER_CLASS,
CAST(NULL AS VARCHAR2(8 CHAR)) AS INTEREST_PAYMENT_TYPE,
CAST(NULL AS VARCHAR2(5 CHAR)) AS RESIDUAL_MATURITY,
CAST(NULL AS VARCHAR2(22 CHAR)) AS BUCKET_SIZE,
CAST(NULL AS VARCHAR2(100 CHAR)) AS DEBTOR_CAS_PROVIDER,
CAST(NULL AS VARCHAR2(100 CHAR)) AS GUARANTOR_CAS_PROVIDER,
ISSUER_CRED_PROVIDER AS ISSUER_CAS_PROVIDER,
CAST(NULL AS VARCHAR2(1 CHAR)) AS SECURED,
CAST(NULL AS VARCHAR2(10 CHAR)) AS NON_MARKET_DENOMINATION,
MOBILISATION_CHANNEL,
CCB,
INVESTOR_SSS,
INTERMEDIARY_SSS,
ISSUER_SSS,
TRIPARTY_AGENT,
CAST(NULL AS VARCHAR2(5 CHAR)) AS DEBTOR_IDTYPE,
CAST(NULL AS VARCHAR2(1 CHAR)) AS CAP,
CAST(NULL AS VARCHAR2(9 CHAR)) AS REFERENCE_RATE,
CAST(NULL AS VARCHAR2(200 CHAR)) AS REFERENCE_RATE_COMMENT,
CAST(NULL AS VARCHAR2(1 CHAR)) AS RESET_PERIOD_MORE_ONE_YEAR,
CAST(NULL AS VARCHAR2(50 CHAR)) AS OA_ID,
CAST(NULL AS VARCHAR2(60 CHAR)) AS CONTRACT_ID,
CAST(NULL AS VARCHAR2(60 CHAR)) AS INSTRMNT_ID,
'C2D_UC' AS SOURCE,
{{ get_workflow_history_key() }} AS A_WORKFLOW_HISTORY_KEY
from {{ ref('m_MOPDB_C2D_T_COLLATERAL_ALL_SOURCES_OU_C2D_UC_MA_DISSEM_SQ') }}
WHERE (REPORTING_NCB, SNAPSHOT_DATE) in (
SELECT DISTINCT
src.reporting_ncb,
src.snapshot_date
FROM
{{ ref('m_MOPDB_C2D_T_COLLATERAL_ALL_SOURCES_OU_C2D_UC_MA_DISSEM_SQ') }} src
full outer join (SELECT DISTINCT
ncb,
snapshot_date,
DATABASE_ENTRY_TIMESTAMP
FROM
{{ this }}
WHERE
( ncb,
snapshot_date ) IN (
SELECT DISTINCT
reporting_ncb,
snapshot_date
FROM
{{ ref('m_MOPDB_C2D_T_COLLATERAL_ALL_SOURCES_OU_C2D_UC_MA_DISSEM_SQ') }}
)
AND DATASET = 'MARKET_ASSET'
AND SOURCE = 'C2D_UC'
GROUP BY
ncb,
snapshot_date,
DATABASE_ENTRY_TIMESTAMP
) trg on src.reporting_ncb = trg.ncb
and TRUNC(src.snapshot_date) = TRUNC(trg.SNAPSHOT_DATE)
WHERE
src.max_a_workflow_history_key = src.a_workflow_history_key
and src.FILE_CREATION_DATE > NVL(trg.DATABASE_ENTRY_TIMESTAMP,src.FILE_CREATION_DATE - 1)
)
AND A_WORKFLOW_HISTORY_KEY = MAX_A_WORKFLOW_HISTORY_KEY
{% endmacro %}