EagleML Release Notes - May 2017

This release uses XSD Revision 255.

There are four overlay files that are currently packaged as part of the EagleML monthly release. Please refer to About EagleML Overlays for specific details and impact to you.

Enhancements

EagleML

Add Entity Filter for GIPSComposite Extracts

EagleML was enhanced so that the GIPSComposite extract can now use the entity filter. 

This issue was tracked as Item #133439.


Added SecurityType Node into Generic SMF Files XSL

The code was enhanced to include the SECURITY_TYPE node into the eagleml_smf_gen_fields.xsl file.

This issue was tracked as Item #146767.


Update Logic for Delta Mode

The logic for Delta Mode was updated. The date should be set before the start of the main query. This impacts when extracts are in Delta Mode (DeltaBased = Y). The following delta includes were updated:

  • extract_delta_based.inc

  • extract_delta_based_get_date.inc

Also, the datetime value is obtained before the query and saved if the query was success.

This issue was tracked as Item #148727.


Expanded the NAV Daily Extract to Include the Estar Distribution Log for NII Income

Thirteen new elements were added to the Estar distribution log by using the distribution amount field. The elements added included:

  • niiIAmount

  • niiADJIAmount

  • fixedAmountN

  • periodicIAmountN

  • periodicLTAmountN

  • periodicSPAmountN

  • periodicSTAmountN

  • periodicADJIAmountN

  • periodicADJLTAmountN

  • periodicADJSPAmountN

  • periodicADJSTAmountN

  • niiIAmountN

  • niiADJIAmountN

The following rules received code changes to support this enhancement:

  • extract_nav_multi_details_tables.inc

  • extract_nav_multi_details_fields.inc

  • t_warehouse_nav_multi_streaming.inc

  • t_warehouse_nav_multi.inc

This issue was tracked as Item #150078.


Revised Security Logic from True Rebook Logic from xml-ref_ca.xml Rule

Part of the security logic was removed from the True Rebook logic from xml-ref_ca.xml rule. The condition Atoi(:tag1951:)>1 and (Atoi(:tag1954:)>1 or (:tag1952:=:tag1955: and :tag1953:=:tag1956:)) was removed from this logic. The original logic required 1951 to be resolved. However, there are cases when you pass many xref identifiers. So if 1951 isn't resolved, this is OK since there are other securities in xref logic. Also, you can consider that a Corporate Action record can't be loaded or rebooked if there is no security, so there is no need to have this logic.

This issue was tracked as Item #150243.


Added Issuer Entity Relationship and Enhanced IssuerOrganization.model

The following enhancements were made:

  • Added new Type to XSD - Issuer Entity Relationship

  • Added fields to XSD. These fields were added to Issuer Organization and Generic Issuer objects:

    • gicsSector

    • gicsIndustryGroup

    • gicsIndustry

    • gicsSubIndustry

    • issuerType

    • historyOnlyFlag

    • phone

    • cfcFlag

    • centralCounterParty

  • Added Inbound and Outbound rules for Issuer Entity Relationship

  • Added Issuer Entity Relationship to Generic Load workflow

  • Mapped new fields in Inbound rule for Issuer Organization (Note: Generic Issuer is Outbound only)

  • Mapped new fields in Outbound rules for Generic Issuer and Issuer Organization

The new fields and database table for Issuer Entity Relationship is new in Eagle v2017.

This issue was tracked as Item #150590.


Added New Field to ENTITYEXTRACT

FinalNportFilingDate was added to the the generic entity extract. The rules t_entity.xml and t_entity_streaming.xml have been updated to accommodate this change.

This field is new in Eagle v2017.

This issue was tracked as Item #150597.


Enhanced Issuer Role Logic to Support Loading Role Record for Each Leg of Multileg Security

If you wanted to load an issuer role for a multileg security, you needed to know all the individual legs and the ID's for those legs and pass in the updates individually. Some clients do not know this information and passed only the primary asset identifier in the incoming file. This does not allow for which leg of multileg security this issuer role record should be loaded. Therefore, when you sent a file with issuer role message for a multileg security, the role record was  loaded only for one leg of security.

The Issuer Role inbound rules were now enhanced to support loading role record for each leg of multileg (swap/forward) security. The Flag singleLegLoadFlag was introduced into Issuer Role interface to switch on this logic. When singleLegLoadFlag is set as N, the security alias for all legs of multileg security will be resolved and issuer role record will be loaded for each leg.

This issue was tracked as Item #150700.


Created New EagleML Object PACE Calendar

