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