{{Quickfixn}} Custom Tag field order issue.

Atanu Sinha (BLOOMBERG/ 731 LEX) asinha77 at bloomberg.net
Wed Mar 1 09:40:56 PST 2017


I used v1.9.3, as recommended.  

From: mgatny at connamara.com At: 03/01/17 12:04:25
To: Atanu Sinha (BLOOMBERG/ 731 LEX)
Cc: quickfixn at lists.quickfixn.com
Subject: Re: {{Quickfixn}} Custom Tag field order issue.

What version of ruby did you install? If it is something other than v1.9.3, can you retry with: https://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-1.9.3-p551.exe

--Mike Gatny
Connamara Systems, LLC 
On Tue, Feb 28, 2017 at 4:42 PM, Atanu Sinha (BLOOMBERG/ 731 LEX) <asinha77 at bloomberg.net> wrote:

I was able to install nokogiri. now trying to run generate, but it gives a "'require': cannot load such file --nokogiri/nokopgiri <LoadError>"

From: mgatny at connamara.com At: 02/28/17 16:24:02
To: Atanu Sinha (BLOOMBERG/ 731 LEX), quickfixn at lists.quickfixn.com
Subject: Re: {{Quickfixn}} Custom Tag field order issue.

If you have successfully installed ruby, then you should be able to install nokogiri by simply running the following from the command line:


gem install nokogiri

Have you tried that? What output does it give?

--Mike Gatny
Connamara Systems, LLC 
On Tue, Feb 28, 2017 at 3:28 PM, Atanu Sinha (BLOOMBERG/ 731 LEX) <asinha77 at bloomberg.net> wrote:

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


_______________________________________________
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/20170301/5a3f4a34/attachment-0002.htm>


More information about the Quickfixn mailing list