EagleML Release Notes - July 2016

This release uses XSD Version 227.

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

Added IssueName to Underlying
Changes were made in eagleml_smf_underlying_to_genl.xsl XSLT file to add issueName node into the XSLT message for storing in the database.
This issue was tracked as Item #136423.


Additional Logic Added for Cp_reason

The logic for tag 1728 was changed in the ref_ca rule. Now, if varTransType is 'EXCHANGE', tag 1728 should be 'CONVERSION'.
This issue was tracked as Item #139159.


Ability to Add Issue_name in Generic SMF Objects

EagleML was enhanced to provide the ability to add issue_name through the underlying shell process. With this, you would be able to map the underlying_security column from the derivatives_hist/derivatives table. Mapping has now been added into the eagleml_smf_underlying_to_gen.xsl file in order to provide the desired functionality.
This issue was tracked as Item #139500.


Added Ignore Logic for Rebooks

Ignore logic was added for rebooks in the ref_ca rule. The new logic works as follows: if the incoming CPA is rebooked and its fields are the same as the existing record from the lookup change_ca, then the record is ignored. Any other scenario results in an insert or update as rebook.
This issue was tracked as Item #140311.


STAR_NAV_FOR_NASDAQ Added as a EXTRACT Option

The table ESTAR.ESTAR_NAV_FOR_NASDAQ was added to EagleML as an EXTRACT option. Specifically, the new FeedType NAVFORNASDAQEXTRACT was added, as well as new t and streaming t rules.
This issue was tracked as Item #140520.


Added ESTAR.ESTAR_INTRADAY_NAV to Extracts

The table ESTAR.ESTAR_INTRADAY_NAV was added to EagleML extracts. The new feed type INTRADAYNAVEXTRACT was added to EagleML extracts complimentary with t and streaming t rules. It supports <EntitySelectionType> and <valuationdate> parameters.
This issue was tracked as Item #140787.


Added Ability to Pass Xref Ids to each Security Related Objects (SMF_MI stream)

EagleML was enhanced to have the ability to pass xreference identifiers to each security related objects (SMF_MI stream). In addition, the logic was improved to allow you to pass all security nodes (ticker, cusip, etc) together as the assetResolutionOption from the IssueVariableRateModel.

Note: The changes were made specifically to address needs from the Aladdin feed. Therefore, this enhancement only applies when the source is Aladdin and the assetIdentifiersModel tag exists in the IssueVariableRateModel.
This issue was tracked as Item #141093.


Added Ability to Manage Editchecks

The ability to manage Editchecks in the xml-ref_schedule_mi.xml was added. The new parameter W_NO_LOAD_VALIDATION_FLAG can be added to the w_config_custom.inc file.
This issue was tracked as Item #141112.


Added Entitlement Filter to Warehouse Trade Extracts

EagleML was enhanced to include the ability to apply an Entitlement filter to all Warehouse Trade extracts was added. This filter extracts warehouse trades that pertained to entities whose group name contain the value provided in the entitlement parameter.
This issue was tracked as Item #142603.

EJM

Ability to Report All Errors at Once - WarehousePosition, WarehouseOpenLot, and WarehouseTrade

EJM was enhanced to support collecting all errors at once when loading in Batch mode for the WarehousePosition, WarehouseOpenLot, and WarehouseTrade feed types. Now, in the case of an error during a batch load, the batch request will be split into records and each record will be loaded separately WITHOUT committing to the database. All returned errors are then collected and reported in TSR in a format with record keys, which can uniquely identify the failed record. This feature is turned off by default and is controlled by the W_BATCH_COLLECT_ERRORS_FLAG parameter in the w_config_custom.inc file and setting it to "Y":

<COL TAG="W_BATCH_COLLECT_ERRORS_FLAG" EXPRESSION="'Y'"/>

or the incoming message can include the batchCollectorErrorFlag element:

</batchCollectErrorsFlag>Y</batchCollectErrorsFlag>

This issue was tracked as Item #141975.


Single Row Commit for Warehouse Position, Warehouse OpenLot

EagleML was enhanced to allow Single Row Commit mode for Warehouse Position and Warehouse OpenLot. The batch formatted incoming messages will now be split into records and loaded separately, meaning success records will now be loaded to the data base instead of being rolled back on the whole batch. This feature is controlled by the parameter singleRowCommitFlag and setting it to "Y".
This issue was tracked as Item #141690.

Software Fixes

EagleML 

Missing Fields in Open Lot Extracts

