{{Quickfixn}} Custom Tag field order issue.

Grant Birchmeier gbirchmeier at connamara.com
Mon Feb 27 13:06:28 PST 2017


Right now, you must use Ruby.  That's the scripting language that we used
to build the code generator with.

Instructions are here:
https://github.com/connamara/quickfixn

One of my colleagues has done work on replacing the Ruby generator with a
Powershell-based generator that should be friendlier to Windows-centric
folks, but I'm not sure what the status is on that.

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

> I am using Visual Studio 2013.
>
>
> From: gbirchmeier at connamara.com At: 02/27/17 14:04:08
> To: Atanu Sinha (BLOOMBERG/ 731 LEX), quickfixn at lists.quickfixn.com
> Subject: Re: {{Quickfixn}} Custom Tag field order issue.
>
> 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
>
>
>


-- 
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/6e7eb9c9/attachment-0002.htm>


More information about the Quickfixn mailing list