{{Quickfixn}} Errors with Repeating groups for Custom Message

Grant Birchmeier gbirchmeier at connamara.com
Wed Sep 2 08:11:46 PDT 2015


First of all, this group structure makes little sense.  Your PartyIDs group
doesn't contain anything besides the subgroup; why do the subgroups need to
be wrapped in a PartyID group at all?  In fact, I could write an alternate
msg definition that would be functionally identical to yours, but without
the nesting:

<message name=
​"
CustomMessage" msgtype="U14" msgcat="app">
​    ​
<
​
field
n
ame="NoPartyIDs" required="Y"
​/​
>
​    ​
<group name="NoPartySubIDs" required="Y">
​        ​
<field name="PartySubID" required="Y" />
​        ​
<field name="PartySubIDType" required="Y" />
​    ​
</group>
</group>


Do you see what I mean?  The extra nesting doesn't give you anything.  Why
have a Party without a PartyID?

*As to the actual error:  *I'm pretty sure the error is because QF/n is
looking for a non-group field positioned at the start of NoPartyIDs (before
the subgroup).  All group elements are required to include the first field
of the definition (typically referred to as the "delimiter" field).

But your group definition doesn't have a first field -- the first field is
a subgroup.  This is unlike all standard FIX groups.

I suppose, technically, you could argue that the engine is misbehaving
because it's making wrong assumptions about your message -- it's looking
for a delimiter field that your NoPartyIDs group doesn't actually define.
However, I'd argue instead that your group definition might be invalid:
standard FIX groups don't look like this, so yours shouldn't either.

This definition would make more sense:

<message name="CustomMessage" msgtype="U14" msgcat="app">
​    ​
<
​group
 n
ame="NoPartyIDs" required="Y"
​​
>

<field name="PartyID" required="Y"/>
        <!-- add PartyIDSource and PartyRole too if you like -->
​    ​
<group name="NoPartySubIDs" required="Y">
​            ​
<field name="PartySubID" required="Y" />
​        ​
<field name="PartySubIDType" required="Y" />
​    ​
</group>
    </group>
</group>

​
Are you
​able to alter the
definitions
​ like I'm suggesting​
, or are you stuck working with a counterparty who is doing stupid things?
​


On Wed, Sep 2, 2015 at 8:09 AM, Mahlatse Mabotja <mmabotja at aospartner.com>
wrote:

> Hi All, I am having problems with my custom messages:
>
>
>
> <message name=" CustomMessage " msgtype="U14" msgcat="app">
>
>                                                 <group name="NoPartyIDs"
> required="Y">
>
>                                                                 <group
> name="NoPartySubIDs" required="Y">
>
>
> <field name="PartySubID" required="Y" />
>
>
> <field name="PartySubIDType" required="Y" />
>
>                                                                 </group>
>
>                                                 </group>
>
>>
> </message>
>
>
>
> My code :
>
> var customMessage = new QuickFix.FIX44. CustomMessage ();
>
> var partyId = new QuickFix.FIX44.CustomMessage.NoPartyIDsGroup();
>
>                 var partySubId = new QuickFix.FIX44. CustomMessage.NoPartyIDsGroup.NoPartySubIDsGroup();
>
>                 partySubId.PartySubID = new QuickFix.Fields.PartySubID(accountInfo.Account.getValue());
>
>                 partySubId.PartySubIDType = new QuickFix.Fields.PartySubIDType(0);
>
>                 partyId.AddGroup(partySubId);
>
>                  partySubId.PartySubIDType = new QuickFix.Fields.PartySubIDType(1);
>
>                 partySubId.PartySubID = new QuickFix.Fields.PartySubID("4AX");
>
>                 partyId.AddGroup(partySubId);
>
>                 customMessage.AddGroup(partyId);
>
>
>
>
>
> The LogError
>
>
>
> Message 1364 Rejected: Group 453's first entry does not start with
> delimiter 0 (Field=453)
>
>
>
> The Message :
>
>
>
> 8=FIX.4.49=18735=U1434=150949=EXECUTOR52=20150902-13:06:19.64056=CLIENT1496=There
> was an error with the data
> specified10121=ReturnStatus10123=0453=1802=2523=41411803=0523=4AX803=110=080
>
>
>
> Tag 453 has value one because only 1 NoPartIDsGroup has been defined, I am
> not sure what could be causing it.
>
>
>
> Regards
>
> *Mahlatse Mabotja *| Developer | Business solutions
>
> Automated Outsourcing Services (Pty) Ltd
>
>
>
> Office 011 561 6865 | Fax 011 388 1182 | Cell 076 733 8355
>
> 15 Philips Street | Ferndale | Randburg | South Africa | 2194
>
> PO Box 4769 | Randburg | South Africa | 2125
>
> www.aospartner.com
>
>
>
>
>
>
>
> The information contained in this communication is confidential and may be
> legally privileged. It is intended solely for the use of the individual or
> entity to whom it is addressed and others to receive it. If you are not the
> intended recipient you are hereby notified that any disclosure, copying,
> distribution or taking action in reliance of the contents of this
> information is strictly prohibited and may be unlawful. Automated
> Outsourcing Services (Pty) Ltd cannot guarantee the integrity of this
> communication or that it is free of errors, interceptions, viruses, nor can
> it accept any responsibility for delayed transmission of this message. Any
> views or opinions presented are solely those of the author and not the
> company. Automated Outsourcing Services (Pty) Ltd is an authorised
> financial services provider [FSP 650]
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> 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/20150902/de41aa54/attachment-0002.htm>


More information about the Quickfixn mailing list