1 #ifndef FIX43_NEWORDERSINGLE_H
2 #define FIX43_NEWORDERSINGLE_H
3 
4 #include "Message.h"
5 
6 namespace FIX43
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::HandlInst & aHandlInst,const FIX::Side & aSide,const FIX::TransactTime & aTransactTime,const FIX::OrdType & aOrdType)18     NewOrderSingle(
19       const FIX::ClOrdID& aClOrdID,
20       const FIX::HandlInst& aHandlInst,
21       const FIX::Side& aSide,
22       const FIX::TransactTime& aTransactTime,
23       const FIX::OrdType& aOrdType )
24     : Message(MsgType())
25     {
26       set(aClOrdID);
27       set(aHandlInst);
28       set(aSide);
29       set(aTransactTime);
30       set(aOrdType);
31     }
32 
33     FIELD_SET(*this, FIX::ClOrdID);
34     FIELD_SET(*this, FIX::SecondaryClOrdID);
35     FIELD_SET(*this, FIX::ClOrdLinkID);
36     FIELD_SET(*this, FIX::NoPartyIDs);
37     class NoPartyIDs: public FIX::Group
38     {
39     public:
NoPartyIDs()40     NoPartyIDs() : FIX::Group(453,448,FIX::message_order(448,447,452,523,0)) {}
41       FIELD_SET(*this, FIX::PartyID);
42       FIELD_SET(*this, FIX::PartyIDSource);
43       FIELD_SET(*this, FIX::PartyRole);
44       FIELD_SET(*this, FIX::PartySubID);
45     };
46     FIELD_SET(*this, FIX::TradeOriginationDate);
47     FIELD_SET(*this, FIX::Account);
48     FIELD_SET(*this, FIX::AccountType);
49     FIELD_SET(*this, FIX::DayBookingInst);
50     FIELD_SET(*this, FIX::BookingUnit);
51     FIELD_SET(*this, FIX::PreallocMethod);
52     FIELD_SET(*this, FIX::SettlmntTyp);
53     FIELD_SET(*this, FIX::FutSettDate);
54     FIELD_SET(*this, FIX::CashMargin);
55     FIELD_SET(*this, FIX::ClearingFeeIndicator);
56     FIELD_SET(*this, FIX::HandlInst);
57     FIELD_SET(*this, FIX::ExecInst);
58     FIELD_SET(*this, FIX::MinQty);
59     FIELD_SET(*this, FIX::MaxFloor);
60     FIELD_SET(*this, FIX::ExDestination);
61     FIELD_SET(*this, FIX::ProcessCode);
62     FIELD_SET(*this, FIX::Symbol);
63     FIELD_SET(*this, FIX::SymbolSfx);
64     FIELD_SET(*this, FIX::SecurityID);
65     FIELD_SET(*this, FIX::SecurityIDSource);
66     FIELD_SET(*this, FIX::Product);
67     FIELD_SET(*this, FIX::CFICode);
68     FIELD_SET(*this, FIX::SecurityType);
69     FIELD_SET(*this, FIX::MaturityMonthYear);
70     FIELD_SET(*this, FIX::MaturityDate);
71     FIELD_SET(*this, FIX::CouponPaymentDate);
72     FIELD_SET(*this, FIX::IssueDate);
73     FIELD_SET(*this, FIX::RepoCollateralSecurityType);
74     FIELD_SET(*this, FIX::RepurchaseTerm);
75     FIELD_SET(*this, FIX::RepurchaseRate);
76     FIELD_SET(*this, FIX::Factor);
77     FIELD_SET(*this, FIX::CreditRating);
78     FIELD_SET(*this, FIX::InstrRegistry);
79     FIELD_SET(*this, FIX::CountryOfIssue);
80     FIELD_SET(*this, FIX::StateOrProvinceOfIssue);
81     FIELD_SET(*this, FIX::LocaleOfIssue);
82     FIELD_SET(*this, FIX::RedemptionDate);
83     FIELD_SET(*this, FIX::StrikePrice);
84     FIELD_SET(*this, FIX::OptAttribute);
85     FIELD_SET(*this, FIX::ContractMultiplier);
86     FIELD_SET(*this, FIX::CouponRate);
87     FIELD_SET(*this, FIX::SecurityExchange);
88     FIELD_SET(*this, FIX::Issuer);
89     FIELD_SET(*this, FIX::EncodedIssuerLen);
90     FIELD_SET(*this, FIX::EncodedIssuer);
91     FIELD_SET(*this, FIX::SecurityDesc);
92     FIELD_SET(*this, FIX::EncodedSecurityDescLen);
93     FIELD_SET(*this, FIX::EncodedSecurityDesc);
94     FIELD_SET(*this, FIX::NoSecurityAltID);
95     class NoSecurityAltID: public FIX::Group
96     {
97     public:
NoSecurityAltID()98     NoSecurityAltID() : FIX::Group(454,455,FIX::message_order(455,456,0)) {}
99       FIELD_SET(*this, FIX::SecurityAltID);
100       FIELD_SET(*this, FIX::SecurityAltIDSource);
101     };
102     FIELD_SET(*this, FIX::PrevClosePx);
103     FIELD_SET(*this, FIX::Side);
104     FIELD_SET(*this, FIX::LocateReqd);
105     FIELD_SET(*this, FIX::TransactTime);
106     FIELD_SET(*this, FIX::NoStipulations);
107     class NoStipulations: public FIX::Group
108     {
109     public:
NoStipulations()110     NoStipulations() : FIX::Group(232,233,FIX::message_order(233,234,0)) {}
111       FIELD_SET(*this, FIX::StipulationType);
112       FIELD_SET(*this, FIX::StipulationValue);
113     };
114     FIELD_SET(*this, FIX::QuantityType);
115     FIELD_SET(*this, FIX::OrderQty);
116     FIELD_SET(*this, FIX::CashOrderQty);
117     FIELD_SET(*this, FIX::OrderPercent);
118     FIELD_SET(*this, FIX::RoundingDirection);
119     FIELD_SET(*this, FIX::RoundingModulus);
120     FIELD_SET(*this, FIX::OrdType);
121     FIELD_SET(*this, FIX::PriceType);
122     FIELD_SET(*this, FIX::Price);
123     FIELD_SET(*this, FIX::StopPx);
124     FIELD_SET(*this, FIX::Spread);
125     FIELD_SET(*this, FIX::BenchmarkCurveCurrency);
126     FIELD_SET(*this, FIX::BenchmarkCurveName);
127     FIELD_SET(*this, FIX::BenchmarkCurvePoint);
128     FIELD_SET(*this, FIX::YieldType);
129     FIELD_SET(*this, FIX::Yield);
130     FIELD_SET(*this, FIX::Currency);
131     FIELD_SET(*this, FIX::ComplianceID);
132     FIELD_SET(*this, FIX::SolicitedFlag);
133     FIELD_SET(*this, FIX::IOIid);
134     FIELD_SET(*this, FIX::QuoteID);
135     FIELD_SET(*this, FIX::TimeInForce);
136     FIELD_SET(*this, FIX::EffectiveTime);
137     FIELD_SET(*this, FIX::ExpireDate);
138     FIELD_SET(*this, FIX::ExpireTime);
139     FIELD_SET(*this, FIX::GTBookingInst);
140     FIELD_SET(*this, FIX::Commission);
141     FIELD_SET(*this, FIX::CommType);
142     FIELD_SET(*this, FIX::CommCurrency);
143     FIELD_SET(*this, FIX::FundRenewWaiv);
144     FIELD_SET(*this, FIX::OrderCapacity);
145     FIELD_SET(*this, FIX::OrderRestrictions);
146     FIELD_SET(*this, FIX::CustOrderCapacity);
147     FIELD_SET(*this, FIX::Rule80A);
148     FIELD_SET(*this, FIX::ForexReq);
149     FIELD_SET(*this, FIX::SettlCurrency);
150     FIELD_SET(*this, FIX::Text);
151     FIELD_SET(*this, FIX::EncodedTextLen);
152     FIELD_SET(*this, FIX::EncodedText);
153     FIELD_SET(*this, FIX::FutSettDate2);
154     FIELD_SET(*this, FIX::OrderQty2);
155     FIELD_SET(*this, FIX::Price2);
156     FIELD_SET(*this, FIX::PositionEffect);
157     FIELD_SET(*this, FIX::CoveredOrUncovered);
158     FIELD_SET(*this, FIX::MaxShow);
159     FIELD_SET(*this, FIX::PegDifference);
160     FIELD_SET(*this, FIX::DiscretionInst);
161     FIELD_SET(*this, FIX::DiscretionOffset);
162     FIELD_SET(*this, FIX::CancellationRights);
163     FIELD_SET(*this, FIX::MoneyLaunderingStatus);
164     FIELD_SET(*this, FIX::RegistID);
165     FIELD_SET(*this, FIX::Designation);
166     FIELD_SET(*this, FIX::AccruedInterestRate);
167     FIELD_SET(*this, FIX::AccruedInterestAmt);
168     FIELD_SET(*this, FIX::NetMoney);
169     FIELD_SET(*this, FIX::NoAllocs);
170     class NoAllocs: public FIX::Group
171     {
172     public:
NoAllocs()173     NoAllocs() : FIX::Group(78,79,FIX::message_order(79,467,539,80,0)) {}
174       FIELD_SET(*this, FIX::AllocAccount);
175       FIELD_SET(*this, FIX::IndividualAllocID);
176       FIELD_SET(*this, FIX::NoNestedPartyIDs);
177       class NoNestedPartyIDs: public FIX::Group
178       {
179       public:
NoNestedPartyIDs()180       NoNestedPartyIDs() : FIX::Group(539,524,FIX::message_order(524,525,538,545,0)) {}
181         FIELD_SET(*this, FIX::NestedPartyID);
182         FIELD_SET(*this, FIX::NestedPartyIDSource);
183         FIELD_SET(*this, FIX::NestedPartyRole);
184         FIELD_SET(*this, FIX::NestedPartySubID);
185       };
186       FIELD_SET(*this, FIX::AllocQty);
187     };
188     FIELD_SET(*this, FIX::NoTradingSessions);
189     class NoTradingSessions: public FIX::Group
190     {
191     public:
NoTradingSessions()192     NoTradingSessions() : FIX::Group(386,336,FIX::message_order(336,625,0)) {}
193       FIELD_SET(*this, FIX::TradingSessionID);
194       FIELD_SET(*this, FIX::TradingSessionSubID);
195     };
196   };
197 
198 }
199 
200 #endif
201