EagleML Release Notes - June 29th, 2021

Enhancements

SDP-51697 The Signage logic for the Warehouse Trade extract was modified

The Signage logic was revised for WRHSTRADEEXTRACT for the netAmountLocal and netAmountBase elements.

Frequently for Swaps, the event type generates a TRRESETQTY event type with the message type of MTACTION. The signage logic previously applied signage to set the sign values for the the NET_CASH - netAmountLocal and the TRADE_BASE_AMOUNT - netAmountBase fields when it is an MTACTION event type and the Long Short Indicator as L to be negative. This did not match the Settled Cash amount for these legs. As a result, the signage logic was revised to set the signage value for the NET_CASH and TRADE_BASE_AMOUNT to negative when the Long Short Indicator is S for Short and maintain the value when it is set to L for Long.

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

SDP-51556 The Rebook logic for the Corporate Action load was revised to round the princLossFactor

The principal loss factor for the Corporate Actions during the load process is stored in the database with a precision of 12 decimals. Upon a Corporate Action load with the accountingValidationFlag set to Y, there is a query to resolve if it is a new record or an update. If it is a Released Corporate Action, the rebook CA process is initiated and evaluates if any data has changed. If the data matches, the message is ignored. If a data difference is identified, the corporate action is cancelled and rebooked.

The Production data presented for Factors included data for the principal loss factor greater than 12 decimals. As a result, the comparison interpreted each corporate action as an update and the majority of the factors were being cancelled and rebooked. With a high volume of Factors, this was impacting throughput.

The evaluation of the principal loss factor during the rebook check was revised to round the principal loss factor provided to 12 decimals and compare against the value within the database. Upon a match of the principal loss factor and the other evaluated fields, the corporate action will be ignored. If the value is changed, it will cancelled and rebooked if a corporate action in released status.

Files changed:
eagle_default/in/xml/include/ca_true_rebook.inc

SDP-51540 The Warehouse Trade Inbound and Outbound interfaces were enhanced to support additional fields

The Warehouse Trade interface was updated to support additional fields on load and extract:

