I2I Frequently Asked Questions (FAQs)

Instance to Instance (I2I) EagleML is an EJM feature that provides data interaction between several Eagle environments.

I2I was introduced in the 2015 September monthend EagleML/EJM Release. You need this release or higher in order to leverage I2I functionality.

The following are some helpful FAQs, click a question to see the answer.

General Questions

There is only one default filter – maxrows (count of max returned records in the extract file) – the default value of this parameter is 100.000 records. For more information, see the Available Filters page in the EagleML wiki.

There are two different cases:

Case #1 is for the STOP-START steps in the EJM Monitoring Tool. In the STOP step, the EJM core tries to stop the previously launched instance of the same workflow. This means that if we submit the eagle_i2i_full_extract_event twice, only one (1) instance will start.

Case #2 is for the I2IProcessUID parameter. This parameter is used only for the I2I delta mode and is related to the last run time. We can store several I2I delta workflows in one environment, so to separate the last time values for each delta workflow, this parameter will be used in the EagleML code.

We have 5 tries to connect to FTP and the default time sleep between tries is 1 second. In the current EagleML version, we can't change these parameters in the config file.

Yes, it is possible. Do not set "historyOnlyFlag" filter value to "Y" – skip it in RTR or set to "N". In this case, Composite SMF table will be used. For more information, see the Available Filters page in the EagleML wiki.

Yes, it is possible. In this case, two (2) EntityList filters will be applied: first in the Hub and second in the Spoke.

Datetime stamp value is stored in the Spoke database as a Code Value. You can review it in the List Code Value panel (/eagle/star/reference/pan-lcodeval.htm) as shown below:

List Code Value Core Tab

The Code Value is 'i2i_d' (const prefix)_ + SpokeID + I2IProcessUID (set in the related i2i solution in IWS).

Result of the lookup is:

Code Value Description Column


The Code Value Description (1177) is the value of the datetime stamp of last launch of the I2I process.

Yes, it is possible. Currently, you can use the Change Code Value panel (/eagle/star/reference/pan-clcodeval.htm). In the future, we are planning to improve the EJM Monitoring Tool or/and I2I Dashboard and add this functionality to change/reset the last run datetime stamp.

The datetime stamp is linked to the I2I workflow (specifically, to the I2I Process UID), and to the UID of the environment (the same as the Spoke ID). It is not related to any users. Thus, if two users run the same I2I workflow at the same time, it will be the same situation as if one user runs the same I2I workflow twice at the same time.

For example, here is the I2I Process UID:

No, last run datetime is not on the record level. It is related to the I2I workflow Process UID and to the environment in general. In this example, the last run datetime will be updated twice: after the 1:00pm run and after 2:00pm run.

I2I is part of EagleML, we don't have a separate version for I2I. EagleML/I2I have the same version.

To determine which EagleML version you have in your environment, open Message Center Editor and open the following file: /eagle_ml-2-0_cm/w_config.inc.

In the top line of this file, you will find information about the installed EagleML version. For example: <!-BR-EAGLEML_PRD_20151007.1-> 

In this example, you see BR-EAGLEML_PRD_20151007.1. This indicates that this environment contains the September 2015 monthend release. The date for the monthend release is typically the first Wednesday after the first Tuesday of the following month. For example, September 2015 EagleML monthend package was released on October 7th 2015. For more information, see the Checking Your EagleML Version page in the EagleML wiki. You can also find detailed information about each EagleML release in the EagleML Release Notes section.

Filter Questions

Security Master File (SMF) Filters Questions

Yes, if you don't specify any filters for SMF, then all SMF will be extracted. There are no default filters, with one exception: maxrows (count of max returned records in the extract file). The default value of this parameter is 100,000 records. For more information, see the Available Filters page in the EagleML wiki. 
But, on the level of I2I processes, there is also the EntityList filter which can be considered default if it is set in the spoke map. The spoke can also use one of the available Sources from the Sources List to filter SMFs – this is defined in the spoke map.

Held Security Filters Questions

