1 #ifndef FIX44_ALLOCATIONINSTRUCTION_H
2 #define FIX44_ALLOCATIONINSTRUCTION_H
3 
4 #include "Message.h"
5 
6 namespace FIX44
7 {
8 
9   class AllocationInstruction : public Message
10   {
11   public:
AllocationInstruction()12     AllocationInstruction() : Message(MsgType()) {}
AllocationInstruction(const FIX::Message & m)13     AllocationInstruction(const FIX::Message& m) : Message(m) {}
AllocationInstruction(const Message & m)14     AllocationInstruction(const Message& m) : Message(m) {}
AllocationInstruction(const AllocationInstruction & m)15     AllocationInstruction(const AllocationInstruction& m) : Message(m) {}
MsgType()16     static FIX::MsgType MsgType() { return FIX::MsgType("J"); }
17 
AllocationInstruction(const FIX::AllocID & aAllocID,const FIX::AllocTransType & aAllocTransType,const FIX::AllocType & aAllocType,const FIX::AllocNoOrdersType & aAllocNoOrdersType,const FIX::Side & aSide,const FIX::Quantity & aQuantity,const FIX::AvgPx & aAvgPx,const FIX::TradeDate & aTradeDate)18     AllocationInstruction(
19       const FIX::AllocID& aAllocID,
20       const FIX::AllocTransType& aAllocTransType,
21       const FIX::AllocType& aAllocType,
22       const FIX::AllocNoOrdersType& aAllocNoOrdersType,
23       const FIX::Side& aSide,
24       const FIX::Quantity& aQuantity,
25       const FIX::AvgPx& aAvgPx,
26       const FIX::TradeDate& aTradeDate )
27     : Message(MsgType())
28     {
29       set(aAllocID);
30       set(aAllocTransType);
31       set(aAllocType);
32       set(aAllocNoOrdersType);
33       set(aSide);
34       set(aQuantity);
35       set(aAvgPx);
36       set(aTradeDate);
37     }
38 
39     FIELD_SET(*this, FIX::AllocID);
40     FIELD_SET(*this, FIX::AllocTransType);
41     FIELD_SET(*this, FIX::AllocType);
42     FIELD_SET(*this, FIX::SecondaryAllocID);
43     FIELD_SET(*this, FIX::RefAllocID);
44     FIELD_SET(*this, FIX::AllocCancReplaceReason);
45     FIELD_SET(*this, FIX::AllocIntermedReqType);
46     FIELD_SET(*this, FIX::AllocLinkID);
47     FIELD_SET(*this, FIX::AllocLinkType);
48     FIELD_SET(*this, FIX::BookingRefID);
49     FIELD_SET(*this, FIX::AllocNoOrdersType);
50     FIELD_SET(*this, FIX::NoOrders);
51     class NoOrders: public FIX::Group
52     {
53     public:
NoOrders()54     NoOrders() : FIX::Group(73,11,FIX::message_order(11,37,198,526,66,756,38,799,800,0)) {}
55       FIELD_SET(*this, FIX::ClOrdID);
56       FIELD_SET(*this, FIX::OrderID);
57       FIELD_SET(*this, FIX::SecondaryOrderID);
58       FIELD_SET(*this, FIX::SecondaryClOrdID);
59       FIELD_SET(*this, FIX::ListID);
60       FIELD_SET(*this, FIX::NoNested2PartyIDs);
61       class NoNested2PartyIDs: public FIX::Group
62       {
63       public:
NoNested2PartyIDs()64       NoNested2PartyIDs() : FIX::Group(756,757,FIX::message_order(757,758,759,806,0)) {}
65         FIELD_SET(*this, FIX::Nested2PartyID);
66         FIELD_SET(*this, FIX::Nested2PartyIDSource);
67         FIELD_SET(*this, FIX::Nested2PartyRole);
68         FIELD_SET(*this, FIX::NoNested2PartySubIDs);
69         class NoNested2PartySubIDs: public FIX::Group
70         {
71         public:
NoNested2PartySubIDs()72         NoNested2PartySubIDs() : FIX::Group(806,760,FIX::message_order(760,807,0)) {}
73           FIELD_SET(*this, FIX::Nested2PartySubID);
74           FIELD_SET(*this, FIX::Nested2PartySubIDType);
75         };
76       };
77       FIELD_SET(*this, FIX::OrderQty);
78       FIELD_SET(*this, FIX::OrderAvgPx);
79       FIELD_SET(*this, FIX::OrderBookingQty);
80     };
81     FIELD_SET(*this, FIX::NoExecs);
82     class NoExecs: public FIX::Group
83     {
84     public:
NoExecs()85     NoExecs() : FIX::Group(124,32,FIX::message_order(32,17,527,31,669,29,0)) {}
86       FIELD_SET(*this, FIX::LastQty);
87       FIELD_SET(*this, FIX::ExecID);
88       FIELD_SET(*this, FIX::SecondaryExecID);
89       FIELD_SET(*this, FIX::LastPx);
90       FIELD_SET(*this, FIX::LastParPx);
91       FIELD_SET(*this, FIX::LastCapacity);
92     };
93     FIELD_SET(*this, FIX::PreviouslyReported);
94     FIELD_SET(*this, FIX::ReversalIndicator);
95     FIELD_SET(*this, FIX::MatchType);
96     FIELD_SET(*this, FIX::Side);
97     FIELD_SET(*this, FIX::Symbol);
98     FIELD_SET(*this, FIX::SymbolSfx);
99     FIELD_SET(*this, FIX::SecurityID);
100     FIELD_SET(*this, FIX::SecurityIDSource);
101     FIELD_SET(*this, FIX::NoSecurityAltID);
102     class NoSecurityAltID: public FIX::Group
103     {
104     public:
NoSecurityAltID()105     NoSecurityAltID() : FIX::Group(454,455,FIX::message_order(455,456,0)) {}
106       FIELD_SET(*this, FIX::SecurityAltID);
107       FIELD_SET(*this, FIX::SecurityAltIDSource);
108     };
109     FIELD_SET(*this, FIX::Product);
110     FIELD_SET(*this, FIX::CFICode);
111     FIELD_SET(*this, FIX::SecurityType);
112     FIELD_SET(*this, FIX::SecuritySubType);
113     FIELD_SET(*this, FIX::MaturityMonthYear);
114     FIELD_SET(*this, FIX::MaturityDate);
115     FIELD_SET(*this, FIX::PutOrCall);
116     FIELD_SET(*this, FIX::CouponPaymentDate);
117     FIELD_SET(*this, FIX::IssueDate);
118     FIELD_SET(*this, FIX::RepoCollateralSecurityType);
119     FIELD_SET(*this, FIX::RepurchaseTerm);
120     FIELD_SET(*this, FIX::RepurchaseRate);
121     FIELD_SET(*this, FIX::Factor);
122     FIELD_SET(*this, FIX::CreditRating);
123     FIELD_SET(*this, FIX::InstrRegistry);
124     FIELD_SET(*this, FIX::CountryOfIssue);
125     FIELD_SET(*this, FIX::StateOrProvinceOfIssue);
126     FIELD_SET(*this, FIX::LocaleOfIssue);
127     FIELD_SET(*this, FIX::RedemptionDate);
128     FIELD_SET(*this, FIX::StrikePrice);
129     FIELD_SET(*this, FIX::StrikeCurrency);
130     FIELD_SET(*this, FIX::OptAttribute);
131     FIELD_SET(*this, FIX::ContractMultiplier);
132     FIELD_SET(*this, FIX::CouponRate);
133     FIELD_SET(*this, FIX::SecurityExchange);
134     FIELD_SET(*this, FIX::Issuer);
135     FIELD_SET(*this, FIX::EncodedIssuerLen);
136     FIELD_SET(*this, FIX::EncodedIssuer);
137     FIELD_SET(*this, FIX::SecurityDesc);
138     FIELD_SET(*this, FIX::EncodedSecurityDescLen);
139     FIELD_SET(*this, FIX::EncodedSecurityDesc);
140     FIELD_SET(*this, FIX::Pool);
141     FIELD_SET(*this, FIX::ContractSettlMonth);
142     FIELD_SET(*this, FIX::CPProgram);
143     FIELD_SET(*this, FIX::CPRegType);
144     FIELD_SET(*this, FIX::NoEvents);
145     class NoEvents: public FIX::Group
146     {
147     public:
NoEvents()148     NoEvents() : FIX::Group(864,865,FIX::message_order(865,866,867,868,0)) {}
149       FIELD_SET(*this, FIX::EventType);
150       FIELD_SET(*this, FIX::EventDate);
151       FIELD_SET(*this, FIX::EventPx);
152       FIELD_SET(*this, FIX::EventText);
153     };
154     FIELD_SET(*this, FIX::DatedDate);
155     FIELD_SET(*this, FIX::InterestAccrualDate);
156     FIELD_SET(*this, FIX::DeliveryForm);
157     FIELD_SET(*this, FIX::PctAtRisk);
158     FIELD_SET(*this, FIX::NoInstrAttrib);
159     class NoInstrAttrib: public FIX::Group
160     {
161     public:
NoInstrAttrib()162     NoInstrAttrib() : FIX::Group(870,871,FIX::message_order(871,872,0)) {}
163       FIELD_SET(*this, FIX::InstrAttribType);
164       FIELD_SET(*this, FIX::InstrAttribValue);
165     };
166     FIELD_SET(*this, FIX::AgreementDesc);
167     FIELD_SET(*this, FIX::AgreementID);
168     FIELD_SET(*this, FIX::AgreementDate);
169     FIELD_SET(*this, FIX::AgreementCurrency);
170     FIELD_SET(*this, FIX::TerminationType);
171     FIELD_SET(*this, FIX::StartDate);
172     FIELD_SET(*this, FIX::EndDate);
173     FIELD_SET(*this, FIX::DeliveryType);
174     FIELD_SET(*this, FIX::MarginRatio);
175     FIELD_SET(*this, FIX::NoUnderlyings);
176     class NoUnderlyings: public FIX::Group
177     {
178     public:
NoUnderlyings()179     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)) {}
180       FIELD_SET(*this, FIX::UnderlyingSymbol);
181       FIELD_SET(*this, FIX::UnderlyingSymbolSfx);
182       FIELD_SET(*this, FIX::UnderlyingSecurityID);
183       FIELD_SET(*this, FIX::UnderlyingSecurityIDSource);
184       FIELD_SET(*this, FIX::NoUnderlyingSecurityAltID);
185       class NoUnderlyingSecurityAltID: public FIX::Group
186       {
187       public:
NoUnderlyingSecurityAltID()188       NoUnderlyingSecurityAltID() : FIX::Group(457,458,FIX::message_order(458,459,0)) {}
189         FIELD_SET(*this, FIX::UnderlyingSecurityAltID);
190         FIELD_SET(*this, FIX::UnderlyingSecurityAltIDSource);
191       };
192       FIELD_SET(*this, FIX::UnderlyingProduct);
193       FIELD_SET(*this, FIX::UnderlyingCFICode);
194       FIELD_SET(*this, FIX::UnderlyingSecurityType);
195       FIELD_SET(*this, FIX::UnderlyingSecuritySubType);
196       FIELD_SET(*this, FIX::UnderlyingMaturityMonthYear);
197       FIELD_SET(*this, FIX::UnderlyingMaturityDate);
198       FIELD_SET(*this, FIX::UnderlyingPutOrCall);
199       FIELD_SET(*this, FIX::UnderlyingCouponPaymentDate);
200       FIELD_SET(*this, FIX::UnderlyingIssueDate);
201       FIELD_SET(*this, FIX::UnderlyingRepoCollateralSecurityType);
202       FIELD_SET(*this, FIX::UnderlyingRepurchaseTerm);
203       FIELD_SET(*this, FIX::UnderlyingRepurchaseRate);
204       FIELD_SET(*this, FIX::UnderlyingFactor);
205       FIELD_SET(*this, FIX::UnderlyingCreditRating);
206       FIELD_SET(*this, FIX::UnderlyingInstrRegistry);
207       FIELD_SET(*this, FIX::UnderlyingCountryOfIssue);
208       FIELD_SET(*this, FIX::UnderlyingStateOrProvinceOfIssue);
209       FIELD_SET(*this, FIX::UnderlyingLocaleOfIssue);
210       FIELD_SET(*this, FIX::UnderlyingRedemptionDate);
211       FIELD_SET(*this, FIX::UnderlyingStrikePrice);
212       FIELD_SET(*this, FIX::UnderlyingStrikeCurrency);
213       FIELD_SET(*this, FIX::UnderlyingOptAttribute);
214       FIELD_SET(*this, FIX::UnderlyingContractMultiplier);
215       FIELD_SET(*this, FIX::UnderlyingCouponRate);
216       FIELD_SET(*this, FIX::UnderlyingSecurityExchange);
217       FIELD_SET(*this, FIX::UnderlyingIssuer);
218       FIELD_SET(*this, FIX::EncodedUnderlyingIssuerLen);
219       FIELD_SET(*this, FIX::EncodedUnderlyingIssuer);
220       FIELD_SET(*this, FIX::UnderlyingSecurityDesc);
221       FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDescLen);
222       FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDesc);
223       FIELD_SET(*this, FIX::UnderlyingCPProgram);
224       FIELD_SET(*this, FIX::UnderlyingCPRegType);
225       FIELD_SET(*this, FIX::UnderlyingCurrency);
226       FIELD_SET(*this, FIX::UnderlyingQty);
227       FIELD_SET(*this, FIX::UnderlyingPx);
228       FIELD_SET(*this, FIX::UnderlyingDirtyPrice);
229       FIELD_SET(*this, FIX::UnderlyingEndPrice);
230       FIELD_SET(*this, FIX::UnderlyingStartValue);
231       FIELD_SET(*this, FIX::UnderlyingCurrentValue);
232       FIELD_SET(*this, FIX::UnderlyingEndValue);
233       FIELD_SET(*this, FIX::NoUnderlyingStips);
234       class NoUnderlyingStips: public FIX::Group
235       {
236       public:
NoUnderlyingStips()237       NoUnderlyingStips() : FIX::Group(887,888,FIX::message_order(888,889,0)) {}
238         FIELD_SET(*this, FIX::UnderlyingStipType);
239         FIELD_SET(*this, FIX::UnderlyingStipValue);
240       };
241     };
242     FIELD_SET(*this, FIX::NoLegs);
243     class NoLegs: public FIX::Group
244     {
245     public:
NoLegs()246     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,0)) {}
247       FIELD_SET(*this, FIX::LegSymbol);
248       FIELD_SET(*this, FIX::LegSymbolSfx);
249       FIELD_SET(*this, FIX::LegSecurityID);
250       FIELD_SET(*this, FIX::LegSecurityIDSource);
251       FIELD_SET(*this, FIX::NoLegSecurityAltID);
252       class NoLegSecurityAltID: public FIX::Group
253       {
254       public:
NoLegSecurityAltID()255       NoLegSecurityAltID() : FIX::Group(604,605,FIX::message_order(605,606,0)) {}
256         FIELD_SET(*this, FIX::LegSecurityAltID);
257         FIELD_SET(*this, FIX::LegSecurityAltIDSource);
258       };
259       FIELD_SET(*this, FIX::LegProduct);
260       FIELD_SET(*this, FIX::LegCFICode);
261       FIELD_SET(*this, FIX::LegSecurityType);
262       FIELD_SET(*this, FIX::LegSecuritySubType);
263       FIELD_SET(*this, FIX::LegMaturityMonthYear);
264       FIELD_SET(*this, FIX::LegMaturityDate);
265       FIELD_SET(*this, FIX::LegCouponPaymentDate);
266       FIELD_SET(*this, FIX::LegIssueDate);
267       FIELD_SET(*this, FIX::LegRepoCollateralSecurityType);
268       FIELD_SET(*this, FIX::LegRepurchaseTerm);
269       FIELD_SET(*this, FIX::LegRepurchaseRate);
270       FIELD_SET(*this, FIX::LegFactor);
271       FIELD_SET(*this, FIX::LegCreditRating);
272       FIELD_SET(*this, FIX::LegInstrRegistry);
273       FIELD_SET(*this, FIX::LegCountryOfIssue);
274       FIELD_SET(*this, FIX::LegStateOrProvinceOfIssue);
275       FIELD_SET(*this, FIX::LegLocaleOfIssue);
276       FIELD_SET(*this, FIX::LegRedemptionDate);
277       FIELD_SET(*this, FIX::LegStrikePrice);
278       FIELD_SET(*this, FIX::LegStrikeCurrency);
279       FIELD_SET(*this, FIX::LegOptAttribute);
280       FIELD_SET(*this, FIX::LegContractMultiplier);
281       FIELD_SET(*this, FIX::LegCouponRate);
282       FIELD_SET(*this, FIX::LegSecurityExchange);
283       FIELD_SET(*this, FIX::LegIssuer);
284       FIELD_SET(*this, FIX::EncodedLegIssuerLen);
285       FIELD_SET(*this, FIX::EncodedLegIssuer);
286       FIELD_SET(*this, FIX::LegSecurityDesc);
287       FIELD_SET(*this, FIX::EncodedLegSecurityDescLen);
288       FIELD_SET(*this, FIX::EncodedLegSecurityDesc);
289       FIELD_SET(*this, FIX::LegRatioQty);
290       FIELD_SET(*this, FIX::LegSide);
291       FIELD_SET(*this, FIX::LegCurrency);
292       FIELD_SET(*this, FIX::LegPool);
293       FIELD_SET(*this, FIX::LegDatedDate);
294       FIELD_SET(*this, FIX::LegContractSettlMonth);
295       FIELD_SET(*this, FIX::LegInterestAccrualDate);
296     };
297     FIELD_SET(*this, FIX::Quantity);
298     FIELD_SET(*this, FIX::QtyType);
299     FIELD_SET(*this, FIX::LastMkt);
300     FIELD_SET(*this, FIX::TradeOriginationDate);
301     FIELD_SET(*this, FIX::TradingSessionID);
302     FIELD_SET(*this, FIX::TradingSessionSubID);
303     FIELD_SET(*this, FIX::PriceType);
304     FIELD_SET(*this, FIX::AvgPx);
305     FIELD_SET(*this, FIX::AvgParPx);
306     FIELD_SET(*this, FIX::Spread);
307     FIELD_SET(*this, FIX::BenchmarkCurveCurrency);
308     FIELD_SET(*this, FIX::BenchmarkCurveName);
309     FIELD_SET(*this, FIX::BenchmarkCurvePoint);
310     FIELD_SET(*this, FIX::BenchmarkPrice);
311     FIELD_SET(*this, FIX::BenchmarkPriceType);
312     FIELD_SET(*this, FIX::BenchmarkSecurityID);
313     FIELD_SET(*this, FIX::BenchmarkSecurityIDSource);
314     FIELD_SET(*this, FIX::Currency);
315     FIELD_SET(*this, FIX::AvgPxPrecision);
316     FIELD_SET(*this, FIX::NoPartyIDs);
317     class NoPartyIDs: public FIX::Group
318     {
319     public:
NoPartyIDs()320     NoPartyIDs() : FIX::Group(453,448,FIX::message_order(448,447,452,802,0)) {}
321       FIELD_SET(*this, FIX::PartyID);
322       FIELD_SET(*this, FIX::PartyIDSource);
323       FIELD_SET(*this, FIX::PartyRole);
324       FIELD_SET(*this, FIX::NoPartySubIDs);
325       class NoPartySubIDs: public FIX::Group
326       {
327       public:
NoPartySubIDs()328       NoPartySubIDs() : FIX::Group(802,523,FIX::message_order(523,803,0)) {}
329         FIELD_SET(*this, FIX::PartySubID);
330         FIELD_SET(*this, FIX::PartySubIDType);
331       };
332     };
333     FIELD_SET(*this, FIX::TradeDate);
334     FIELD_SET(*this, FIX::TransactTime);
335     FIELD_SET(*this, FIX::SettlType);
336     FIELD_SET(*this, FIX::SettlDate);
337     FIELD_SET(*this, FIX::BookingType);
338     FIELD_SET(*this, FIX::GrossTradeAmt);
339     FIELD_SET(*this, FIX::Concession);
340     FIELD_SET(*this, FIX::TotalTakedown);
341     FIELD_SET(*this, FIX::NetMoney);
342     FIELD_SET(*this, FIX::PositionEffect);
343     FIELD_SET(*this, FIX::AutoAcceptIndicator);
344     FIELD_SET(*this, FIX::Text);
345     FIELD_SET(*this, FIX::EncodedTextLen);
346     FIELD_SET(*this, FIX::EncodedText);
347     FIELD_SET(*this, FIX::NumDaysInterest);
348     FIELD_SET(*this, FIX::AccruedInterestRate);
349     FIELD_SET(*this, FIX::AccruedInterestAmt);
350     FIELD_SET(*this, FIX::TotalAccruedInterestAmt);
351     FIELD_SET(*this, FIX::InterestAtMaturity);
352     FIELD_SET(*this, FIX::EndAccruedInterestAmt);
353     FIELD_SET(*this, FIX::StartCash);
354     FIELD_SET(*this, FIX::EndCash);
355     FIELD_SET(*this, FIX::LegalConfirm);
356     FIELD_SET(*this, FIX::NoStipulations);
357     class NoStipulations: public FIX::Group
358     {
359     public:
NoStipulations()360     NoStipulations() : FIX::Group(232,233,FIX::message_order(233,234,0)) {}
361       FIELD_SET(*this, FIX::StipulationType);
362       FIELD_SET(*this, FIX::StipulationValue);
363     };
364     FIELD_SET(*this, FIX::YieldType);
365     FIELD_SET(*this, FIX::Yield);
366     FIELD_SET(*this, FIX::YieldCalcDate);
367     FIELD_SET(*this, FIX::YieldRedemptionDate);
368     FIELD_SET(*this, FIX::YieldRedemptionPrice);
369     FIELD_SET(*this, FIX::YieldRedemptionPriceType);
370     FIELD_SET(*this, FIX::TotNoAllocs);
371     FIELD_SET(*this, FIX::LastFragment);
372     FIELD_SET(*this, FIX::NoAllocs);
373     class NoAllocs: public FIX::Group
374     {
375     public:
NoAllocs()376     NoAllocs() : FIX::Group(78,79,FIX::message_order(79,661,573,366,80,467,81,539,208,209,161,360,361,12,13,479,497,153,154,119,737,120,736,155,156,742,741,136,576,780,172,169,170,171,0)) {}
377       FIELD_SET(*this, FIX::AllocAccount);
378       FIELD_SET(*this, FIX::AllocAcctIDSource);
379       FIELD_SET(*this, FIX::MatchStatus);
380       FIELD_SET(*this, FIX::AllocPrice);
381       FIELD_SET(*this, FIX::AllocQty);
382       FIELD_SET(*this, FIX::IndividualAllocID);
383       FIELD_SET(*this, FIX::ProcessCode);
384       FIELD_SET(*this, FIX::NoNestedPartyIDs);
385       class NoNestedPartyIDs: public FIX::Group
386       {
387       public:
NoNestedPartyIDs()388       NoNestedPartyIDs() : FIX::Group(539,524,FIX::message_order(524,525,538,804,0)) {}
389         FIELD_SET(*this, FIX::NestedPartyID);
390         FIELD_SET(*this, FIX::NestedPartyIDSource);
391         FIELD_SET(*this, FIX::NestedPartyRole);
392         FIELD_SET(*this, FIX::NoNestedPartySubIDs);
393         class NoNestedPartySubIDs: public FIX::Group
394         {
395         public:
NoNestedPartySubIDs()396         NoNestedPartySubIDs() : FIX::Group(804,545,FIX::message_order(545,805,0)) {}
397           FIELD_SET(*this, FIX::NestedPartySubID);
398           FIELD_SET(*this, FIX::NestedPartySubIDType);
399         };
400       };
401       FIELD_SET(*this, FIX::NotifyBrokerOfCredit);
402       FIELD_SET(*this, FIX::AllocHandlInst);
403       FIELD_SET(*this, FIX::AllocText);
404       FIELD_SET(*this, FIX::EncodedAllocTextLen);
405       FIELD_SET(*this, FIX::EncodedAllocText);
406       FIELD_SET(*this, FIX::Commission);
407       FIELD_SET(*this, FIX::CommType);
408       FIELD_SET(*this, FIX::CommCurrency);
409       FIELD_SET(*this, FIX::FundRenewWaiv);
410       FIELD_SET(*this, FIX::AllocAvgPx);
411       FIELD_SET(*this, FIX::AllocNetMoney);
412       FIELD_SET(*this, FIX::SettlCurrAmt);
413       FIELD_SET(*this, FIX::AllocSettlCurrAmt);
414       FIELD_SET(*this, FIX::SettlCurrency);
415       FIELD_SET(*this, FIX::AllocSettlCurrency);
416       FIELD_SET(*this, FIX::SettlCurrFxRate);
417       FIELD_SET(*this, FIX::SettlCurrFxRateCalc);
418       FIELD_SET(*this, FIX::AllocAccruedInterestAmt);
419       FIELD_SET(*this, FIX::AllocInterestAtMaturity);
420       FIELD_SET(*this, FIX::NoMiscFees);
421       class NoMiscFees: public FIX::Group
422       {
423       public:
NoMiscFees()424       NoMiscFees() : FIX::Group(136,137,FIX::message_order(137,138,139,891,0)) {}
425         FIELD_SET(*this, FIX::MiscFeeAmt);
426         FIELD_SET(*this, FIX::MiscFeeCurr);
427         FIELD_SET(*this, FIX::MiscFeeType);
428         FIELD_SET(*this, FIX::MiscFeeBasis);
429       };
430       FIELD_SET(*this, FIX::NoClearingInstructions);
431       class NoClearingInstructions: public FIX::Group
432       {
433       public:
NoClearingInstructions()434       NoClearingInstructions() : FIX::Group(576,577,FIX::message_order(577,0)) {}
435         FIELD_SET(*this, FIX::ClearingInstruction);
436       };
437       FIELD_SET(*this, FIX::AllocSettlInstType);
438       FIELD_SET(*this, FIX::SettlDeliveryType);
439       FIELD_SET(*this, FIX::StandInstDbType);
440       FIELD_SET(*this, FIX::StandInstDbName);
441       FIELD_SET(*this, FIX::StandInstDbID);
442       FIELD_SET(*this, FIX::NoDlvyInst);
443       class NoDlvyInst: public FIX::Group
444       {
445       public:
NoDlvyInst()446       NoDlvyInst() : FIX::Group(85,165,FIX::message_order(165,787,781,0)) {}
447         FIELD_SET(*this, FIX::SettlInstSource);
448         FIELD_SET(*this, FIX::DlvyInstType);
449         FIELD_SET(*this, FIX::NoSettlPartyIDs);
450         class NoSettlPartyIDs: public FIX::Group
451         {
452         public:
NoSettlPartyIDs()453         NoSettlPartyIDs() : FIX::Group(781,782,FIX::message_order(782,783,784,801,0)) {}
454           FIELD_SET(*this, FIX::SettlPartyID);
455           FIELD_SET(*this, FIX::SettlPartyIDSource);
456           FIELD_SET(*this, FIX::SettlPartyRole);
457           FIELD_SET(*this, FIX::NoSettlPartySubIDs);
458           class NoSettlPartySubIDs: public FIX::Group
459           {
460           public:
NoSettlPartySubIDs()461           NoSettlPartySubIDs() : FIX::Group(801,785,FIX::message_order(785,786,0)) {}
462             FIELD_SET(*this, FIX::SettlPartySubID);
463             FIELD_SET(*this, FIX::SettlPartySubIDType);
464           };
465         };
466       };
467     };
468   };
469 
470 }
471 
472 #endif
473