EagleML Release Notes - December 2020

Enhancements:

SDP-43277: Implemented Trade Principal check for MBS and ILB securities

An optional Trade Principal Check was implemented for MBS and ILB securities.
For ILB securities (DBFLTP), the new logic calculates the Principal based on the Index Ratio and compares it to the Principal from the incoming file, taking into account the provided or default Tolerance.
For MBS securities (DBFBFB, DBFBPO, DBFBIO, DBFBAL, DBFBCC, DBIBTR), the logic calculates the Principal based on the Factor and compares it to the Principal from the incoming file taking into account the provided or default Tolerance.

A new processing option, ALLOW_PRINCIPAL_CHECK, on the incoming message enables the Principal Check logic. The corresponding global parameter, W_ACCTTRADE_ALLOW_PRINCIPAL_CHECK (Y/N), is also supported via the w_config_custom.inc.
An additional processing option, PRINCIPAL_CHECK_TOLERANCE_VALUE, on the incoming message adds the Tolerance value. By default, the Tolerance is 0. The corresponding global parameter is W_ACCTTRADE_TOLERANCE_VALUE. The required tolerance value should be set accordingly, for example a decimal value of 0.03 is equivalent to 3%.

Example of usage:
<accountingTransaction>
<header>
<objectType>AccountingTrade</objectType>
<processingOptions>ALLOW_PRINCIPAL_CHECK,PRINCIPAL_CHECK_TOLERANCE_VALUE=0.03</processingOptions>
</header>
<accountingTrade>
</accountingTrade>
</accountingTransaction>

Files added:
eagle_default/in/include/principal_check.inc

Files changed:
eagle_default/in/include/accttrade_routing_check.inc
eagle_default/in/xml/xml-accttrade_buy.xml
eagle_default/in/xml/xml-accttrade_sell.xml

SDP-43887: The PRICINGREPORTEXTRACT was enhanced to support scenarios where the Security is Priced At Cost

The PRICINGREPORTEXTRACT supports scenarios where the Security is Priced At Cost, Manually Priced, sourced by a vendor and a gold copied price. The price source and price description fields returned resolves the Price At Cost source from the value from the Portfolio Valuation Table and the other sources resolve from the Price Rule Securities Table.

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

SDP-44741: PRICINGREPORTEXTRACT was refined in order to address instances where the Active Price Rule is not set to Y, and Price At Cost instances are not within the hierarchy

The logic has been revised to support additional cases where the Source Override has been applied; additional workflows for Prior Day Gold Copy; and the application of an override that is intentionally executed outside the predefined hierarchy.

The fields impacted by this change include:

  • targetSourceName

  • targetSourceDescription

  • priceSource

  • priceSourceDescription

  • priceType

  • activePriceSourceName

  • activePriceSourceDescription

The change delivered will now return additional results when the use cases above occur:

  • priceHierarchyRuleName

  • primarySourceName

  • primarySourceDescription

  • secondarySourceName

  • secondarySourceDescription

  • primaryPrice

  • primaryPriceType

  • secondaryPrice

  • secondaryPriceType

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

SDP-44352: FX Rate resolution was corrected for the Asset Specific Miscellaneous Income and the Asset Specific Miscellaneous Expense

When supplying the calculateBaseAmountsFlag with a value set to Y, the FX rate lookup used to retrieve the FX source was defaulted to EAGLE PACE and the END_DATE default value used was set to a future date as part of FX Rate resolution. As a result, the incorrect FX rate value was retrieved or not resolved in cases where an EAGLE PACE value did not exist. The issue was fixed and the correct FX source is resolved by the entity lookup now, the most recent FX rate is being retrieved now and the core lookup defaults to the Trade Date (Tag35) as the End Date.

Files changed:
eagle_default/in/include/csv-cash_misc_inc_exp.inc

SDP-44272: Multileg Corporate Actions load process was enhanced

The Multileg Corporate Action load process was optimized to skip unnecessary edit checks and redundant SQL requests related to the prior version of the rebook logic. The update logic was also improved and the Sub Priority value is now resolved from the database.
The two database tables, TRADESDBO. CORP_ACT_ANNOUNCEMENT_HIST and TRADESDBO. CORP_ACT_HIST are synchronized on the Update in order to enable future support for the CANCEL and lookup logic for a MultilegCA.

