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.