EagleML Release Notes - January 2016

As of 2016, Eagle has changed the EagleML monthly release to be named in the month that the release is actually available in. The first release in 2016 is the EagleML January release. In the old nomenclature, this would have been referred to as the December monthend release.


This release uses XSD Revision 217.

There was an overlay file that is currently packaged as part of the EagleML monthly release. Please refer to About EagleML Overlays for specific details and impact to you.

Enhancements

EagleML

New Options to Generic SMF Functionality to Increase Performance
Several new functions were made to the generic SMF load and extract to assist with performance. A new extract filter that allows you to extract only 'new' securities has been added. In this case, new means only ones that have been loaded since the last extract. In addition, the code now includes the addition of a checkSpokeFlag parameter that allows the SMF to be loaded directly to the database without going through security resolution logic. This is possible because it will use the security alias that is set in the incoming XML message instead of resolving it based on given criteria. In addition, this flag can be set to "Y" upon extract. This means that an SMF that was extracted would produce a message with a security alias field and the checkSpokeFlag so that if this exact message is sent for loading the security resolution step would be skipped and the SMF would be loaded based on the security alias listen in the incoming message. These new functions are optional. While these improvements were made for increased performance, you should evaluate in whether it makes sense for you to leverage these given your particular circumstances.
This issue was tracked as Item #136536.

EJM

Add Ability to Pass Effective Date to Show/No Show Process
EJM was enhanced to allow for the ability to pass Effective Date as a parameter to the automated Show/No Show process so it may run for prior business day in case the Show/No Show process has to run after midnight. Prior to this enhancement, the Show/No Show process would trigger an incorrect date in this instance and therefore cause incorrect updating of Show/No Show flags. The changes were made in the exec_pace_event.inc rule and are implemented through adding the PACEUserData tag in the control message.
This issue was tracked as Item #121856.


Added Ability to Pass Certain Parameters to Datamart Jobs
EJM was enhanced to allow for the ability to pass certain parameters to Datamart jobs. This feature has been made possible through the use of a RTR control message that is sent to the eagle_ml-2-0_default_cm_control_message which launches the eagle_ml-2-0_default_cm_execute_pace_event stream. The addition includes parameters for a single Effective Date, Effective Date Rule Name and Sub Event Name. In addition, Entity parameters include Entity Id, Entity List and Entity Composite.

Note: Only one of the entity parameters can be used at a time. These additional parameters allow flexibility for running Datamart jobs. Also the TSR format for PACE jobs has been expanded to include more detail about the execution of each subtask. This also includes the final status being set as failure if any of the individual subtasks returned a failure.
This issue was tracked as Item #135572.

An additional Item #138134 was created on Jan 28th to track additional changes around this initial enhancement. The main change is to Report No Data Loaded information as warnings instead of failure and also based on a new optional task parameter Report the overall status of the job as success despite the warnings messages. It is also been requested to not include success loads in this TSR. BT #13834 has not yet been scheduled for a specific EagleML release.

Software Fixes

EagleML

Entity Id Resolution Issue for Warehouse Objects
When running an SQL statement to locate a specific warehouse performance object by its Entity Id, the request would come back as a failure despite the Entity Id actually being present in the database. This issue stemmed from inability of the SQL to directly look up the Entity Id for a warehouse object, as the lookup depended on the xreference for the Entity Id. When sending a request for identifier plus identifier type with values of entity_id and entity_xreference, the xref lookup is able to find the correct data.
This issue was tracked as Item #135541.


Added Tag 1102 to the Issuer Relationship Interface
Previously, Tag 1102 (which is the source name tag) was not included in the issuer relationship interface mapping. The source name is often useful to have when loading data. Therefore, it was added to the in-mapping. In addition, several other tags were added to the OUTMAP. For example: 351 and 1173 which are both used for lookups within the panel inside the rule were added. These changes add more functionality to the issuer relationship interface.
This issue was tracked as Item #135610.


Incorrect Quantity Type Derived for EQEQMF Security Type
The generic SMF rule contains code that determines the quantity type of the incoming security based on the security type. In the case that the security is an EQEQMF (the notation for a mutual fund), the security type should be SHARES. When this type of SMF was loaded, however, the security type went through that code and wound up with default value of PAR. PAR should only be used if no other quantity type is deduced from the logic of the rule. This occurred because the rule was not accommodating for the EQEQMF security type. The code was updated to allow the quantity type to be mapped in without the execution of any logic if the field is present in the original incoming message. In addition, a safeguard added to the assignment logic. The mapping for tag 11 which is based on tag 3931 (security type) was simplified to allow all security types starting with EQ* to populate the quantity type with the SHARES values.
This issue was tracked as Item #135736.


Issues with Processing Order for Load and Delete Workflows
There were a few issues with the processing order of steps in the load and delete workflows. The load of security related objects and corporate action related objects cannot be loaded simultaneously since the issue prices must be already present in the SMF before a corporate action can be taken. In the case of the delete side of the workflow, the corporate action should be removed before the security object. Also, the warehouse and accounting objects should get deleted before reference data. These changes have been implemented in the workflow rule and objects that build upon each other and rely on one step being completed before progressing to the next one. They are no longer being processed simultaneously.
This issue was tracked as Item #135908.


Adjustments for Aladdin Nack Functionality
The warehouse and warehouse preproc rules and XSLTs were changed to specifically accommodate the third party system Aladdin Nack capabilities. The Aladdin format sends several XML files for processing and to finish the load there must be a status returned to the sender. This status hinges on a few parameters which already existed in the rules, but were not saved to be returned. The recent rule changes have made it possible to pull those necessary parameters so that they can be used to compile the status that will be returned.
This issue was tracked as Item #136382.


