1

I am developing a FIX4.4 messaging application in C# and trying to use a counterparty provided data dictionary. In the project I use QuickFIX as a library, and when using the original dictionary provided within the library (FIX44.xml) everything works fine.

However, using such dictionary causes some rejections which, according to the counterparty, should disappear once I switch to their own data dictionary.

Now, when I do that I get the following exception of type 'QuickFix.DictionaryParseException':

"invalid type: TENOR"

Below is my config file, if it might help...

[DEFAULT]
ConnectionType=initiator
ReconnectInterval=20
FileStorePath=store
FileLogPath=log
StartTime=07:00:00
EndTime=00:00:00
UseDataDictionary=Y
ValidateFieldsHaveValues=N
ValidateFieldsOutOfOrder=N
ValidateUserDefinedFields=N
AllowUnknownMsgFields=Y
# DataDictionary=P:\...\FixSource\bin\spec\fix\FIX44.xml
#HttpAcceptPort=0000

[SESSION]
# inherit ConnectionType, ReconnectInterval and SenderCompID from default
BeginString=FIX.4.4
ResetOnLogon=Y
SenderCompID=MyID
TargetCompID=MyCPID
SocketConnectHost=xxx
# SocketConnectHost=yyy
SocketConnectPort=000
HeartBtInt=30 
DataDictionary=P:\...\MyCounterpartyDataDictionary.xml

Also, the line that causes the issue in the DD xml is the following:

<field number="6215" name="Tenor" type="TENOR"/>

and another two lines that give the same exception type turned out to be:

<field number="41135" name="OptionExerciseLatestTime" type="LOCALMKTTIME"/>
<field number="41510" name="LegOptionExerciseLatestTime" type="LOCALMKTTIME"/>

Thanks a lot for your help,

GPP

GPP
  • 46
  • 6

2 Answers2

3

Your problem is the Tenor FIX datatype was not introduced until FIX 4.4 EP-1

http://fixwiki.org/fixwiki/TenorDataType

rupweb
  • 3,052
  • 1
  • 30
  • 57
  • Thanks for that, actually moving to FIX 5.0 fixed it. However, I would be keen to keep the protocol version to 4.4, any suggestion how to factor EP-1 in? I am using QuickFIXn 1.3, would upgrading to any later version solve the issue? – GPP Jul 05 '16 at 13:10
  • It's very easy to customize the DataDictionary. Simply add those EP-1 fields to the FIX4.4.xml file. See [this doc page](http://quickfixn.org/tutorial/custom-fields-groups-and-messages.html). – Grant Birchmeier Jul 05 '16 at 14:03
  • The problem is not adding the field, which is easy enough, but rather that the type of the field ("TENOR") is not recognised. So the question really is how to add new field types (and not message types). – GPP Jul 08 '16 at 08:52
  • 2
    Just create it as a string field. Then the engine will accept any value. – Grant Birchmeier Jul 18 '16 at 14:40
0

Apparently the quick and dirty solution is the one suggested by Grant i.e. using the string type, it works. Thanks for that.

GPP
  • 46
  • 6