EagleML Release Notes - May 2018
This release uses XSD Revision 299
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
Enterprise
EagleML
Support for Loading Data into Partitions Other than the Primary Partition for Warehouse NavMonthEnd and NavMulti
Data for the Warehouse NavMonthEnd and NavMulti feed types was previously being saved only to the first partition in the database due to logic pertaining to the partitions getting ignored in the rules.
The Inbound Warehouse rules were changed to support the loading of data into partitions other than just the primary partition.
Files changed:
- xml-dbdirect_common.inc
- bind_wrhs_nav_me.xml
This issue was tracked as Item #158975.
Update the error message for when the Security Alias is not found in the database with a list of security identifiers/types
The error message 'Security Alias was not found in the database' did not display a list of the security identifiers/types.
1. Added the list of security identifiers/types used for security resolution to the error message
2. Added mapping for the first pair of identifiers into Identifier1/identifier 2
Files changed:
match_all_sec_resolution.inc
security_resolution_generic.inc
xml-ref_ca.xml
xml-ref_generic_ca.xml
This issue was tracked as Item #159312.
Enable/Disable streams logic introduced.
An enhancement was introduced that allows disabling or enabling Message Center Streams with an RTR.
It is implemented through the use of three parameters:
streamTitle
streamId
streamOperation
The streamTitle parameter should contain one or a list of Message Stream Titles that would be affected.
<taskParameter>
<name>streamTitle</name>
<dataType>S</dataType>
<value>eagle_default_in_csv_callput,eagle_default_in_csv_capital_stock_activity</value>
</taskParameter>
The streamId parameter should contain one or a list of Message Stream Id’s that would be affected.
<taskParameter>
<name>streamId</name>
<dataType>S</dataType>
<value>-1105,-1132</value>
</taskParameter>
The streamOperation is a required parameter. It may have the values of enable or disable.
<taskParameter>
<name>streamOperation</name>
<dataType>S</dataType>
<value>disable</value>
</taskParameter>
A sample RTR:
<EagleML xsi:type="RunTaskRequest" eaglemlVersion="2-0" xsi:schemaLocation="http://www.eagleinvsys.com/2011/EagleML-2-0 eagleml-main-2-0.xsd" eaglemlType="RunTaskRequest" xmlns="http://www.eagleinvsys.com/2011/EagleML-2-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<header>
<messageId>EXTRACT_DE1_FTP</messageId>
<sentBy>http://www.client.com</sentBy>
<sendTo>http://www.eagleinvsys.com/eagle_ml-2-0_default_cm_control_message</sendTo>
<replyTo>http://www.client.com/Eagle Control Messages</replyTo>
<creationTimestamp>2012-08-02T22:13:32.272-05:00</creationTimestamp>
</header>
<taskIdentifier>
<correlationId>BT160096C_DISABLE_BY_STREAM_ID</correlationId>
<businessTaskId>BT160096_Disab_ID</businessTaskId>
</taskIdentifier>
<taskTypeEnum>LOAD</taskTypeEnum>
<synchronousExecution>no</synchronousExecution>
<taskParameters>
<taskParameter>
<name>StreamName</name>
<dataType>S</dataType>
<value>eagle_mc_server_support</value>
</taskParameter>
<taskParameter>
<name>streamId</name>
<dataType>S</dataType>
<value>-1105,-1132</value>
</taskParameter>
<taskParameter>
<name>streamOperation</name>
<dataType>S</dataType>
<value>disable</value>
</taskParameter>
</taskParameters>
</EagleML>
Note - the stream name parameter is required and should always be set to eagle_mc_server_support as shown in the RTR above.
Files changed:
eagle_mc_server_support.rsf
eagle_mc_server_support_stream_disable.xml
This issue was tracked as Item #160096.
Entity accounting periods close was added in core EagleML
Functionality that allows closing accounting periods for composite entities was added to EagleML.
The xml-ent_entityaccountingperiods_close.xml file was added to handle the issue. A reference to the xml-ent_entityaccountingperiods_close.xml file was added into the xml-ent_objects.rsf.
This issue was tracked as Item #160221.
Adjusted All Columns from the SECURITY_EPS_EQUITY Table
EagleML XSD/xml-ref_genericissueanalytic.xml rule was using only two columns from the SECURITYDBO.SECURITY_EPS_EQUITY table.
All the other columns from this table were added to the logic in the xml-ref_genericissueanalytic.xml rule and the XSD schema was updated to reflect these changes.
File changed:
\eagleml\schema\eagleml-ref-shared-2-0.xsd
\eagle_default\in\xml\xml-ref_genericissueanalytic.xml
This issue was tracked as Item #161089.
Create and Schedule EJM Profile for Generic Loader with Multiple Files
There was a request to allow the generic load workflow to load files that come in at different times. Functionality was added that allows a profile to control incoming files and put them in a queue. The workflow waits until all files that are going to require a load have been transformed and are in the designated location for the generic load to pick them up.
Files changed:
wrf_unzip.prf
custom_routing.inc
workflow_restart.xml
send_to_wrf.rsf
send_to_wrf.xml
getting_files_from_orch_param.inc
launch_load_by_profile.inc
wrf_generator.inc
This issue was tracked as Item #161131.
Added New Fields in Portfolio Valuation Model and Support Retrieval of the Price Information from the Archive Tables
There was a request to add two fields to the Portfolio valuation model. The Original Source internal id number was added along with the Price Source Detail field. The fields appear in the XSD as originalSourceInstance and sourceDetail. The model is available in the WRHSOPENLOTEXTRACT and WRHSPOSITIONEXTRACT.
The archive table for the PRICE_RULE_SECURITIES source table was also added to this model.
(select * from RULESDBO. PRICE_RULE_SECURITIES_ARCH union select * from RULESDBO. PRICE_RULE_SECURITIES )
Include for SQL generation and transform rules were changed:
extract_holding_ext_port_valuation_fields.inc
t_holding_portfolio_valuation_fields.inc
t_holding_portfolio_valuation_fields_streaming.inc
This issue was tracked as Item #161532.
Delete accounting trades positions via default workflow 'eagle_wrf_generic_delete'
Deleting accounting trade positions was only possible through a panel which required manual execution. Deleting positions would be much easier and quicker if the process could be automated.
The eagle_wrf_generic_delete workflow and the eagle_ml-2-0_default_in_xml_delete_objects stream were enhanced with the eagle_wrf_generic_delete_accounting_objects.wrf and the t_eagle_ml-2-0_default_in_xml_delete_accobject.xml rule. This enhancement made it possible to delete trade positions via the generic delete workflow.
This issue was tracked as Item #161612.
EagleML: Re-design loading approach of xml-ent_entity_peer_group_ranking.xml for Core and NG
To improve the performance of data loads, the logic for loading should be kept in the auto-generic xml binds and stored procedures. This method is preferred to the current execution of SQL from Message Center rules.
All the changes applied to Entity Analytics, Entity Peer Group Ranking and Entity Rating EagleML objects
1. Removed obsolete code generating dbml request in mc rules.
2. Modified functional to call CORE or NG stored procedures
Rules changed:
xml-ent_entity_analytics.xml
xml-ent_entity_peer_group_ranking.xml
xml-ent_entity_rating.xml
This issue was tracked as Item #161771.
NG Upload Updated in Order to Use Bind
The NG upload was updated in order to use bind logic (improved performance).
The NG upload was updated in order to use Eagle database binds. The core logic was not affected.
Files changed:
xml-ent_entity_rating.xml
This issue was tracked as Item #161772.
New rebook logic implemented for Accounting Trades (BUY/SELL).
New BUY/SELL logic for the accounting trade interface was added to EagleML.
The new logic added relies on the W_ACCTTRADE_ALLOW_AUTOREBOOK flag. The default behavior is to avoid the rebook. To activate this logic the parameter must be set to a value of “Y”.
Following rules have been updated or created:
accttrade_true_rebook.inc
xml-accttrade_buy.xml
xml-accttrade_sell.xml
trade_aliases.inc
t_accounting_trade.xml
This issue was tracked as Item #161966.
Updated Logic for Loading Data to Entity History Table If Entity Record Contains Custom Extensions
When loading entities with a custom extension section there were issues with the way the record got inserted into the database. The expected behavior is for the record to be inserted to both the history and history extension table. For inserts this logic was working correctly, but updates would only insert a new record to the history extension table causing discrepancies in the data. This was observed specifically when the record sent for an update had a different effective date than the records already present in the database.
The logic has been updated to allow the entities to be inserted into both the history and history extension tables every time records are sent in. This covers both new inserts and updates.
This issue was tracked as Item #162332.
Added changes to support extension for issuePrice
Support for the Issue Price extension was requested for loads and extracts.
Made changes for issuePrice extension in the following files:
dynamic/msgcenter/eagle_ml-2-0_cm/dbkeysmap.inc
dynamic/msgcenter/eagle_ml-2-0_cm/out/xml/t_issueprice_streaming.xml
dynamic/msgcenter/eagle_ml-2-0_cm/out/tagvalue/extract_issueprice.inc
dynamic/msgcenter/eagle_ml-2-0_cm/out/tagvalue/extract_issueprice.xml
dynamic/msgcenter/eagle_default/in/xml/xml-ref_issueprice.xml
dynamic/msgcenter/eagle_default/in/xml/include/custom_fields.inc
This issue was tracked as Item #162695.
Added changes for Warehouse Position objects extension load/extract
The Warehouse Position extension was only available for loading. This enhancement extended the functionality to the extract as well.
Some key extension table fields were changed
before: ENTITY_ID, SRC_INTFC_INST, EFFECTIVE_DATE, SECURITY_ALIAS, LONG_SHORT_IND
after: POSITION_ID, SECURITY_ALIAS, LONG_SHORT_IND
Functionality is only available with ORACLE databases.
Changed streams:
eagle_ml-2-0_default_out_q
eagle_ml-2-0_default_in_xml_warehouse_preproc
Changed files:
estar\tpe\dynamic\msgcenter\eagle_default\in\xml\include\wrhs_ext_custom_fields.inc
estar\tpe\dynamic\msgcenter\eagle_ml-2-0_cm\out\tagvalue\include\extract_warehouse_position.inc
estar\tpe\dynamic\msgcenter\eagle_ml-2-0_cm\extract_extensions_add_tables_into_join.inc
estar\tpe\dynamic\msgcenter\eagle_ml-2-0_cm\extract_extension_table_fields.inc
estar\tpe\dynamic\msgcenter\eagle_ml-2-0_cm\dbkeysmap.inc
This issue was tracked as Item #162711.
Added changes for supporting extension for warehouse cash activity
Support for the Warehouse Cash Activity extension was requested for loads and extracts.
Made changes for extension Warehouse Cash Activity in the following files:
dynamic\msgcenter\eagle_default\in\xml\include\xml-dbdirect_common.inc
dynamic\msgcenter\eagle_default\in\xml\include\wrhs_ext_custom_fields.inc dynamic\eagleml\extension\warehouseCashActivity.xsl
dynamic\eagleml\extension\warehouse_extensions.xsl
dynamic\msgcenter\eagle_default\in\xml\xslt\wrh_egl_gen_interface3.xsl
\dynamic\msgcenter\eagle_ml-2-0_cm\extract_extension_table_fields.inc
\dynamic\msgcenter\eagle_ml-2-0_cm\out\tagvalue\extract_warehouse_cash_activity.inc
\dynamic\msgcenter\eagle_ml-2-0_cm\dbkeysmap.inc
\dynamic\msgcenter\eagle_ml-2-0_cm\out\xml\t_warehouse_cash_activity_streaming_eml.inc
\dynamic\msgcenter\eagle_ml-2-0_cm\out\xml\t_warehouse_cash_activity_streaming.inc
This issue was tracked as Item #162712.
EJM
Ability to Send User Data from Automation Center/Scheduler to the Schedule Stream
User data which was defined in automation center for _schd (_restart) stream was being ignored.
Changed logic in the "workflow_restart.sch" and "workflow_restart.xml" rules to transfer and add user parameters from Automation Center into an RTR as task parameters.
This issue was tracked as Item #158928.
Added Parameter in the w_config_custom include to Suppress Intermediate TSR
There were processing delays and failures when generating a high volume of TSRs during loads. 18 thousand records could generate 52 thousand TSRs.
A new parameter was added to reduce the number of TSRs generated by simply not creating intermediary TSRs and only sending the final TSR.
The InternalTSRGeneration parameter with values of “Y” and “N” may be added to the incoming file. If set to "Y", there will be one ACK and one TSR message in the local and FTP folders. A value of "N" will maintain the default behavior of many intermediate TSRs being generated.
Alternatively the W_INTERNAL_TSR_GENERATION variable in the w_config.inc file may be used as well.
<taskParameter>
<name>InternalTSRGeneration</name>
<dataType>S</dataType>
<value>Y</value>
</taskParameter>
Files changed:
runtaskrequest.xml
reporter_dist,inc
execute_wrfl_event.xml
This issue was tracked as Item #162199.
EJM Callback Needs to Include the Server (EA) Cert While Calling Back to the Client's Listener End Point
The client certificate must be present in the callback service.
1. Added new parameters for the callback adapter
cert – path to the certificate file (should be in PEM format)
certpass – password for certificate
key – the path to private key file (the file should be in PEM format) (only applicable if the certificate file doesn’t contain a private key).
2. Added the parameter definition in the "reporter_dist_methods.inc" include.
3. Added HTTPS-mode with cert info in the "http_calls.inc" include.
This issue was tracked as Item #162865.
Software Fixes
Enterprise
EagleML
Added eagle_default_bbca_helper stream to the EagleML package as a core stream.
There was a request to add the bbca_to_tagvalue stream to the core EagleML package. The stream was renamed to eagle_default_bbca_helper to match the current naming convention.
The eagle_default_bbca_helper stream was added to the core EagleML package.
This issue was tracked as Item #146994.
Made ENTITYACCBASISEXTRACT Valid against XSD
XSD validation failed for ENTITYACCBASISEXTRACT in non-streaming mode only.
The order of elements in the t-rule was incorrect. This order was fixed.
Files changed:
eagle_ml-2-0_cm\out\xml\t_entity_accounting_basis.xml
This issue was tracked as Item #160909.
Remove Unneeded XML Aliases for the IssuerRole Feed
Unneeded XML aliases were overwriting the mapping for some of the required XML aliases because both of them were using the same ALIAS values.
Unneeded XML aliases from the IssuerRole object.
Changed file:
estar\tpe\dynamic\msgcenter\eagle_default\in\xml\ xml-ref_issuerrole.xml
This issue was tracked as Item #162378.
Resolved Processing for the EagleML User Feed Type Insert/Update on 2017 Versions
The EagleML core code did not have mapping for tag990, but this tag is required in the 2017 version of the panel. The original name of element was listed as: <relarionshipInstance>.
Mapping for tag 990 was added for User in the xml-user_user.xml rule.
The name of element has been fixed to <relationshipInstance> in these rules:
t_user_user_streaming.inc,
t_user_group_streaming.inc.
The eagleml-user-shared-2-0.xsd was also fixed to include the correct name of the element:
<xsd:element name="relationshipInstance" type="xsd:integer" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Relarionship Instance - if groupCode = 'PaceRole'</xsd:documentation>
<xsd:appinfo>Is Primary Role</xsd:appinfo>
<xsd:appinfo>PACE_MASTERDBO.PACE_USER_ROLE_DETAILS.INSTANCE</xsd:appinfo>
<xsd:appinfo/>
</xsd:annotation>
</xsd:element>
This issue was tracked as Item #162578.
Added New Value(P) for ExtractLevel Parameter
The default behavior for the ExtractLevel parameter value of A was changed. The inner join to the POSITION_DETAIL table was replaced with a left join.
A new value, “P”, was added to follow the same logic as the “A” value did previously.
This issue was tracked as Item #162662.
EJM
Included Entity UserGroup Support for the SMFExtract when Executing the extract in HeldOnly Mode
An SMFEXTRACT in heldonly mode requires the ability to use the UserGroup entity filter.
Support for this filter capability was added to the Held filter logic.
Include extract_filter_held.inc was changed.
This issue was tracked as Item #163038.
Fixed Logic for Naming EJM Supplementary Files
The standard behavior in EJM is to send a trigger file to the incoming folder of each sub process in a workflow. The name of each subsequent file was generated based on the name of the trigger used for the previous sub process with an appended time stamp. When there were a large number of sub processes in a workflow the names of the trigger files would exceed the file name character limit.
Part of the file naming logic was moved from the data file task stream to the task reporter stream.
The following rules were changed:
data_file_task.xml
task_reporter.xml
adjust_datafile_name.inc
This issue was tracked as Item #163511.