EagleML Release Notes - January 2018
This release uses XSD Revision 282
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
Include the Report Type for SUBSCRIBEREDEEM Extract, WRHSNAVMULTI Extract and WRHSNAVMONTHEND Extract
The Report Type value was only showing up in the header for the extracts above.
1. In XSD, the ReportType model was added in WarehouseXObject and AccountingObject. A new AccountingBaseObject was created without reportType model.
2. Added REPORT_TYPE to the list of fields which should be extracted in the following files: Â "extract_acct_subscribe_reedem.inc", "extract_warehouse_nav_month.inc", "extract_warehouse_nav_multi.inc"
3. The reportType node was added in the "t_acct_subscribe_reedem_streaming.inc", "t_warehouse_nav_month_streaming.inc" and "t_warehouse_nav_multi_streaming.inc"
4. Added reportType node value replacement into the "t_acct_cash_journal_streaming.inc", "t_acct_cons_earned_inc_streaming.inc", "t_acct_realized_gain_loss_streaming.inc", "t_acct_trial_balance_streaming.inc", "t_acct_unapproved_var_margin_streaming.inc", "t_acct_working_trial_balance_streaming.xml" and "t_cash_projections_streaming.inc"
This issue was tracked as Item #152878.
Â
Added a New Load Mode for Warehouse Open Lot and Position with BatchKey - EntityId^EffectiveDate^Source^Security
To improve the performance load, a new way to load data was created. The logic for this load is similar to that of the Delta Based load – when full message is split based on the batches. Each batch contains unique key – EntityId+EffectiveDate + Source + delta based. Unlike in Delta Mode, however, records are not deleted one by one for a specific security. All records are deleted based on the key – EntityId+EffectiveDate + Source. This is much faster than deleting one by and as a result a lot of messages can be processed in parallel. In simple Batch Mode the whole batch is one message and it is always processed as one record.
This issue was tracked as Item #153487.
Â
Enable an RTR Parameter to Reflect the BusinessTaskID to Override / Eliminate the Global Configuration Setting in the w_custom_config.inc
There was not currently an RTR parameter to override the W_ADD_BUSINESSTASKID_EXTRACTS variable in the w_custom_config.inc file.
In a multi-tenant environment, the global setting impacts all extracts and there is desire is to maximize flexibility during run time. A new RTR parameter, IncludeBusinessTaskId, was created.Â
<taskParameter>
       <name>IncludeBusinessTaskId</name>
       <dataType>S</dataType>
       <value>Y</value>
