EagleML Release Notes - November 2021

Enhancements

SDP-54417 The Issuer Rating Inbound and Outbound interfaces were enhanced to support the DateTime format for submittedDate field

The submittedDate field was loaded without a timestamp due to a Stored Procedure limitation. The Stored Procedure was enhanced to support the DateTime format in the core V17 R2.31 release.

The Issuer Rating interfaces were fixed as a result to support the DateTime field format starting with V17 R2.31. Core versions prior to R2.31 with the submittedDate will be loaded in the Date format only.

Expected behavior:

v17 R2.31 and <submittedDate>2021-11-02T15:42:26</submittedDate>
Field value in the database is 11/2/2021 3:42:26 PM

v17 R2.31 and <submittedDate>2021-11-02</submittedDate>
Field value in the database is 11/2/2021 12:00:00 AM

Prior to v17 R2.31 and <submittedDate>2021-11-02T15:42:26</submittedDate>
Field value in the database is 11/2/2021 12:00:00 AM

Prior to v17 R2.31 and <submittedDate>2021-11-02</submittedDate>
Field value in the database is 11/2/2021 12:00:00 AM

Files changed:
eagle_default/in/xml/xml-ref_issuerrating.xml
eagle_ml-2-0_cm/out/tagvalue/extract_issuer_rating.inc
eagle_ml-2-0_cm/out/xml/t_issuer_rating_streaming.inc

SDP-49821 Improved Error Handling within Automation Center to display the Entity Id for transactions

When an accounting transaction for trades processes with an error, the Exceptions View in Automation Center did not display the Entity Id. A change was introduced to resolve and capture the entity id prior to other edit checks in order to display within Automation Center.

On larger implementations, a group of Entities may be managed by an operations group. The goal is to assign the failed records using the Entity Id to the proper group to review and resolve the error. Populating the Entity Id facilitates how to route the record from the summary screen without the user reviewed each records details.

File changed:
eagle_default/in/include/acct_entity_xref_resolution.inc

SDP-54456 Enable signage logic within the WRHSTRADEEXTRACT - Warehouse Trade Extract for the Settle Amount Base

The WRHSTRADEEXTRACT - Warehouse Trade - TRADESDBO.SETTLE_AMOUNT_BASE field is now supported with signage logic.

[ ]

Signage logic for the Settlement Amount Base and Settlement Amount Local is enabled through an opt-in element. The SettlementSignageFlag is used in tandem with the EnableSignageLogic set to Y. When the SettlementSignageFlag is set to Y, signage logic is now applied to the SETTLE_AMOUNT_BASE field. The SETTLE_AMOUNT_BASE field is supported in v17.R2.30 forward

Signage is enabled when the following parameters are included:
<taskParameter>
<name>EnableSignageLogic</name>
<dataType>S</dataType>
<value>Y</value>
</taskParameter>
<taskParameter>
<name>SettlementSignageFlag</name>
<dataType>S</dataType>
<value>Y</value>
</taskParameter>

Files changed:
eagle_ml-2-0_cm/out/tagvalue/extract_wrhs_trade_signage_logic.inc

SDP-56136 The Generic Issue Analytic inbound and outbound interfaces were enhanced to support new elements

The Generic Issue Analytic inbound and outbound interfaces were enhanced to support below elements:
XPath:
EagleML/referenceTransaction/genericIssueAnalytic/analyticExtModel/benchmarkSpreadBid
EagleML/referenceTransaction/genericIssueAnalytic/analyticExtModel/benchmarkSpreadMid
EagleML/referenceTransaction/genericIssueAnalytic/analyticExtModel/benchmarkSpreadAsk
EagleML/referenceTransaction/genericIssueAnalytic/analyticExtModel/benchmarkId
EagleML/referenceTransaction/genericIssueAnalytic/analyticExtModel/indexSide

Files changed:
dynamic/metadata/bind/eagleml_ref_genericissueanalytic.xml
dynamic/msgcenter/eagle_default/in/xml/xml-ref_genericissueanalytic.xml
dynamic/msgcenter/eagle_ml-2-0_cm/out/xml/t_generic_issue_analytic_streaming.inc
dynamic/msgcenter/eagle_ml-2-0_cm/out/xml/t_generic_issue_analytic.xml
dynamic/msgcenter/eagle_ml-2-0_cm/out/tagvalue/extract_generic_issue_analytic.inc

