EagleML Release Notes - June 2017
This release uses XSD Revision 260.
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
Introduced Rounding Logic for HOLDINGDBO.NAV_MULTI.MILL_RATE in WRHSNAVMULTIEXTRACT
WRHSNAVMULTIEXTRACT was enhanced to include logic for rounding HOLDINGDBO.NAV_MULTI.MILL_RATE. The new parameter enablecalculations: = 'Y' was introduced for this logic. This parameter is N by default. The file extract_warehouse_nav_multi.inc was updated for this enhancement.
This issue was tracked as Item #151741.
Added Security Resolution Support for toAsset in GenericCA
GenericCA was enhanced to allow for security resolution support based on identifiers. For this enhancement, the required XML mapping (for <toAsset> node), security resolution for to_AssetId was added and and the logic for tag 302 was updated.
This issue was tracked as Item #150282.
EagleML Installer Enhancement for Artifactory Users
Previously, you needed to update the installer stream separately before the EagleML install to ensure you had the latest stream. The process was enhanced so that the EagleML installer stream is now part of EagleML and is able to update itself. You no longer have to install the stream separately. With this enhancement, logic for the latest installer installation to occur before the component installation was added to 'eagle_wrf_deploy' workflow.
This is only applicable for clients who install via Artifactory. If you install in other methods, you still need to always install the installer stream first manually.
If there are ever any major structural changes to the installer, there may be a need for a manual install of the installer stream even for Artifactory users. In this case, we would indicate it on the Release Schedule page.
This issue was tracked as Item #151816.
Added MaxEffectiveDate Filter Filter for Issuer_organization_hist Extract
The issuer_organization_hist extract was enhanced to allow for the use of a maxeffectivedate filter. The maxeffectivedate filter is applied in SMF History Extract if the parameter 'maxeffectivedate' is set. With this filter, the record would be returned for max effective date for each record there effective date is less then filter value.
The max effective date filter is available only for history only since effective_date is required.
Below is a sample portion of a control leveraging this filter (the date used is just for this example):
<taskParameter>
<name>maxeffectivedate</name>
<dataType>S</dataType>
<value>2017-05-30</value>
</taskParameter>
The following rules have been modified:
extract_generic_issuer.inc
extract_generic_issuer.xml
t_issuer_org_streaming.inc
t_issuer_org_streaming.xml
This issue was tracked as Item #151985.
Added MaxEffectiveDate Filter for Reference Extracts
The Reference Extracts were enhanced to allow for the use of a maxeffectivedate Date filter. These include the following extracts:
ISSUEVARRATEEXTRACT
SCHEDULEEXTRACT
FACTOREXTRAC
ISSUEEXCHANGEPRICEEXTRACT
ISSUEFXRATEEXTRACT
ISSUEPRICEEXTRACT
ISSUEFXPCRATEEXTRACT
ISSUERRATINGEXTRACT
The maxeffectivedate filter is applied in SMF History Extract if the parameter 'maxeffectivedate' is set. With this filter, the record would be returned for max effective date for each record there effective date is less then filter value.
The max effective date filter is available only for history only only since effective_date is required.
This issue was tracked as Item #151852.
Added MaxEffectiveDate Filter for SMF History Extract
The SMF History Extract was enhanced to allow for the use of a maxeffectivedate filter. The maxeffectivedate filter is applied in SMF History Extract if the parameter 'maxeffectivedate' is set. With this filter, the record would be returned for max effective date for each record there effective date is less then filter value.
The max effective date filter is available only for history only only since effective_date is required.
This issue was tracked as Item #151981.
Added MaxEffectiveDate Filter for Generic Entity Extract
The Generic Entity Extract was enhanced to allow for the use of a maxeffectivedate filter. The maxeffectivedate filter is applied in SMF History Extract if the parameter 'maxeffectivedate' is set. With this filter, the record would be returned for max effective date for each record there effective date is less then filter value.
The max effective date filter is available only for history only since effective_date is required.
This issue was tracked as Item #151983.
Added Minenddate Filter for IssuerRole ExtractÂ
The IssuerRole Extract was enhanced to allow for the use of a Minenddate filter. This filter supports the ability to pass a date in the control message and check that date against the end_date field in the issuer_role_details table. It will only extract records where the end_date is not null or the record with the min(effective_date) >= date passed in the control message parameter (plus any additional filter criteria supported). If the parameter minenddate is specified, for every Issuer Alias + Security Alias pair, only one record will be returned. The value of End Date will be the minimum for each pair, but not less than Min End Date. The End date filter was also added to the Issuer Role extract rule.
This issue was tracked as Item #151984.
Adjusted Update Logic for endDate logic in Issuer Role When endDate is Not in The Incoming Message
When the issuer role record for a new issuer is loaded and the role record for old issuer exists in database, it should be updated with end date value of expired. However, if the endDate is not present in the incoming message, the existing record is updated with empty date value and is not expired. The logic was updated. In this case, if the end date is not populated in the incoming message, it should be calculated as the startDate of incoming record - 1. In addition, removed logic to clear end date before inserting new record in the case where it is populated in the incoming file and old record for another issuer was closed.
This issue was tracked as Item #152340.
Extend the IncludeExtendedDetails Content for Additional Fields
The following new field elements were added to IncludeExtendedDetails:
ENTITY_EXTENSION_USER_CHAR9
RULESDBO ENTITY_EXTENSION USER_CHAR9
ENTITY_EXTENSION_USER_CHAR45
RULESDBO ENTITY_EXTENSION USER_CHAR45
RULESDBO.ENTITY_ACCT_BASIS.BASE_CURRENCY where the PRIMARY_BASIS_INDICATOR = 'Y'
The XSD schema was updated and new fields were added in common includes for the common models including:
extract_entity_fields.inc
t_entity_common_ids_fields.inc
t_entity_common_ids_fields_streaming.inc
This issue was tracked as Item #152427.
EJM
Add Ability for PACE Event Name and Other Specific Parameters to be Passed through RTR
EJM was enhanced to allow several taskparameters to be sent in through an RTR for the generic loader. The taskparameters are:
PACEEventName
PACEEventType
W_ExecuteRDC
W_ExecuteSRM
These values will override the workflow defaults and whatever is in w_config_custom for the one run. The following rules were changed for this enhancement:
exec_pace_event.inc
exec_pace_event.xml
eagle_wrf_generic_load.wrf
eagle_wrf_generic_load_smf_composite.wrf
This issue was tracked as Item #150414.
Added MaxEffectiveDate Mode for Entity Filter
The MaxEffectiveDate mode was added for the Entity filter. The MaxEffectiveDate mode for the Entity filter will be applied if RTR parameter UseMaxEffectiveDateFlag = ‘Y’. If the Entity filter is not used, the parameter will be ignored. The MaxEffectiveDate mode is similar to the MaxEffectiveDate filter, but here a value of MaxEffectiveDate is not set. The value of max Effective Date will be calculated for each ENTITY_ID in the Extract SQL by the special statement. Example for Warehouse Position Extract:
POSITION.EFFECTIVE_DATE = (select max(p.EFFECTIVE_DATE)
FROM HOLDINGDBO.POSITION p
WHERE p.ENTITY_ID = POSITION.ENTITY_ID)
This issue was tracked as Item #151264.
Added Ability to Pass Multiple Values to EntityList Filter
EJM was enhanced to allow you to pass multiple values to the EntityList Filter. These can be passed delimited by a comma. Previously you could only pass one value to this filter. The file extract_filter_entity.inc was updated for this enhancement.
This issue was tracked as Item #151341.
Introduced New EJM Process Monitor Health Check Alerts
The following three new EJM alerts have been created:
Self System Check Error: FTP Delivery Failure (Message Center)
Self System Check Error: FTP Receive Failure (Message Center)
Self System Check Error: Execution Failure (Message Center)
The Self System Check Error: FTP Delivery Failure alert indicates a file could not be delivered to the FTP site.
The Self System Check Error: FTP Receive Failure alert indicates that a file could not be retrieved by Message Center from the FTP site.
The Self System Check Error: Execution Failure alert indicates that Message Center was unable to complete execution of a test task.
This issue was tracked as Item #150394.
Software Fixes
EagleML
Updated Security Resolution Include File Used in Underlying SMF
An old version of the security resolution include was used in the Underlying SMF Rule (xml-smf_underling.xml). The rule called security_resolution.inc instead of security_resolution_full.inc.
The code was updated to use the correct include file.
This issue was tracked as Item #151562.
Issue with Corporate Action Extract
There were incorrect values in the ToAsset node of a Corporate Action Extract. The TO_securityAlias resolution logic in the file extract_generic_corporate_actions.xml was updated to correct this issue. The Corporate Action Extract now extracts as expected.
This issue was tracked as Item #138313.
Incorrect Path in eagle_default/in/xml/
There was some custom xsl listed in the eagle_default/in/xml/. This should not have been included as part of the core EagleML package and has been removed.
This issue was tracked as Item #150472.
Issue with ValidatePackage
If you ran eagle_ml-2-0_default_validatepackage, you may get errors.
The code was updated to resolve this issue. The package name in the file validate-eagleml-package.sch was changed from 'eagle_ml_2_0' to 'EAGLE_ML_2_0'.
This issue was tracked as Item #151416.
Issue with Resolving Swap Type When Inserting Underlying Link
There was an issue with Resolving Swap Type (tag 4590) when inserting a underlying link. This issue occurred when the incoming message for Swap SMF has several underlying models. The links were inserted for the incorrect leg of the underlying security. As an example: When you send a generic SMF file with 3 records of Swap security legs, where record for Contract leg contain 3 underlying models – 2 for related pay and receive legs and 1 additional underlying model at the end of record – on the stream eagle_ml-2-0_default_in_xml_smf_mi the securitydbo.underlying security is duplicated and incorrect links between records will be inserted.
The code was updated to resolve this issue. In the inbound generic SMF rule, the resolution of swap type was updated to properly account for this scenario.
This issue was tracked as Item #151485.
Like Match Was used in Lookups in Generic SMF Inbound Interface
The code value lookups check currency and country codes for the following elements in Generic SMF inbound interface:
assetCurrency (tag 85)
incomeCurrency (tag 1186)
settlementCurrency (tag 63)
countryOfRiskCode (tag 10536)
issueTaxType (tag 668)
These lookups did not have tag 1256 mapped and therefore used LIKE match. Using a LIKE match could cause the lookup to resolve to wrong value.
To resolve this issue, the rule generic_smf_fields_logic.inc was updated to include the mapping for tag 1256 = 'NAME_EXACT'. The Code Value lookups in Generic SMF inbound interface now use exact match.
This issue was tracked as Item #151752.
Incorrect Mapping of updateMasterTablesFlag
The updateMasterTablesFlag was mapped incorrectly in generic_smf_fields_logic.inc.
The code was updated to resolve this issue.
This issue was tracked as Item #151942.
Issue with GenericSMF Extensions Hiistory Table Logic
There were issues with the secmaster_history table logic for GenericSMF extensions. The logic always added/updated either master OR history only.
The logic was updated so that it will always insert record in _hist table AND will update master table when HistoryOnlyFlag <> Y. The following rules were changed:
load_custom_extension.inc
xml-smf_generic.xml
This issue was tracked as Item #152039.
Issue with includeCancels Parameter with Subscribe Reedem Extract
The Parameter includeCancels was not working for Subscribe Reedem Extract.
The code was updated to correct this issue. The following file was modified:
extract_acct_subscribe_reedem.xml
This issue was tracked as Item #152329.
Added Option For Creating Underlying Dummy Record
The EagleML Generic SMF interface would always create an underlying dummy security if the underlying security was missing in the database. The record has investment type of NULL, process sec type of DEFAULT and effective date of '19000101'.
The code was enhanced and this behavior is now configurable. In the w_config_custom.ini file, you can set the parameter W_CREATE_UNDERLYING. You can also control this behavior at the message level with the flag <createUnderlying>. In both cases, a value of Y will insert the dummy underlying record if it does not exist in the database and a value of N will skip this logic. If you have it configured in both places, the setting on the message takes precedent.
If neither of these are configured, the existing logic which inserts the dummy underlying security is used.
As part of this enhancement, when a dummy record is inserted, the effective date is set to '19000101'. Previously, it was set to today's date.
This issue was tracked as Item #152404.
Resolved Issue with Cutting Off RES_MESSAGE variable
The RES_MESSAGE variable always cut off at 20000 symbols.
To resolve this issue, a restriction was added for the case when OutputFromat parameter is used as TAGVALUE and transform step (atoi(:vSendData2Stream:) = 1) is not used.
This issue was tracked as Item #152910.
Issue with Entitlement List Extract
When running the Entitlement List extract, you could get the error:
Data query is not executed. ErrorCode: -2. ErrorMessage: ORA-00936: missing expression
The code was updated to resolve this issue. The logic sqlparam_EN_MasterTable_ORA as :vEntityMasterTable: and set UsingAnsiJoinsMode as 'Y' was added to the file In extract_ref_entity_entitlement_list.xml. The Entitlement List extract will now run without errors.
This issue was tracked as Item #153104.
EJM
Install Issue When No .Pkg File
The install process would fail if the zip file did not have a .pkg file. You would get the error:
cannot stat `/apps/eagle/estar/tpe/dynamic/tmp_installer/estar/*.pkg': No such file or directory
The code was updated to resolve this issue. The file eagle_mc_installer.prf code was improved to include checking for the existence of pkg files in the RUNPREPROCESSOR section.
This issue was tracked as Item #150779.
Changed Procedure Order in Eagle_wrf_generic_load
In the Eagle_wrf_generic_load , the calls to eagle_generic_load_warehouse_objects and eagle_generic_load_corp_actions_objects from eagle_wrf_generic_load wer in the incorrect order. This could lead to performance decrease.
The order was updated in the code.
This issue was tracked as Item #152103.
I2I
Position Record on Spoke Not Deleted for a 0 Position After Receivables Settled
The position record on the Spoke is not deleted for a 0 position after the receivables are settled. The impact of this issue is that the Spoke and Hub are not in a synced state.
To resolve this issue, the logic for SPD delta extract was updated to add UNION with CASH_ACTIVITY table and extract from it records with TRANS_TYPE in('MISCINC','MISCEXP','MISCEXPCANCEL','MISCINCCANCEL').
This issue was tracked as Item #152571.