Versions Compared

Key

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

...

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

How to make new field from ICE Trade Capture FIX interface

...

 be stored in the database?

In order to process new fields so that they can appear in the database, the following needs to be done:

  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 allocated in 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 / 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 the new history for the group and specify a 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.

...

  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
    languagexml
    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 of new 9707 field to the ICETrdCapt.js:

    Code Block
    languagejs
    titleSnippet from ICETrdCapt.js
    ..........
    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.

...