Quantcast

TradeCaptureReport with parties for FIX5.0.SP1 example neded

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

TradeCaptureReport with parties for FIX5.0.SP1 example neded

Igor.N
Hi,

I need to  send a TradeCaptureReport based on FIX50SP1. The report contain parties and subparties which I adding using groups as below, but unfortunately my counterparty answers me with reject "Tag appears more than once", with tag reference 523. Checking in FIX documentation I found that tag 523 is PartySubID field, which is set in createSubParty(...) method by PartySubID class.
Would be highly appreciate if somebody can help me with correct example of setting such parties.
Thanks in advance!

Here is an excerpt of my code:
========== code start ============

private void send (){
                TradeCaptureReport message =
                    new quickfix.fix50sp1.TradeCaptureReport(new LastQty(1000000), new LastPx(1.631));
                message.setField(new NoPartyIDs(5));
                message.addGroup(createParty(1, 0, "Trade recipient organisation", 'D', 3, new Group[]{
                                createSubParty(2, 1, "TAKER_LEI", 4010),
                                createSubParty(3, 2, "TAKER_CICI", 4011),
                                createSubParty(4, 3, "TPR_ID", 4012)}
                                ));
       
     .... //here set rest of fields and sends the message

}

private Group createSubParty(int field, int delim, String partySubID, int partySubIDType) {
                Group subParty = new Group(field, delim);
                subParty.setField(new PartySubID(partySubID));
                subParty.setField(new PartySubIDType(partySubIDType));
                return subParty;
        }

        private Group createParty(int field, int delim, String partyId, Character partyIdSource, int partyRole, Group[] subParties) {
                Group party = new Group(field, delim);
                party.setField(new PartyID(partyId));
                party.setField(new PartyIDSource(partyIdSource));
                party.setField(new PartyRole(partyRole));
                if (subParties!=null && subParties.length>0){
                        party.setField(new NoPartySubIDs(subParties.length));
                        for (Group group : subParties) {
                                party.addGroupRef(group);
                        }
                }
                return party;
        }
========== code end ============
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TradeCaptureReport with parties for FIX5.0.SP1 example neded

Robert Nicholson
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Make sure you and your counterparty both recognize the group definition and that the begin tag lines up with how
the group is defined.

It would help if you send the full fix message that you’re sending.

> On Oct 7, 2015, at 10:16 AM, Igor.N <[hidden email]> wrote:
>
> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Hi,
>
> I need to  send a TradeCaptureReport based on FIX50SP1. The report contain
> parties and subparties which I adding using groups as below, but
> unfortunately my counterparty answers me with reject "Tag appears more than
> once", with tag reference 523. Checking in FIX documentation I found that
> tag 523 is PartySubID field, which is set in createSubParty(...) method by
> PartySubID class.
> Would be highly appreciate if somebody can help me with correct example of
> setting such parties.
> Thanks in advance!
>
> Here is an excerpt of my code:
> ========== code start ============
>
> private void send (){
>                TradeCaptureReport message =
>                    new quickfix.fix50sp1.TradeCaptureReport(new
> LastQty(1000000), new LastPx(1.631));
>                message.setField(new NoPartyIDs(5));
> message.addGroup(createParty(1, 0, "Trade recipient organisation", 'D', 3,
> new Group[]{
> createSubParty(2, 1, "TAKER_LEI", 4010),
> createSubParty(3, 2, "TAKER_CICI", 4011),
> createSubParty(4, 3, "TPR_ID", 4012)}
> ));
>
>     .... //here set rest of fields and sends the message
>
> }
>
> private Group createSubParty(int field, int delim, String partySubID, int
> partySubIDType) {
> Group subParty = new Group(field, delim);
> subParty.setField(new PartySubID(partySubID));
> subParty.setField(new PartySubIDType(partySubIDType));
> return subParty;
> }
>
> private Group createParty(int field, int delim, String partyId, Character
> partyIdSource, int partyRole, Group[] subParties) {
> Group party = new Group(field, delim);
> party.setField(new PartyID(partyId));
> party.setField(new PartyIDSource(partyIdSource));
> party.setField(new PartyRole(partyRole));
> if (subParties!=null && subParties.length>0){
> party.setField(new NoPartySubIDs(subParties.length));
> for (Group group : subParties) {
> party.addGroupRef(group);
> }
> }
> return party;
> }
> ========== code end ============
>
>
>
> --
> View this message in context: http://quickfix-j.364392.n2.nabble.com/TradeCaptureReport-with-parties-for-FIX5-0-SP1-example-neded-tp7579259.html
> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Full-scale, agent-less Infrastructure Monitoring from a single dashboard
> Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
> Physical-Virtual-Cloud Infrastructure monitoring from one console
> Real user monitoring with APM Insights and performance trend reports
> Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911&iu=/4140
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>