CSV to EagleML Warehouse Lot Issue with Delete Option
When a warehouse lot is loaded, it rolls up the information to the warehouse position field in the database. In some cases this may not be desired since there could be an independent warehouse position file that a client may wish to send. In the case of a roll up, once a position is sent the lot value stored in the database for that record is deleted. EagleML has an option in the form of a parameter than can prevent the lot from being deleted. However, this parameter was not compatible with the stream that converts CSV files to EagleML. The code was updated to ensure this flag was available to this stream and interpreted it correctly. It is now possible to execute the strategy explained above with the lots and positions by using the CSV inbound streams whereas before it was only possible from XML formatted files.
This issue was tracked as Item #136544.


No Input Parameter for Tag 16157 (prorataCreditNoncreditLossIndicator) in the Accounting Trade Interfaces
There was an incomplete mapping for the accounting trade and multileg trade interfaces. The element <prorataCreditNoncreditLossIndicator> could be passed through the front end panels, but was not accessible outside the panel. This was due to missed mapping and this was corrected in the accounting trade interface as well as the multileg trade interface. The parameter can now be passed through regular EagleML messages and not just through the panel.
This issue was tracked as Item #136559.


Vendor Cash Flow Issues
The reference object vendor cash flow was loading with an 'wrong number or types of arguments' error. This was the result of issues in the rule file. There was a misspelled variable that called to PACE_MASTERO.dbo instead of PACE_MASTER.dbo. In addition, there was a missing inbound parameter which would handle the insertion or updating of this reference object. Changes were made to the code and these errors no longer occur and the records are inserted or updated into the proper database field.
This issue was tracked as Item #136765.


Generic Corporate Action Fails on Update
When sending a corporate action that already existed to the eagle_ml-2-0_default_in_xml_reference stream, the load would be unsuccessful and return "Corporate action end date: value required" error. This was the result of an incorrectly coded mapping which has been fixed. If you send in a corporate action that exists, the record will now be updated as expected.
This issue was tracked as Item #136779.


Issue with Bloomberg Adapter Stream When URL Contained Colon
When sending data to the eagle_vendor_bbps_adapter_ftp stream, there was problems if the URL in the settings contained a colon symbol (":"). This was because the tag separator symbol in use at the time was also a colon so the system could become confused when reading a URL with what it interpreted as a tag separator. The colon was used after the URL to indicate the port number so this notation remained and the tag separator symbol was switched to a tilde (~). This cleared up the confusion that previously occurred in the code.
This issue was tracked as Item #136865.


Batch-like Mode with Skip Flag Option for Targeted Reference Interfaces
Some reference interfaces received new support in the form of a skip flag option as well as the addition of a batch import mode that had been available for other reference objects previously. The skip flag allows the load process to go through the security resolution process and if a matching record is found, then depending on the presence of the skip flag in the incoming file the record will or will not be updated. The batch import option allows for processing several records in one transaction instead of doing so one at a time. This increases throughput significantly and therefore saves time just like the skip flag. The Schedules, VarRates and Estimates interfaces have had their performance output increased.
This issue was tracked as Item #134842.

EJM

Continuous Run of Execwkfl and Taskreport Stream
The execwkfl and taskreport stream could potentially run continuously. This issue occurred because of a <workflowState> node in the initial run task request (RTR). The rule was edited to avoid this issue and the stream now runs as expected.
This issue was tracked as Item #133606.


Base65encoder.exe Changes for Solaris Platform
Previous improvements were made to the base64econder.exe script for Linux and Windows environments as these are the main platforms for the application tier. However, since the Solaris platform was not formally retired until the v13 series, the base64econder.exe script was updated to accommodate Solaris as well.
This issue was tracked as Item #136718.


Colon Displayed as \3A in Generic SMF and Generic Entity
There was a problem with the representation of the colon (":") character in the generic SMFs and generic entities interfaces. It was showing as "\3A" instead which is XML's representation of the colon. Since the EagleML core processors convert several special XML related symbols into their SML equivalents during extracts these symbols must be converted back into their ASCII representation. The code in the

  • /eagle_ml-2-0_cm/out/xml/t_entity_manager_relationship.xml
  • /eagle_ml-2-0_cm/out/xml/t_entity_list_list.xml
  • /eagle_ml-2-0_cm/out/xml/t_entity_bank_relationship.xml
  • /eagle_ml-2-0_cm/out/xml/t_entity.xml
  • /eagle_ml-2-0_cm/out/xml/t_smf.xml
  • /eagle_ml-2-0_cm/out/xml/t_smf_streaming.xml

rules has been changed to allow for this manipulation. When sending a control message the symbols still should not be used in any Id field as the system does not accept this. As a result of the changes, there are no more "\3A"s appearing in Entity names and other fields that include the colon. In addition, the same precaution was taken for the "!", "/", and ";" characters.
This issue was tracked as Item #136860.


Web Services Incorrectly Published ACK When Duplicate Correlation Id Sent
This bug involved the status sent by the Web Services infrastructure when a run task request control message would be sent to EJM. The two statuses that can be sent are ACK and NACK which signifies whether the control message was accepted for processing or not. This acceptance is based on the validity of the control message header which is dictated primarily by the correlation and business Ids. The problem was that Web Services would always set the status as ACK even in the case of a duplicate correlation Id. This would result in the message bot not being processed, but the status asserting that it actually had been. The /eagle_ml-2-0_cm/out/xml/taskacknowledgement.xml stream had the logic for callback logic corrected to send a NACK status when the correlation Id in the RTR was a duplicate. This logic will now send the TSR back to Web Services with the correct status and avoid any confusion.
This issue was tracked as Item #136993.