1 #ifndef FIX44_NEWORDERSINGLE_H
2 #define FIX44_NEWORDERSINGLE_H
3 
4 #include "Message.h"
5 
6 namespace FIX44
7 {
8 
9   class NewOrderSingle : public Message
10   {
11   public:
NewOrderSingle()12     NewOrderSingle() : Message(MsgType()) {}
NewOrderSingle(const FIX::Message & m)13     NewOrderSingle(const FIX::Message& m) : Message(m) {}
NewOrderSingle(const Message & m)14     NewOrderSingle(const Message& m) : Message(m) {}
NewOrderSingle(const NewOrderSingle & m)15     NewOrderSingle(const NewOrderSingle& m) : Message(m) {}
MsgType()16     static FIX::MsgType MsgType() { return FIX::MsgType("D"); }
17 
NewOrderSingle(const FIX::ClOrdID & aClOrdID,const FIX::Side & aSide,const FIX::TransactTime & aTransactTime,const FIX::OrdType & aOrdType)18     NewOrderSingle(
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,539,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::NoNestedPartyIDs);
70       class NoNestedPartyIDs: public FIX::Group
71       {
72       public:
NoNestedPartyIDs()73       NoNestedPartyIDs() : FIX::Group(539,524,FIX::message_order(524,525,538,804,0)) {}
74         FIELD_SET(*this, FIX::NestedPartyID);
75         FIELD_SET(*this, FIX::NestedPartyIDSource);
76         FIELD_SET(*this, FIX::NestedPartyRole);
77         FIELD_SET(*this, FIX::NoNestedPartySubIDs);
78         class NoNestedPartySubIDs: public FIX::Group
79         {
80         public:
NoNestedPartySubIDs()81         NoNestedPartySubIDs() : FIX::Group(804,545,FIX::message_order(545,805,0)) {}
82           FIELD_SET(*this, FIX::NestedPartySubID);
83           FIELD_SET(*this, FIX::NestedPartySubIDType);
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::MaxFloor);
96     FIELD_SET(*this, FIX::ExDestination);
97     FIELD_SET(*this, FIX::NoTradingSessions);
98     class NoTradingSessions: public FIX::Group
99     {
100     public:
NoTradingSessions()101     NoTradingSessions() : FIX::Group(386,336,FIX::message_order(336,625,0)) {}
102       FIELD_SET(*this, FIX::TradingSessionID);
103       FIELD_SET(*this, FIX::TradingSessionSubID);
104     };
105     FIELD_SET(*this, FIX::ProcessCode);
106     FIELD_SET(*this, FIX::Symbol);
107     FIELD_SET(*this, FIX::SymbolSfx);
108     FIELD_SET(*this, FIX::SecurityID);
109     FIELD_SET(*this, FIX::SecurityIDSource);
110     FIELD_SET(*this, FIX::NoSecurityAltID);
111     class NoSecurityAltID: public FIX::Group
112     {
113     public:
NoSecurityAltID()114     NoSecurityAltID() : FIX::Group(454,455,FIX::message_order(455,456,0)) {}
115       FIELD_SET(*this, FIX::SecurityAltID);
116       FIELD_SET(*this, FIX::SecurityAltIDSource);
117     };
118     FIELD_SET(*this, FIX::Product);
119     FIELD_SET(*this, FIX::CFICode);
120     FIELD_SET(*this, FIX::SecurityType);
121     FIELD_SET(*this, FIX::SecuritySubType);
122     FIELD_SET(*this, FIX::MaturityMonthYear);
123     FIELD_SET(*this, FIX::MaturityDate);
124     FIELD_SET(*this, FIX::PutOrCall);
125     FIELD_SET(*this, FIX::CouponPaymentDate);
126     FIELD_SET(*this, FIX::IssueDate);
127     FIELD_SET(*this, FIX::RepoCollateralSecurityType);
128     FIELD_SET(*this, FIX::RepurchaseTerm);
129     FIELD_SET(*this, FIX::RepurchaseRate);
130     FIELD_SET(*this, FIX::Factor);
131     FIELD_SET(*this, FIX::CreditRating);
132     FIELD_SET(*this, FIX::InstrRegistry);
133     FIELD_SET(*this, FIX::CountryOfIssue);
134     FIELD_SET(*this, FIX::StateOrProvinceOfIssue);
135     FIELD_SET(*this, FIX::LocaleOfIssue);
136     FIELD_SET(*this, FIX::RedemptionDate);
137     FIELD_SET(*this, FIX::StrikePrice);
138     FIELD_SET(*this, FIX::StrikeCurrency);
139     FIELD_SET(*this, FIX::OptAttribute);
140     FIELD_SET(*this, FIX::ContractMultiplier);
141     FIELD_SET(*this, FIX::CouponRate);
142     FIELD_SET(*this, FIX::SecurityExchange);
143     FIELD_SET(*this, FIX::Issuer);
144     FIELD_SET(*this, FIX::EncodedIssuerLen);
145     FIELD_SET(*this, FIX::EncodedIssuer);
146     FIELD_SET(*this, FIX::SecurityDesc);
147     FIELD_SET(*this, FIX::EncodedSecurityDescLen);
148     FIELD_SET(*this, FIX::EncodedSecurityDesc);
149     FIELD_SET(*this, FIX::Pool);
150     FIELD_SET(*this, FIX::ContractSettlMonth);
151     FIELD_SET(*this, FIX::CPProgram);
152     FIELD_SET(*this, FIX::CPRegType);
153     FIELD_SET(*this, FIX::NoEvents);
154     class NoEvents: public FIX::Group
155     {
156     public:
NoEvents()157     NoEvents() : FIX::Group(864,865,FIX::message_order(865,866,867,868,0)) {}
158       FIELD_SET(*this, FIX::EventType);
159       FIELD_SET(*this, FIX::EventDate);
160       FIELD_SET(*this, FIX::EventPx);
161       FIELD_SET(*this, FIX::EventText);
162     };
163     FIELD_SET(*this, FIX::DatedDate);
164     FIELD_SET(*this, FIX::InterestAccrualDate);
165     FIELD_SET(*this, FIX::AgreementDesc);
166     FIELD_SET(*this, FIX::AgreementID);
167     FIELD_SET(*this, FIX::AgreementDate);
168     FIELD_SET(*this, FIX::AgreementCurrency);
169     FIELD_SET(*this, FIX::TerminationType);
170     FIELD_SET(*this, FIX::StartDate);
171     FIELD_SET(*this, FIX::EndDate);
172     FIELD_SET(*this, FIX::DeliveryType);
173     FIELD_SET(*this, FIX::MarginRatio);
174     FIELD_SET(*this, FIX::NoUnderlyings);
175     class NoUnderlyings: public FIX::Group
176     {
177     public:
NoUnderlyings()178     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)) {}
179       FIELD_SET(*this, FIX::UnderlyingSymbol);
180       FIELD_SET(*this, FIX::UnderlyingSymbolSfx);
181       FIELD_SET(*this, FIX::UnderlyingSecurityID);
182       FIELD_SET(*this, FIX::UnderlyingSecurityIDSource);
183       FIELD_SET(*this, FIX::NoUnderlyingSecurityAltID);
184       class NoUnderlyingSecurityAltID: public FIX::Group
185       {
186       public:
NoUnderlyingSecurityAltID()187       NoUnderlyingSecurityAltID() : FIX::Group(457,458,FIX::message_order(458,459,0)) {}
188         FIELD_SET(*this, FIX::UnderlyingSecurityAltID);
189         FIELD_SET(*this, FIX::UnderlyingSecurityAltIDSource);
190       };
191       FIELD_SET(*this, FIX::UnderlyingProduct);
192       FIELD_SET(*this, FIX::UnderlyingCFICode);
193       FIELD_SET(*this, FIX::UnderlyingSecurityType);
194       FIELD_SET(*this, FIX::UnderlyingSecuritySubType);
195       FIELD_SET(*this, FIX::UnderlyingMaturityMonthYear);
196       FIELD_SET(*this, FIX::UnderlyingMaturityDate);
197       FIELD_SET(*this, FIX::UnderlyingPutOrCall);
198       FIELD_SET(*this, FIX::UnderlyingCouponPaymentDate);
199       FIELD_SET(*this, FIX::UnderlyingIssueDate);
200       FIELD_SET(*this, FIX::UnderlyingRepoCollateralSecurityType);
201       FIELD_SET(*this, FIX::UnderlyingRepurchaseTerm);
202       FIELD_SET(*this, FIX::UnderlyingRepurchaseRate);
203       FIELD_SET(*this, FIX::UnderlyingFactor);
204       FIELD_SET(*this, FIX::UnderlyingCreditRating);
205       FIELD_SET(*this, FIX::UnderlyingInstrRegistry);
206       FIELD_SET(*this, FIX::UnderlyingCountryOfIssue);
207       FIELD_SET(*this, FIX::UnderlyingStateOrProvinceOfIssue);
208       FIELD_SET(*this, FIX::UnderlyingLocaleOfIssue);
209       FIELD_SET(*this, FIX::UnderlyingRedemptionDate);
210       FIELD_SET(*this, FIX::UnderlyingStrikePrice);
211       FIELD_SET(*this, FIX::UnderlyingStrikeCurrency);
212       FIELD_SET(*this, FIX::UnderlyingOptAttribute);
213       FIELD_SET(*this, FIX::UnderlyingContractMultiplier);
214       FIELD_SET(*this, FIX::UnderlyingCouponRate);
215       FIELD_SET(*this, FIX::UnderlyingSecurityExchange);
216       FIELD_SET(*this, FIX::UnderlyingIssuer);
217       FIELD_SET(*this, FIX::EncodedUnderlyingIssuerLen);
218       FIELD_SET(*this, FIX::EncodedUnderlyingIssuer);
219       FIELD_SET(*this, FIX::UnderlyingSecurityDesc);
220       FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDescLen);
221       FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDesc);
222       FIELD_SET(*this, FIX::UnderlyingCPProgram);
223       FIELD_SET(*this, FIX::UnderlyingCPRegType);
224       FIELD_SET(*this, FIX::UnderlyingCurrency);
225       FIELD_SET(*this, FIX::UnderlyingQty);
226       FIELD_SET(*this, FIX::UnderlyingPx);
227       FIELD_SET(*this, FIX::UnderlyingDirtyPrice);
228       FIELD_SET(*this, FIX::UnderlyingEndPrice);
229       FIELD_SET(*this, FIX::UnderlyingStartValue);
230       FIELD_SET(*this, FIX::UnderlyingCurrentValue);
231       FIELD_SET(*this, FIX::UnderlyingEndValue);
232       FIELD_SET(*this, FIX::NoUnderlyingStips);
233       class NoUnderlyingStips: public FIX::Group
234       {
235       public:
NoUnderlyingStips()236       NoUnderlyingStips() : FIX::Group(887,888,FIX::message_order(888,889,0)) {}
237         FIELD_SET(*this, FIX::UnderlyingStipType);
238         FIELD_SET(*this, FIX::UnderlyingStipValue);
239       };
240     };
241     FIELD_SET(*this, FIX::PrevClosePx);
242     FIELD_SET(*this, FIX::Side);
243     FIELD_SET(*this, FIX::LocateReqd);
244     FIELD_SET(*this, FIX::TransactTime);
245     FIELD_SET(*this, FIX::NoStipulations);
246     class NoStipulations: public FIX::Group
247     {
248     public:
NoStipulations()249     NoStipulations() : FIX::Group(232,233,FIX::message_order(233,234,0)) {}
250       FIELD_SET(*this, FIX::StipulationType);
251       FIELD_SET(*this, FIX::StipulationValue);
252     };
253     FIELD_SET(*this, FIX::QtyType);
254     FIELD_SET(*this, FIX::OrderQty);
255     FIELD_SET(*this, FIX::CashOrderQty);
256     FIELD_SET(*this, FIX::OrderPercent);
257     FIELD_SET(*this, FIX::RoundingDirection);
258     FIELD_SET(*this, FIX::RoundingModulus);
259     FIELD_SET(*this, FIX::OrdType);
260     FIELD_SET(*this, FIX::PriceType);
261     FIELD_SET(*this, FIX::Price);
262     FIELD_SET(*this, FIX::StopPx);
263     FIELD_SET(*this, FIX::Spread);
264     FIELD_SET(*this, FIX::BenchmarkCurveCurrency);
265     FIELD_SET(*this, FIX::BenchmarkCurveName);
266     FIELD_SET(*this, FIX::BenchmarkCurvePoint);
267     FIELD_SET(*this, FIX::BenchmarkPrice);
268     FIELD_SET(*this, FIX::BenchmarkPriceType);
269     FIELD_SET(*this, FIX::BenchmarkSecurityID);
270     FIELD_SET(*this, FIX::BenchmarkSecurityIDSource);
271     FIELD_SET(*this, FIX::YieldType);
272     FIELD_SET(*this, FIX::Yield);
273     FIELD_SET(*this, FIX::YieldCalcDate);
274     FIELD_SET(*this, FIX::YieldRedemptionDate);
275     FIELD_SET(*this, FIX::YieldRedemptionPrice);
276     FIELD_SET(*this, FIX::YieldRedemptionPriceType);
277     FIELD_SET(*this, FIX::Currency);
278     FIELD_SET(*this, FIX::ComplianceID);
279     FIELD_SET(*this, FIX::SolicitedFlag);
280     FIELD_SET(*this, FIX::IOIID);
281     FIELD_SET(*this, FIX::QuoteID);
282     FIELD_SET(*this, FIX::TimeInForce);
283     FIELD_SET(*this, FIX::EffectiveTime);
284     FIELD_SET(*this, FIX::ExpireDate);
285     FIELD_SET(*this, FIX::ExpireTime);
286     FIELD_SET(*this, FIX::GTBookingInst);
287     FIELD_SET(*this, FIX::Commission);
288     FIELD_SET(*this, FIX::CommType);
289     FIELD_SET(*this, FIX::CommCurrency);
290     FIELD_SET(*this, FIX::FundRenewWaiv);
291     FIELD_SET(*this, FIX::OrderCapacity);
292     FIELD_SET(*this, FIX::OrderRestrictions);
293     FIELD_SET(*this, FIX::CustOrderCapacity);
294     FIELD_SET(*this, FIX::ForexReq);
295     FIELD_SET(*this, FIX::SettlCurrency);
296     FIELD_SET(*this, FIX::BookingType);
297     FIELD_SET(*this, FIX::Text);
298     FIELD_SET(*this, FIX::EncodedTextLen);
299     FIELD_SET(*this, FIX::EncodedText);
300     FIELD_SET(*this, FIX::SettlDate2);
301     FIELD_SET(*this, FIX::OrderQty2);
302     FIELD_SET(*this, FIX::Price2);
303     FIELD_SET(*this, FIX::PositionEffect);
304     FIELD_SET(*this, FIX::CoveredOrUncovered);
305     FIELD_SET(*this, FIX::MaxShow);
306     FIELD_SET(*this, FIX::PegOffsetValue);
307     FIELD_SET(*this, FIX::PegMoveType);
308     FIELD_SET(*this, FIX::PegOffsetType);
309     FIELD_SET(*this, FIX::PegLimitType);
310     FIELD_SET(*this, FIX::PegRoundDirection);
311     FIELD_SET(*this, FIX::PegScope);
312     FIELD_SET(*this, FIX::DiscretionInst);
313     FIELD_SET(*this, FIX::DiscretionOffsetValue);
314     FIELD_SET(*this, FIX::DiscretionMoveType);
315     FIELD_SET(*this, FIX::DiscretionOffsetType);
316     FIELD_SET(*this, FIX::DiscretionLimitType);
317     FIELD_SET(*this, FIX::DiscretionRoundDirection);
318     FIELD_SET(*this, FIX::DiscretionScope);
319     FIELD_SET(*this, FIX::TargetStrategy);
320     FIELD_SET(*this, FIX::TargetStrategyParameters);
321     FIELD_SET(*this, FIX::ParticipationRate);
322     FIELD_SET(*this, FIX::CancellationRights);
323     FIELD_SET(*this, FIX::MoneyLaunderingStatus);
324     FIELD_SET(*this, FIX::RegistID);
325     FIELD_SET(*this, FIX::Designation);
326   };
327 
328 }
329 
330 #endif
331