------------------------------------------------------------------------------
Full-scale, agent-less Infrastructure Monitoring from a single dashboard
Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
Physical-Virtual-Cloud Infrastructure monitoring from one console
Real user monitoring with APM Insights and performance trend reports
Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911&iu=/4140
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TradeCaptureReport with parties for FIX5.0.SP1 example neded

Igor.N
Actually my counterparty is also my application based on same config and same QuickFixJ( version 1.6.0) so sessions using same dictionary in same jar file.
The full FIX message is looks as following(it have more parties than in java code - 5 actually , due to some code was skipped):

8=FIXT.1.1^9=460^35=AE^34=2^49=MySenderCompID^52=20151007-15:05:50.499^56=EXEC^15=GBP^17=00GFM00001^31=1.631^32=1000000^37=PPPNGHD000023^38=1000000^39=2^54=1^55=GBP/USD^58=Free-format text.^60=39081227-13:54:59.000^63=0^64=20081231^65=SP^75=20081227^150=F^167=FOR^194=1.631^195=0^453=1^460=4^552=1^570=N^571=JHTGPDLR123456^1056=1631000^1057=Y^1=1^447=D^448=Trade recipient organisation^452=3^802=3^2=1^523=TAKER_LEI^803=4010^3=1^523=TAKER_CICI^803=4011^4=1^523=TPR_ID^803=4012^10=081^

Checking in debug, I found that FieldException occures on field: 523=TAKER_CICI .
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TradeCaptureReport with parties for FIX5.0.SP1 example neded

Robert Nicholson
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


So you should also post your dictionary of at least the AE definition.

Make sure you begin your group with tag 523 after the 802 and not what looks to be tag 2
unless your group definition has it defined that way in the dictionary.

Quickfixj needs the first tag in group to match the group definition in the dictionary.

> On Oct 7, 2015, at 10:47 AM, Igor.N <[hidden email]> wrote:
>
> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Actually my counterparty is also my application based on same config and same
> QuickFixJ( version 1.6.0) so sessions using same dictionary in same jar
> file.
> The full FIX message is looks as following(it have more parties than in java
> code - 5 actually , due to some code was skipped):
>
> 8=FIXT.1.1^9=460^35=AE^34=2^49=MySenderCompID^52=20151007-15:05:50.499^56=EXEC^15=GBP^17=00GFM00001^31=1.631^32=1000000^37=PPPNGHD000023^38=1000000^39=2^54=1^55=GBP/USD^58=Free-format
> text.^60=39081227-13:54:59.000^63=0^64=20081231^65=SP^75=20081227^150=F^167=FOR^194=1.631^195=0^453=1^460=4^552=1^570=N^571=JHTGPDLR123456^1056=1631000^1057=Y^1=1^447=D^448=Trade
> recipient
> organisation^452=3^802=3^2=1^523=TAKER_LEI^803=4010^3=1^523=TAKER_CICI^803=4011^4=1^523=TPR_ID^803=4012^10=081^
>
> Checking in debug, I found that FieldException occures on field:
> 523=TAKER_CICI .
>
>
>
> --
> View this message in context: http://quickfix-j.364392.n2.nabble.com/TradeCaptureReport-with-parties-for-FIX5-0-SP1-example-neded-tp7579259p7579261.html
> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> Full-scale, agent-less Infrastructure Monitoring from a single dashboard
> Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
> Physical-Virtual-Cloud Infrastructure monitoring from one console
> Real user monitoring with APM Insights and performance trend reports
> Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911&iu=/4140
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>


