Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

In this page:

Table of Contents

Overview

Issuer Role can be loaded 

  • with a dedicated interface Reference Issuer Role via eagle_ml-2-0_default_in_xml_reference stream (objectType = IssuerRole, the message should be formatted as an <issuerRole> message)
  • with SMF MI stream (objectType = GenericSMF, the message should be formatted as a <genericSMF> message) - read more on SMF MI Inbound Interface, including batch mode and processing details for SMF MI

Issuer Role supports batch mode - it allows to load Issuer Role Roles as Batch a batch and generate complete ownership period for Security + Role Type key.

  • Default rule for Issuer Role processing is xml-ref_issuerrole_main.xml
  • If the Batch Key is set, the data is routed to xml-ref_issuerrole_batch.xml

...

Single Row Mode

Delete Process

To delete IssuerRole records, add the following header with DELETE action set in every referenceTransaction and send file to the eagle_ml-2-0_default_in_xml_reference stream.

Code Block
languagexml
<processingOptions>ISSUE_ROLE_UPSERT_MODE,USE_LATEST_START_DATE</processingOptions><header> 
   <objectType>IssuerRole</objectType>
   <action>DELETE</action>
</header>
  1. This approach could delete by two keys
    securityAlias + issuerAlias +roleType + startDate + endDate
  2. If the incoming file contains startDate and endDate, only specified period will be deleted
    SecurityAlias + IssuerAlias + RoleType
    If the incoming file does not contain startDate and endDate, all periods for SecurityAlias + IssuerAlias + RoleType key will be deleted.

Processing Options

DISABLE_ENDDATE_DERIVING - (global parameter - W_ISSUE_ROLE_DISABLE_ENDDATE_DERIVING)

This option changes issuer role processing logic to work in the following way:

  • If the processing flag is not set, the logic goes as default
  • If the processing flag is set and endDate field in the incoming message is less then startDate, then all open period record with role type + sec alias key will be closed with end date = incoming end date and a new record will be inserted with data taken from the incoming message and NO END DATE
  •  If the processing flag is set and endDate is null or not present in the incoming message, new record will be inserted with start date similar to the incoming message and ALL open records will remain open for role type + sec key 
  • If the processing flag is set and endDate is greater than startDate in the incoming message, then all open records in the DB will be closed with end date = incoming start date – 1 + new record will be inserted with incoming data and end date from the incoming message (closed record will be inserted)

Such approach allows to create open records with a different start date and automatically close open records with a set end date.

W_ISSUER_ROLE_USE_DB_START_DATE config parameter allows to take startDate from DB, not from the incoming file - and to avoid overwriting startDate column

Batch Mode

Batch mode is an add-on over single row mode so it supports all the functions of single row mode.
Issuer Role supports batch mode - it allows to load Issuer Role as Batch and generate complete ownership period for Security + Role Type key.

Example of batch key:

Code Block
languagexml
<header>
   <objectType>IssuerRole</objectType>
   <batchKey>TEST_A7^INTERNAL^ISSUER</batchKey>
</header>

See Issuer Role Example with two batches with slightly different processing options set.

Processing Options

Issuer Role batch records has the following processing options:

  • ISSUE_ROLE_UPSERT_MODE - prevents the delete step in batch mode
  • USE_LATEST_START_DATE - finds the latest this option allows detecting the highest start date in the among incoming message issuer roles and uses sets it for each incoming record as the start date

SMF MI also supports Issuer Role batch load. In order to turn it on you should have EagleML/referenceTransaction/header/processingOptions/ set  to ISSUER_ROLE_GROUPING in the incoming SMF:

...

languagexml

...

  • role during load. Such an approach allows period-by-period update logic.

Example of enabling both:

Code Block
languagexml
<processingOptions>ISSUE_ROLE_UPSERT_MODE,USE_LATEST_START_DATE</processingOptions>
  • ISSUER_ROLE_PROCESSING_TYPE - set as

ISSUER_ROLE_PROCESSING_TYPE_I()__PROCESSING_TYPE
where in I() you should set Issuer Role types which you want to be loaded in certain mode
For example, you want to load only OWNER roles in UPSERT mode:

Expand

<processingOptions>ISSUER_ROLE_PROCESSING_TYPE_I(OWNER)__ISSUE_ROLE_UPSERT_MODE</processingOptions>

Delete Process

Records can be deleted from ISSUER_ROLE_DETAILS and ISSUER_ROLE_DETAILS_HIST by the following keys:

  • from SECURITYDBO.ISSUER_ROLE_DETAILS by security_alias + role_type
  • from SECURITYDBO.ISSUER_ROLE_DETAILS_HIST by security_alias + role_type + effective_date + src_intfc_inst