</taskParameter>
By default, the BusinessTaskID is included unless set to N in the w_custom_config.inc. When provided, the new IncludeBusinessTaskId override parameter excludes the BusinessTaskID when set to N and includes it when it is set to Y regardless of what is defined in the w_custom_config.inc.
This issue was tracked as Item #154776.
Â
Added new element netAssetsTotalFund to the Warehouse NAV Multi outbound interface
The new calculated field Net Assets Total Fund (XSD element netAssetsTotalFund) has been added to the Warehouse NAV Multi extract in the NAV Report Details section. This represents the total value of the Net Assets of a Fund across all Share Classes.
The new field is included in the extract if the flag IncludeReportDetails is set to 'Y' in the control message or config file.Â
The netAssetTotalFund element was added to the NavReportDetailsModel in the XSD and the SQL code for the warehouse NAV multi extract was also changed.
This issue was tracked as Item #154929.
Â
Added new element netAssetsTotalFund to the Warehouse NAV Month End outbound interface
The new calculated field Net Assets Total Fund (XSD element netAssetsTotalFund) has been added to the Warehouse NAV Month End extract - NAV Report Details section. This represents the total value of the Net Assets of a Fund across all Share Classes.
The new field is added if the flag IncludeReportDetails is set to 'Y' in the control message or config file.
The new field Net Assets Total Fund is the sum of all fields NET_ASSET_AMOUNT for all records with the same values of PORTFOLIO_ACCT, VALUATION_DATE, NAV_SEQUENCE (the sum for all Share Classes).Â
The netAssetTotalFund element was added to the NavReportDetailsModel in the XSD and the SQL code for the warehouse NAV month end extract was also changed.
This issue was tracked as Item #154931.
Â
Added Parameter for Using Xref Types Configured as Duplicates in the Security Resolution Logic
Xref type configured as DUPLICATE is skipped in security resolution logic.
An option was introduced, which allows to use xref type configured as DUPLICATE in security resolution. The parameter controlling this optional functionality in the security resolution is called ALLOW_DPL_XREF.Â
This option can be defined in incoming message in node <assetResolutionOption>ALLOW_DUPL_XREF</assetResolutionOption> or as a global parameter W_NOOVERRIDE_SEC_RES_OPTION = ‘ALLOW_DUPL_XREF’ in the w_config_custom.inc.
Also, the option can be set to a feed type - W_OBJECTTYPE_NOOVERRIDE_SEC_RES_OPTION, for example W_ISSUEPRICE_NOOVERRIDE_SEC_RES_OPTION= ‘ALLOW_DUPL_XREF’ in the w_config_custom.inc. In case this option ALLOW_DUPL_XREF is defined, the logic for excluding duplicates will be skipped.
This issue was tracked as Item #156559.
Â
Added New Elements in the PortfolioValuation Model
New elements for the PortfolioValuation model were requested.
4 new elements were added to the XSD: navSequence, daysCopied, targetSourceName, fxSourceName. Mapping for these fields was added to the t_holding_portfolio_valuation_fields_streaming.inc and extract_holding_ext_port_valuation_fields.inc files
This issue was tracked as Item #156980.
Â
Removing of '19000101' Value for Date Elements in CONSEARNEDINCOMEEXTRACT and UNSETTLETRANSACTION Extracts
In the extracts Consearned Income and Unsettled Transaction Extracts (based on stored procedure) date fields are returned as '19000101' if date field is empty in the DB. The correct behavior in this scenario would be returning a NULL value for any empty dates. The list of date fields to which this logic was added is below.
Consearned Income:
maturityDate  TAG_38
startDate   TAG_220
endDate    TAG_221
couponEndDate  TAG_992
earnedThruDate  TAG_461
Unsettled Transaction:
effectiveDate   TAG_35
maturityDate   TAG_38
processDate    TAG_30
accountingDate   TAG_36
monthEndAccountingDate TAG_4733
contSettleDate   TAG_9968
targetAccountDate  TAG_119
endDate     TAG_221
The new logic will remove the field from the extract if the stored procedure returns a date field’s value as '19000101'.
This issue was tracked as Item #157032.
Â
Added a New Element <entitySectorCount> to the Entity Extended Details ModelÂ
The new calculated field <entitySectorCount> has been added to the Entity Extended Details Model.
The new element is included in an extract only if the flag IncludeExtendedDetails is set to 'ALL' in the run task request or config file.
If the entity is a master entity (entityType = MASTER), then the new element will be included in the extract. The value in this field is calculated and shows the number of sector entities associated with the master entity. If the entity is a sector rather than a master then the element will not be included in the extract.
The new element, entitySectorCount, was added to the EntitySectorAndMasterFields.model group
This issue was tracked as Item #157156.
Â
Exclude zero flag added for UNAPPROVEDVARMARGINEXTRACT
Eagle ML UNAPPROVEDVARMARGINEXTRACT extract could not use the excludeZero filter despite its availability in the panel.
The includezerobalances filter was introduced with acceptable values of Y and N. It behaves similar to the filter used within the panel.
This issue was tracked as Item #157183.
Â
A New EagleML Object was Created - MasterFeederRelationship (Accounting).
The MasterFeederRelationship interface was added. This type is outbound only and is supported in the generic extract solution.
The following filters were implemented for this interface:
1. Entity Filter
2. Date Filter (Update Date, Effective Date)
3. Common Filter
4. Own Filter:
a. IncludeClassAllocationRate – Y\N (Default - N) – This flag is used for additional fields from the ESTAR_ALLOC_PERCENTAGE_HIST table.
b. ClassAllocationRateDate - This flag can only be used when IncludeClassAllocationRate = Y. The default value for this filter is the current date in the YYYY-MM-DD format. This parameter is used for getting all accounting date values that are earlier than passed date.
c. MasterFeederFilter – MASTER\FEEDER (Default value - MASTER). This parameter is used for switching Entity Filter between two fields in the main table:
MASTER – Then Entity filter is applied for the field - PORTFOLIO_ACCT
FEEDER – Then Entity filter is applied for the field - FEEDER_ENTITY
The name of the corresponding extract is MASTERFEEDERRELATIONEXTRACT.
This issue was tracked as Item #157198.
Â
Updated Logic to Allow Custom Config File Location in /customer Folder
Some users were unable to access the w_config_custom.inc file in the 2017 environments due to insufficient permissions due to the file being located in eagle_ml_2-0_custom_cm folder.
The logic was changed, as it now allows to have the custom config file in the /customer folder, as well as in the eagle_ml_2-0_custom_cm folder. This way a user can access the file in the location that is visible with their permission level.
This issue was tracked as Item #157918.
Â
Added a New Outbound Interface Preferred Share - PREFERREDSHAREEXTRACT
A new complex type PreferredShare (Accounting object) and corresponding outbound rules have been created. The new feed type has been added to Generic Extract solution. This interface is outbound only.
The complex type PreferredShare (Accounting object) has been added to the XSD schema for EagleML. The feed type for the new extract is PREFERREDSHAREEXTRACT.
Name of Q rule: extract_acct_preferred_share.xml
Name of T Streaming rule: t_acct_preferred_share_streaming.xml
Supported filters: Entity, Date (by Update Date only), Common (Maxrows).
This issue was tracked as Item #158105.
Â
EagleML - Extend the IncludeExtendedDetails Content for Additional Field Elements
The following fields were added to the IncludeExtendedDetails model:
MUNI_ISSUER_DES_2ND_LINE
MUNI_LONG_INDUSTRY_TYP
MUNI_ISSUE_SIZE
PROCESS_CENTER
CC_PROCESS_CENTER
CC_ENTITY
PORT_COMP_TYPE
These fields are now available in this model and can be included in relevant extracts by including the IncludeExtendedDetails = Y parameter in the RTR.
This issue was tracked as Item #158167.
Â
Corrected Advanced Role Processing for User Interface
Advanced Role is chosen by lookup, but not dependent on what is sent to the panel.
Advanced Roles were often uploaded incorrectly.
Whenever one wants to upload a User with Advanced Role other than the top one from the drop-down list in the panel issues occur.
Advanced Role processing for User was corrected through the addition another DB request.
This issue was tracked as Item #158440.
Â
Added E-mail Field Processing to the Inbound and Outbound Interfaces for User
The User interface did not process the E-mail field. The resulting extract file for the User looked strange.
This problem was occurring any time a user with the E-mail field was created through EagleML instead of the GUI.
The E-mail field was added to the XSD, inbound and outbound rules. Fixed the issue with extra spaces in resulting extract file.
This issue was tracked as Item #158441.
Â
User Extract on MSSQL
Issue with the user extract on MSSQL platform.
The SQL in the extract_ref_user.inc file was edited. The changes were specifically in the fields list portion. Instead of continuing to use the full name of the table an alias was introduced before UPD_DATETIME.
This issue was tracked as Item #158455.
Â
Adjusted Autoinclude to Run Only Once in xml-smf_generic.xml
The xml-smf_generic_columns_after.inc autoinclude was running two times per each message and was affecting performance.
Logic was updated in the xml-smf_generic.xml file, by putting the break at the end of the rule, to allow the autoinclude to be triggered only once and not waste processing power.
This issue was tracked as Item #158689.
Â
Adjusted Logic for Splitting Extract Files to Send this on MQ
Adjust the splitting of files using a parameters passed in the RTR to process on MQ.
The parameter RecordCountPerNugget can be added to an RTR for splitting files. The names of the extract files that are delivered via jms in reporter_dist_methods.inc were changed. Logic was introduced to check whether files failed to fit on MQ as a result of their large size.
This issue was tracked as Item #158738.
Â
EJM
Added Possibility to Extract Data from SECURITY_MASTER Table to Retrieve the Coupon column for ISSUEVARRATEEXTRACT
Added ability to return security data even if the issue variable rate extract returns no data based on incoming filters specified in the RTR.
The extract_issue_variable_rate.inc file was changed to allow this functionality. It is available in held mode only. Standard behavior for Held mode is still available. This new functionality is controlled by the W_EXTRACT_INCLUDE_SEC_MASTER_COUPON global variable in the config file or by using the IncludeSecMasterCoupon parameter set to Y in the RTR.
This issue was tracked as Item #151000.
Â
EJM: Added support for EDM version 2015.2.15.0.1/2 during creation of the include file
Currently the rule file eagle_ml-2-0_cm/in/xml/w_setup_eagle_version.xml did not support EDM version:Â 2015.2.15.0.1/2 and raises an error about an empty or wrong version format.
The eagle_ml-2-0_cm/in/xml/w_setup_eagle_version.xml rule was adjusted to support EDM version 2015.2.15.0.1/2.
The new variable, varVer_Addendum, was added to the above mentioned rule. This variable is responsible for adding the fifth block of digits to the version number, which previously consisted of only four digit blocks. All necessary checks and conditions added for this variable are analogous to the previous four, but takes into account that the fifth digit block is optional.
This issue was tracked as Item #155919.
Software Fixes
Enterprise
EagleML
Improved Load Speed for Issuer Organization Object
Currently the inbound rule for the Issuer Organization object is requesting the list of fields in the stored procedure for this object type. This runs for every inbound record which slows down overall processing.
The MSGEXCHANGE in the xml-ref_issuerorganization.xml rule was replaced by bind logic. This bind is generated during auto-installation.
NOTE: If you see an error message that says the bind was not found, please restart all Message Center instances
This issue was tracked as Item #134587.
Â
Wrong Logic by Default for Entity to Composite
The logic for loading entity to composite had an incorrect default behavior. Instead of loading the entity to composite the default action was set to ‘DELETE’.
Logic was changed so that the default action would be ‘ADD’ when loading entity to composite.
This issue was tracked as Item #153358.
Â
Adjusted Warehouse Performance Extract Logic
In the warehouse performance extract there was an issue with the join to the SECURITY_MASTER table on the SECURITY_ALIAS field. The overall extract would return no data if the security table returned no records.
The logic was updated by changing how the join PERF_SEC_RETURNS to SECURITY_MASTER on SECURITY_ALIAS performs. The extract_warehouse_performance.inc file was changed to make the join work properly.
This issue was tracked as Item #154485.
Â
Updated Entity Xreference Logic for Several Extracts
The account Cross Reference were not being filtered by the Class Code for key objects when the Share Class was present. This was occurring in the following extracts:
-DISTRIBUTIONACTEXTRACT
-SUBSCRIBEREEDEMEXTRACT
-WRHSGLDETAILPOSTINGEXTRACT
-WRHSNAVMONTHENDEXTRACT
-WRHSNAVMULTIEXTRACT
Entity Xreference will be extracted only with the same CLASS_CODE value as Share Class in the data table.
This issue was tracked as Item #154668.
Â
Fixed the Oracle Error when Warehouse Position and OpenLot Use Security Rating
Warehouse Position and OpenLot Extracts returned the Oracle error (ORA-03113: end-of-file on communication) when using Security Ratings.
Join with TEMP table 'ESTAR.FIN_TEMP_STAR' was removed from extract SQL. Instead of it, the field 'RATING_VALUES' is being populated by a direct sub-query. This stopped the error from coming up.
This issue was tracked as Item #155937.
Â
Joining to the Accounting Basis to return values needs to use either the basis sent in or the basis values returned from the xml
Base Currency selected from ENTITY table for milti-basis entities.
1. Used variable : vAccBasis_acctbasis_FLD: to connect tables with Account Basis field name different than ACCT_BASIS.
2. Added logic to take BASE_CURRENCY from ENTITY_ACCT_BASIS table (ENTITY table was used before). In case the corresponding record is not in the ENTITY_ACCT_BASIS, ACCT_BASIS is selected from the ENTITY table.
3. Added condition to join the ENTITY_ACCT_BASIS table in case IncludeExtendedDetails = Y
4. Removed PrimaryBasisIndicator = Y condition which was necessary to select basis.
5. Variable :vAll_entity_FLD: is used instead of the hardcoded field name ENTITY_ID. This change allows to connect tables having Entity Id Field name other than ENTITY_ID despite ENTITY_ID being default field.
All these changes combine to allow the baseCurrency and accountingBasis to be grabbed from the ENTITY_ACCT_BASIS table instead of the ENTITY table for all multi-basis entities.
This issue was tracked as Item #156444.
Â
Added Mapping for Several Tags Coming Back from the Stored Procedure for REALIZEDGAINLOSSEXTRACT
Mappings for several tags that are returned by the stored procedure in the REALIZEDGAINLOSSEXTRACT were missing in the outbound rule.
The list of tags is shown below:
accountingBasis, securityAlias, processingSecurityType, longShortIndicator, fxRate, gainLossTerm, gainCurrency988, lossCurrency988, currencyGainInt, currencyLossInt, creditLossB, creditLossL, disallowGainB, disallowGainL, disallowLossB, disallowLossL, gainCurrencyId, gainSecurityId, lossCurrencyId, lossSecurityId, realizedGlBase, realizedGlLocal,realizedGlNcrB,realizedGlNcrL, targetOriginalEventId, orderNumber, baseCurrency, lmtGlElg, lmtGlInd, impairmentLtdBase, impairmentLtdLocal, amortizedCostPrevBase, amortizedCostPrevLocal, impairmentAmortOffsetB, impairmentAmortOffsetL, impairmentCostOffsetB, impairmentCostOffsetL, impairmentCostPrevB,impairmentCostPrevL, reportType, amortizedPrice, nonCreditLossLocal, nonCreditLossBase
The t_acct_realized_gain_loss.xml and t_acct_realized_gain_loss_streaming.inc were changed to include the new mappings.
This issue was tracked as Item #156651.
Â
Adjusted Warehouse Performance Extract Logic
In the warehouse performance extract there was an issue with the join to the SECURITY_MASTER table on the SECURITY_ALIAS field. The overall extract would return no data if the security table returned no records.
The logic was updated by changing how the join PERF_SEC_RETURNS to SECURITY_MASTER on SECURITY_ALIAS performs. The extract_warehouse_performance.inc file was changed to make the join work properly.
This issue was tracked as Item #157155.
Â
Issue with Handling File Names over 256 Characters
A file with a name over 256 characters is unable to move to the destination path.
Rolled back logic which deletes the TimeStamp from the file name before moving file.
This issue was tracked as Item #157767.
Â
The self_system_check Stream Sends Error Message Even Though Workflow is Finished with Successful Status
The eagle_ml-2-0_default_cm_self_system_check stream sends a request to the DB about the workflow’s status BEFORE the workflow is finished. As a result the stream receives an empty or ACK status, but is expecting SUCCESS or NO_DATA.
The solution for this issue is to add a timeout at the end of the cycle, allowing the workflow to finish the job and return the correct status.
This issue was tracked as Item #158247.
Â
Adjusted Logic to Retrieve the Holding Base and Foreign Cash
The SQL request to retrieve the holding base and foreign cash elements contained an incorrect source name.
Added mktValueSource parameter. This allowed the default value for the source name to be set correctly which in turn allowed the holding base and foreign cash to be returned correctly.
This issue was tracked as Item #158308.
Â
Resolved Performance Issue of IssueVariableRate Load
The performance of the IssueVariableRate load has decreased due a lookup for querying issue details being turned on.
The lookup for querying issue details was turned off and replaced with direct SQL select for necessary fields. Also in IssueVariableRate rules the approach for using auto generated bind was introduced in order to allow flexibility in case the SP parameters count changes.
This issue was tracked as Item #158706.
Â
Rename ACCT_BASIS Field in SELECT Statement for GLACTIVITY Extract
SQL query was failing when partition logic was used. This was occurring when the entity filter contained entity ids that were not located in the default partition.
The ACCT_BASIS field was renamed to ACCOUNTING_BASIS in the SELECT statement. Additionally mappings were updated in the following rules:
t_acct_gl_activity.xml
t_acct_gl_activity_streaming.inc
This issue was tracked as Item #159070.
Â
EJM
Fixed Failed Record Calculation for Warehouse Files with Reason Node
Warehouse files with reason nodes were not being processed correctly – the rules were unable to calculate the amount of failed records and repost it.
The calculation logic for "reason" nodes in the xml-warehouse_v2.xml have been updated. Now the number of failed records is calculated correctly and the status displays this number properly.
This issue was tracked as Item #158361.