{{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