{{Quickfixn}} Custom Tag field order issue.

Grant Birchmeier gbirchmeier at connamara.com
Mon Feb 27 11:03:46 PST 2017


The DD is used for parsing incoming messages.

For outgoing messages, the ordering is compiled in to the binary, based on
the source that is generated from the DD.

So the solution is to regenerate the QF/n source from your modified DD and
then rebuild.  That's not actually very difficult, though it does require
you to install Ruby.

On Mon, Feb 27, 2017 at 12:28 PM, Atanu Sinha (BLOOMBERG/ 731 LEX) <
asinha77 at bloomberg.net> wrote:

> 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.
>
>
>
> _______________________________________________
> 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/20170227/d613465b/attachment-0002.htm>


More information about the Quickfixn mailing list