EagleML was enhanced to include PACE Calendar Creation and Update processes. This enhancement was made because Data Management and Performance implementations requested a process to roll the Business Date in PACE Calendar and the ability to create PACE Calendar in the background. The following rules were changed to make the logic the same for the two platforms:

  • xml-ref_objects.rsf

  • xml-ref_pace_calendar.xml

  • w_config.inc

  • extracts.rsf

  • extract_pace_calendar.xml

  • t_eagleml-2-0.rsf

  • t_eagleml2-0_streaming.rsf

  • t_ref_pace_calendar.xml

  • t_ref_pace_calendar_streaming.xml

  • eagle_wrf_generic_extract.wrf

  • eagle_wrf_generic_extract_reference_objects_ind.wrf

  • eagle_wrf_generic_extract_system_objects.wrf

  • eagle_wrf_generic_load.wrf

  • eagle_wrf_generic_load_system_objects.wrf

  • eagle_wrf_generic_extract.ejmwf

  • eagle_wrf_generic_extract_reference_objects_ind.ejmwf

  • eagle_wrf_generic_extract_system_objects.ejmwf

  • eagle_wrf_generic_load.ejmwf

  • eagle_wrf_generic_load_system_objects.ejmwf

This issue was tracked as Item #150931.


Enhance Holdings extracts (Warehouse Position and Open Lot) to Return Rating Details

EagleML was enhanced to include the ability to extract Rating details in holdings extracts (Warehouse Position and Open Lot) for related securities. The Warehouse Position and Open Lot interfaces were updated to contain extendedRatingModel. The holdings extracts were enhanced to return Rating details for related securities in case the 'ratingSource' filter is specified in RTR.

This issue was tracked as Item #150947.


Extended the IncludeExtendedDetails Content for Additional Field Elements

An enhancement to IncludeExtendedDetails Content was made to include the following fields:

  • NAV_ROUNDING(navRounding)

  • NUMBER_OF_NAV_DIGITS(numberOfNavDigits)

  • LEI(legalEntityIdentifier)

  • MASTER_ENTITY_ID(entityMasterId)

  • SECTOR_ENTITY_NAME(entitySectorName)

  • SECTOR_ID(entitySectorId)

The following rules were changed to make the logic the same for the two platforms:

  • extract_entity_fields.inc

  • t_entity_common_ids_fields.inc

  • t_entity_common_ids_fields_additional_start.inc

  • t_entity_common_ids_fields_streaming.inc

This issue was tracked as Item #151123.


Added Signage Logic into Account Settled CA Extract

Account Settled CA Extract was enhanced to include signage logic. Signage logic is applied in Account Settled CA Extract if parameter 'EnableSignageLogic' is set as 'Y'. If the value is 'N' (default), the numeric fields are used as usual. If the value is 'Y', some numeric fields have their own algorithm of getting of values.

List of fields:

  • AMOUNT

  • NET_AMOUNT_BASE

  • SETTLE_AMOUNT_LOCAL

  • REC_PAY_AMT_B

  • REC_PAY_AMT_L

  • (no fields)

  • PRINCIPAL

  • PRINCIPAL_AMOUNT_BASE

  • COMM_AMT_B

  • COMM_AMT_L

  • OTHER_FEE_B

  • OTHER_FEE_LOCAL

  • RECLAIM_AMOUNT_BASE

  • RECLAIM_L

  • SEC_FEE

  • SEC_FEE_B

  • STAMP_DUTY_TAX_B

  • STAMP_DUTY_TAX_L

  • TAX_AMT_B

  • TAX_AMT_L

  • TAX_EXPENSE_BASE

  • WITHHOLDING_L

  • GAIN_CURRENCY

  • GAIN_SWAP_B

  • GAIN_SWAP_L

  • LOSS_CURRENCY

  • LOSS_SWAP_B

  • LOSS_SWAP_L

  • INCOME

  • INCOME_AMOUNT_BASE

  • UNITS

Example of logic for field AMOUNT (if 'IncludeCurveAnalytics' = 'Y'):

CASE WHEN ESTAR_SETTLED_CASH_ACTIVITY.CASH_EVT_TYP <> 'RECPT' THEN NVL(ESTAR_SETTLED_CASH_ACTIVITY.AMOUNT,0) * -1 ELSE NVL(ESTAR_SETTLED_CASH_ACTIVITY.AMOUNT,0) END AMOUNT

This issue was tracked as Item #151171.


Added Signage Logic into Account Traded CA Extract

Account Traded CA Extract was enhanced to include signage logic. Signage logic is applied in Account Traded CA Extract if parameter 'EnableSignageLogic' is set as 'Y'. If the value is 'N' (default), the numeric fields are used as usual. If the value is 'Y', some numeric fields have their own algorithm of getting of values.