XPath:
EagleML/warehouseTransaction/warehouseTrade/consolidatedIndicator
EagleML/warehouseTransaction/warehouseTrade/fromRegulatoryCategory
EagleML/warehouseTransaction/warehouseTrade/toRegulatoryCategory
EagleML/warehouseTransaction/warehouseTrade/cancelPostDate
EagleML/warehouseTransaction/warehouseTrade/cancelReasonIndicator
EagleML/warehouseTransaction/warehouseTrade/commitmentAmount
EagleML/warehouseTransaction/warehouseTrade/distributedInvestmentIncomeLocal
EagleML/warehouseTransaction/warehouseTrade/distributedInvestmentIncomeBase
EagleML/warehouseTransaction/warehouseTrade/expectedCreditLossAmountLocal
EagleML/warehouseTransaction/warehouseTrade/expectedCreditLossAmountBase
EagleML/warehouseTransaction/warehouseTrade/expectedCreditLossDeltaAmountLocal
EagleML/warehouseTransaction/warehouseTrade/expectedCreditLossDeltaAmountBase
EagleML/warehouseTransaction/warehouseTrade/expectedCreditLossPreviousAmountLocal
EagleML/warehouseTransaction/warehouseTrade/expectedCreditLossPreviousAmountBase
EagleML/warehouseTransaction/warehouseTrade/expectedCreditLossStageAmount
EagleML/warehouseTransaction/warehouseTrade/expectedCreditLossPreviousStageAmount
EagleML/warehouseTransaction/warehouseTrade/equityMethodAcctCostIndicator
EagleML/warehouseTransaction/warehouseTrade/equityMethodAcctTreatmentMethod
EagleML/warehouseTransaction/warehouseTrade/fxImpairmentRate
EagleML/warehouseTransaction/warehouseTrade/equityMethodAcctCRCCTGainBase
EagleML/warehouseTransaction/warehouseTrade/currentPeriodCurrencyGain
EagleML/warehouseTransaction/warehouseTrade/currencyIncomeGain
EagleML/warehouseTransaction/warehouseTrade/termGainLoss
EagleML/warehouseTransaction/warehouseTrade/currentPeriodSecurityGainBase
EagleML/warehouseTransaction/warehouseTrade/currentPeriodSecurityGainLocal
EagleML/warehouseTransaction/warehouseTrade/equityMethodAcctSecurityGainBase
EagleML/warehouseTransaction/warehouseTrade/equityMethodAcctSecurityGainLocal
EagleML/warehouseTransaction/warehouseTrade/impairReasonCode
EagleML/warehouseTransaction/warehouseTrade/equityMethodAcctCurrencyLossBase
EagleML/warehouseTransaction/warehouseTrade/currentPeriodCurrencyLoss
EagleML/warehouseTransaction/warehouseTrade/currencyIncomeLoss
EagleML/warehouseTransaction/warehouseTrade/currentPeriodSecurityLossBase
EagleML/warehouseTransaction/warehouseTrade/currentPeriodSecurityLossLocal
EagleML/warehouseTransaction/warehouseTrade/equityMethodAcctSecurityLossBase
EagleML/warehouseTransaction/warehouseTrade/equityMethodAcctSecurityLossLocal
EagleML/warehouseTransaction/warehouseTrade/equityMethodAcctMarketVaueBase
EagleML/warehouseTransaction/warehouseTrade/equityMethodAcctMarketVaueLocal
EagleML/warehouseTransaction/warehouseTrade/notionalOrUnitsIndicator
EagleML/warehouseTransaction/warehouseTrade/ownershipPercentage
EagleML/warehouseTransaction/warehouseTrade/cashFlowEffectiveDate
EagleML/warehouseTransaction/warehouseTrade/equityMethodAcctPeriodMarketValueLocal
EagleML/warehouseTransaction/warehouseTrade/equityMethodAcctPeriodMarketValueBase
EagleML/warehouseTransaction/warehouseTrade/prorataCreditNonCreditLossFlag
EagleML/warehouseTransaction/warehouseTrade/purchasedImpairedIndicator
EagleML/warehouseTransaction/warehouseTrade/researchFeeLocal
EagleML/warehouseTransaction/warehouseTrade/researchFeeBase
EagleML/warehouseTransaction/warehouseTrade/sleeveId
EagleML/warehouseTransaction/warehouseTrade/srcSysC
EagleML/warehouseTransaction/warehouseTrade/starSourceLevel
EagleML/warehouseTransaction/warehouseTrade/technicalShortLevel
EagleML/warehouseTransaction/warehouseTrade/undistributedInvestmentIncomeBase
EagleML/warehouseTransaction/warehouseTrade/undistributedInvestmentIncomeLocal
EagleML/warehouseTransaction/warehouseTrade/unrealizedUndistributedInvestmentIncomeBase
EagleML/warehouseTransaction/warehouseTrade/unrealizedUndistributedInvestmentIncomeLocal

Files changed:
eagle_default/in/xml/xslt/wrh_egl_gen_interface3.xsl
eagle_ml-2-0_cm/out/xml/t_warehouse_trade_streaming.inc

SDP-51483 Enhanced the SPDDELTATRIGGERLOGEXTRACT to address price updates and exceptions along with extending the minAccountingDateFlag functionality

The SPDDELTATRIGGERLOGEXTRACT was enhanced to address price updates and exceptions along with extending the existing logic when including the minAccountingDateFlag with a value of P for Post Date.

For the existing RTR parameter, minAccountingDateFlag, the values may be Y or P. When the parameter value is set to P, the logic selects the earliest record where the accounting date < postdate. In v17.2.9, additional core functionality was delivered which inserts a row into the SPD_DELTA_TRIGGER_LOT_HIST table when the revaluation is executed for a fund with a MESSAGE_SUBTYPE of SPD_VALUATION_CALCS. The logic was expanded for when the minAccountingDateFlag is set to P to select both when the accounting date < postdate or when the MESSAGE_SUBTYPE = 'SPD_VALUATION_CALCS' and the Accounting Date < Update Date..

