1 #ifndef FIX50_NEWORDERMULTILEG_H
2 #define FIX50_NEWORDERMULTILEG_H
3 
4 #include "Message.h"
5 
6 namespace FIX50
7 {
8 
9   class NewOrderMultileg : public Message
10   {
11   public:
NewOrderMultileg()12     NewOrderMultileg() : Message(MsgType()) {}
NewOrderMultileg(const FIX::Message & m)13     NewOrderMultileg(const FIX::Message& m) : Message(m) {}
NewOrderMultileg(const Message & m)14     NewOrderMultileg(const Message& m) : Message(m) {}
NewOrderMultileg(const NewOrderMultileg & m)15     NewOrderMultileg(const NewOrderMultileg& m) : Message(m) {}
MsgType()16     static FIX::MsgType MsgType() { return FIX::MsgType("AB"); }
17 
NewOrderMultileg(const FIX::ClOrdID & aClOrdID,const FIX::Side & aSide,const FIX::TransactTime & aTransactTime,const FIX::OrdType & aOrdType)18     NewOrderMultileg(
19       const FIX::ClOrdID& aClOrdID,
20       const FIX::Side& aSide,
21       const FIX::TransactTime& aTransactTime,
22       const FIX::OrdType& aOrdType )
23     : Message(MsgType())
24     {
25       set(aClOrdID);
26       set(aSide);
27       set(aTransactTime);
28       set(aOrdType);
29     }
30 
31     FIELD_SET(*this, FIX::ClOrdID);
32     FIELD_SET(*this, FIX::SecondaryClOrdID);
33     FIELD_SET(*this, FIX::ClOrdLinkID);
34     FIELD_SET(*this, FIX::NoPartyIDs);
35     class NoPartyIDs: public FIX::Group
36     {
37     public:
NoPartyIDs()38     NoPartyIDs() : FIX::Group(453,448,FIX::message_order(448,447,452,802,0)) {}
39       FIELD_SET(*this, FIX::PartyID);
40       FIELD_SET(*this, FIX::PartyIDSource);
41       FIELD_SET(*this, FIX::PartyRole);
42       FIELD_SET(*this, FIX::NoPartySubIDs);
43       class NoPartySubIDs: public FIX::Group
44       {
45       public:
NoPartySubIDs()46       NoPartySubIDs() : FIX::Group(802,523,FIX::message_order(523,803,0)) {}
47         FIELD_SET(*this, FIX::PartySubID);
48         FIELD_SET(*this, FIX::PartySubIDType);
49       };
50     };
51     FIELD_SET(*this, FIX::TradeOriginationDate);
52     FIELD_SET(*this, FIX::TradeDate);
53     FIELD_SET(*this, FIX::Account);
54     FIELD_SET(*this, FIX::AcctIDSource);
55     FIELD_SET(*this, FIX::AccountType);
56     FIELD_SET(*this, FIX::DayBookingInst);
57     FIELD_SET(*this, FIX::BookingUnit);
58     FIELD_SET(*this, FIX::PreallocMethod);
59     FIELD_SET(*this, FIX::AllocID);
60     FIELD_SET(*this, FIX::NoAllocs);
61     class NoAllocs: public FIX::Group
62     {
63     public:
NoAllocs()64     NoAllocs() : FIX::Group(78,79,FIX::message_order(79,661,736,467,948,80,0)) {}
65       FIELD_SET(*this, FIX::AllocAccount);
66       FIELD_SET(*this, FIX::AllocAcctIDSource);
67       FIELD_SET(*this, FIX::AllocSettlCurrency);
68       FIELD_SET(*this, FIX::IndividualAllocID);
69       FIELD_SET(*this, FIX::NoNested3PartyIDs);
70       class NoNested3PartyIDs: public FIX::Group
71       {
72       public:
NoNested3PartyIDs()73       NoNested3PartyIDs() : FIX::Group(948,949,FIX::message_order(949,950,951,952,0)) {}
74         FIELD_SET(*this, FIX::Nested3PartyID);
75         FIELD_SET(*this, FIX::Nested3PartyIDSource);
76         FIELD_SET(*this, FIX::Nested3PartyRole);
77         FIELD_SET(*this, FIX::NoNested3PartySubIDs);
78         class NoNested3PartySubIDs: public FIX::Group
79         {
80         public:
NoNested3PartySubIDs()81         NoNested3PartySubIDs() : FIX::Group(952,953,FIX::message_order(953,954,0)) {}
82           FIELD_SET(*this, FIX::Nested3PartySubID);
83           FIELD_SET(*this, FIX::Nested3PartySubIDType);
84         };
85       };
86       FIELD_SET(*this, FIX::AllocQty);
87     };
88     FIELD_SET(*this, FIX::SettlType);
89     FIELD_SET(*this, FIX::SettlDate);
90     FIELD_SET(*this, FIX::CashMargin);
91     FIELD_SET(*this, FIX::ClearingFeeIndicator);
92     FIELD_SET(*this, FIX::HandlInst);
93     FIELD_SET(*this, FIX::ExecInst);
94     FIELD_SET(*this, FIX::MinQty);
95     FIELD_SET(*this, FIX::MatchIncrement);
96     FIELD_SET(*this, FIX::MaxPriceLevels);
97     FIELD_SET(*this, FIX::DisplayQty);
98     FIELD_SET(*this, FIX::SecondaryDisplayQty);
99     FIELD_SET(*this, FIX::DisplayWhen);
100     FIELD_SET(*this, FIX::DisplayMethod);
101     FIELD_SET(*this, FIX::DisplayLowQty);
102     FIELD_SET(*this, FIX::DisplayHighQty);
103     FIELD_SET(*this, FIX::DisplayMinIncr);
104     FIELD_SET(*this, FIX::RefreshQty);
105     FIELD_SET(*this, FIX::MaxFloor);
106     FIELD_SET(*this, FIX::ExDestination);
107     FIELD_SET(*this, FIX::ExDestinationIDSource);
108     FIELD_SET(*this, FIX::NoTradingSessions);
109     class NoTradingSessions: public FIX::Group
110     {
111     public:
NoTradingSessions()112     NoTradingSessions() : FIX::Group(386,336,FIX::message_order(336,625,0)) {}
113       FIELD_SET(*this, FIX::TradingSessionID);
114       FIELD_SET(*this, FIX::TradingSessionSubID);
115     };
116     FIELD_SET(*this, FIX::ProcessCode);
117     FIELD_SET(*this, FIX::Side);
118     FIELD_SET(*this, FIX::Symbol);
119     FIELD_SET(*this, FIX::SymbolSfx);
120     FIELD_SET(*this, FIX::SecurityID);
121     FIELD_SET(*this, FIX::SecurityIDSource);
122     FIELD_SET(*this, FIX::NoSecurityAltID);
123     class NoSecurityAltID: public FIX::Group
124     {
125     public:
NoSecurityAltID()126     NoSecurityAltID() : FIX::Group(454,455,FIX::message_order(455,456,0)) {}
127       FIELD_SET(*this, FIX::SecurityAltID);
128       FIELD_SET(*this, FIX::SecurityAltIDSource);
129     };
130     FIELD_SET(*this, FIX::Product);
131     FIELD_SET(*this, FIX::CFICode);
132     FIELD_SET(*this, FIX::SecurityType);
133     FIELD_SET(*this, FIX::SecuritySubType);
134     FIELD_SET(*this, FIX::MaturityMonthYear);
135     FIELD_SET(*this, FIX::MaturityDate);
136     FIELD_SET(*this, FIX::MaturityTime);
137     FIELD_SET(*this, FIX::PutOrCall);
138     FIELD_SET(*this, FIX::SettleOnOpenFlag);
139     FIELD_SET(*this, FIX::InstrmtAssignmentMethod);
140     FIELD_SET(*this, FIX::SecurityStatus);
141     FIELD_SET(*this, FIX::CouponPaymentDate);
142     FIELD_SET(*this, FIX::IssueDate);
143     FIELD_SET(*this, FIX::RepoCollateralSecurityType);
144     FIELD_SET(*this, FIX::RepurchaseTerm);
145     FIELD_SET(*this, FIX::RepurchaseRate);
146     FIELD_SET(*this, FIX::Factor);
147     FIELD_SET(*this, FIX::CreditRating);
148     FIELD_SET(*this, FIX::InstrRegistry);
149     FIELD_SET(*this, FIX::CountryOfIssue);
150     FIELD_SET(*this, FIX::StateOrProvinceOfIssue);
151     FIELD_SET(*this, FIX::LocaleOfIssue);
152     FIELD_SET(*this, FIX::RedemptionDate);
153     FIELD_SET(*this, FIX::StrikePrice);
154     FIELD_SET(*this, FIX::StrikeCurrency);
155     FIELD_SET(*this, FIX::StrikeMultiplier);
156     FIELD_SET(*this, FIX::StrikeValue);
157     FIELD_SET(*this, FIX::OptAttribute);
158     FIELD_SET(*this, FIX::ContractMultiplier);
159     FIELD_SET(*this, FIX::MinPriceIncrement);
160     FIELD_SET(*this, FIX::UnitOfMeasure);
161     FIELD_SET(*this, FIX::TimeUnit);
162     FIELD_SET(*this, FIX::CouponRate);
163     FIELD_SET(*this, FIX::SecurityExchange);
164     FIELD_SET(*this, FIX::PositionLimit);
165     FIELD_SET(*this, FIX::NTPositionLimit);
166     FIELD_SET(*this, FIX::Issuer);
167     FIELD_SET(*this, FIX::EncodedIssuerLen);
168     FIELD_SET(*this, FIX::EncodedIssuer);
169     FIELD_SET(*this, FIX::SecurityDesc);
170     FIELD_SET(*this, FIX::EncodedSecurityDescLen);
171     FIELD_SET(*this, FIX::EncodedSecurityDesc);
172     FIELD_SET(*this, FIX::Pool);
173     FIELD_SET(*this, FIX::ContractSettlMonth);
174     FIELD_SET(*this, FIX::CPProgram);
175     FIELD_SET(*this, FIX::CPRegType);
176     FIELD_SET(*this, FIX::NoEvents);
177     class NoEvents: public FIX::Group
178     {
179     public:
NoEvents()180     NoEvents() : FIX::Group(864,865,FIX::message_order(865,866,867,868,0)) {}
181       FIELD_SET(*this, FIX::EventType);
182       FIELD_SET(*this, FIX::EventDate);
183       FIELD_SET(*this, FIX::EventPx);
184       FIELD_SET(*this, FIX::EventText);
185     };
186     FIELD_SET(*this, FIX::DatedDate);
187     FIELD_SET(*this, FIX::InterestAccrualDate);
188     FIELD_SET(*this, FIX::NoInstrumentParties);
189     class NoInstrumentParties: public FIX::Group
190     {
191     public:
NoInstrumentParties()192     NoInstrumentParties() : FIX::Group(1018,1019,FIX::message_order(1019,1050,1051,1052,0)) {}
193       FIELD_SET(*this, FIX::InstrumentPartyID);
194       FIELD_SET(*this, FIX::InstrumentPartyIDSource);
195       FIELD_SET(*this, FIX::InstrumentPartyRole);
196       FIELD_SET(*this, FIX::NoInstrumentPartySubIDs);
197       class NoInstrumentPartySubIDs: public FIX::Group
198       {
199       public:
NoInstrumentPartySubIDs()200       NoInstrumentPartySubIDs() : FIX::Group(1052,1053,FIX::message_order(1053,1054,0)) {}
201         FIELD_SET(*this, FIX::InstrumentPartySubID);
202         FIELD_SET(*this, FIX::InstrumentPartySubIDType);
203       };
204     };
205     FIELD_SET(*this, FIX::NoUnderlyings);
206     class NoUnderlyings: public FIX::Group
207     {
208     public:
NoUnderlyings()209     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,998,1000,435,308,306,362,363,307,364,365,877,878,972,318,879,975,973,974,810,882,883,884,885,886,1044,1045,1046,1038,1039,0)) {}
210       FIELD_SET(*this, FIX::UnderlyingSymbol);
211       FIELD_SET(*this, FIX::UnderlyingSymbolSfx);
212       FIELD_SET(*this, FIX::UnderlyingSecurityID);
213       FIELD_SET(*this, FIX::UnderlyingSecurityIDSource);
214       FIELD_SET(*this, FIX::NoUnderlyingSecurityAltID);
215       class NoUnderlyingSecurityAltID: public FIX::Group
216       {
217       public:
NoUnderlyingSecurityAltID()218       NoUnderlyingSecurityAltID() : FIX::Group(457,458,FIX::message_order(458,459,0)) {}
219         FIELD_SET(*this, FIX::UnderlyingSecurityAltID);
220         FIELD_SET(*this, FIX::UnderlyingSecurityAltIDSource);
221       };
222       FIELD_SET(*this, FIX::UnderlyingProduct);
223       FIELD_SET(*this, FIX::UnderlyingCFICode);
224       FIELD_SET(*this, FIX::UnderlyingSecurityType);
225       FIELD_SET(*this, FIX::UnderlyingSecuritySubType);
226       FIELD_SET(*this, FIX::UnderlyingMaturityMonthYear);
227       FIELD_SET(*this, FIX::UnderlyingMaturityDate);
228       FIELD_SET(*this, FIX::UnderlyingPutOrCall);
229       FIELD_SET(*this, FIX::UnderlyingCouponPaymentDate);
230       FIELD_SET(*this, FIX::UnderlyingIssueDate);
231       FIELD_SET(*this, FIX::UnderlyingRepoCollateralSecurityType);
232       FIELD_SET(*this, FIX::UnderlyingRepurchaseTerm);
233       FIELD_SET(*this, FIX::UnderlyingRepurchaseRate);
234       FIELD_SET(*this, FIX::UnderlyingFactor);
235       FIELD_SET(*this, FIX::UnderlyingCreditRating);
236       FIELD_SET(*this, FIX::UnderlyingInstrRegistry);
237       FIELD_SET(*this, FIX::UnderlyingCountryOfIssue);
238       FIELD_SET(*this, FIX::UnderlyingStateOrProvinceOfIssue);
239       FIELD_SET(*this, FIX::UnderlyingLocaleOfIssue);
240       FIELD_SET(*this, FIX::UnderlyingRedemptionDate);
241       FIELD_SET(*this, FIX::UnderlyingStrikePrice);
242       FIELD_SET(*this, FIX::UnderlyingStrikeCurrency);
243       FIELD_SET(*this, FIX::UnderlyingOptAttribute);
244       FIELD_SET(*this, FIX::UnderlyingContractMultiplier);
245       FIELD_SET(*this, FIX::UnderlyingUnitOfMeasure);
246       FIELD_SET(*this, FIX::UnderlyingTimeUnit);
247       FIELD_SET(*this, FIX::UnderlyingCouponRate);
248       FIELD_SET(*this, FIX::UnderlyingSecurityExchange);
249       FIELD_SET(*this, FIX::UnderlyingIssuer);
250       FIELD_SET(*this, FIX::EncodedUnderlyingIssuerLen);
251       FIELD_SET(*this, FIX::EncodedUnderlyingIssuer);
252       FIELD_SET(*this, FIX::UnderlyingSecurityDesc);
253       FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDescLen);
254       FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDesc);
255       FIELD_SET(*this, FIX::UnderlyingCPProgram);
256       FIELD_SET(*this, FIX::UnderlyingCPRegType);
257       FIELD_SET(*this, FIX::UnderlyingAllocationPercent);
258       FIELD_SET(*this, FIX::UnderlyingCurrency);
259       FIELD_SET(*this, FIX::UnderlyingQty);
260       FIELD_SET(*this, FIX::UnderlyingSettlementType);
261       FIELD_SET(*this, FIX::UnderlyingCashAmount);
262       FIELD_SET(*this, FIX::UnderlyingCashType);
263       FIELD_SET(*this, FIX::UnderlyingPx);
264       FIELD_SET(*this, FIX::UnderlyingDirtyPrice);
265       FIELD_SET(*this, FIX::UnderlyingEndPrice);
266       FIELD_SET(*this, FIX::UnderlyingStartValue);
267       FIELD_SET(*this, FIX::UnderlyingCurrentValue);
268       FIELD_SET(*this, FIX::UnderlyingEndValue);
269       FIELD_SET(*this, FIX::NoUnderlyingStips);
270       class NoUnderlyingStips: public FIX::Group
271       {
272       public:
NoUnderlyingStips()273       NoUnderlyingStips() : FIX::Group(887,888,FIX::message_order(888,889,0)) {}
274         FIELD_SET(*this, FIX::UnderlyingStipType);
275         FIELD_SET(*this, FIX::UnderlyingStipValue);
276       };
277       FIELD_SET(*this, FIX::UnderlyingAdjustedQuantity);
278       FIELD_SET(*this, FIX::UnderlyingFXRate);
279       FIELD_SET(*this, FIX::UnderlyingFXRateCalc);
280       FIELD_SET(*this, FIX::UnderlyingCapValue);
281       FIELD_SET(*this, FIX::NoUndlyInstrumentParties);
282       class NoUndlyInstrumentParties: public FIX::Group
283       {
284       public:
NoUndlyInstrumentParties()285       NoUndlyInstrumentParties() : FIX::Group(1058,1059,FIX::message_order(1059,1060,1061,1062,0)) {}
286         FIELD_SET(*this, FIX::UndlyInstrumentPartyID);
287         FIELD_SET(*this, FIX::UndlyInstrumentPartyIDSource);
288         FIELD_SET(*this, FIX::UndlyInstrumentPartyRole);
289         FIELD_SET(*this, FIX::NoUndlyInstrumentPartySubIDs);
290         class NoUndlyInstrumentPartySubIDs: public FIX::Group
291         {
292         public:
NoUndlyInstrumentPartySubIDs()293         NoUndlyInstrumentPartySubIDs() : FIX::Group(1062,1063,FIX::message_order(1063,1064,0)) {}
294           FIELD_SET(*this, FIX::UndlyInstrumentPartySubID);
295           FIELD_SET(*this, FIX::UndlyInstrumentPartySubIDType);
296         };
297       };
298       FIELD_SET(*this, FIX::UnderlyingSettlMethod);
299     };
300     FIELD_SET(*this, FIX::PrevClosePx);
301     FIELD_SET(*this, FIX::SwapPoints);
302     FIELD_SET(*this, FIX::NoLegs);
303     class NoLegs: public FIX::Group
304     {
305     public:
NoLegs()306     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,999,1001,615,616,617,618,619,620,621,622,623,624,556,740,739,955,956,1017,687,690,683,670,564,565,539,654,566,587,588,685,0)) {}
307       FIELD_SET(*this, FIX::LegSymbol);
308       FIELD_SET(*this, FIX::LegSymbolSfx);
309       FIELD_SET(*this, FIX::LegSecurityID);
310       FIELD_SET(*this, FIX::LegSecurityIDSource);
311       FIELD_SET(*this, FIX::NoLegSecurityAltID);
312       class NoLegSecurityAltID: public FIX::Group
313       {
314       public:
NoLegSecurityAltID()315       NoLegSecurityAltID() : FIX::Group(604,605,FIX::message_order(605,606,0)) {}
316         FIELD_SET(*this, FIX::LegSecurityAltID);
317         FIELD_SET(*this, FIX::LegSecurityAltIDSource);
318       };
319       FIELD_SET(*this, FIX::LegProduct);
320       FIELD_SET(*this, FIX::LegCFICode);
321       FIELD_SET(*this, FIX::LegSecurityType);
322       FIELD_SET(*this, FIX::LegSecuritySubType);
323       FIELD_SET(*this, FIX::LegMaturityMonthYear);
324       FIELD_SET(*this, FIX::LegMaturityDate);
325       FIELD_SET(*this, FIX::LegCouponPaymentDate);
326       FIELD_SET(*this, FIX::LegIssueDate);
327       FIELD_SET(*this, FIX::LegRepoCollateralSecurityType);
328       FIELD_SET(*this, FIX::LegRepurchaseTerm);
329       FIELD_SET(*this, FIX::LegRepurchaseRate);
330       FIELD_SET(*this, FIX::LegFactor);
331       FIELD_SET(*this, FIX::LegCreditRating);
332       FIELD_SET(*this, FIX::LegInstrRegistry);
333       FIELD_SET(*this, FIX::LegCountryOfIssue);
334       FIELD_SET(*this, FIX::LegStateOrProvinceOfIssue);
335       FIELD_SET(*this, FIX::LegLocaleOfIssue);
336       FIELD_SET(*this, FIX::LegRedemptionDate);
337       FIELD_SET(*this, FIX::LegStrikePrice);
338       FIELD_SET(*this, FIX::LegStrikeCurrency);
339       FIELD_SET(*this, FIX::LegOptAttribute);
340       FIELD_SET(*this, FIX::LegContractMultiplier);
341       FIELD_SET(*this, FIX::LegUnitOfMeasure);
342       FIELD_SET(*this, FIX::LegTimeUnit);
343       FIELD_SET(*this, FIX::LegCouponRate);
344       FIELD_SET(*this, FIX::LegSecurityExchange);
345       FIELD_SET(*this, FIX::LegIssuer);
346       FIELD_SET(*this, FIX::EncodedLegIssuerLen);
347       FIELD_SET(*this, FIX::EncodedLegIssuer);
348       FIELD_SET(*this, FIX::LegSecurityDesc);
349       FIELD_SET(*this, FIX::EncodedLegSecurityDescLen);
350       FIELD_SET(*this, FIX::EncodedLegSecurityDesc);
351       FIELD_SET(*this, FIX::LegRatioQty);
352       FIELD_SET(*this, FIX::LegSide);
353       FIELD_SET(*this, FIX::LegCurrency);
354       FIELD_SET(*this, FIX::LegPool);
355       FIELD_SET(*this, FIX::LegDatedDate);
356       FIELD_SET(*this, FIX::LegContractSettlMonth);
357       FIELD_SET(*this, FIX::LegInterestAccrualDate);
358       FIELD_SET(*this, FIX::LegOptionRatio);
359       FIELD_SET(*this, FIX::LegQty);
360       FIELD_SET(*this, FIX::LegSwapType);
361       FIELD_SET(*this, FIX::NoLegStipulations);
362       class NoLegStipulations: public FIX::Group
363       {
364       public:
NoLegStipulations()365       NoLegStipulations() : FIX::Group(683,688,FIX::message_order(688,689,0)) {}
366         FIELD_SET(*this, FIX::LegStipulationType);
367         FIELD_SET(*this, FIX::LegStipulationValue);
368       };
369       FIELD_SET(*this, FIX::NoLegAllocs);
370       class NoLegAllocs: public FIX::Group
371       {
372       public:
NoLegAllocs()373       NoLegAllocs() : FIX::Group(670,671,FIX::message_order(671,672,756,673,674,675,0)) {}
374         FIELD_SET(*this, FIX::LegAllocAccount);
375         FIELD_SET(*this, FIX::LegIndividualAllocID);
376         FIELD_SET(*this, FIX::NoNested2PartyIDs);
377         class NoNested2PartyIDs: public FIX::Group
378         {
379         public:
NoNested2PartyIDs()380         NoNested2PartyIDs() : FIX::Group(756,757,FIX::message_order(757,758,759,806,0)) {}
381           FIELD_SET(*this, FIX::Nested2PartyID);
382           FIELD_SET(*this, FIX::Nested2PartyIDSource);
383           FIELD_SET(*this, FIX::Nested2PartyRole);
384           FIELD_SET(*this, FIX::NoNested2PartySubIDs);
385           class NoNested2PartySubIDs: public FIX::Group
386           {
387           public:
NoNested2PartySubIDs()388           NoNested2PartySubIDs() : FIX::Group(806,760,FIX::message_order(760,807,0)) {}
389             FIELD_SET(*this, FIX::Nested2PartySubID);
390             FIELD_SET(*this, FIX::Nested2PartySubIDType);
391           };
392         };
393         FIELD_SET(*this, FIX::LegAllocQty);
394         FIELD_SET(*this, FIX::LegAllocAcctIDSource);
395         FIELD_SET(*this, FIX::LegSettlCurrency);
396       };
397       FIELD_SET(*this, FIX::LegPositionEffect);
398       FIELD_SET(*this, FIX::LegCoveredOrUncovered);
399       FIELD_SET(*this, FIX::NoNestedPartyIDs);
400       class NoNestedPartyIDs: public FIX::Group
401       {
402       public:
NoNestedPartyIDs()403       NoNestedPartyIDs() : FIX::Group(539,524,FIX::message_order(524,525,538,804,0)) {}
404         FIELD_SET(*this, FIX::NestedPartyID);
405         FIELD_SET(*this, FIX::NestedPartyIDSource);
406         FIELD_SET(*this, FIX::NestedPartyRole);
407         FIELD_SET(*this, FIX::NoNestedPartySubIDs);
408         class NoNestedPartySubIDs: public FIX::Group
409         {
410         public:
NoNestedPartySubIDs()411         NoNestedPartySubIDs() : FIX::Group(804,545,FIX::message_order(545,805,0)) {}
412           FIELD_SET(*this, FIX::NestedPartySubID);
413           FIELD_SET(*this, FIX::NestedPartySubIDType);
414         };
415       };
416       FIELD_SET(*this, FIX::LegRefID);
417       FIELD_SET(*this, FIX::LegPrice);
418       FIELD_SET(*this, FIX::LegSettlType);
419       FIELD_SET(*this, FIX::LegSettlDate);
420       FIELD_SET(*this, FIX::LegOrderQty);
421     };
422     FIELD_SET(*this, FIX::LocateReqd);
423     FIELD_SET(*this, FIX::TransactTime);
424     FIELD_SET(*this, FIX::QtyType);
425     FIELD_SET(*this, FIX::OrderQty);
426     FIELD_SET(*this, FIX::CashOrderQty);
427     FIELD_SET(*this, FIX::OrderPercent);
428     FIELD_SET(*this, FIX::RoundingDirection);
429     FIELD_SET(*this, FIX::RoundingModulus);
430     FIELD_SET(*this, FIX::OrdType);
431     FIELD_SET(*this, FIX::PriceType);
432     FIELD_SET(*this, FIX::Price);
433     FIELD_SET(*this, FIX::PriceProtectionScope);
434     FIELD_SET(*this, FIX::StopPx);
435     FIELD_SET(*this, FIX::TriggerType);
436     FIELD_SET(*this, FIX::TriggerAction);
437     FIELD_SET(*this, FIX::TriggerPrice);
438     FIELD_SET(*this, FIX::TriggerSymbol);
439     FIELD_SET(*this, FIX::TriggerSecurityID);
440     FIELD_SET(*this, FIX::TriggerSecurityIDSource);
441     FIELD_SET(*this, FIX::TriggerSecurityDesc);
442     FIELD_SET(*this, FIX::TriggerPriceType);
443     FIELD_SET(*this, FIX::TriggerPriceTypeScope);
444     FIELD_SET(*this, FIX::TriggerPriceDirection);
445     FIELD_SET(*this, FIX::TriggerNewPrice);
446     FIELD_SET(*this, FIX::TriggerOrderType);
447     FIELD_SET(*this, FIX::TriggerNewQty);
448     FIELD_SET(*this, FIX::TriggerTradingSessionID);
449     FIELD_SET(*this, FIX::TriggerTradingSessionSubID);
450     FIELD_SET(*this, FIX::Currency);
451     FIELD_SET(*this, FIX::ComplianceID);
452     FIELD_SET(*this, FIX::SolicitedFlag);
453     FIELD_SET(*this, FIX::IOIID);
454     FIELD_SET(*this, FIX::QuoteID);
455     FIELD_SET(*this, FIX::RefOrderID);
456     FIELD_SET(*this, FIX::RefOrderIDSource);
457     FIELD_SET(*this, FIX::TimeInForce);
458     FIELD_SET(*this, FIX::EffectiveTime);
459     FIELD_SET(*this, FIX::ExpireDate);
460     FIELD_SET(*this, FIX::ExpireTime);
461     FIELD_SET(*this, FIX::GTBookingInst);
462     FIELD_SET(*this, FIX::Commission);
463     FIELD_SET(*this, FIX::CommType);
464     FIELD_SET(*this, FIX::CommCurrency);
465     FIELD_SET(*this, FIX::FundRenewWaiv);
466     FIELD_SET(*this, FIX::OrderCapacity);
467     FIELD_SET(*this, FIX::OrderRestrictions);
468     FIELD_SET(*this, FIX::PreTradeAnonymity);
469     FIELD_SET(*this, FIX::CustOrderCapacity);
470     FIELD_SET(*this, FIX::ForexReq);
471     FIELD_SET(*this, FIX::SettlCurrency);
472     FIELD_SET(*this, FIX::BookingType);
473     FIELD_SET(*this, FIX::Text);
474     FIELD_SET(*this, FIX::EncodedTextLen);
475     FIELD_SET(*this, FIX::EncodedText);
476     FIELD_SET(*this, FIX::PositionEffect);
477     FIELD_SET(*this, FIX::CoveredOrUncovered);
478     FIELD_SET(*this, FIX::MaxShow);
479     FIELD_SET(*this, FIX::PegOffsetValue);
480     FIELD_SET(*this, FIX::PegPriceType);
481     FIELD_SET(*this, FIX::PegMoveType);
482     FIELD_SET(*this, FIX::PegOffsetType);
483     FIELD_SET(*this, FIX::PegLimitType);
484     FIELD_SET(*this, FIX::PegRoundDirection);
485     FIELD_SET(*this, FIX::PegScope);
486     FIELD_SET(*this, FIX::PegSecurityIDSource);
487     FIELD_SET(*this, FIX::PegSecurityID);
488     FIELD_SET(*this, FIX::PegSymbol);
489     FIELD_SET(*this, FIX::PegSecurityDesc);
490     FIELD_SET(*this, FIX::DiscretionInst);
491     FIELD_SET(*this, FIX::DiscretionOffsetValue);
492     FIELD_SET(*this, FIX::DiscretionMoveType);
493     FIELD_SET(*this, FIX::DiscretionOffsetType);
494     FIELD_SET(*this, FIX::DiscretionLimitType);
495     FIELD_SET(*this, FIX::DiscretionRoundDirection);
496     FIELD_SET(*this, FIX::DiscretionScope);
497     FIELD_SET(*this, FIX::TargetStrategy);
498     FIELD_SET(*this, FIX::NoStrategyParameters);
499     class NoStrategyParameters: public FIX::Group
500     {
501     public:
NoStrategyParameters()502     NoStrategyParameters() : FIX::Group(957,958,FIX::message_order(958,959,960,0)) {}
503       FIELD_SET(*this, FIX::StrategyParameterName);
504       FIELD_SET(*this, FIX::StrategyParameterType);
505       FIELD_SET(*this, FIX::StrategyParameterValue);
506     };
507     FIELD_SET(*this, FIX::TargetStrategyParameters);
508     FIELD_SET(*this, FIX::ParticipationRate);
509     FIELD_SET(*this, FIX::CancellationRights);
510     FIELD_SET(*this, FIX::MoneyLaunderingStatus);
511     FIELD_SET(*this, FIX::RegistID);
512     FIELD_SET(*this, FIX::Designation);
513     FIELD_SET(*this, FIX::MultiLegRptTypeReq);
514   };
515 
516 }
517 
518 #endif
519