List of fields:

  • AMOUNT

  • NET_AMOUNT_BASE

  • SETTLE_AMOUNT_LOCAL

  • REC_PAY_AMT_B

  • REC_PAY_AMT_L

  • (no fields)

  • PRINCIPAL

  • PRINCIPAL_AMOUNT_BASE

  • COMM_AMT_B

  • COMM_AMT_L

  • OTHER_FEE_B

  • OTHER_FEE_LOCAL

  • RECLAIM_AMOUNT_BASE

  • RECLAIM_L

  • SEC_FEE

  • SEC_FEE_B

  • STAMP_DUTY_TAX_B

  • STAMP_DUTY_TAX_L

  • TAX_AMT_B

  • TAX_AMT_L

  • TAX_EXPENSE_BASE

  • WITHHOLDING_L

  • GAIN_CURRENCY

  • GAIN_SWAP_B

  • GAIN_SWAP_L

  • LOSS_CURRENCY

  • LOSS_SWAP_B

  • LOSS_SWAP_L

  • INCOME

  • INCOME_AMOUNT_BASE

  • UNITS

Example of logic for field AMOUNT (if 'IncludeCurveAnalytics' = 'Y'):

CASE WHEN ESTAR_TRADED_CASH_ACTIVITY.CASH_EVT_TYP <> 'RECPT' THEN NVL(ESTAR_TRADED_CASH_ACTIVITY.AMOUNT,0) * -1 ELSE NVL(ESTAR_TRADED_CASH_ACTIVITY.AMOUNT,0) END AMOUNT

This issue was tracked as Item #151172.


Added Signage Logic into Warehouse Trade Extract

Warehouse Trade Extract was enhanced to include signage logic. Signage logic is applied in Warehouse Traded Extract if parameter 'EnableSignageLogic' is set as 'Y'. If the value is 'N' (default), the numeric fields are used as usual. If the value is 'Y' some numeric fields has their algorithm of getting of values. Some changes are applied in calculation of fields.

List of fields:

  • NET_CASH

  • TRADE_BASE_AMOUNT

  • COST_BASE

  • COST_LOCAL

  • ORIG_ACQ_COST_BASE

  • ORIG_ACQ_COST_LOCAL

  • PAR_OR_SHARES

  • PRINCIPAL

  • PRINCIPAL_BASE

  • BASE COMMISSION AMOUNT

  • LOCAL_COMMISSION_AMOUNT

  • EXCHANGE_FEE

  • EXCHANGE_FEE_BASE

  • OTHER_FEE

  • OTHER_FEE_BASE

  • SEC_FEES

  • SEC_FEES_BASE

  • TAXES

  • TAXES_BASE

  • CURRENCY_GAIN

  • SECURITY_GAIN

  • TOTAL_GAIN_LOCAL

  • TOTAL_GAIN

  • CURRENCY_LOSS

  • SECURITY_LOSS

  • TOTAL_LOSS

  • TOTAL_LOSS_LOCAL

  • ACCRUED_INTEREST

  • BASEINTERESTADJ

This issue was tracked as Item #151325.


New EagleML Interface for WarehouseDisclosureStatus

A new EagleML interface was created for WarehouseDisclosureStatus (the SNS_HLD_DISCLOSURE_STATUS table). It support both MSSQL and ORACLE extract and load. For Extract: New interface has FeedType = WRHSDISCLOSURESTATUSEXTRACT. It support streaming and non streaming extracts. Entity, Security, Source and Date filters. For Load: Support Entity Resolution, Security Resolution. Also new interface was added in Generic Extract and Generic Load default workflows.

This issue was tracked as Item #151278.


Extension of Warehouse Position Extract to Use Additional Fields

New fields were added in XSD for Warehouse Position and update extract rules. The Extract Warehouse Position is expanded to include the following additional fields from the table HOLDINGDBO.POSITION_PLEDGE_DETAIL:

  • CURR_PLEDGE_BASE_VALUE

  • CUSTODY_BANK, CUSTODY_STATUS

  • ORIG_PLEDGE_BASE_VALUE

  • OUTSTANDING_UNITS

  • PLEDGE_MASTER

Also, one analytic table is added if the flag 'IncludeCurveAnalytics' is set as 'Y'. The table is HOLDINGDBO.PD_CURVE_ANALYTICS. The Warehouse Position Extract has about 1000 fields in the SQL. To exclude an Oracle error "maximum number of columns is 1000" – one other analytic table (HOLDINGDBO.POSITION_DETAIL_ANL_USER) will be excluded if parameter 'IncludeCurveAnalytics' = 'Y'.

This issue was tracked as Item #151331.


Included New Table in Warehouse Performance extract psr_curve_analytics