Open Lot extracts did not include the following fields in the outbound file:

  • Entity Xref
  • Entity Xref Type
  • unitOpenPrice
  • openCostLocal

These fields were excluded due to mapping issues. The mappings have been corrected and the fields are now included in the extracts.
This issue was tracked as Item #137569.


Added 2291 Mapping to GenericCA

The Corporate Action Exchanges panel did not allow entities to pass tag 1279. Values were always automatically set to 0 even if 1 was passed through. This meant that you could not correctly map inbound Accounting CA rules. To resolve this issue, mapping to tag 2291 was added, specifically by passing 2291 as 'R'. A new tag called exchngOfferType was added to allows values to pass. This tag has been mapped to tag 2291 on the panels.
This issue was tracked as Item #138919.


Reverse Split Missing from TransType on Corporate Action Exchanges

The Corporate Action Exchanges panel didn't allow extracts to pass tag 1279. The value was always set to '0' even if the value '1' was passed. This issue caused the inbound Accounting CA rules miss tag 2291. The issue was resolved by passing tag 2291 as 'R'. A new tag called exchngOfferType that can pass values and map to tag 2291 has been added.
This issue was tracked as Item #139334.


Format Issues with Warehouse Position Extracts

The eagle_wrf_generic_extract only produced Warehouse Position extracts in EagleDBML format. This issue occurred when you submitted an extract request of feedtype WRHSPOSITIONEXTRACT regardless of what OutputFormat taskparameter you used. To solve this issue a new subprocess was added for extracting data in EagleML format for Warehouse Open lot and Warehouse Position objects.
This issue was tracked as Item #139671.


Position Extract Performance Issue

Position Extracts had performance issues, making it difficult to execute extracts correctly. To fix this performance issue, the entity filter was changed to use the TEMP table in both the EntityID and Entitylist filter without limit. The entity filter also now uses bind parameters in the ProcessCenter, EntityXrefId, EntityXrefType filters.
This issue was tracked as Item #141518.


Trade Extract Performance Issue

Trade Extracts had performance issues, making it difficult to validate trade extracts from Warehouse. To fix this performance issue, the source Filter and SMF filter were updated from direct value to Binding parameter change logic. Sorting for Trade and Position was also updated.
This issue was tracked as Item #141519.


Issue with More than Ten Xreferences

When EagleML generic SMF extract has more than ten xreference identifiers to extract, it will create nodes not defined by XSD. This means that you cannot load SMF data with more than 10 XREF records. To fix this issue, XREF records are now counted. When there are over 10 xreference identifiers, XID structures, or unbounded repeating nodes, are used.
This issue was tracked as Item #141673.


CalendarHoliday did not Support Filter

CalendarHoliday did not support the calendardate filter. To resolve this issue, new RTR parameters and XSD elements were added in order to add support for the calendardate filter. These parameter are calendardate, fromcalendardate and tocalendardate.
This issue was tracked as Item #141951.


Issue with Buy_Sell_Flag

The Buy_Sell_Flag column in Eagle ML Position extracts was not sending the correct values. The ML extracts sent values of 'Y' or 'N' instead of what is in the database. The code was updated to resolve this issue. The values from extracts are no longer translated and are always sent as they appear in the database.
This issue was tracked as Item #141966.


Issue with Underlying Securities

Mapping for Underlying Security fields is missing if the security doesn't exist in the database. This is not backwards compatible. Because of this issue, you are not able to create Underlying securities. To resolve this issue, underlyingSecurity, underlyingSecAlias, underlyingTicker elements were mapped in the eagleml_smf_gen_fields.xsl file. Also mapping for tags 1141, 1347, 1349 was added to generic_smf_fields_logic.inc. These tags are only used if tag 1348 is null.
This issue was tracked as Item #142044.


Entity and SMF Extracts Performance Issue

There was a performance issue with Entity and SMF extracts, making it difficult to validate extracts. To fix this performance issue, the source Filter, SMF Filter and Entity Filter logic was updated from direct value to binding parameters. Also, Entity Rule Unique Keys are now present only if IncludeEntityRuleKeys = 'Y' in RTR. Finally, duplicate fields SOURCE_NAME and ED_SOURCE_NAME were removed from the SQL query.
This issue was tracked as Item #142477.


Fixed Deadlock Issue with EagleML Accounting Trades

The split rule assumed primary asset Id's were passed in. However, in some cases XREF ID is used as the asset identifier. This situation could create a deadlock with EagleML Accounting Trades. To resolve this issue, the split rule 'eagle_default\in\xml\xml-acct_trades.spl' was updated to accommodate all possible passed identifiers in Accounting Trade object.
This issue was tracked as Item #142601.


