1 #ifndef FIX44_TRADECAPTUREREPORT_H
2 #define FIX44_TRADECAPTUREREPORT_H
3 
4 #include "Message.h"
5 
6 namespace FIX44
7 {
8 
9   class TradeCaptureReport : public Message
10   {
11   public:
TradeCaptureReport()12     TradeCaptureReport() : Message(MsgType()) {}
TradeCaptureReport(const FIX::Message & m)13     TradeCaptureReport(const FIX::Message& m) : Message(m) {}
TradeCaptureReport(const Message & m)14     TradeCaptureReport(const Message& m) : Message(m) {}
TradeCaptureReport(const TradeCaptureReport & m)15     TradeCaptureReport(const TradeCaptureReport& m) : Message(m) {}
MsgType()16     static FIX::MsgType MsgType() { return FIX::MsgType("AE"); }
17 
TradeCaptureReport(const FIX::TradeReportID & aTradeReportID,const FIX::PreviouslyReported & aPreviouslyReported,const FIX::LastQty & aLastQty,const FIX::LastPx & aLastPx,const FIX::TradeDate & aTradeDate,const FIX::TransactTime & aTransactTime)18     TradeCaptureReport(
19       const FIX::TradeReportID& aTradeReportID,
20       const FIX::PreviouslyReported& aPreviouslyReported,
21       const FIX::LastQty& aLastQty,
22       const FIX::LastPx& aLastPx,
23       const FIX::TradeDate& aTradeDate,
24       const FIX::TransactTime& aTransactTime )
25     : Message(MsgType())
26     {
27       set(aTradeReportID);
28       set(aPreviouslyReported);
29       set(aLastQty);
30       set(aLastPx);
31       set(aTradeDate);
32       set(aTransactTime);
33     }
34 
35     FIELD_SET(*this, FIX::TradeReportID);
36     FIELD_SET(*this, FIX::TradeReportTransType);
37     FIELD_SET(*this, FIX::TradeReportType);
38     FIELD_SET(*this, FIX::TradeRequestID);
39     FIELD_SET(*this, FIX::TrdType);
40     FIELD_SET(*this, FIX::TrdSubType);
41     FIELD_SET(*this, FIX::SecondaryTrdType);
42     FIELD_SET(*this, FIX::TransferReason);
43     FIELD_SET(*this, FIX::ExecType);
44     FIELD_SET(*this, FIX::TotNumTradeReports);
45     FIELD_SET(*this, FIX::LastRptRequested);
46     FIELD_SET(*this, FIX::UnsolicitedIndicator);
47     FIELD_SET(*this, FIX::SubscriptionRequestType);
48     FIELD_SET(*this, FIX::TradeReportRefID);
49     FIELD_SET(*this, FIX::SecondaryTradeReportRefID);
50     FIELD_SET(*this, FIX::SecondaryTradeReportID);
51     FIELD_SET(*this, FIX::TradeLinkID);
52     FIELD_SET(*this, FIX::TrdMatchID);
53     FIELD_SET(*this, FIX::ExecID);
54     FIELD_SET(*this, FIX::OrdStatus);
55     FIELD_SET(*this, FIX::SecondaryExecID);
56     FIELD_SET(*this, FIX::ExecRestatementReason);
57     FIELD_SET(*this, FIX::PreviouslyReported);
58     FIELD_SET(*this, FIX::PriceType);
59     FIELD_SET(*this, FIX::Symbol);
60     FIELD_SET(*this, FIX::SymbolSfx);
61     FIELD_SET(*this, FIX::SecurityID);
62     FIELD_SET(*this, FIX::SecurityIDSource);
63     FIELD_SET(*this, FIX::NoSecurityAltID);
64     class NoSecurityAltID: public FIX::Group
65     {
66     public:
NoSecurityAltID()67     NoSecurityAltID() : FIX::Group(454,455,FIX::message_order(455,456,0)) {}
68       FIELD_SET(*this, FIX::SecurityAltID);
69       FIELD_SET(*this, FIX::SecurityAltIDSource);
70     };
71     FIELD_SET(*this, FIX::Product);
72     FIELD_SET(*this, FIX::CFICode);
73     FIELD_SET(*this, FIX::SecurityType);
74     FIELD_SET(*this, FIX::SecuritySubType);
75     FIELD_SET(*this, FIX::MaturityMonthYear);
76     FIELD_SET(*this, FIX::MaturityDate);
77     FIELD_SET(*this, FIX::PutOrCall);
78     FIELD_SET(*this, FIX::CouponPaymentDate);
79     FIELD_SET(*this, FIX::IssueDate);
80     FIELD_SET(*this, FIX::RepoCollateralSecurityType);
81     FIELD_SET(*this, FIX::RepurchaseTerm);
82     FIELD_SET(*this, FIX::RepurchaseRate);
83     FIELD_SET(*this, FIX::Factor);
84     FIELD_SET(*this, FIX::CreditRating);
85     FIELD_SET(*this, FIX::InstrRegistry);
86     FIELD_SET(*this, FIX::CountryOfIssue);
87     FIELD_SET(*this, FIX::StateOrProvinceOfIssue);
88     FIELD_SET(*this, FIX::LocaleOfIssue);
89     FIELD_SET(*this, FIX::RedemptionDate);
90     FIELD_SET(*this, FIX::StrikePrice);
91     FIELD_SET(*this, FIX::StrikeCurrency);
92     FIELD_SET(*this, FIX::OptAttribute);
93     FIELD_SET(*this, FIX::ContractMultiplier);
94     FIELD_SET(*this, FIX::CouponRate);
95     FIELD_SET(*this, FIX::SecurityExchange);
96     FIELD_SET(*this, FIX::Issuer);
97     FIELD_SET(*this, FIX::EncodedIssuerLen);
98     FIELD_SET(*this, FIX::EncodedIssuer);
99     FIELD_SET(*this, FIX::SecurityDesc);
100     FIELD_SET(*this, FIX::EncodedSecurityDescLen);
101     FIELD_SET(*this, FIX::EncodedSecurityDesc);
102     FIELD_SET(*this, FIX::Pool);
103     FIELD_SET(*this, FIX::ContractSettlMonth);
104     FIELD_SET(*this, FIX::CPProgram);
105     FIELD_SET(*this, FIX::CPRegType);
106     FIELD_SET(*this, FIX::NoEvents);
107     class NoEvents: public FIX::Group
108     {
109     public:
NoEvents()110     NoEvents() : FIX::Group(864,865,FIX::message_order(865,866,867,868,0)) {}
111       FIELD_SET(*this, FIX::EventType);
112       FIELD_SET(*this, FIX::EventDate);
113       FIELD_SET(*this, FIX::EventPx);
114       FIELD_SET(*this, FIX::EventText);
115     };
116     FIELD_SET(*this, FIX::DatedDate);
117     FIELD_SET(*this, FIX::InterestAccrualDate);
118     FIELD_SET(*this, FIX::AgreementDesc);
119     FIELD_SET(*this, FIX::AgreementID);
120     FIELD_SET(*this, FIX::AgreementDate);
121     FIELD_SET(*this, FIX::AgreementCurrency);
122     FIELD_SET(*this, FIX::TerminationType);
123     FIELD_SET(*this, FIX::StartDate);
124     FIELD_SET(*this, FIX::EndDate);
125     FIELD_SET(*this, FIX::DeliveryType);
126     FIELD_SET(*this, FIX::MarginRatio);
127     FIELD_SET(*this, FIX::OrderQty);
128     FIELD_SET(*this, FIX::CashOrderQty);
129     FIELD_SET(*this, FIX::OrderPercent);
130     FIELD_SET(*this, FIX::RoundingDirection);
131     FIELD_SET(*this, FIX::RoundingModulus);
132     FIELD_SET(*this, FIX::QtyType);
133     FIELD_SET(*this, FIX::YieldType);
134     FIELD_SET(*this, FIX::Yield);
135     FIELD_SET(*this, FIX::YieldCalcDate);
136     FIELD_SET(*this, FIX::YieldRedemptionDate);
137     FIELD_SET(*this, FIX::YieldRedemptionPrice);
138     FIELD_SET(*this, FIX::YieldRedemptionPriceType);
139     FIELD_SET(*this, FIX::NoUnderlyings);
140     class NoUnderlyings: public FIX::Group
141     {
142     public:
NoUnderlyings()143     NoUnderlyings() : FIX::Group(711,311,FIX::message_order(311,312,309,305,462,463,310,763,313,542,315,241,242,243,244,245,246,256,595,592,593,594,247,316,941,317,436,435,308,306,362,363,307,364,365,877,878,318,879,810,882,883,884,885,886,0)) {}
144       FIELD_SET(*this, FIX::UnderlyingSymbol);
145       FIELD_SET(*this, FIX::UnderlyingSymbolSfx);
146       FIELD_SET(*this, FIX::UnderlyingSecurityID);
147       FIELD_SET(*this, FIX::UnderlyingSecurityIDSource);
148       FIELD_SET(*this, FIX::NoUnderlyingSecurityAltID);
149       class NoUnderlyingSecurityAltID: public FIX::Group
150       {
151       public:
NoUnderlyingSecurityAltID()152       NoUnderlyingSecurityAltID() : FIX::Group(457,458,FIX::message_order(458,459,0)) {}
153         FIELD_SET(*this, FIX::UnderlyingSecurityAltID);
154         FIELD_SET(*this, FIX::UnderlyingSecurityAltIDSource);
155       };
156       FIELD_SET(*this, FIX::UnderlyingProduct);
157       FIELD_SET(*this, FIX::UnderlyingCFICode);
158       FIELD_SET(*this, FIX::UnderlyingSecurityType);
159       FIELD_SET(*this, FIX::UnderlyingSecuritySubType);
160       FIELD_SET(*this, FIX::UnderlyingMaturityMonthYear);
161       FIELD_SET(*this, FIX::UnderlyingMaturityDate);
162       FIELD_SET(*this, FIX::UnderlyingPutOrCall);
163       FIELD_SET(*this, FIX::UnderlyingCouponPaymentDate);
164       FIELD_SET(*this, FIX::UnderlyingIssueDate);
165       FIELD_SET(*this, FIX::UnderlyingRepoCollateralSecurityType);
166       FIELD_SET(*this, FIX::UnderlyingRepurchaseTerm);
167       FIELD_SET(*this, FIX::UnderlyingRepurchaseRate);
168       FIELD_SET(*this, FIX::UnderlyingFactor);
169       FIELD_SET(*this, FIX::UnderlyingCreditRating);
170       FIELD_SET(*this, FIX::UnderlyingInstrRegistry);
171       FIELD_SET(*this, FIX::UnderlyingCountryOfIssue);
172       FIELD_SET(*this, FIX::UnderlyingStateOrProvinceOfIssue);
173       FIELD_SET(*this, FIX::UnderlyingLocaleOfIssue);
174       FIELD_SET(*this, FIX::UnderlyingRedemptionDate);
175       FIELD_SET(*this, FIX::UnderlyingStrikePrice);
176       FIELD_SET(*this, FIX::UnderlyingStrikeCurrency);
177       FIELD_SET(*this, FIX::UnderlyingOptAttribute);
178       FIELD_SET(*this, FIX::UnderlyingContractMultiplier);
179       FIELD_SET(*this, FIX::UnderlyingCouponRate);
180       FIELD_SET(*this, FIX::UnderlyingSecurityExchange);
181       FIELD_SET(*this, FIX::UnderlyingIssuer);
182       FIELD_SET(*this, FIX::EncodedUnderlyingIssuerLen);
183       FIELD_SET(*this, FIX::EncodedUnderlyingIssuer);
184       FIELD_SET(*this, FIX::UnderlyingSecurityDesc);
185       FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDescLen);
186       FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDesc);
187       FIELD_SET(*this, FIX::UnderlyingCPProgram);
188       FIELD_SET(*this, FIX::UnderlyingCPRegType);
189       FIELD_SET(*this, FIX::UnderlyingCurrency);
190       FIELD_SET(*this, FIX::UnderlyingQty);
191       FIELD_SET(*this, FIX::UnderlyingPx);
192       FIELD_SET(*this, FIX::UnderlyingDirtyPrice);
193       FIELD_SET(*this, FIX::UnderlyingEndPrice);
194       FIELD_SET(*this, FIX::UnderlyingStartValue);
195       FIELD_SET(*this, FIX::UnderlyingCurrentValue);
196       FIELD_SET(*this, FIX::UnderlyingEndValue);
197       FIELD_SET(*this, FIX::NoUnderlyingStips);
198       class NoUnderlyingStips: public FIX::Group
199       {
200       public:
NoUnderlyingStips()201       NoUnderlyingStips() : FIX::Group(887,888,FIX::message_order(888,889,0)) {}
202         FIELD_SET(*this, FIX::UnderlyingStipType);
203         FIELD_SET(*this, FIX::UnderlyingStipValue);
204       };
205     };
206     FIELD_SET(*this, FIX::UnderlyingTradingSessionID);
207     FIELD_SET(*this, FIX::UnderlyingTradingSessionSubID);
208     FIELD_SET(*this, FIX::LastQty);
209     FIELD_SET(*this, FIX::LastPx);
210     FIELD_SET(*this, FIX::LastParPx);
211     FIELD_SET(*this, FIX::LastSpotRate);
212     FIELD_SET(*this, FIX::LastForwardPoints);
213     FIELD_SET(*this, FIX::LastMkt);
214     FIELD_SET(*this, FIX::TradeDate);
215     FIELD_SET(*this, FIX::ClearingBusinessDate);
216     FIELD_SET(*this, FIX::AvgPx);
217     FIELD_SET(*this, FIX::Spread);
218     FIELD_SET(*this, FIX::BenchmarkCurveCurrency);
219     FIELD_SET(*this, FIX::BenchmarkCurveName);
220     FIELD_SET(*this, FIX::BenchmarkCurvePoint);
221     FIELD_SET(*this, FIX::BenchmarkPrice);
222     FIELD_SET(*this, FIX::BenchmarkPriceType);
223     FIELD_SET(*this, FIX::BenchmarkSecurityID);
224     FIELD_SET(*this, FIX::BenchmarkSecurityIDSource);
225     FIELD_SET(*this, FIX::AvgPxIndicator);
226     FIELD_SET(*this, FIX::NoPosAmt);
227     class NoPosAmt: public FIX::Group
228     {
229     public:
NoPosAmt()230     NoPosAmt() : FIX::Group(753,707,FIX::message_order(707,708,0)) {}
231       FIELD_SET(*this, FIX::PosAmtType);
232       FIELD_SET(*this, FIX::PosAmt);
233     };
234     FIELD_SET(*this, FIX::MultiLegReportingType);
235     FIELD_SET(*this, FIX::TradeLegRefID);
236     FIELD_SET(*this, FIX::NoLegs);
237     class NoLegs: public FIX::Group
238     {
239     public:
NoLegs()240     NoLegs() : FIX::Group(555,600,FIX::message_order(600,601,602,603,607,608,609,764,610,611,248,249,250,251,252,253,257,599,596,597,598,254,612,942,613,614,615,616,617,618,619,620,621,622,623,624,556,740,739,955,956,687,690,683,564,565,539,654,566,587,588,637,0)) {}
241       FIELD_SET(*this, FIX::LegSymbol);
242       FIELD_SET(*this, FIX::LegSymbolSfx);
243       FIELD_SET(*this, FIX::LegSecurityID);
244       FIELD_SET(*this, FIX::LegSecurityIDSource);
245       FIELD_SET(*this, FIX::NoLegSecurityAltID);
246       class NoLegSecurityAltID: public FIX::Group
247       {
248       public:
NoLegSecurityAltID()249       NoLegSecurityAltID() : FIX::Group(604,605,FIX::message_order(605,606,0)) {}
250         FIELD_SET(*this, FIX::LegSecurityAltID);
251         FIELD_SET(*this, FIX::LegSecurityAltIDSource);
252       };
253       FIELD_SET(*this, FIX::LegProduct);
254       FIELD_SET(*this, FIX::LegCFICode);
255       FIELD_SET(*this, FIX::LegSecurityType);
256       FIELD_SET(*this, FIX::LegSecuritySubType);
257       FIELD_SET(*this, FIX::LegMaturityMonthYear);
258       FIELD_SET(*this, FIX::LegMaturityDate);
259       FIELD_SET(*this, FIX::LegCouponPaymentDate);
260       FIELD_SET(*this, FIX::LegIssueDate);
261       FIELD_SET(*this, FIX::LegRepoCollateralSecurityType);
262       FIELD_SET(*this, FIX::LegRepurchaseTerm);
263       FIELD_SET(*this, FIX::LegRepurchaseRate);
264       FIELD_SET(*this, FIX::LegFactor);
265       FIELD_SET(*this, FIX::LegCreditRating);
266       FIELD_SET(*this, FIX::LegInstrRegistry);
267       FIELD_SET(*this, FIX::LegCountryOfIssue);
268       FIELD_SET(*this, FIX::LegStateOrProvinceOfIssue);
269       FIELD_SET(*this, FIX::LegLocaleOfIssue);
270       FIELD_SET(*this, FIX::LegRedemptionDate);
271       FIELD_SET(*this, FIX::LegStrikePrice);
272       FIELD_SET(*this, FIX::LegStrikeCurrency);
273       FIELD_SET(*this, FIX::LegOptAttribute);
274       FIELD_SET(*this, FIX::LegContractMultiplier);
275       FIELD_SET(*this, FIX::LegCouponRate);
276       FIELD_SET(*this, FIX::LegSecurityExchange);
277       FIELD_SET(*this, FIX::LegIssuer);
278       FIELD_SET(*this, FIX::EncodedLegIssuerLen);
279       FIELD_SET(*this, FIX::EncodedLegIssuer);
280       FIELD_SET(*this, FIX::LegSecurityDesc);
281       FIELD_SET(*this, FIX::EncodedLegSecurityDescLen);
282       FIELD_SET(*this, FIX::EncodedLegSecurityDesc);
283       FIELD_SET(*this, FIX::LegRatioQty);
284       FIELD_SET(*this, FIX::LegSide);
285       FIELD_SET(*this, FIX::LegCurrency);
286       FIELD_SET(*this, FIX::LegPool);
287       FIELD_SET(*this, FIX::LegDatedDate);
288       FIELD_SET(*this, FIX::LegContractSettlMonth);
289       FIELD_SET(*this, FIX::LegInterestAccrualDate);
290       FIELD_SET(*this, FIX::LegQty);
291       FIELD_SET(*this, FIX::LegSwapType);
292       FIELD_SET(*this, FIX::NoLegStipulations);
293       class NoLegStipulations: public FIX::Group
294       {
295       public:
NoLegStipulations()296       NoLegStipulations() : FIX::Group(683,688,FIX::message_order(688,689,0)) {}
297         FIELD_SET(*this, FIX::LegStipulationType);
298         FIELD_SET(*this, FIX::LegStipulationValue);
299       };
300       FIELD_SET(*this, FIX::LegPositionEffect);
301       FIELD_SET(*this, FIX::LegCoveredOrUncovered);
302       FIELD_SET(*this, FIX::NoNestedPartyIDs);
303       class NoNestedPartyIDs: public FIX::Group
304       {
305       public:
NoNestedPartyIDs()306       NoNestedPartyIDs() : FIX::Group(539,524,FIX::message_order(524,525,538,804,0)) {}
307         FIELD_SET(*this, FIX::NestedPartyID);
308         FIELD_SET(*this, FIX::NestedPartyIDSource);
309         FIELD_SET(*this, FIX::NestedPartyRole);
310         FIELD_SET(*this, FIX::NoNestedPartySubIDs);
311         class NoNestedPartySubIDs: public FIX::Group
312         {
313         public:
NoNestedPartySubIDs()314         NoNestedPartySubIDs() : FIX::Group(804,545,FIX::message_order(545,805,0)) {}
315           FIELD_SET(*this, FIX::NestedPartySubID);
316           FIELD_SET(*this, FIX::NestedPartySubIDType);
317         };
318       };
319       FIELD_SET(*this, FIX::LegRefID);
320       FIELD_SET(*this, FIX::LegPrice);
321       FIELD_SET(*this, FIX::LegSettlType);
322       FIELD_SET(*this, FIX::LegSettlDate);
323       FIELD_SET(*this, FIX::LegLastPx);
324     };
325     FIELD_SET(*this, FIX::TransactTime);
326     FIELD_SET(*this, FIX::NoTrdRegTimestamps);
327     class NoTrdRegTimestamps: public FIX::Group
328     {
329     public:
NoTrdRegTimestamps()330     NoTrdRegTimestamps() : FIX::Group(768,769,FIX::message_order(769,770,771,0)) {}
331       FIELD_SET(*this, FIX::TrdRegTimestamp);
332       FIELD_SET(*this, FIX::TrdRegTimestampType);
333       FIELD_SET(*this, FIX::TrdRegTimestampOrigin);
334     };
335     FIELD_SET(*this, FIX::SettlType);
336     FIELD_SET(*this, FIX::SettlDate);
337     FIELD_SET(*this, FIX::MatchStatus);
338     FIELD_SET(*this, FIX::MatchType);
339     FIELD_SET(*this, FIX::NoSides);
340     class NoSides: public FIX::Group
341     {
342     public:
NoSides()343     NoSides() : FIX::Group(552,54,FIX::message_order(54,37,198,11,526,66,453,1,660,581,81,575,576,578,579,821,15,376,377,528,529,582,40,18,483,336,625,943,12,13,479,497,381,157,230,158,159,738,920,921,922,238,237,118,119,120,155,156,77,58,354,355,752,518,232,136,825,826,591,70,78,0)) {}
344       FIELD_SET(*this, FIX::Side);
345       FIELD_SET(*this, FIX::OrderID);
346       FIELD_SET(*this, FIX::SecondaryOrderID);
347       FIELD_SET(*this, FIX::ClOrdID);
348       FIELD_SET(*this, FIX::SecondaryClOrdID);
349       FIELD_SET(*this, FIX::ListID);
350       FIELD_SET(*this, FIX::NoPartyIDs);
351       class NoPartyIDs: public FIX::Group
352       {
353       public:
NoPartyIDs()354       NoPartyIDs() : FIX::Group(453,448,FIX::message_order(448,447,452,802,0)) {}
355         FIELD_SET(*this, FIX::PartyID);
356         FIELD_SET(*this, FIX::PartyIDSource);
357         FIELD_SET(*this, FIX::PartyRole);
358         FIELD_SET(*this, FIX::NoPartySubIDs);
359         class NoPartySubIDs: public FIX::Group
360         {
361         public:
NoPartySubIDs()362         NoPartySubIDs() : FIX::Group(802,523,FIX::message_order(523,803,0)) {}
363           FIELD_SET(*this, FIX::PartySubID);
364           FIELD_SET(*this, FIX::PartySubIDType);
365         };
366       };
367       FIELD_SET(*this, FIX::Account);
368       FIELD_SET(*this, FIX::AcctIDSource);
369       FIELD_SET(*this, FIX::AccountType);
370       FIELD_SET(*this, FIX::ProcessCode);
371       FIELD_SET(*this, FIX::OddLot);
372       FIELD_SET(*this, FIX::NoClearingInstructions);
373       class NoClearingInstructions: public FIX::Group
374       {
375       public:
NoClearingInstructions()376       NoClearingInstructions() : FIX::Group(576,577,FIX::message_order(577,0)) {}
377         FIELD_SET(*this, FIX::ClearingInstruction);
378       };
379       FIELD_SET(*this, FIX::TradeInputSource);
380       FIELD_SET(*this, FIX::TradeInputDevice);
381       FIELD_SET(*this, FIX::OrderInputDevice);
382       FIELD_SET(*this, FIX::Currency);
383       FIELD_SET(*this, FIX::ComplianceID);
384       FIELD_SET(*this, FIX::SolicitedFlag);
385       FIELD_SET(*this, FIX::OrderCapacity);
386       FIELD_SET(*this, FIX::OrderRestrictions);
387       FIELD_SET(*this, FIX::CustOrderCapacity);
388       FIELD_SET(*this, FIX::OrdType);
389       FIELD_SET(*this, FIX::ExecInst);
390       FIELD_SET(*this, FIX::TransBkdTime);
391       FIELD_SET(*this, FIX::TradingSessionID);
392       FIELD_SET(*this, FIX::TradingSessionSubID);
393       FIELD_SET(*this, FIX::TimeBracket);
394       FIELD_SET(*this, FIX::Commission);
395       FIELD_SET(*this, FIX::CommType);
396       FIELD_SET(*this, FIX::CommCurrency);
397       FIELD_SET(*this, FIX::FundRenewWaiv);
398       FIELD_SET(*this, FIX::GrossTradeAmt);
399       FIELD_SET(*this, FIX::NumDaysInterest);
400       FIELD_SET(*this, FIX::ExDate);
401       FIELD_SET(*this, FIX::AccruedInterestRate);
402       FIELD_SET(*this, FIX::AccruedInterestAmt);
403       FIELD_SET(*this, FIX::InterestAtMaturity);
404       FIELD_SET(*this, FIX::EndAccruedInterestAmt);
405       FIELD_SET(*this, FIX::StartCash);
406       FIELD_SET(*this, FIX::EndCash);
407       FIELD_SET(*this, FIX::Concession);
408       FIELD_SET(*this, FIX::TotalTakedown);
409       FIELD_SET(*this, FIX::NetMoney);
410       FIELD_SET(*this, FIX::SettlCurrAmt);
411       FIELD_SET(*this, FIX::SettlCurrency);
412       FIELD_SET(*this, FIX::SettlCurrFxRate);
413       FIELD_SET(*this, FIX::SettlCurrFxRateCalc);
414       FIELD_SET(*this, FIX::PositionEffect);
415       FIELD_SET(*this, FIX::Text);
416       FIELD_SET(*this, FIX::EncodedTextLen);
417       FIELD_SET(*this, FIX::EncodedText);
418       FIELD_SET(*this, FIX::SideMultiLegReportingType);
419       FIELD_SET(*this, FIX::NoContAmts);
420       class NoContAmts: public FIX::Group
421       {
422       public:
NoContAmts()423       NoContAmts() : FIX::Group(518,519,FIX::message_order(519,520,521,0)) {}
424         FIELD_SET(*this, FIX::ContAmtType);
425         FIELD_SET(*this, FIX::ContAmtValue);
426         FIELD_SET(*this, FIX::ContAmtCurr);
427       };
428       FIELD_SET(*this, FIX::NoStipulations);
429       class NoStipulations: public FIX::Group
430       {
431       public:
NoStipulations()432       NoStipulations() : FIX::Group(232,233,FIX::message_order(233,234,0)) {}
433         FIELD_SET(*this, FIX::StipulationType);
434         FIELD_SET(*this, FIX::StipulationValue);
435       };
436       FIELD_SET(*this, FIX::NoMiscFees);
437       class NoMiscFees: public FIX::Group
438       {
439       public:
NoMiscFees()440       NoMiscFees() : FIX::Group(136,137,FIX::message_order(137,138,139,891,0)) {}
441         FIELD_SET(*this, FIX::MiscFeeAmt);
442         FIELD_SET(*this, FIX::MiscFeeCurr);
443         FIELD_SET(*this, FIX::MiscFeeType);
444         FIELD_SET(*this, FIX::MiscFeeBasis);
445       };
446       FIELD_SET(*this, FIX::ExchangeRule);
447       FIELD_SET(*this, FIX::TradeAllocIndicator);
448       FIELD_SET(*this, FIX::PreallocMethod);
449       FIELD_SET(*this, FIX::AllocID);
450       FIELD_SET(*this, FIX::NoAllocs);
451       class NoAllocs: public FIX::Group
452       {
453       public:
NoAllocs()454       NoAllocs() : FIX::Group(78,79,FIX::message_order(79,661,736,467,756,80,0)) {}
455         FIELD_SET(*this, FIX::AllocAccount);
456         FIELD_SET(*this, FIX::AllocAcctIDSource);
457         FIELD_SET(*this, FIX::AllocSettlCurrency);
458         FIELD_SET(*this, FIX::IndividualAllocID);
459         FIELD_SET(*this, FIX::NoNested2PartyIDs);
460         class NoNested2PartyIDs: public FIX::Group
461         {
462         public:
NoNested2PartyIDs()463         NoNested2PartyIDs() : FIX::Group(756,757,FIX::message_order(757,758,759,806,0)) {}
464           FIELD_SET(*this, FIX::Nested2PartyID);
465           FIELD_SET(*this, FIX::Nested2PartyIDSource);
466           FIELD_SET(*this, FIX::Nested2PartyRole);
467           FIELD_SET(*this, FIX::NoNested2PartySubIDs);
468           class NoNested2PartySubIDs: public FIX::Group
469           {
470           public:
NoNested2PartySubIDs()471           NoNested2PartySubIDs() : FIX::Group(806,760,FIX::message_order(760,807,0)) {}
472             FIELD_SET(*this, FIX::Nested2PartySubID);
473             FIELD_SET(*this, FIX::Nested2PartySubIDType);
474           };
475         };
476         FIELD_SET(*this, FIX::AllocQty);
477       };
478     };
479     FIELD_SET(*this, FIX::CopyMsgIndicator);
480     FIELD_SET(*this, FIX::PublishTrdIndicator);
481     FIELD_SET(*this, FIX::ShortSaleReason);
482   };
483 
484 }
485 
486 #endif
487