{{Quickfixn}} FIXML 4.4 Component in a component

Michael Lever mlever at pharofund.com
Wed Dec 4 06:17:52 PST 2013


Actually, I think this is an issue with nested groups in the DDMap but it would seem to me that it would be a big issue if this is the case and nested groups would not be working for any FixML that allows them.

It appears to me that DataDictionary.Iterate checks to see if a given tag is valid for the msgtype received. And CheckIsInMessage gets the DDMap for the given msgtype and looks to see if its Fields contains the given tag.   Fields within nested groups are not in the top level DDMap Fields list, they are in a Fields list for one of the groups contained within the DDMap's Groups list.  So the tag is not found and the message is rejected.

Am I reading this correctly or am I doing something wrong or is this a known issue or do I have an old version?

Thanks,
Michael

From: Michael Lever
Sent: Tuesday, December 03, 2013 8:34 AM
To: 'quickfixn at lists.quickfixn.com'
Subject: FIXML 4.4 Component in a component

Sorry, here are some more details from my issue.
According to the FIXML 4.4 spec:

*         An Execution Reports has a group named NoUnderlying.

*         The NoUnderlying group contains a component named UnderlyingInstrument.

*         The UnderlyingInstrument has a component in it named UnderlyingStipulations.

*         Then UnderlyingStipulations contains a group named NoUnderlyingStips with 2 fields in it.

When a message is received with tag 887 defined the Cracker kicks it out with 'Tag not defined' message.
If a message contains 2 UnderlyingStipulations it kicks out with 'Tag appears more than once' on tag 888.

The following are excerpts  right out of FIX44.xml file from quickfixn.
<message name="ExecutionReport" msgtype="8" msgcat="app">
.....
   <group name="NoUnderlyings" required="N">
      <component name="UnderlyingInstrument" required="N" />
   </group>
.....
</message>

<component name="UnderlyingInstrument">
.....
   <component name="UnderlyingStipulations" required="N" />
</component>

<component name="UnderlyingStipulations">
.....
   <group name="NoUnderlyingStips" required="N">
     <field name="UnderlyingStipType" required="N" />
     <field name="UnderlyingStipValue" required="N" />
   </group>
</component>

<fields>
  <field number="711" name="NoUnderlyings" type="NUMINGROUP" />
  <field number="887" name="NoUnderlyingStips" type="NUMINGROUP" />
 <field number="888" name="UnderlyingStipType" type="STRING" />
  <field number="889" name="UnderlyingStipValue" type="STRING" />
  </fields>

Message from Bloomberg:
20131203-12:49:25.349 : 8=FIX.4.49=122935=849=BLPSTP56=PHARPSTP34=1639128=ZERO115=i.stpdca452=20131203-12:49:1560=20131203-12:49:15150=F31=-0.7151=0541=2013120632=73680006632=FIXED423=964=201312056=-0.737=VCON:20131203:52766:3157=17338=7368000218=0788=239=2159=155404.24669=-0.7460=13223=0.044514=736800015=EUR75=20131203916=2013120517=VCON:20131203:52766:3:12167=REPO917=2013120648=REPO198=3739:20131203:52766:36379=0470=PT920=-129.877910=2381=6523540.4921=6678944.6422=A922=6678814.7754=27014=2155=PGB236=0.0479217347118=6678944.64453=9448=SKARIM8:6493517447=D452=12802=1523=SAM KARIM803=9448=GDHILLON6:7095271447=D452=11802=3523=6165583803=4000523=14803=4523=GURMEET DHILLON803=9448=PHARO MANAGEMENT (UK) LLP447=D452=13448=KAVANAGH1:4303784447=D452=36802=1523=JAMES KAVANAGH803=9448=NOT DEFINED447=D452=10448=RRRA447=D452=16448=3617447=D452=1448=7095271447=D452=11802=2523=6165583803=4000523=14803=4448=6493517447=D452=129610=19611=COM9613=BID TRADING454=3455=PTOTENOE0018456=4455=EH2316741456=1455=EH231674456=A711=1311=[N/A]309=PTOTENOE0018305=4879=7368000810=98.61082192882=90.648883=0884=6678944.646293=06294=0887=1888=HAIRCUT889=90.00000000010=047

20131203-12:49:25.349 : 8=FIX.4.49=15235=334=163349=PHARPSTP52=20131203-12:49:25.34956=BLPSTP115=ZERO128=i.stpdca445=163958=Tag not defined for this message type371=887372=8373=210=139

Config file:
[SESSION]
ConnectionType=initiator
ReconnectInterval=30
BeginString=FIX.4.4
SocketConnectPort=xxx
SocketConnectHost=160.xx.xx.xxx
FileLogPath=log_bloomberg_fixed_prod
FileStorePath=log_bloomberg_fixed_prod
DataDictionary=C:\Users\netadmin\FixTesting\FixClientService\FIX44.xml
TargetCompID=BLPXXX
SenderCompID=PHARPXXX
UseDataDictionary=Y
ValidateUserDefinedFields=N

Thank you for your time,
Michael

This message contains information intended for the exclusive use of the individual or entity to whom it is 
addressed. This email may contain information which is privileged and confidential. If you are not the intended 
recipient of this message, please notify the sender as soon as possible and do not show the message to any 
third party. Please do not copy, disclose or distribute the information contained within.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20131204/31f8cf77/attachment-0002.htm>


More information about the Quickfixn mailing list