Issue Handling Colon in PrimaryAssetId

If the primaryAssetId parameter contained a colon (:), then you would get an error that the asset Id was not found even if it did exist. The code was updated to resolve this issue.
This issue was tracked as Item #143137.


Forego Dependency on Entity Id for Remove Duplicated Filter
Previously the logic for the remove duplicates filter was hinged on the entity Id being passed in along with the RemoveEntityDuplicates = Y. This was an issue because you would not always want to find entity Ids while running entity extracts with intent to exclude duplicate entities. The logic was changed in the extract_entity.xml rule which made the remove duplicates filter to work independent of the entity Id being passed in.
Note: This fix was delivered as a special amendment to the EagleML July release for select clients. The fix will be incorporated formally in the EagleML August release.
This issue was tracked as Item #14341.


Issue with Combination of Investment Type and Security Type Filters with HeldOnly Filters
When the security type and investment type filters were used in tandem with the held only filters, the SMF extract would return a NULL value. It is conceivable that the extract could return zero files but the fact that it was returning NULL signified an issue with the performance of the combination of these filters. The extract_filter_entity.inc file was edited to allow the filters to interact properly and allow the underlying query to properly return results rather than returning NULL.
Note: This fix was delivered as a special amendment to the EagleML July release for select clients. The fix will be incorporated formally in the EagleML August release.
This issue was tracked as Item #143540.

EJM

Issues with SingleIncomingFile Parameter

When the SingleIncomingFile parameter was set to "1" there would be errors in processing. The problem lay within the wrong file path that would be used in the case the parameter had a value of 1. This path was fixed to grab the file from the expected directory and it now works as it should. The first file in the correct directory is processed and then the execution terminates.
This issue was tracked as Item #139316.


Issue with ConsolidatedTSR Functionality

The ConsolidatedTSR functionality was not working for wrf workflows. It would duplicate entities while displaying outgoing error messages. The impact was that you could not use the ConsolidatedTSR functionality in wrf workflow extracts. The issue was resolved. Outgoing messages now contain a detailed report of errors and return extracts as errors if entities are not correct within the extract.
This issue was tracked as Item #141179.


Issue with Purge and Archive

You could run into an issue when there is an extremely large amount of files in the folder and the string value becomes too big for SH to write an argument. This issue only occurred on Linux environments where an ARG_MAX constant was present that limited the maximum length of command lines. To solve this issue, a new preprocessor, GET_ARG_MAX was created. This gets the value of the ARG_MAX constant. In addition, the new parameter W_PA_SETTINGS_LOG_UNIX_SH_SIZE was added into w_config_custom.inc. If this parameter value is greater than the ARG_MAX value, the value from ARG_MAX is used. Otherwise, the value from w_config_custom.inc is taken as a length of split parts. Also, two preprocessors were modified to add split logic for a string before it is written. If the length ever exceeds the ARG_MAX value, an error will now occur.
This issue was tracked as Item #141228.


Consolidated TSR Did Not Contain All Subprocess Messages

The consolidated TSR did not contain all messages from all subprocesses. This meant that the consolidated and sub-process TSR had different execution statuses. To fix this issue, the task_reporter was fixed and support was added to Consolidated TSR under MS SQL. The structure of Consolidated TSR report has also been changed. Now each <taskUnit> node contains information either about a file or an error.
This issue was tracked as Item #141506.

I2I

Expansion of Delta Mode Capabilities in I2I SMF Held Only

The delta mode capabilities related specifically to I2I SMF held only extract were expanded to include new to receiving SPOKE ("new to me") securities. Records that have existed in the HUB before the specified delta extract date can still be picked up if the SPOKE has not seen them before. This issue was specific to I2I. There was extra conditionals added that will ignore the last extract date and grab records posted in the HUB before the cut off only if the SPOKE has not seen them before.
This issue was tracked as Item #138685.


Fixed Cash Activity and Trade Extract Deleting Data

I2I Delta Mode retrieves only the data changed since prior extract from the Hub. However, when creating the records for loading, it sets the BATCH MODE to Yes. This means that you see the loader delete all transactions for the position and insert data received in the current file. As a result, the transactions are lost on the Spoke and Hub and Spoke are falling out of synchronization. To fix this issue, the extracts now create an output file to load the data in record mode.
This issue was tracked as Item #141619.