SDP-55953 Multiple Leg Accounting Trade object was enhanced with new element

Expanding coverage for Cross Currency Swaps (CCS), the close trades were enhanced with a new element. Tag 16736 (Notional Exchange) dictates whether a close trade will proportionately take down the final exchange with an exchange of notional.

A new EagleML element has been introduced: notionalExchangeSwitch.

Xpath:
EagleML/accountingTransaction/multipleLegAccountingTrade/notionalExchangeSwitch

Files changed:
eagle_default/in/xml/include/multiplelegtrade_aliases.inc
eagle_default/in/xml/include/multiplelegtrade_common_columns.inc
eagle_default/in/xml/xml-accttrade_multipleleg.xml

SDP-55158 Issue Price and Exchange Price objects were enhanced with additional fields

The Issue Price and Exchange Price objects were updated to support additional fields for Cross Currency Swaps - CCS. A number of new elements were added.
priceConversionFxSource (Tag 7108)
priceConversionFxRate (Tag 7682)
payPriceLeg/notionalAmount (Tag 7683)
payPriceLeg/price or payPriceLeg/marketValue (Tag 7680)
receivePriceLeg/notionalAmount (Tag 7684)
receivePriceLeg/price or receivePriceLeg/marketValue (Tag 7681)

The marketValue or price is being evaluated by the priceTypeCode included in the incoming message. If 4 is used then it is marketValue. If 5 is used then it is price.

Example:
<priceConversionFxSource>BIND1</priceConversionFxSource>
<priceConversionFxRate>0.9</priceConversionFxRate>
<payPriceLeg>
<notionalAmount>1.1</notionalAmount>
<price>2.2</price>
<marketValue>3.3</marketValue>
</payPriceLeg>
<receivePriceLeg>
<notionalAmount>4.4</notionalAmount>
<price>5.5</price>
<marketValue>6.6</marketValue>
</receivePriceLeg>

Files changed:
eagle_default/in/xml/xml-ref_exchangeprice.xml
eagle_default/in/xml/xml-ref_issueprice.xml
eagle_default/in/xml/include/xml-ref_security_pricing_common.inc

SDP-55159 Enhanced Accounting Trades inbound interface to support amortizing notional swap trades

The Accounting Trades load interface was modified to pass through the Pay Currency - Tag 1356 and Receive Currency - Tag 1357 to support amortizing notional swap trades.

Files changed:
eagle_default/in/xml/include/security_resolution_generic.inc
eagle_default/in/xml/xml-accttrade_multipleleg.xml

SDP-55751 The WRHSTRADEEXTRACT - Warehouse Trade is extended to revise and add signage for a number of elements

A series of elements were revised to modify the signage logic and expand coverage to include additional fields.
Revised Fields
ACCRUED_INTEREST
EagleML/WarehouseTransaction/warehouseTrade/accruedInterest
BASEINTERESTADJ
EagleML/WarehouseTransaction/warehouseTrade/interestAdjBase
CLS_AMORT_LOCAL
EagleML/WarehouseTransaction/warehouseTrade/clsAmortLocal
CLS_AMORT_BASE
EagleML/WarehouseTransaction/warehouseTrade/clsAmortBase
CLS_OID_L
EagleML/WarehouseTransaction/warehouseTrade/clsOidLoca
CLS_OID_B
EagleML/WarehouseTransaction/warehouseTrade/clsOidBase
CLS_ILB_INC_LTD_LOCAL
EagleML/WarehouseTransaction/warehouseTrade/clsIlbIncLtdLocal
CLS_ILB_INC_LTD_BASE
EagleML/WarehouseTransaction/warehouseTrade/clsIlbIncLtdBase

Newly signed fields
TRADE_AMOUNT
EagleML/WarehouseTransaction/warehouseTrade/tradeAmount
NETSETTLEAMT
EagleML/WarehouseTransaction/warehouseTrade/netsettleamt
TOTAL_AMORT_LOCAL,
EagleML/WarehouseTransaction/warehouseTrade/totalAmortLocal
TOTAL_AMORT_BASE
EagleML/WarehouseTransaction/warehouseTrade/totalAmortBase

