{{Quickfixn}} "required tag missing" in response to execution report

Øyvind Sævareid Ellefsen oyvind at ssc.no
Thu Nov 21 15:17:38 PST 2013


Thanks!

Brgds,
Oeyvind
From: quickfixn-bounces at lists.quickfixn.com [mailto:quickfixn-bounces at lists.quickfixn.com] On Behalf Of Grant Birchmeier
Sent: 22. november 2013 00:16
To: Mailing list for QuickFIX/n
Subject: Re: {{Quickfixn}} "required tag missing" in response to execution report

It's no big deal to make the fields optional.  In fact, I think it's the correct action for you.

The engine assumes that you know what you're doing, so if you try to extract a field that isn't there, it assumes that it *should* be, and rejects the message.

Thus, if you get a message where the ExecType requires 17, you should just try to extract it.  If the field is not present, the engine will throw a missing-field reject during this extraction.  The engine says: I'm supposed to extract this, but it not there, so it's missing!  This is the correct behavior, since now it's *them* who have screwed up.

This basically saves you from having to do this all the time:
    if(field x is not present)
      throw MissingFieldException(x);  // causes reject

This logic is built-in to the field extraction method.  (There are, of course, instances where such an if-check would be appropriate.)

-Grant



On Thu, Nov 21, 2013 at 4:59 PM, Øyvind Sævareid Ellefsen <oyvind at ssc.no<mailto:oyvind at ssc.no>> wrote:
Yeah, I know that every counterpart has it's own variant.. but that is how it is

Thanks for your fast reply Grant, what I see in their spec is that as far as the execution report is in "pending", it is not required. Sounds logic as well, since no order has been created yet.

I will have a chat with them and see whether they would do anything with my rejection reply. In case of other Exec statuses, I believe I would need tag 17 and 37, so preferable I would not make them non-required.



Brgds
Oeyvind Ellefsen

From: quickfixn-bounces at lists.quickfixn.com<mailto:quickfixn-bounces at lists.quickfixn.com> [mailto:quickfixn-bounces at lists.quickfixn.com<mailto:quickfixn-bounces at lists.quickfixn.com>] On Behalf Of Grant Birchmeier
Sent: 21. november 2013 23:52
To: Mailing list for QuickFIX/n
Subject: Re: {{Quickfixn}} "required tag missing" in response to execution report

In the standard FIX 4.4 message spec, 17 and 37 are required fields of ExecReport, so it is not a bug.

Making it optional is a customization that your counterparty has made.

No problem, though.  You did exactly what you need to do, which is edit your DD xml file to make the fields optional.

These are likely not the only customizations that your counterparty has done.  You should get ahold of their specs and read through your DD file to make sure there are no other changes you need to make.  I would be very surprised if they didn't add other custom fields elsewhere.

(Really, this is something that you have to do for every new counterparty you work with.  It seems nobody wants to use the default FIX definitions; they all have to make weird changes.)

-Grant

On Thu, Nov 21, 2013 at 4:37 PM, Øyvind Sævareid Ellefsen <oyvind at ssc.no<mailto:oyvind at ssc.no>> wrote:
Hi,

I am doing some MARKET orders with FOK method, and I see that quickfix/n respons wih "Message 2 Rejected: Required tag missing (Field=17)". However, this field is not required (according to my counterparts documentation) when the ExecType="A". In FIX4.4.xml it is either Required="N" / "Y", is this a bug in the quickfix/n, or is there any other way to handle this, or is it ignorable?

My application is obviously sending a reject to the counterpart. Here's the conversation;

20131121-22<tel:20131121-22>:24:53.962 : 8=FIX.4.4 9=171 35=8 49=<counterpart> 56=<me> 34=5 52=20131121-22:24:34.884 11=140823115 150=A 39=A 1=20009000000 55=GBP/USD 54=2 38=10000.00 44=0 15=GBP 59=4 151=10000.00 14=0 6=0 10=055

20131121-22<tel:20131121-22>:24:53.966 : 8=FIX.4.4 9=114 35=3 34=5 49=<me> 52=20131121-22:24:53.965 56=<counterpart> 45=5 58=Required tag missing 371=17 372=8 373=1 10=063

I had the same error with TAG 37, and I changed the OrderID to Required="N", then error on 17 popped up.

I see when I receive messages with 150=0 or 150=F, tag 17 and 37 is provided from my counterpart.



Brgds
Oeyvind Ellefsen


_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto: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

_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto: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/20131121/bf125e75/attachment-0002.htm>


More information about the Quickfixn mailing list