Along with the expansion of the Post Date criteria, the extract was expanded to to retrieve data from a second table and produce the minimum date of the joint result set. It is possible to have data on both tables or data on only one of the tables as the second table being joined is a price exception table.

The second table to be joined is the ESTAR.PRICE_FX_EXCEPTION and is part of the Pricing Exception process and captures price modifications.

  • It is possible to have an entry on the SPD_DELTA_TRIGGER_LOG_HIST and not on the PRICE_FX_EXCEPTION table.

  • It is possible to have an entry on both the SPD_DELTA_TRIGGER_LOG_HIST and on the PRICE_FX_EXCEPTION table.

  • It is possible to not have an entry on the SPD_DELTA_TRIGGER_LOG_HIST and have an entry on the PRICE_FX_EXCEPTION table.

With all three scenarios, the result set will return the distinct dataset.  A new field element, triggerLogSource, is now available which distinguishes the source of the selection for analysis purposes.

Files changed:
eagle_ml-2-0_cm/out/tagvalue/extract_spd_delta_trigger_log.inc
eagle_ml-2-0_cm/out/xml/t_spd_delta_trigger_log_streaming.inc

SDP-51461 The Generic SMF Inbound interface was modified to omit UPDATE_DATE in the SECMASTER_HISTORY database table if the fieldCompareFlag set to Y

The Generic SMF Inbound interface was modified to improve the management of the security history process. The security history record should NOT be updated if the fieldCompareFlag is used and the data is not changed. The logic is supported for v17 Eagle Core versions.

File changed:
eagle_default/in/xml/include/ins_upd_xrefs.inc

SDP-51013 The Fair Value Comparison outbound Interface was enhanced

The FAIRVALUECOMPARISONEXTRACT was enhanced to support a new parameter, in_acct_basis, as part of core stored procedure ESTAR.DBO.FAIR_VALUE_COMP_REPORT call to accommodate the latest changes on the core reporting side.

 Files changed:
eagle_ml-2-0_cm/out/tagvalue/extract_acct_fair_value_comparison.inc
eagle_ml-2-0_cm/out/xml/t_acct_fair_value_comparison_streaming.inc

SDP-50891 The WRHSCLOSELOTEXTRACT was enhanced to support the Corporate Action Model

The Warehouse Close Lot Outbound Interface was enhanced to extract the extended Corporate Action Model:

The following elements were added to WRHSCLOSELOTEXTRACT:

EagleML/warehouseTransaction/warehouseCloseLot/transType
EagleML/warehouseTransaction/warehouseCloseLot/sweepDate
EagleML/warehouseTransaction/warehouseCloseLot/cpStatus
EagleML/warehouseTransaction/warehouseCloseLot/cpReason
EagleML/warehouseTransaction/warehouseCloseLot/splitRatio
EagleML/warehouseTransaction/warehouseCloseLot/cpDebt
EagleML/warehouseTransaction/warehouseCloseLot/cpSwapRatio
EagleML/warehouseTransaction/warehouseCloseLot/cpTermFlag
EagleML/warehouseTransaction/warehouseCloseLot/cpShareTaxability
EagleML/warehouseTransaction/warehouseCloseLot/cpCashTaxability
EagleML/warehouseTransaction/warehouseCloseLot/cpCash
EagleML/warehouseTransaction/warehouseCloseLot/cpCallPx
EagleML/warehouseTransaction/warehouseCloseLot/fromFmvPrice
EagleML/warehouseTransaction/warehouseCloseLot/toFmvPrice
EagleML/warehouseTransaction/warehouseCloseLot/cpNewPx
EagleML/warehouseTransaction/warehouseCloseLot/consentRt
EagleML/warehouseTransaction/warehouseCloseLot/userGroup1
EagleML/warehouseTransaction/warehouseCloseLot/userGroup3
EagleML/warehouseTransaction/warehouseCloseLot/userGroup4
EagleML/warehouseTransaction/warehouseCloseLot/userGroup5

