{{Quickfixn}} FIXML 4.4 Component in a component

Grant Birchmeier gbirchmeier at connamara.com
Wed Dec 4 11:23:35 PST 2013


Michael, I think I see the problem.

The message Bloomberg sends has tags 293 and 294 in it.  In the default FIX
DataDictionary, these fields do not belong to ExecutionReport.  This must
be a customization that Bloomberg has added.

When the engine is parsing the groups, it gets to 293 and says "Hey, my DD
says this isn't in the group, so the group must have ended with previous
field."  It treats 293 and everything after as a top-level field of
ExecReport.  I'd have to dig into the code to see why 887 is being flagged,
but it's not really important, because 293 is your problem.

You must edit your DD xml file to add 293 to the appropriate place in the 711
(NoUnderlyings) group.  (Note: field order inside repeating groups is
important!)

You should also review the Bloomberg spec for any other customizations that
may have been made.  Any changes they made from the default FIX DD need to
be accounted for in your DD xml.

-Grant




On Wed, Dec 4, 2013 at 8:17 AM, Michael Lever <mlever at pharofund.com> wrote:

>  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=0
> 887=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.*
>
>
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>
>


-- 
Grant Birchmeier
*Connamara Systems, LLC*
*Made-To-Measure Trading Solutions.*
Exactly what you need. No more. No less.
http://connamara.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20131204/c3b2d7c6/attachment-0002.htm>


More information about the Quickfixn mailing list