{{Quickfixn}} Custom Tag field order issue.

Atanu Sinha (BLOOMBERG/ 731 LEX) asinha77 at bloomberg.net
Tue Feb 28 12:28:36 PST 2017


Thanks Mike, 

The code generation page doesnot have enough instruction for a complete Ruby illiterate like me. I am still unable to install the nokogiri gem. Is there a detailed instruction link that I can use? So far, I have been able to install Ruby and the DevKit. However, I am not able to install the nokogiri gem.

-Atanu

From: quickfixn at lists.quickfixn.com At: 02/27/17 16:48:38
To: quickfixn at lists.quickfixn.com
Subject: Re: {{Quickfixn}} Custom Tag field order issue.

FYI  code generation instructions are in the readme:
https://github.com/connamara/quickfixn#system-setup
https://github.com/connamara/quickfixn#code-generation

--Mike Gatny
Connamara Systems, LLC 
On Mon, Feb 27, 2017 at 4:06 PM, Grant Birchmeier <gbirchmeier at connamara.com> wrote:

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

_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com


         _______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20170228/ffab6c8e/attachment-0002.htm>


More information about the Quickfixn mailing list