Files added:
eagle_default/in/xml/include/xml-ref_ca_common.inc
eagle_default/in/xml/xml-ref_multileg_ca.xml

SDP-44170: Accounting Corporate Action Interface was improved

The AccountingCA inbound interface was corrected to allow data load via XML elements for additional fields supported in processing:

EagleML/referenceTransaction/genericCA/cpGrossAmt
EagleML/referenceTransaction/genericCA/cpFreq
EagleML/referenceTransaction/genericCA/cpNetAmt

File changed:
eagle_default/in/xml/xml-ref_ca.xml

SDP-43303: Updated the Ontology for the WarehouseOpenLot interface to support the Income model

Updated the Ontology files for the WarehouseOpenLot Outbound EDS interface adding new fields from the table HOLDINGDBO.POSITION_INCOME_LOT:
warehouseTransaction/warehouseOpenLot/income/piUserFloat1
warehouseTransaction/warehouseOpenLot/income/piUserFloat1
warehouseTransaction/warehouseOpenLot/income/piUserFloat2
warehouseTransaction/warehouseOpenLot/income/piUserFloat3
warehouseTransaction/warehouseOpenLot/income/piUserFloat4
warehouseTransaction/warehouseOpenLot/income/piUserFloat5
warehouseTransaction/warehouseOpenLot/income/piUserFloat6
warehouseTransaction/warehouseOpenLot/income/piUserFloat7
warehouseTransaction/warehouseOpenLot/income/piUserFloat8
warehouseTransaction/warehouseOpenLot/income/piUserFloat9
warehouseTransaction/warehouseOpenLot/income/piUserFloat10
warehouseTransaction/warehouseOpenLot/income/piUserFloat11
warehouseTransaction/warehouseOpenLot/income/piUserFloat12
warehouseTransaction/warehouseOpenLot/income/piUserFloat13
warehouseTransaction/warehouseOpenLot/income/piUserFloat14
warehouseTransaction/warehouseOpenLot/income/piUserFloat15
warehouseTransaction/warehouseOpenLot/income/piUserFloat16
warehouseTransaction/warehouseOpenLot/income/piUserFloat17
warehouseTransaction/warehouseOpenLot/income/piUserFloat18
warehouseTransaction/warehouseOpenLot/income/piUserFloat19
warehouseTransaction/warehouseOpenLot/income/piUserFloat20
warehouseTransaction/warehouseOpenLot/income/piUserFloat21
warehouseTransaction/warehouseOpenLot/income/piUserFloat22
warehouseTransaction/warehouseOpenLot/income/piUserFloat23
warehouseTransaction/warehouseOpenLot/income/piUserFloat24
warehouseTransaction/warehouseOpenLot/income/piUserDate1
warehouseTransaction/warehouseOpenLot/income/piUserDate2
warehouseTransaction/warehouseOpenLot/income/piUserDate3

Files changed:
dynamic/metadata/core/ontology/eagle-vocab-wh.json
dynamic/metadata/core/ontology/eagle-vocab-wh-shared.json
dynamic/metadata/core/ontology/definition/eagle-vocab-definition-wh.json
dynamic/metadata/core/ontology/definition/eagle-vocab-definition-wh-shared.json
dynamic/metadata/core/ontology/warehouse/warehouseopenlot.json
dynamic/metadata/core/ontology/warehouse/warehouseopenlot-models.json

SDP-43302: Updated Ontology for WarehousePosition interface to support the Income Detail model

Updated the Ontology files for the WarehousePosition Outbound EDS interface adding support for the additional database table HOLDINGDBO.POSITION_INCOME_DEATIL. The fields supported include:
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat1
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat1
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat2
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat3
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat4
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat5
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat6
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat7
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat8
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat9
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat10
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat11
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat12
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat13
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat14
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat15
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat16
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat17
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat18
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat19
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat20
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat21
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat22
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat23
warehouseTransaction/warehousePosition/incomeDetail/piUserFloat24
warehouseTransaction/warehousePosition/incomeDetail/piUserGroupChar1
warehouseTransaction/warehousePosition/incomeDetail/piUserGroupChar2
warehouseTransaction/warehousePosition/incomeDetail/piUserGroupChar3
warehouseTransaction/warehousePosition/incomeDetail/piUserGroupChar4
warehouseTransaction/warehousePosition/incomeDetail/piUserGroupChar5
warehouseTransaction/warehousePosition/incomeDetail/piUserGroupChar6