EagleML was enhanced to inlcude new table in Warehouse Performance extract psr_curve_analytics. The extract was also modified and a new flag was added: IncludeCurveAnalytics = Y\N (Default N). If this flag specified as Y than data from the table psr_curve_analytics will be included in extract. The extract will not fail if this flag specified as Y but the table doesn't exist on the environment.

This issue was tracked as Item #151393.


Removed SQL Scripts from EagleML Package

SQL Scripts were removed from EagleML Package. Having the SQL scripts as part of the EagleML package could cause issues with installation.

This issue was tracked as Item #151633.

EJM

Modified Demandlist Extract

When you save a profile from the panel eagle/star/reference/pan-demandlist.htm, you can select to save only Entered fields instead of All fields. The code was enhanced so that when you select Entered fields, the other tags which aren't in profile to are not specified with any default values.

This issue was tracked as Item #150997.

Software Fixes

EagleML

Modified Issue Role Upload

The stored procedure returned an error and then tried to insert Issuer role with same issuer alias to an existing record with the end_date of not null. This issue occurred when the database already had a closed record for same Issuer alias as the new one. The code was updated to resolve this issue. Records that have closed one for same issuer alias exist in the database are now skipped.

This issue was tracked as Item #149707.


Issue Where Rebook Message Processed When Security Not Resolved

The rebook message continues processing even if the security is not resolved. The rebook message should actually be ignored if the security is not resolved because the CorpAct record can not be loaded or rebooked if there is no security. This issue occurs when sending an AccountingCA or GenericCA Rebook message into the eagle_ml-2-0_default_in_xml_reference stream. The code was updated to resolve this issue. If the security is not resolved, the Rebook message will now be ignored.

This issue was tracked as Item #149948.


Missing Mapping For in_accrual_date_cust

There was no mapping for in_accrual_date_cust into the insert into ADD_SCHEDULE in the xml-ref_schedule_mi.xml. As a result of this missed mapping, the database filed was not updated for the in_accrual_date_cust node. The code was updated to correct this issue. The following files were updated:

  • xml-ref_schedule.xml

  • xml-ref_schedule_mi.xml

In both rules there a corresponding mapping was created, as <PAR TAG="in_accrual_date_cust" TYPE="S" EXPRESSION=":tag8504:" DIRECTION="IN" /> in both DB directs.

This issue was tracked as Item #150708.


Corrected Mapping in Schedule Model

The elements scheduleType and scheduleSubType were mapped incorrectly. This resulted in the database fields being populated with the incorrect values. These mappings were corrected.

This issue was tracked as Item #151088.


Include Check Version for Encoding in Get_w_state

The RTR failed when the ReplyBy argument with column symbol was set in the RTR. The logic was updated so EagleML deployer how handles values with ":" correctly.

This issue was tracked as Item #151223.


Issue with SWAP File Containing No Exchange Data

When the SWAP data loaded had no value in the xreference.exchange data element, it loads like a " " into the database. The code in the xml-smf_generic rule was updated. Now if the incoming xreference.exchange data element is empty, it will load a null value.

This issue was tracked as Item #151272.


Delta Extract Returned NO_DATA When Entity Filter Used

Extracts always returned NO_DATA in Delta Mode if the entity filter was used. The code was updated to resolve this issue. The file tpe/dynamic/msgcenter/eagle_ml-2-0_cm/out/tagvalue/extract_delta_based_get_date.inc was changed to added condition autocommit = NO in MSGEXCHANGE which calculates last run date.

This issue was tracked as Item #152006.


Added MONEY_MARKET_TYPE to Generic Entity

The following column was added to the EagleML in the Generic Entity type:

  • MONEY_MARKET_TYPE

Mappings for the new element were added in the xml-ent_entitygeneric.xml file and also the extract rules:

  • t_entity

  • t_entity _streaming

This issue was tracked as Item #152072.


Corrected GROUPBY Logic of Extract_acct_cash_journal rule in out_q stream

This issue was linked to grouping of records. The code was updated to resolve this issue. EventReason field was added in GROUPBY logic of extract_acct_cash_journal rule in out_q stream.

This issue was tracked as Item #152100.

EJM

Issue with Preprocessing Rule

The latest version of preprocessing rule eagle_mc_installer.prf does not work correctly on Solaris. The eagle_mc_installer.prf file was updated to resolve this issue.

This issue was tracked as Item #150884.

I2I

Issue Updating Incorrect Currency when Trades Load

The trade load was not using the Trade Currency from the incoming file. The issue occurred if local_currency for the security was different than the tradeCurrency from incoming file. The code in the file wrh_egl_gen_interface3.xsl was updated to include logic to reference the tradeCurrency value from the incoming file.

 This issue was tracked as Item #149363.