Signage is enabled when
<taskParameter>
<name>EnableSignageLogic</name>
<dataType>S</dataType>
<value>Y</value>
</taskParameter>

Files changed:
eagle_ml-2-0_cm/out/tagvalue/extract_wrhs_trade_signage_logic.inc

SDP-54287 Batch Mode was Implemented for the EarningsTimePeriod interface

The EarningsTimePeriod interface was modified to support Batch Mode. When using Batch Mode to load the EarningsTimePeriod records, it must contain the element referenceTransaction/header/batchKey as SECURITY IDENTIFIER^IDENTIFIER TYPE in the header.

Sample Header
<header>
<objectType>EarningsTimePeriod</objectType>
<batchKey>SMFFOR22206^COMMON</batchKey>
</header>

A new rule was added: xml-ref_earningstimeperiod_mi.xml

Files Changed:
eagle_default/in/xml/xml-ref_objects.rsf
eagle_default/in/xml/xml-ref_earningstimeperiod_mi.xml

SDP-55608 WRHSTRADEEXTRACT - Modified the calcMasterTransactionId and settlement amount fields to support Mergers

The WRHSTRADEEXTRACT was revised to have the calcMasterTransactionId equal to the SETTLEDCAEXTRACT for the MTCASH merger records when the EnhanceCalcTransactionId is set to Y and the IncludeExtendedDetails is set to Y or ALL.

When signage is applied and the SettlementSignageFlag is set to Y, the value for the two settlement fields, SETTLE_AMOUNT_BASE and SETTLEMENT_AMOUNT will be set to 0 for the MTCLOSE and MTOPEN records. The MTCASH records will be properly signed.

Signage is enabled when the following parameters are included:
<taskParameter>
<name>EnableSignageLogic</name>
<dataType>S</dataType>
<value>Y</value>
</taskParameter>
<taskParameter>
<name>SettlementSignageFlag</name>
<dataType>S</dataType>
<value>Y</value>
</taskParameter>

Files Changed:
eagle_ml-2-0_cm/out/tagvalue/extract_warehouse_trade.inc
eagle_ml-2-0_cm/out/tagvalue/extract_wrhs_trade_signage_logic.inc

SDP-56409 The EDS Rest API was updated to support data upload to Snowflake for all supported feeds by default

The Data Service has been improved and the default configuration was updated to recognize a feed type for payload based upon the incoming file name mask. The EDS service uses the same default EagleML file masks for data processing, and supports CSV, XML, JSON formats for upload to Snowflake by default.

Files changed:
src/eds/utils/file_load_utils.py

SDP-56429 EDS Data Rules support CSV Pipe Delimited format

Eagle Data Service has been enhanced to automatically determine the format and dialect of the incoming message. It now supports the load of data in XML, JSON, CSV formats without additional RTR task parameters. The data format and CSV dialect (Comma vs Pipe) will be recognized automatically. The EDS will recognize the data delimiter and record separator based on the incoming file.

Files changed:

mc2py/dbdescriptor.py
mc2py/dbdescriptor_sf.py
mc2py/def_enums.py
mc2py/dsxmlparser.py
mc2py/env_db.py
mc2py/exprbase.py
mc2py/format_enums.py
mc2py/genetl_msgexchange.py
mc2py/igenetl_items.py
mc2py/isink.py
mc2py/isink_buffers.py
mc2py/string_utils.py
mc2py/xml_enum.py
mc2py/xmldescriptor.py

SDP-49849 The EDS exchangeprice resource was updated to support new Bloomberg fields for Load and Extract

The EDS exchangeprice resource was improved to support the following database fields for load and extract:

SECURITYDBO.PRICE_EXCHANGE.ASK_SCORE
SECURITYDBO.PRICE_EXCHANGE.BID_SCORE
SECURITYDBO.PRICE_EXCHANGE.MID_SCORE
SECURITYDBO.PRICE_EXCHANGE.QUOTE_TYPE

EagleML XPath:

EagleML/referenceTransaction/exchangePrice/bloombergAskPriceScore
EagleML/referenceTransaction/exchangePrice/bloombergBidPriceScore
EagleML/referenceTransaction/exchangePrice/bloombergMidPriceScore
EagleML/referenceTransaction/exchangePrice/bloombergQuoteCode