Files changed:
dynamic/metadata/core/ontology/eagle-vocab-wh.json
dynamic/metadata/core/ontology/eagle-vocab-wh-shared.json
dynamic/metadata/core/ontology/definition/eagle-vocab-definition-wh.json
dynamic/metadata/core/ontology/definition/eagle-vocab-definition-wh-shared.json
dynamic/metadata/core/ontology/warehouse/warehouseposition.json
dynamic/metadata/core/ontology/warehouse/warehouseposition-models.json

SDP-43850: The WASHSALE Interface and WRHSWASHSALETRADEEXTRACT rules were updated to match the EagleML XSD

The WashSale Inbound interfaces and the WRHSWASHSALETRADEEXTRACT were updated to correct XSD validation errors and match the EagleML XSD. The order of elements also was corrected.

Files changed:
eagle_default/in/include/washsale_aliases.inc
eagle_default/in/include/washsale_coltags.inc
eagle_ml-2-0_cm/out/xml/t_wash_sale_streaming.inc
eagle_ml-2-0_cm/out/tagvalue/extract_entity_bank_relationship.inc
eagle_ml-2-0_cm/out/xml/t_warehouse_washsale_trade_streaming.inc
eagle_ml-2-0_cm/out/xml/t_warehouse_washsale_trade.xml

SDP-43848: The accountId element type was changed from an integer to a string as part of the Accounting XSD and Extracts

The XSD schema did not match Ontology. The XSD schema contained two elements: accountId with a different types: xsd:string for Warehouse types; and xsd:integer for Accounting types. The Ontology does not allow multiple elements to have the same name and different types. To correct this issue, the type of the accountId element was changed to xsd:string for Accounting types to match the Ontology resource.

Files changed:
eagle_ml-2-0_cm/out/xml/t_acct_gl_activity_streaming.inc
eagle_ml-2-0_cm/out/xml/t_acct_compilance_2a7_pricing_report_streaming.inc
eagle_ml-2-0_cm/out/xml/t_acct_trial_balance_streaming.inc

SDP-43794: The variationMarginFlag was added for SMF Objects to correct the XSD and sync-up with the new metadata

The XSD schema had two elements for the variationMargin with different types: xsd:decimal for Warehouse objects; and type YesNoOptionEnum for SMF objects. The Ontology does not allow multiple elements with the same name and different types. To fix this issue, the type of XSD element variationMargin was changed from YesNoOptionEnum to xsd:decimal for the SMF objects. Also, a new element, variationMarginFlag, was added to the XSD schema for the GenericSMF and MultilegSMF objects for backward compatibility. When both the variationMargin and the variationMarginFlag are to be used, the variationMarginFlag should take precedence. The mapping for the inbound and outbound SMF interfaces was updated and both elements variationMargin and variationMarginFlag are mapped to the same database field SECURITYDBO.DERIVATIVES.VAR_MARGIN.

XPath=EagleML/referenceTransaction/genericSMF/variationMarginFlag

Files changed:
eagle_ml-2-0_cm/out/tagvalue/extract_entity_bank_relationship.inc
eagle_ml-2-0_cm/out/xml/t_smf_streaming.inc
eagle_ml-2-0_cm/out/xml/t_smf.xml
eagle_default/in/xml/include/contract_leg_alliases.inc
eagle_default/in/xml/include/contract_mapping.inc
eagle_default/in/xml/include/pay_leg_alliases.inc
eagle_default/in/xml/include/pay_mapping.inc
eagle_default/in/xml/include/receive_leg_alliases.inc
eagle_default/in/xml/include/receive_mapping.inc
eagle_default/in/xml/include/receive_mapping.inc
eagle_default/in/xml/include/futurecontractsmf_model.inc
eagle_default/in/xml/include/generic_smf_base_model.inc

SDP-43793: Warehouse Open Lot Interface was adjusted to support new element and new mapping

XSD Schema, inbound and outbound WarehouseOpenLot interfaces did not match Warehouseopenlot ontology resource.
XSD schema contained two elements netcashflwsNxtPmt with different types: xsd:decimal for GenericSMF type and xsd:date for WarehouseOpenLot type.
Every element should be unique in Ontology. To correct the issue new element netcashflwsNxtPmtDate2 was added to the XSD schema, and the mapping for the database field
HOLDINGDBO.LOT_LEVEL_POSITION.NETCASHFLWS_NXT_PMT was corrected for Warehouse Open Lot inbound and outbound interfaces.