------------------------------------------------------------------------------
Full-scale, agent-less Infrastructure Monitoring from a single dashboard
Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
Physical-Virtual-Cloud Infrastructure monitoring from one console
Real user monitoring with APM Insights and performance trend reports
Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911&iu=/4140
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TradeCaptureReport with parties for FIX5.0.SP1 example neded

Grant Birchmeier
In reply to this post by Igor.N
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Does your config file contain both of these?

DataDictionary=correct/path/to/your/config.xml
UseDataDictionary=Y

On Wed, Oct 7, 2015 at 10:47 AM, Igor.N <[hidden email]> wrote:
QuickFIX/J Documentation: <a href="http://www.quickfixj.org/documentation/ QuickFIX/J" rel="noreferrer" target="_blank">http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Actually my counterparty is also my application based on same config and same
QuickFixJ( version 1.6.0) so sessions using same dictionary in same jar
file.
The full FIX message is looks as following(it have more parties than in java
code - 5 actually , due to some code was skipped):

8=FIXT.1.1^9=460^35=AE^34=2^49=MySenderCompID^52=20151007-15:05:50.499^56=EXEC^15=GBP^17=00GFM00001^31=1.631^32=1000000^37=PPPNGHD000023^38=1000000^39=2^54=1^55=GBP/USD^58=Free-format
text.^60=39081227-13:54:59.000^63=0^64=20081231^65=SP^75=20081227^150=F^167=FOR^194=1.631^195=0^453=1^460=4^552=1^570=N^571=JHTGPDLR123456^1056=1631000^1057=Y^1=1^447=D^448=Trade
recipient
organisation^452=3^802=3^2=1^523=TAKER_LEI^803=4010^3=1^523=TAKER_CICI^803=4011^4=1^523=TPR_ID^803=4012^10=081^

Checking in debug, I found that FieldException occures on field:
523=TAKER_CICI .



--
View this message in context: http://quickfix-j.364392.n2.nabble.com/TradeCaptureReport-with-parties-for-FIX5-0-SP1-example-neded-tp7579259p7579261.html
Sent from the QuickFIX/J mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Full-scale, agent-less Infrastructure Monitoring from a single dashboard
Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
Physical-Virtual-Cloud Infrastructure monitoring from one console
Real user monitoring with APM Insights and performance trend reports
Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911&iu=/4140
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users



--
Grant Birchmeier
Connamara Systems, LLC
Made-To-Measure Trading Solutions.
Exactly what you need. No more. No less.

------------------------------------------------------------------------------
Full-scale, agent-less Infrastructure Monitoring from a single dashboard
Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
Physical-Virtual-Cloud Infrastructure monitoring from one console
Real user monitoring with APM Insights and performance trend reports
Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911&iu=/4140
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TradeCaptureReport with parties for FIX5.0.SP1 example neded

Igor.N
In reply to this post by Robert Nicholson
Regarding to begin my group with tag 523 after the 802 is not in my hands actually, because I just using the QFJ API which is doesn't have methods for sorting the tags in resulting message as far I know, or it does have ?