Files changed:
metadata/core/ontology/definition/eagle-vocab-definition-ref-shared.json
metadata/core/ontology/eagle-vocab-enumerations.json
metadata/core/ontology/eagle-vocab-ref-shared.json
metadata/core/ontology/reference/exchangeprice-models.json
metadata/core/ontology/reference/exchangeprice_in.json
metadata/core/ontology/templates/eagle_ref_exchangeprice_insertupdate.txt

SDP-49094 The EDS exchangeprice load resource has been improved to support logic to turn off validation via the vendor reload workflow and mimic the EagleML ExchangePrice interface

The EDS exchangeprice load resource was enhanced with two additional elements: useVendorReloadProcess and finalValidationNumber.

To execute the useVendorReloadProcess, if a vendor price is loaded to a PRICE_STATUS record that has already been validated (FINAL_VALIDATION_STATUS \!= 0 OR 6), then the vendor reload workflow is invoked. If the element useVendorReloadProcess is set to 0, as the default is 1, the workflow is not invoked.

For the finalValidationNumber, the element is now mapped to the RULESDBO.PRICE_STATUS.FINAL_VALIDATION_STATUS database field.

Files changed:

metadata/core/ontology/reference/exchangeprice-models.json
metadata/core/ontology/reference/exchangeprice_in.json

SDP-46301 The EDS Load Statistics enabled by default for In-Market/Oracle implementation

The Information about EDS data loads was enabled by default for In-Market/Oracle environments. All statistics are stored in Message Center tables under the msgcenter_dbo schema. The logging is disabled by default for the Snowflake load.

Files changed:
src/eagleinvsys/ebs/ebs_t.py
src/eagleinvsys/mc2py/def_enums.py
src/eagleinvsys/mc2py/env_db.py

Production Bugs

SDP-55223 Schedule MI interface was adjusted to support the journalizingFlag element

The Schedule MI interface was corrected with the mapping of journalizingFlag element into tag1293.

Files changed:
eagle_default/in/xml/xml-ref_schedule_mi.xml
eagle_default/in/xml/xslt/eagleml_smf_schedule_batch.xsl

SDP-56126 The outbound interfaces in History mode for the SMFEXTRACT with Element Reduction Profile were fixed

When executing the SMFEXTRACT, fields from the SECMASTER_HISTORY table were not extracted when the Element Reduction Profile was used for Extracts in History mode.

Logic for parsing the SECMASTER_HISTORY table name was fixed in order to find the correct main table name in the Element Reduction Profile included in the extract.

Files changed:
eagle_ml-2-0_cm/out/tagvalue/extract_profile_add_column.inc"

SDP-55979 MC2 inbound stream failing with SMF error

When evaluating a condition in a ruleset file, classic Message Center matches the first condition met and completes its execution. Within MC2, the existing behavior is to match any condition.

Revised the rule set file to mimic the Message Center processing when executing the If condition as in the smf_panels.inc. To fix this specific instance, a condition to set :tag3931: != 'SWCDCX' to the pan-addsecmastermultilegswap.htm panel to fix the problem.

Files Changed:
eagle_default\in\xml\include\smf_panels.inc

SDP-55948 The Cost Basis Adjustment interface was fixed to cancel the Cost Basis Adjustment by the Trade Ticket Number

The ability to cancel a Cost Basis Adjustment while using the Trade Ticket Number was not available.

The mapping for the Original Trade Ticket Number (tag 761) was added into the Cost Basis Adjustment interface to provide the ability to Cancel a record by the Trade Ticket Number.

Files changed:
eagle_default/in/include/csv-costbasisadj_columns.inc
eagle_default/in/include/costbasisadj_aliases.inc

SDP-56318 Single-row subquery returns more than one row for the GENISSUEREXTRACT when run in history mode

The GENISSUEREXTRACT was generating an error stating that more than one row was being returned causing a failure. The data returned from the ISSUER_ORGANIZATION_HIST may return more than 1 alias with the same value. The change replaces the ISSUER_ORGANIZATION_HIST with the ISSUER_ORGANIZATION within the subqueries.

Files Changed:
eagle_ml-2-0_cm/out/tagvalue/extract_generic_issuer.inc