New XPath: EagleML/warehouseTransaction/warehouseOpenLot/netcashflwsNxtPmt2

Files changed:

eagle_ml-2-0_cm/out/xml/t_warehouse_openlot_streaming.inc
eagle_ml-2-0_cm/out/xml/t_warehouse_openlot.xml
eagle_default/in/xml/xslt/wrh_egl_gen_interface3.xsl

SDP-43775: The Entity Bank Relationship Outbound Interface was updated to support streaming

The ENTITYBANKRELEXTRACT was improved to support streaming via MC and MC2.

Files changed:
eagle_ml-2-0_cm/out/tagvalue/extract_entity_bank_relationship.inc
eagle_ml-2-0_cm/out/xml/t_eagleml-2-0_streaming.rsf
eagle_ml-2-0_cm/out/xml/t_entity_bank_relationship_streaming.inc
eagle_ml-2-0_cm/w_config.inc

SDP-12469: The Stored Procedure for Custom Benchmark Inbound interface was added to core

The Stored Procedure for Custom Benchmark Inbound interface was included to the core package.

Files changed:
metadata/bind/eagleml_ent_custombenchmark.xml
eagle_default/in/xml/xml-ent_custombenchmark.xml
eagle_ml-2-0_cm/generate_sp_on_fly.inc

Production Bugs

SDP-43606: Corrected the issue with TSR content for PRF Stream tasks

Previously generated TSR did not contain all task details related to the PRF Stream.
The issue occurred due to an extra colon symbol in the generated eofwData variable and the SPLITSTRING function was working incorrectly. The issue was fixed.

File changed:
eagle_ml-2-0_cm/out/tagvalue/data_file_task.xml

SDP-43510: Corrected the issue with duplicate records in the file-based mode for the WAITEVENTS queue

On the cancel workflow, via the EJM MT/Stop All Instances option in the file-based mode for WAITEVENTS queue environment, the file lock was not set on start of WAITEVENTS.DAT handled via the eagle_ml-2-0_default_cm_execwkfl stream. The Cancel process did not lock the WAITEVENTS.DAT file which resulted in duplicated files in the queue. The logic was corrected to avoid possible duplication of records of files pending for execution in case of the file-based mode for WAITEVENTS queue.

Files changed:
eagle_ml-2-0_cm/cancel_global_event_wait.inc

SDP-43417: SPD Delta Trigger Log Extract was updated to support RTR Task Parameter HeaderOnlyTSR

The SPDDELTATRIGGERLOGEXTRACT was previously executed incorrectly if the RTR taskParameter HeaderOnlyTSR was used.
The EagleML extract was created with three fields only: objectType; objectId; and objectDescription. This is incorrect as only the TSR file should be created in this case. The SPDDELTATRIGGERLOGEXTRACT was updated to correctly support the task parameter HeaderOnlyTSR.

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

SDP-43280: SQL Query was corrected for the FINANCIALEVENTEXTRACT in DeltaBased mode

The DeltaBased mode for the FINANCIALEVENTEXTRACT extract did not work due to an inconsistency between the table alias in the From section and in the Where section within the generated SQL queries.

The table aliases for the extract were updated. The short table aliases were replaced with the corresponding table names to be in sync with the Where section.

Files changed:
eagle_ml-2-0_cm/out/tagvalue/extract_financial_event.xml

SDP-25228: Corrected EJM MC Consolidated TSR functionality for Windows MSSQL platform

The Task Reporter stream worked incorrectly on the Windows MSSQL platform when the CreateConsolidatedTSR parameter was set to Y and the stream parameter <failure_tolerance> on the loader stream was not set. The following error was raised:
Error executing DB Request. Status Code: -2 Channel Status Code: -5 Error Message: 'Error executing the request: Invalid length parameter passed to the LEFT or SUBSTRING function. '
The query for the consolidated TSR should not fail when the stream does not have the Failure Tolerance value specified. The issue was fixed.

eagle_ml-2-0_cm/out/xml/task_reporter.xml
eagle_ml-2-0_cm/out/xml/task_reporter_generate_task_unit.inc