The additional Corporate Action fields are included in the extract file via the IncludeExtendedDetails filter:

<taskParameter>
<name>IncludeExtendedDetails</name>
<dataType>S</dataType>
<value>CA,ALL</value>
</taskParameter>

If the extract is executed via the generic_extract_workflow, the prefix with the feedtype name is required.
Also, the ALLEXTRACTS_ prefix can be used.

Usage:
<taskParameter>
<name>WRHSCLOSELOTEXTRACT_IncludeExtendedDetails</name>
<dataType>S</dataType>
<value>CA,ALL</value>
</taskParameter>

Files changed:
eagle_ml-2-0_cm/out/xml/extract_warehouse_closelot.inc
eagle_ml-2-0_cm/out/xml/t_warehouse_closelot_streaming.inc

SDP-50846 The Warehouse Position Extract was enhanced to support the openLotDeleteSwitch parameter for EagleML format

Provided support of the openLotDeleteSwitch parameter for the WRHSPOSITIONEXTRACT - Warehouse Position Extract in EagleML format. It allows to include <openLotDeleteSwitch>N<openLotDeleteSwitch/> into the extracted data. The switch is useful in case when it is not required to delete data from the Warehouse OpenLot related tables during the Warehouse Position load for the same Entity, Effective Date and Source. The same switch is supported for XMLDBAPI format.

File changed:
eagle_ml-2-0_cm/out/xml/t_warehouse_position_streaming.inc

SDP-49982 The Split rule was enhanced to resolved deadlock errors on data loads the WarehouseCashActivity

The concurrent data load via the WarehouseCashActivity interface with the same entityId and sourceName was creating database deadlocks on Windows MSSQL Server platform.

The new split key was added to improve performance and resolve deadlock errors for the WarehouseCashActivity load interface.

The following split key will be used on load:
In case of an entityId is part of the incoming file: entityId + sourceName
In case of an entityId is not part of the incoming file: xrefAccountId + xrefAccountIdType + sourceName

Files changed:
eagle_default/in/xml/xml-warehouse_v2.rsf
eagle_default/in/xml/xml-warehouse_v2.spl   

Production Bugs

SDP-46694 The Security Notes Interface was enhanced to correctly load colon values to the SEC_NOTES.NOTES database field

The Security Notes Interface was enhanced to correctly load colon values to the SEC_NOTES.NOTES database field. Added the possibility to load the colon (:) instead of 3A for the XML element - EagleML/referenceTransaction/securityNotes/NoteModel/notes

For example: <notes>Reuters defined: TEST Note</notes>

Files changed:
eagle_default/in/xml/xml-ref_secnotes_mi.xml
eagle_default/in/xml/xml-ref_secnotes.xml

SDP-50804 The Generic Extract Workflow was updated to support DYNAMICENTITYLISTEXTRACT, STATICENTITYLISTEXTRACT and MONTHLYPORTFOLIOVALUATIONEXTRACT

DYNAMICENTITYLISTEXTRACT, STATICENTITYLISTEXTRACT and MONTHLYPORTFOLIOVALUATIONEXTRACT were not triggered via the eagle_wrf_generic_extract workflow.
Conditions for related tasks in eagle_wrf_generic_extract workflow were fixed to allow launch DYNAMICENTITYLISTEXTRACT, STATICENTITYLISTEXTRACT and MONTHLYPORTFOLIOVALUATIONEXTRACT.

Files changed:
eagle_ml-2-0_workflows/eagle_wrf_generic_extract.wrf

SDP-50343 The WarehouseTrade inbound interface was improved to correctly load data for Forward securities to a custom database extension table

The problem was identified with custom database table extension functionality where a security alias was resolved at the top level and passed to the custom table extension update. The security alias passed was the incorrect security alias in case of a forward buy/sell leg security. The WarehouseTrade inbound interface was updated to correctly resolve a security alias for Forward securities in a custom database table extension.

Files changed:
eagle_default/in/xml/include/wrhs_ext_custom_fields.inc