Here is a dictionary of my AE definition:

   <message name="TradeCaptureReport" msgtype="AE" msgcat="app">
      <component name="ApplicationSequenceControl" required="N"/>
      <field name="TradeReportID" required="N"/>
      <field name="TradeID" required="N"/>
      <field name="SecondaryTradeID" required="N"/>
      <field name="FirmTradeID" required="N"/>
      <field name="SecondaryFirmTradeID" required="N"/>
      <field name="TradeReportTransType" required="N"/>
      <field name="TradeReportType" required="N"/>
      <field name="TrdRptStatus" required="N"/>
      <field name="TradeRequestID" required="N"/>
      <field name="TrdType" required="N"/>
      <field name="TrdSubType" required="N"/>
      <field name="SecondaryTrdType" required="N"/>
      <field name="TradeHandlingInstr" required="N"/>
      <field name="OrigTradeHandlingInstr" required="N"/>
      <field name="OrigTradeDate" required="N"/>
      <field name="OrigTradeID" required="N"/>
      <field name="OrigSecondaryTradeID" required="N"/>
      <field name="TransferReason" required="N"/>
      <field name="ExecType" required="N"/>
      <field name="TotNumTradeReports" required="N"/>
      <field name="LastRptRequested" required="N"/>
      <field name="UnsolicitedIndicator" required="N"/>
      <field name="SubscriptionRequestType" required="N"/>
      <field name="TradeReportRefID" required="N"/>
      <field name="SecondaryTradeReportRefID" required="N"/>
      <field name="SecondaryTradeReportID" required="N"/>
      <field name="TradeLinkID" required="N"/>
      <field name="TrdMatchID" required="N"/>
      <field name="ExecID" required="N"/>
      <field name="OrdStatus" required="N"/>
      <field name="SecondaryExecID" required="N"/>
      <field name="ExecRestatementReason" required="N"/>
      <field name="PreviouslyReported" required="N"/>
      <field name="PriceType" required="N"/>
      <component name="RootParties" required="N"/>
      <field name="AsOfIndicator" required="N"/>
      <field name="SettlSessID" required="N"/>
      <field name="SettlSessSubID" required="N"/>
      <component name="Instrument" required="Y"/>
      <component name="FinancingDetails" required="N"/>
      <component name="OrderQtyData" required="N"/>
      <field name="QtyType" required="N"/>
      <component name="YieldData" required="N"/>
      <component name="UndInstrmtGrp" required="N"/>
      <field name="UnderlyingTradingSessionID" required="N"/>
      <field name="UnderlyingTradingSessionSubID" required="N"/>
      <field name="LastQty" required="Y"/>
      <field name="LastPx" required="Y"/>
      <field name="CalculatedCcyLastQty" required="N"/>
      <field name="Currency" required="N"/>
      <field name="SettlCurrency" required="N"/>
      <field name="LastParPx" required="N"/>
      <field name="LastSpotRate" required="N"/>
      <field name="LastForwardPoints" required="N"/>
      <field name="LastSwapPoints" required="N"/>
      <field name="LastMkt" required="N"/>
      <field name="TradeDate" required="N"/>
      <field name="ClearingBusinessDate" required="N"/>
      <field name="AvgPx" required="N"/>
      <component name="SpreadOrBenchmarkCurveData" required="N"/>
      <field name="AvgPxIndicator" required="N"/>
      <component name="PositionAmountData" required="N"/>
      <field name="MultiLegReportingType" required="N"/>
      <field name="TradeLegRefID" required="N"/>
      <component name="TrdInstrmtLegGrp" required="N"/>
      <field name="TransactTime" required="N"/>
      <component name="TrdRegTimestamps" required="N"/>
      <field name="SettlType" required="N"/>
      <field name="SettlDate" required="N"/>
      <field name="UnderlyingSettlementDate" required="N"/>
      <field name="MatchStatus" required="N"/>
      <field name="MatchType" required="N"/>
      <field name="OrderCategory" required="N"/>
      <component name="TrdCapRptSideGrp" required="Y"/>
      <field name="Volatility" required="N"/>
      <field name="DividendYield" required="N"/>
      <field name="RiskFreeRate" required="N"/>
      <field name="CurrencyRatio" required="N"/>
      <field name="CopyMsgIndicator" required="N"/>
      <component name="TrdRepIndicatorsGrp" required="N"/>
      <field name="PublishTrdIndicator" required="N"/>
      <field name="TradePublishIndicator" required="N"/>
      <field name="ShortSaleReason" required="N"/>
      <field name="TierCode" required="N"/>
      <field name="MessageEventSource" required="N"/>
      <field name="LastUpdateTime" required="N"/>
      <field name="RndPx" required="N"/>
      <field name="TZTransactTime" required="N"/>
      <field name="ReportedPxDiff" required="N"/>
      <field name="GrossTradeAmt" required="N"/>
      <field name="RejectText" required="N"/>
      <field name="FeeMultiplier" required="N"/>
    </message>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TradeCaptureReport with parties for FIX5.0.SP1 example neded

