[QFJ-364] NoLegs, NoUnderlyings, and NoCapacities groups in Confirmation message in FIX44.xml should not be required Created: 31/Oct/08  Updated: 15/Nov/12  Resolved: 05/Apr/10

Status: Closed
Project: QuickFIX/J
Component/s: Engine
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: Alvin Wang Assignee: Unassigned
Resolution: Not a bug Votes: 0
Labels: None


 Description   

I found NoLegs group in Confirmation message in FIX44.xml (QFJ 1.3.3) is required. But it is not required according to the FIX spec. Same happens for NoUnderlyings and NoCapacities.

<message name="Confirmation" msgtype="AK" msgcat="app">
<field name="ConfirmID" required="Y"/>
<field name="ConfirmRefID" required="N"/>
<field name="ConfirmReqID" required="N"/>
<field name="ConfirmTransType" required="Y"/>
<field name="ConfirmType" required="Y"/>
<field name="CopyMsgIndicator" required="N"/>
<field name="LegalConfirm" required="N"/>
<field name="ConfirmStatus" required="Y"/>
<component name="Parties" required="N"/>
<group name="NoOrders" required="N">
<field name="ClOrdID" required="N"/>
<field name="OrderID" required="N"/>
<field name="SecondaryOrderID" required="N"/>
<field name="SecondaryClOrdID" required="N"/>
<field name="ListID" required="N"/>
<component name="NestedParties2" required="N"/>
<field name="OrderQty" required="N"/>
<field name="OrderAvgPx" required="N"/>
<field name="OrderBookingQty" required="N"/>
</group>
<field name="AllocID" required="N"/>
<field name="SecondaryAllocID" required="N"/>
<field name="IndividualAllocID" required="N"/>
<field name="TransactTime" required="Y"/>
<field name="TradeDate" required="Y"/>
<component name="TrdRegTimestamps" required="N"/>
<component name="Instrument" required="Y"/>
<component name="InstrumentExtension" required="N"/>
<component name="FinancingDetails" required="N"/>
<group name="NoUnderlyings" required="Y">
<component name="UnderlyingInstrument" required="N"/>
</group>
<group name="NoLegs" required="Y">
<component name="InstrumentLeg" required="N"/>
</group>
<component name="YieldData" required="N"/>
<field name="AllocQty" required="Y"/>
<field name="QtyType" required="N"/>
<field name="Side" required="Y"/>
<field name="Currency" required="N"/>
<field name="LastMkt" required="N"/>
<group name="NoCapacities" required="Y">
<field name="OrderCapacity" required="Y"/>
<field name="OrderRestrictions" required="N"/>
<field name="OrderCapacityQty" required="Y"/>
</group>



 Comments   
Comment by Steve Bate [ 05/Apr/10 ]

In the FIX spec, the components related to these groups are marked as required. A repeating group is required to have at least one field and the first field is the delimiter for each group repeat. In this case we thread the repeating group count as required because the component is required. I agree this is a bit strange in the FIX spec.

Generated at Tue Jul 01 08:14:18 UTC 2025 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.