Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Below is the example of how ICE schedule can be setup (applicable for FIXEdge 6.0 and higher):

Code Block
languagebash
titleSnippet from FIXEdge.properties
linenumberstrue
Schedules.ICEFIXSchedule.StartTime = 0 30 18 * * *
Schedules.ICEFIXSchedule.TerminateTime =  0 30 19 * * *
Schedules.ICEFIXSchedule.TimeZone = EST

FixLayer.FixEngine.Session.ICESession.Schedule =  ICEFIXSchedule

...

  1. Add new fields to the BL_Config file. Use Business Rules Guide#Histories for reference.
    Check where the FIX tag you are interested in is located in the FIX message. Note that tags from repeating groups are allocated to the separate tables. Check ICE Trade Capture to Database for details.
    1. If FIX tag is located in the root of the message (either Trade Capture Report or Security Definition), then add it to the ICEReports the ICEReports / ICESecurityDefinitions history
    2. If FIX tag is located in one of the repeating groups which are already stored in the database, then add it to the corresponding history
    3. If FIX tag is located in one of the repeating groups which are not stored in the database, then add new history for the group and specify required field there

  2. Add new fields to the JS files (either ICESecDef.js or ICETrdCapt.js depending on which fields you are going to add). Use BL Scripting with JavaScript for reference.
    Note that processing and recording of the values to the tables will be performed according to the order specified in JS file.

  3. Add new fields to the database according to the changes made in BL_Config on step 1.

In order to apply the changes, you will need to restart the FIXEdge.

Example:

Below is the example of how to add new MiFID II related field to the ICE Trade Capture Solution so that it can be stored in the database.

Assume that tag 9707 (MiFIDID) from the Trade Capture Report message (MsgType = "AE") should be now stored in the database. Following the step-by-step instruction below:

  1. According to ICE Trade Capture specification (see https://community.theice.com/docs/DOC-19796), MiFIDID is located in the root of the Trade Capture Report message (MsgType = "AE").
    Then the ICEReports history from the BL_Config file should be adjusted. Adding the new field to the ICEReports history:

    Code Block
    languagebash
    titleSnippet from BL_Config
    <History Name="ICEReports"
    	StorageType="ODBC"
    	MaxNumberOfRecords="15000"
    	TableName="ICEReports"
    	ColumnSize="256"
    	ConnectionString="DSN=ICE_Trades;UID=ice_admin;Pwd=temp_pass;">
    <KeyField ColumnName="TradeReportID" ColumnSize="256">571</KeyField>
    ..........
    <Field ColumnName="MiFIDID" ColumnSize="256">9707</Field>
    <Field ColumnName="ClientAppType" ColumnSize="256">9413</Field>
    </History>
  2. Add the processing of new 9707 field to the ICETrdCapt.js:

    Code Block
    languagebash
    titleSnippet from BL_Config
    ..........
    rootData = new Array();
    rootTags = new Array(487,856,828,150,17,39,570,55,48,22,461,9403,202,916,917,32,31,75,60,9018,9022,552,555,1126,207,820,9820,9520,9521,9522,9523,9524,9525,9064,762,9510,...,9707/*,in code 9413*/);
    ..........
  3. Add new MiFIDID column with varchar (256) type to the ICEReports table.

How can I know about the ICE releases which affect the ICE Trade Capture Solution?

...