{{Quickfixn}} Custom Tag field order issue.

Atanu Sinha (BLOOMBERG/ 731 LEX) asinha77 at bloomberg.net
Mon Feb 27 10:28:21 PST 2017


Hey Guys, 

Got an issue with ordering of a custom field in the J message. My counterparty added a custom tag (AllocGrossTradeAmt (5546)) and needs it to me added after AllocNetMoney in the repeating group NoAllocs. Below is how my dictionary looks like, however AllocGrossTradeAmt appears all the way at the end of the repeating group NoAllocs. Any idea? 

I am using QuickFix/n 1.5.0.0. 


<message name="AllocationInstruction" msgtype="J" msgcat="app">
    <field name="AllocID" required="Y" />
    <field name="AllocTransType" required="Y" />
    <field name="AllocType" required="Y" />
    <field name="SecondaryAllocID" required="N" />
        <field name="InteroperabilityAllocTradeID" required="N" />
     <field name="InteroperabilityAllocBlockID" required="N" />
     <field name="InteroperabilityClientMasterID" required="N" />
   <field name="OmgeoTLVersionofTradeComponent" required="N" />
    <field name="RefAllocID" required="N" />
    <field name="AllocCancReplaceReason" required="N" />
    <field name="AllocIntermedReqType" required="N" />
    <field name="AllocLinkID" required="N" />
    <field name="AllocLinkType" required="N" />
    <field name="BookingRefID" required="N" />
    <field name="AllocNoOrdersType" required="Y" />
    <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>
    <group name="NoExecs" required="N">
      <field name="LastQty" required="N" />
      <field name="ExecID" required="N" />
      <field name="SecondaryExecID" required="N" />
      <field name="LastPx" required="N" />
      <field name="LastParPx" required="N" />
      <field name="LastCapacity" required="N" />
    </group>
    <field name="PreviouslyReported" required="N" />
    <field name="ReversalIndicator" required="N" />
    <field name="MatchType" required="N" />
    <field name="Side" required="Y" />
    <component name="Instrument" required="Y" />
    <component name="InstrumentExtension" required="N" />
    <component name="FinancingDetails" required="N" />
    <group name="NoUnderlyings" required="N">
      <component name="UnderlyingInstrument" required="N" />
    </group>
    <group name="NoLegs" required="N">
      <component name="InstrumentLeg" required="N" />
    </group>
    <field name="Quantity" required="Y" />
    <field name="QtyType" required="N" />
    <field name="LastMkt" required="N" />
    <field name="TradeOriginationDate" required="N" />
    <field name="TradingSessionID" required="N" />
    <field name="TradingSessionSubID" required="N" />
    <field name="PriceType" required="N" />
    <field name="AvgPx" required="Y" />
    <field name="AvgParPx" required="N" />
    <component name="SpreadOrBenchmarkCurveData" required="N" />
    <field name="Currency" required="N" />
    <field name="AvgPxPrecision" required="N" />
    <component name="Parties" required="N" />
    <field name="TradeDate" required="Y" />
    <field name="TransactTime" required="N" />
    <field name="SettlType" required="N" />
    <field name="SettlDate" required="N" />
    <field name="BookingType" required="N" />
    <field name="GrossTradeAmt" required="N" />
    <field name="Concession" required="N" />
    <field name="TotalTakedown" required="N" />
    <field name="NetMoney" required="N" />
    <field name="PositionEffect" required="N" />
    <field name="AutoAcceptIndicator" required="N" />
    <field name="Text" required="N" />
    <field name="EncodedTextLen" required="N" />
    <field name="EncodedText" required="N" />
    <field name="NumDaysInterest" required="N" />
    <field name="AccruedInterestRate" required="N" />
    <field name="AccruedInterestAmt" required="N" />
    <field name="TotalAccruedInterestAmt" required="N" />
    <field name="InterestAtMaturity" required="N" />
    <field name="EndAccruedInterestAmt" required="N" />
    <field name="StartCash" required="N" />
    <field name="EndCash" required="N" />
        <field name="DayCount" required="N" />
    <field name="LegalConfirm" required="N" />
  <field name="AllocationPriceMethod" required="N" />
    <field name="PurposeIndicator" required="N" />
    <component name="Stipulations" required="N" />
    <component name="YieldData" required="N" />
    <field name="TotNoAllocs" required="N" />
    <field name="LastFragment" required="N" />
    <group name="NoAllocs" required="N">
      <field name="AllocAccount" required="Y" />
      <field name="AllocAcctIDSource" required="N" />
      <field name="MatchStatus" required="N" />
      <field name="AllocPrice" required="N" />
      <field name="AllocQty" required="N" />          
      <field name="IndividualAllocID" required="N" />
       <field name="InteroperabilityClientAllocationID" required="N" />
      <field name="ProcessCode" required="N" />
      <component name="NestedParties" required="N" />
      <field name="NotifyBrokerOfCredit" required="N" />
      <field name="AllocHandlInst" required="N" />
      <field name="AllocText" required="N" />
      <field name="EncodedAllocTextLen" required="N" />
      <field name="EncodedAllocText" required="N" />
      <component name="CommissionData" required="N" />
      <field name="AllocAvgPx" required="N" />
      <field name="AllocNetMoney" required="N" />    
      <field name="AllocGrossTradeAmt" required="N" /> 
      <field name="SettlCurrAmt" required="N" />
      <field name="AllocSettlCurrAmt" required="N" />
      <field name="SettlCurrency" required="N" />
      <field name="AllocSettlCurrency" required="N" />
      <field name="SettlCurrFxRate" required="N" />
      <field name="SettlCurrFxRateCalc" required="N" />     
     <field name="AllocAccruedInterestAmt" required="N" />                 
      <field name="AllocInterestAtMaturity" required="N" />
      <field name="SettlInstMode" required="N" />      
      <group name="NoMiscFees" required="N">
        <field name="MiscFeeAmt" required="N" />
        <field name="MiscFeeCurr" required="N" />
        <field name="MiscFeeType" required="N" />
        <field name="MiscFeeBasis" required="N" />
      </group>
         <field name="AllocSettlInstType" required="N" />
       <component name="SettlInstructionsData" required="N" />
      <field name="NoClearingInstructions" required="N" />
      <field name="ClearingInstruction" required="N" />
      <field name="ClearingFeeIndicator" required="N" />      
    </group>
  </message>


Output Message looks like :

AllocNetMoney
NoMiscFees
 --
 --
 --
 --
AllocSettlInstType
NoDlvyInst
SettlInstSource
DlvyInstType
NoSettlPartyIDs
 --
 --
 --
 --
AllocGrossTradeAmt (should appear right after AllocNetMoney as per the dictionary)

Any help is greatly appreciated. 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20170227/58fcb9dc/attachment.htm>


More information about the Quickfixn mailing list