If Held Position Source parameter is empty, the Held Position SQL query will not be executed. This means that the extract looks thru all positions sources (doesn't filter them).

If Held Position Source parameter is set (for example: heldpositionsources = STARDIRECT), then all positions with source = STARDIRECT will be extracted.

This is also true for for Held Cash Activity Source. If Held Cash Activity Source is empty, then the Held Cash Activity SQL query will not be executed. If Held Cash Activity Source parameter is set (for example: heldcashsources = CASHTEST), then all cash activities with source = CASHTEST will be extracted.

Held Corporate Action Source is not used.

Date Filters Questions

Yes, they can be used in SMF extracts. But, the date filters are different for Date filters without Held Mode and Date filters with Held Mode.

Date filters without Held Mode:
There is no "EffectiveDate" field in the composite SMF table (SECURITY_MASTER). This means that the "EffectiveDate" filter will be ignored if you extract the SMF from the composite table. If you extract the SMF from the history table (historyonlyflag parameter is set to Y), the "EffectiveDate" filter will be used in the following way:

SECMASTER_HISTORY.EFFECTIVE_DATE >= TO_DATE([effective date filter value], 'YYYY-MM-DD')

This means that all SMF records from the history table with EFFECTIVE_DATE value greater than or equal to the effective date filter value will be extracted.
The "updatedate" filter can be used to extract SMF records from the composite or history tables in the following way:

[Composite or History table].UPDATE_DATE >= TO_DATE([update date filter value], 'YYYY-MM-DD')

This means that all SMF records from the composite or history table with the UPDATE_DATE value greater than or equal to the update date filter value will be extracted.

Date filters with Held Mode
Effective Date, which will be used as a restriction in the search for SMFs from Position and Cash Activity Sources, the value for Held mode is set by the following steps:

  • If parameter "ProcessCenter" is used (entityselectiontype=ProcessCenter, entityselectionvalue=[Process Center filter value]), then the value of "effectivedate" filter will be found from the RULESDBO.PROCESS_CENTER table, for example:

    select to_char(pc.curr_dt,'yyyy-mm-dd') EFFECTIVE_DATE from RULESDBO.PROCESS_CENTER pc where pc.process_center = [Process Center filter value]

    To use two Entity filters, the following parameters are available:
    entityselectiontype / entityselectionvalue
    entityselectiontype2 / entityselectionvalue2

  • If we want to use ProcessCenter and EntityList filters together, we can use following structure:

    <taskParameter> <name>entityselectiontype</name> <dataType>S</dataType> <value>EntityList</value> </taskParameter> <taskParameter> <name>entityselectionvalue</name> <dataType>S</dataType> <value>SCPAREN3</value> </taskParameter> <taskParameter> <name>entityselectiontype2</name> <dataType>S</dataType> <value>ProcessCenter</value> </taskParameter> <taskParameter> <name>entityselectionvalue2</name> <dataType>S</dataType> <value>US</value> </taskParameter>

    Order of filters is not important. "entityselectiontype2" parameter can be used for both, ProcessCenter or EntityList as follows:

    • If the value of ProcessCenter parameter is incorrect, then the value of "effectivedate" filter will be set as null.

    • If ProcessCenter parameter is not used and "heldeffectivedate" filter value exists in RTR, then "heldeffectivedate" filter value will be used for filtering by EFFECTIVE_DATE field, for example:

      HOLDINGDBO.POSITION.EFFECTIVE_DATE = to_date([held effective date filter value],'yyyy-mm-dd') – for positions
      CASHDBO.CASH_ACTIVITY.ACCOUNTING_DATE >= to_date('2015-11-25','yyyy-mm-dd') – for cash activity

    • If ProcessCenter parameter is not used and "heldeffectivedate" filter value does not exist in RTR, then the value of "effectivedate" filter will be found as MAX of EFFECTIVE_DATE in the POSITION table. Conditions used in this query are: Date filter for UpdateDate, HeldPositionSource, and Entitylist.

If "effectivedate" filter is not set, then filtering by EFFECITVE_DATE field will not be used, there is no default filter value. In general, "effectivedate" filter is not used in Held Mode.

Need to use "heldeffectivedate" filter and do not use ProcessCenter parameter in RTR.

For Date filters without Held Mode: "fromeffectivedate" and "toeffectivedate" filters work as usual:

  • for SMF extraction from composite table - aren't available

  • for SMF extraction from history table - are available, for example:

SECMASTER_HISTORY.EFFECTIVE_DATE >= TO_DATE([from effective date filter value], 'YYYY-MM-DD') SECMASTER_HISTORY.EFFECTIVE_DATE <= TO_DATE([to effective date filter value], 'YYYY-MM-DD')

For "Date filters with Held Mode": "fromeffectivedate" and "toeffectivedate" filters aren't available.

The "effectivedate", "fromeffectivedate" and "toeffectivedate" filters are available only for SMF history extract and not available in Held Mode as follows:

  • If we set only "effectivedate" filter value, then following SQL restriction will be added:

    SECMASTER_HISTORY.EFFECTIVE_DATE = TO_DATE([effective date filter value], 'YYYY-MM-DD')
  • If we set only "fromeffectivedate" filter value, then following SQL restriction will be added:

    SECMASTER_HISTORY.EFFECTIVE_DATE >= TO_DATE([from effective date filter value], 'YYYY-MM-DD')
  • If we set only "toeffectivedate" filter value, then following SQL restriction will be added:

    SECMASTER_HISTORY.EFFECTIVE_DATE <= TO_DATE([to effective date filter value], 'YYYY-MM-DD')
  • If we set "fromeffectivedate" and "toeffectivedate" filter values, then  following SQL restriction will be added:

    SECMASTER_HISTORY.EFFECTIVE_DATE >= TO_DATE([from effective date filter value], 'YYYY-MM-DD')

    AND

    SECMASTER_HISTORY.EFFECTIVE_DATE <= TO_DATE([to effective date filter value], 'YYYY-MM-DD')

Planned Enhancements and Resolved Issues

This was a problem in the EagleML code, we have fixed it. It works correctly if we use the HeldEffectiveDate parameter instead of EffectiveDate in the Date filter. EffectiveDate in the Date filter is not used in the Held mode. However, current version of I2I doesn't support error descriptions in the final TSR, it shows only Status (SUCCESS, ERROR, NO_DATA).

Yes, this was a problem and we have fixed it.

Yes, it is possible. We are working on it right now. In one of the following EagleML and EJM Monitoring Tool updates, we will add this new feature.