Igor.N
In reply to this post by Grant Birchmeier
My config yes, do contain the UseDataDictionary=Y ,
and also I've tried with "DataDictionary=correct/path/to/your/FIX50SP1.xml" and without it also, because the FIX50SP1.xml located in jar file so it just discovered in classpath accordingly to Session definition in my config.xml as following:

==== cut =======
[session]
BeginString=FIXT.1.1
DefaultApplVerID=FIX.5.0SP1
SocketConnectPort=9882
==== end cut =======

And during the debug I've checked that correct file was really loaded by my apps.

Grant Birchmeier wrote
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Does your config file contain both of these?

DataDictionary=correct/path/to/your/config.xml
UseDataDictionary=Y

On Wed, Oct 7, 2015 at 10:47 AM, Igor.N <[hidden email]> wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
> Actually my counterparty is also my application based on same config and
> same
> QuickFixJ( version 1.6.0) so sessions using same dictionary in same jar
> file.
> The full FIX message is looks as following(it have more parties than in
> java
> code - 5 actually , due to some code was skipped):
>
>
> 8=FIXT.1.1^9=460^35=AE^34=2^49=MySenderCompID^52=20151007-15:05:50.499^56=EXEC^15=GBP^17=00GFM00001^31=1.631^32=1000000^37=PPPNGHD000023^38=1000000^39=2^54=1^55=GBP/USD^58=Free-format
>
> text.^60=39081227-13:54:59.000^63=0^64=20081231^65=SP^75=20081227^150=F^167=FOR^194=1.631^195=0^453=1^460=4^552=1^570=N^571=JHTGPDLR123456^1056=1631000^1057=Y^1=1^447=D^448=Trade
> recipient
>
> organisation^452=3^802=3^2=1^523=TAKER_LEI^803=4010^3=1^523=TAKER_CICI^803=4011^4=1^523=TPR_ID^803=4012^10=081^
>
> Checking in debug, I found that FieldException occures on field:
> 523=TAKER_CICI .
>
>
>
> --
> View this message in context:
> http://quickfix-j.364392.n2.nabble.com/TradeCaptureReport-with-parties-for-FIX5-0-SP1-example-neded-tp7579259p7579261.html
> Sent from the QuickFIX/J mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> Full-scale, agent-less Infrastructure Monitoring from a single dashboard
> Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
> Physical-Virtual-Cloud Infrastructure monitoring from one console
> Real user monitoring with APM Insights and performance trend reports
> Learn More
> http://pubads.g.doubleclick.net/gampad/clk?id=247754911&iu=/4140
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>



--
Grant Birchmeier
*Connamara Systems, LLC*
*Made-To-Measure Trading Solutions.*
Exactly what you need. No more. No less.
http://connamara.com

------------------------------------------------------------------------------
Full-scale, agent-less Infrastructure Monitoring from a single dashboard
Integrate with 40+ ManageEngine ITSM Solutions for complete visibility
Physical-Virtual-Cloud Infrastructure monitoring from one console
Real user monitoring with APM Insights and performance trend reports
Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911&iu=/4140
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Loading...