1 #ifndef FIX50SP1_EXECUTIONREPORT_H 2 #define FIX50SP1_EXECUTIONREPORT_H 3 4 #include "Message.h" 5 6 namespace FIX50SP1 7 { 8 9 class ExecutionReport : public Message 10 { 11 public: ExecutionReport()12 ExecutionReport() : Message(MsgType()) {} ExecutionReport(const FIX::Message & m)13 ExecutionReport(const FIX::Message& m) : Message(m) {} ExecutionReport(const Message & m)14 ExecutionReport(const Message& m) : Message(m) {} ExecutionReport(const ExecutionReport & m)15 ExecutionReport(const ExecutionReport& m) : Message(m) {} MsgType()16 static FIX::MsgType MsgType() { return FIX::MsgType("8"); } 17 ExecutionReport(const FIX::OrderID & aOrderID,const FIX::ExecID & aExecID,const FIX::ExecType & aExecType,const FIX::OrdStatus & aOrdStatus,const FIX::Side & aSide,const FIX::LeavesQty & aLeavesQty,const FIX::CumQty & aCumQty)18 ExecutionReport( 19 const FIX::OrderID& aOrderID, 20 const FIX::ExecID& aExecID, 21 const FIX::ExecType& aExecType, 22 const FIX::OrdStatus& aOrdStatus, 23 const FIX::Side& aSide, 24 const FIX::LeavesQty& aLeavesQty, 25 const FIX::CumQty& aCumQty ) 26 : Message(MsgType()) 27 { 28 set(aOrderID); 29 set(aExecID); 30 set(aExecType); 31 set(aOrdStatus); 32 set(aSide); 33 set(aLeavesQty); 34 set(aCumQty); 35 } 36 37 FIELD_SET(*this, FIX::ApplID); 38 FIELD_SET(*this, FIX::ApplSeqNum); 39 FIELD_SET(*this, FIX::ApplLastSeqNum); 40 FIELD_SET(*this, FIX::ApplResendFlag); 41 FIELD_SET(*this, FIX::OrderID); 42 FIELD_SET(*this, FIX::SecondaryOrderID); 43 FIELD_SET(*this, FIX::SecondaryClOrdID); 44 FIELD_SET(*this, FIX::SecondaryExecID); 45 FIELD_SET(*this, FIX::ClOrdID); 46 FIELD_SET(*this, FIX::OrigClOrdID); 47 FIELD_SET(*this, FIX::ClOrdLinkID); 48 FIELD_SET(*this, FIX::QuoteRespID); 49 FIELD_SET(*this, FIX::OrdStatusReqID); 50 FIELD_SET(*this, FIX::MassStatusReqID); 51 FIELD_SET(*this, FIX::HostCrossID); 52 FIELD_SET(*this, FIX::TotNumReports); 53 FIELD_SET(*this, FIX::LastRptRequested); 54 FIELD_SET(*this, FIX::NoPartyIDs); 55 class NoPartyIDs: public FIX::Group 56 { 57 public: NoPartyIDs()58 NoPartyIDs() : FIX::Group(453,448,FIX::message_order(448,447,452,802,0)) {} 59 FIELD_SET(*this, FIX::PartyID); 60 FIELD_SET(*this, FIX::PartyIDSource); 61 FIELD_SET(*this, FIX::PartyRole); 62 FIELD_SET(*this, FIX::NoPartySubIDs); 63 class NoPartySubIDs: public FIX::Group 64 { 65 public: NoPartySubIDs()66 NoPartySubIDs() : FIX::Group(802,523,FIX::message_order(523,803,0)) {} 67 FIELD_SET(*this, FIX::PartySubID); 68 FIELD_SET(*this, FIX::PartySubIDType); 69 }; 70 }; 71 FIELD_SET(*this, FIX::TradeOriginationDate); 72 FIELD_SET(*this, FIX::NoContraBrokers); 73 class NoContraBrokers: public FIX::Group 74 { 75 public: NoContraBrokers()76 NoContraBrokers() : FIX::Group(382,375,FIX::message_order(375,337,437,438,655,0)) {} 77 FIELD_SET(*this, FIX::ContraBroker); 78 FIELD_SET(*this, FIX::ContraTrader); 79 FIELD_SET(*this, FIX::ContraTradeQty); 80 FIELD_SET(*this, FIX::ContraTradeTime); 81 FIELD_SET(*this, FIX::ContraLegRefID); 82 }; 83 FIELD_SET(*this, FIX::ListID); 84 FIELD_SET(*this, FIX::CrossID); 85 FIELD_SET(*this, FIX::OrigCrossID); 86 FIELD_SET(*this, FIX::CrossType); 87 FIELD_SET(*this, FIX::TrdMatchID); 88 FIELD_SET(*this, FIX::ExecID); 89 FIELD_SET(*this, FIX::ExecRefID); 90 FIELD_SET(*this, FIX::ExecType); 91 FIELD_SET(*this, FIX::OrdStatus); 92 FIELD_SET(*this, FIX::WorkingIndicator); 93 FIELD_SET(*this, FIX::OrdRejReason); 94 FIELD_SET(*this, FIX::ExecRestatementReason); 95 FIELD_SET(*this, FIX::Account); 96 FIELD_SET(*this, FIX::AcctIDSource); 97 FIELD_SET(*this, FIX::AccountType); 98 FIELD_SET(*this, FIX::DayBookingInst); 99 FIELD_SET(*this, FIX::BookingUnit); 100 FIELD_SET(*this, FIX::PreallocMethod); 101 FIELD_SET(*this, FIX::AllocID); 102 FIELD_SET(*this, FIX::NoAllocs); 103 class NoAllocs: public FIX::Group 104 { 105 public: NoAllocs()106 NoAllocs() : FIX::Group(78,79,FIX::message_order(79,661,736,467,539,80,0)) {} 107 FIELD_SET(*this, FIX::AllocAccount); 108 FIELD_SET(*this, FIX::AllocAcctIDSource); 109 FIELD_SET(*this, FIX::AllocSettlCurrency); 110 FIELD_SET(*this, FIX::IndividualAllocID); 111 FIELD_SET(*this, FIX::NoNestedPartyIDs); 112 class NoNestedPartyIDs: public FIX::Group 113 { 114 public: NoNestedPartyIDs()115 NoNestedPartyIDs() : FIX::Group(539,524,FIX::message_order(524,525,538,804,0)) {} 116 FIELD_SET(*this, FIX::NestedPartyID); 117 FIELD_SET(*this, FIX::NestedPartyIDSource); 118 FIELD_SET(*this, FIX::NestedPartyRole); 119 FIELD_SET(*this, FIX::NoNestedPartySubIDs); 120 class NoNestedPartySubIDs: public FIX::Group 121 { 122 public: NoNestedPartySubIDs()123 NoNestedPartySubIDs() : FIX::Group(804,545,FIX::message_order(545,805,0)) {} 124 FIELD_SET(*this, FIX::NestedPartySubID); 125 FIELD_SET(*this, FIX::NestedPartySubIDType); 126 }; 127 }; 128 FIELD_SET(*this, FIX::AllocQty); 129 }; 130 FIELD_SET(*this, FIX::SettlType); 131 FIELD_SET(*this, FIX::SettlDate); 132 FIELD_SET(*this, FIX::MatchType); 133 FIELD_SET(*this, FIX::OrderCategory); 134 FIELD_SET(*this, FIX::CashMargin); 135 FIELD_SET(*this, FIX::ClearingFeeIndicator); 136 FIELD_SET(*this, FIX::Symbol); 137 FIELD_SET(*this, FIX::SymbolSfx); 138 FIELD_SET(*this, FIX::SecurityID); 139 FIELD_SET(*this, FIX::SecurityIDSource); 140 FIELD_SET(*this, FIX::NoSecurityAltID); 141 class NoSecurityAltID: public FIX::Group 142 { 143 public: NoSecurityAltID()144 NoSecurityAltID() : FIX::Group(454,455,FIX::message_order(455,456,0)) {} 145 FIELD_SET(*this, FIX::SecurityAltID); 146 FIELD_SET(*this, FIX::SecurityAltIDSource); 147 }; 148 FIELD_SET(*this, FIX::Product); 149 FIELD_SET(*this, FIX::ProductComplex); 150 FIELD_SET(*this, FIX::SecurityGroup); 151 FIELD_SET(*this, FIX::CFICode); 152 FIELD_SET(*this, FIX::SecurityType); 153 FIELD_SET(*this, FIX::SecuritySubType); 154 FIELD_SET(*this, FIX::MaturityMonthYear); 155 FIELD_SET(*this, FIX::MaturityDate); 156 FIELD_SET(*this, FIX::MaturityTime); 157 FIELD_SET(*this, FIX::SettleOnOpenFlag); 158 FIELD_SET(*this, FIX::InstrmtAssignmentMethod); 159 FIELD_SET(*this, FIX::SecurityStatus); 160 FIELD_SET(*this, FIX::CouponPaymentDate); 161 FIELD_SET(*this, FIX::IssueDate); 162 FIELD_SET(*this, FIX::RepoCollateralSecurityType); 163 FIELD_SET(*this, FIX::RepurchaseTerm); 164 FIELD_SET(*this, FIX::RepurchaseRate); 165 FIELD_SET(*this, FIX::Factor); 166 FIELD_SET(*this, FIX::CreditRating); 167 FIELD_SET(*this, FIX::InstrRegistry); 168 FIELD_SET(*this, FIX::CountryOfIssue); 169 FIELD_SET(*this, FIX::StateOrProvinceOfIssue); 170 FIELD_SET(*this, FIX::LocaleOfIssue); 171 FIELD_SET(*this, FIX::RedemptionDate); 172 FIELD_SET(*this, FIX::StrikePrice); 173 FIELD_SET(*this, FIX::StrikeCurrency); 174 FIELD_SET(*this, FIX::StrikeMultiplier); 175 FIELD_SET(*this, FIX::StrikeValue); 176 FIELD_SET(*this, FIX::OptAttribute); 177 FIELD_SET(*this, FIX::ContractMultiplier); 178 FIELD_SET(*this, FIX::MinPriceIncrement); 179 FIELD_SET(*this, FIX::MinPriceIncrementAmount); 180 FIELD_SET(*this, FIX::UnitOfMeasure); 181 FIELD_SET(*this, FIX::UnitOfMeasureQty); 182 FIELD_SET(*this, FIX::PriceUnitOfMeasure); 183 FIELD_SET(*this, FIX::PriceUnitOfMeasureQty); 184 FIELD_SET(*this, FIX::SettlMethod); 185 FIELD_SET(*this, FIX::ExerciseStyle); 186 FIELD_SET(*this, FIX::OptPayAmount); 187 FIELD_SET(*this, FIX::PriceQuoteMethod); 188 FIELD_SET(*this, FIX::FuturesValuationMethod); 189 FIELD_SET(*this, FIX::ListMethod); 190 FIELD_SET(*this, FIX::CapPrice); 191 FIELD_SET(*this, FIX::FloorPrice); 192 FIELD_SET(*this, FIX::PutOrCall); 193 FIELD_SET(*this, FIX::FlexibleIndicator); 194 FIELD_SET(*this, FIX::FlexProductEligibilityIndicator); 195 FIELD_SET(*this, FIX::TimeUnit); 196 FIELD_SET(*this, FIX::CouponRate); 197 FIELD_SET(*this, FIX::SecurityExchange); 198 FIELD_SET(*this, FIX::PositionLimit); 199 FIELD_SET(*this, FIX::NTPositionLimit); 200 FIELD_SET(*this, FIX::Issuer); 201 FIELD_SET(*this, FIX::EncodedIssuerLen); 202 FIELD_SET(*this, FIX::EncodedIssuer); 203 FIELD_SET(*this, FIX::SecurityDesc); 204 FIELD_SET(*this, FIX::EncodedSecurityDescLen); 205 FIELD_SET(*this, FIX::EncodedSecurityDesc); 206 FIELD_SET(*this, FIX::SecurityXMLLen); 207 FIELD_SET(*this, FIX::SecurityXML); 208 FIELD_SET(*this, FIX::SecurityXMLSchema); 209 FIELD_SET(*this, FIX::Pool); 210 FIELD_SET(*this, FIX::ContractSettlMonth); 211 FIELD_SET(*this, FIX::CPProgram); 212 FIELD_SET(*this, FIX::CPRegType); 213 FIELD_SET(*this, FIX::NoEvents); 214 class NoEvents: public FIX::Group 215 { 216 public: NoEvents()217 NoEvents() : FIX::Group(864,865,FIX::message_order(865,866,1145,867,868,0)) {} 218 FIELD_SET(*this, FIX::EventType); 219 FIELD_SET(*this, FIX::EventDate); 220 FIELD_SET(*this, FIX::EventTime); 221 FIELD_SET(*this, FIX::EventPx); 222 FIELD_SET(*this, FIX::EventText); 223 }; 224 FIELD_SET(*this, FIX::DatedDate); 225 FIELD_SET(*this, FIX::InterestAccrualDate); 226 FIELD_SET(*this, FIX::NoInstrumentParties); 227 class NoInstrumentParties: public FIX::Group 228 { 229 public: NoInstrumentParties()230 NoInstrumentParties() : FIX::Group(1018,1019,FIX::message_order(1019,1050,1051,1052,0)) {} 231 FIELD_SET(*this, FIX::InstrumentPartyID); 232 FIELD_SET(*this, FIX::InstrumentPartyIDSource); 233 FIELD_SET(*this, FIX::InstrumentPartyRole); 234 FIELD_SET(*this, FIX::NoInstrumentPartySubIDs); 235 class NoInstrumentPartySubIDs: public FIX::Group 236 { 237 public: NoInstrumentPartySubIDs()238 NoInstrumentPartySubIDs() : FIX::Group(1052,1053,FIX::message_order(1053,1054,0)) {} 239 FIELD_SET(*this, FIX::InstrumentPartySubID); 240 FIELD_SET(*this, FIX::InstrumentPartySubIDType); 241 }; 242 }; 243 FIELD_SET(*this, FIX::AgreementDesc); 244 FIELD_SET(*this, FIX::AgreementID); 245 FIELD_SET(*this, FIX::AgreementDate); 246 FIELD_SET(*this, FIX::AgreementCurrency); 247 FIELD_SET(*this, FIX::TerminationType); 248 FIELD_SET(*this, FIX::StartDate); 249 FIELD_SET(*this, FIX::EndDate); 250 FIELD_SET(*this, FIX::DeliveryType); 251 FIELD_SET(*this, FIX::MarginRatio); 252 FIELD_SET(*this, FIX::NoUnderlyings); 253 class NoUnderlyings: public FIX::Group 254 { 255 public: NoUnderlyings()256 NoUnderlyings() : FIX::Group(711,311,FIX::message_order(311,312,309,305,462,463,310,763,313,542,1213,241,242,243,244,245,246,256,595,592,593,594,247,316,941,317,436,998,1423,1424,1425,1000,1419,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,315,0)) {} 257 FIELD_SET(*this, FIX::UnderlyingSymbol); 258 FIELD_SET(*this, FIX::UnderlyingSymbolSfx); 259 FIELD_SET(*this, FIX::UnderlyingSecurityID); 260 FIELD_SET(*this, FIX::UnderlyingSecurityIDSource); 261 FIELD_SET(*this, FIX::NoUnderlyingSecurityAltID); 262 class NoUnderlyingSecurityAltID: public FIX::Group 263 { 264 public: NoUnderlyingSecurityAltID()265 NoUnderlyingSecurityAltID() : FIX::Group(457,458,FIX::message_order(458,459,0)) {} 266 FIELD_SET(*this, FIX::UnderlyingSecurityAltID); 267 FIELD_SET(*this, FIX::UnderlyingSecurityAltIDSource); 268 }; 269 FIELD_SET(*this, FIX::UnderlyingProduct); 270 FIELD_SET(*this, FIX::UnderlyingCFICode); 271 FIELD_SET(*this, FIX::UnderlyingSecurityType); 272 FIELD_SET(*this, FIX::UnderlyingSecuritySubType); 273 FIELD_SET(*this, FIX::UnderlyingMaturityMonthYear); 274 FIELD_SET(*this, FIX::UnderlyingMaturityDate); 275 FIELD_SET(*this, FIX::UnderlyingMaturityTime); 276 FIELD_SET(*this, FIX::UnderlyingCouponPaymentDate); 277 FIELD_SET(*this, FIX::UnderlyingIssueDate); 278 FIELD_SET(*this, FIX::UnderlyingRepoCollateralSecurityType); 279 FIELD_SET(*this, FIX::UnderlyingRepurchaseTerm); 280 FIELD_SET(*this, FIX::UnderlyingRepurchaseRate); 281 FIELD_SET(*this, FIX::UnderlyingFactor); 282 FIELD_SET(*this, FIX::UnderlyingCreditRating); 283 FIELD_SET(*this, FIX::UnderlyingInstrRegistry); 284 FIELD_SET(*this, FIX::UnderlyingCountryOfIssue); 285 FIELD_SET(*this, FIX::UnderlyingStateOrProvinceOfIssue); 286 FIELD_SET(*this, FIX::UnderlyingLocaleOfIssue); 287 FIELD_SET(*this, FIX::UnderlyingRedemptionDate); 288 FIELD_SET(*this, FIX::UnderlyingStrikePrice); 289 FIELD_SET(*this, FIX::UnderlyingStrikeCurrency); 290 FIELD_SET(*this, FIX::UnderlyingOptAttribute); 291 FIELD_SET(*this, FIX::UnderlyingContractMultiplier); 292 FIELD_SET(*this, FIX::UnderlyingUnitOfMeasure); 293 FIELD_SET(*this, FIX::UnderlyingUnitOfMeasureQty); 294 FIELD_SET(*this, FIX::UnderlyingPriceUnitOfMeasure); 295 FIELD_SET(*this, FIX::UnderlyingPriceUnitOfMeasureQty); 296 FIELD_SET(*this, FIX::UnderlyingTimeUnit); 297 FIELD_SET(*this, FIX::UnderlyingExerciseStyle); 298 FIELD_SET(*this, FIX::UnderlyingCouponRate); 299 FIELD_SET(*this, FIX::UnderlyingSecurityExchange); 300 FIELD_SET(*this, FIX::UnderlyingIssuer); 301 FIELD_SET(*this, FIX::EncodedUnderlyingIssuerLen); 302 FIELD_SET(*this, FIX::EncodedUnderlyingIssuer); 303 FIELD_SET(*this, FIX::UnderlyingSecurityDesc); 304 FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDescLen); 305 FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDesc); 306 FIELD_SET(*this, FIX::UnderlyingCPProgram); 307 FIELD_SET(*this, FIX::UnderlyingCPRegType); 308 FIELD_SET(*this, FIX::UnderlyingAllocationPercent); 309 FIELD_SET(*this, FIX::UnderlyingCurrency); 310 FIELD_SET(*this, FIX::UnderlyingQty); 311 FIELD_SET(*this, FIX::UnderlyingSettlementType); 312 FIELD_SET(*this, FIX::UnderlyingCashAmount); 313 FIELD_SET(*this, FIX::UnderlyingCashType); 314 FIELD_SET(*this, FIX::UnderlyingPx); 315 FIELD_SET(*this, FIX::UnderlyingDirtyPrice); 316 FIELD_SET(*this, FIX::UnderlyingEndPrice); 317 FIELD_SET(*this, FIX::UnderlyingStartValue); 318 FIELD_SET(*this, FIX::UnderlyingCurrentValue); 319 FIELD_SET(*this, FIX::UnderlyingEndValue); 320 FIELD_SET(*this, FIX::NoUnderlyingStips); 321 class NoUnderlyingStips: public FIX::Group 322 { 323 public: NoUnderlyingStips()324 NoUnderlyingStips() : FIX::Group(887,888,FIX::message_order(888,889,0)) {} 325 FIELD_SET(*this, FIX::UnderlyingStipType); 326 FIELD_SET(*this, FIX::UnderlyingStipValue); 327 }; 328 FIELD_SET(*this, FIX::UnderlyingAdjustedQuantity); 329 FIELD_SET(*this, FIX::UnderlyingFXRate); 330 FIELD_SET(*this, FIX::UnderlyingFXRateCalc); 331 FIELD_SET(*this, FIX::UnderlyingCapValue); 332 FIELD_SET(*this, FIX::NoUndlyInstrumentParties); 333 class NoUndlyInstrumentParties: public FIX::Group 334 { 335 public: NoUndlyInstrumentParties()336 NoUndlyInstrumentParties() : FIX::Group(1058,1059,FIX::message_order(1059,1060,1061,1062,0)) {} 337 FIELD_SET(*this, FIX::UndlyInstrumentPartyID); 338 FIELD_SET(*this, FIX::UndlyInstrumentPartyIDSource); 339 FIELD_SET(*this, FIX::UndlyInstrumentPartyRole); 340 FIELD_SET(*this, FIX::NoUndlyInstrumentPartySubIDs); 341 class NoUndlyInstrumentPartySubIDs: public FIX::Group 342 { 343 public: NoUndlyInstrumentPartySubIDs()344 NoUndlyInstrumentPartySubIDs() : FIX::Group(1062,1063,FIX::message_order(1063,1064,0)) {} 345 FIELD_SET(*this, FIX::UndlyInstrumentPartySubID); 346 FIELD_SET(*this, FIX::UndlyInstrumentPartySubIDType); 347 }; 348 }; 349 FIELD_SET(*this, FIX::UnderlyingSettlMethod); 350 FIELD_SET(*this, FIX::UnderlyingPutOrCall); 351 }; 352 FIELD_SET(*this, FIX::Side); 353 FIELD_SET(*this, FIX::NoStipulations); 354 class NoStipulations: public FIX::Group 355 { 356 public: NoStipulations()357 NoStipulations() : FIX::Group(232,233,FIX::message_order(233,234,0)) {} 358 FIELD_SET(*this, FIX::StipulationType); 359 FIELD_SET(*this, FIX::StipulationValue); 360 }; 361 FIELD_SET(*this, FIX::QtyType); 362 FIELD_SET(*this, FIX::OrderQty); 363 FIELD_SET(*this, FIX::CashOrderQty); 364 FIELD_SET(*this, FIX::OrderPercent); 365 FIELD_SET(*this, FIX::RoundingDirection); 366 FIELD_SET(*this, FIX::RoundingModulus); 367 FIELD_SET(*this, FIX::LotType); 368 FIELD_SET(*this, FIX::OrdType); 369 FIELD_SET(*this, FIX::PriceType); 370 FIELD_SET(*this, FIX::Price); 371 FIELD_SET(*this, FIX::PriceProtectionScope); 372 FIELD_SET(*this, FIX::StopPx); 373 FIELD_SET(*this, FIX::TriggerType); 374 FIELD_SET(*this, FIX::TriggerAction); 375 FIELD_SET(*this, FIX::TriggerPrice); 376 FIELD_SET(*this, FIX::TriggerSymbol); 377 FIELD_SET(*this, FIX::TriggerSecurityID); 378 FIELD_SET(*this, FIX::TriggerSecurityIDSource); 379 FIELD_SET(*this, FIX::TriggerSecurityDesc); 380 FIELD_SET(*this, FIX::TriggerPriceType); 381 FIELD_SET(*this, FIX::TriggerPriceTypeScope); 382 FIELD_SET(*this, FIX::TriggerPriceDirection); 383 FIELD_SET(*this, FIX::TriggerNewPrice); 384 FIELD_SET(*this, FIX::TriggerOrderType); 385 FIELD_SET(*this, FIX::TriggerNewQty); 386 FIELD_SET(*this, FIX::TriggerTradingSessionID); 387 FIELD_SET(*this, FIX::TriggerTradingSessionSubID); 388 FIELD_SET(*this, FIX::PegOffsetValue); 389 FIELD_SET(*this, FIX::PegPriceType); 390 FIELD_SET(*this, FIX::PegMoveType); 391 FIELD_SET(*this, FIX::PegOffsetType); 392 FIELD_SET(*this, FIX::PegLimitType); 393 FIELD_SET(*this, FIX::PegRoundDirection); 394 FIELD_SET(*this, FIX::PegScope); 395 FIELD_SET(*this, FIX::PegSecurityIDSource); 396 FIELD_SET(*this, FIX::PegSecurityID); 397 FIELD_SET(*this, FIX::PegSymbol); 398 FIELD_SET(*this, FIX::PegSecurityDesc); 399 FIELD_SET(*this, FIX::DiscretionInst); 400 FIELD_SET(*this, FIX::DiscretionOffsetValue); 401 FIELD_SET(*this, FIX::DiscretionMoveType); 402 FIELD_SET(*this, FIX::DiscretionOffsetType); 403 FIELD_SET(*this, FIX::DiscretionLimitType); 404 FIELD_SET(*this, FIX::DiscretionRoundDirection); 405 FIELD_SET(*this, FIX::DiscretionScope); 406 FIELD_SET(*this, FIX::PeggedPrice); 407 FIELD_SET(*this, FIX::PeggedRefPrice); 408 FIELD_SET(*this, FIX::DiscretionPrice); 409 FIELD_SET(*this, FIX::TargetStrategy); 410 FIELD_SET(*this, FIX::NoStrategyParameters); 411 class NoStrategyParameters: public FIX::Group 412 { 413 public: NoStrategyParameters()414 NoStrategyParameters() : FIX::Group(957,958,FIX::message_order(958,959,960,0)) {} 415 FIELD_SET(*this, FIX::StrategyParameterName); 416 FIELD_SET(*this, FIX::StrategyParameterType); 417 FIELD_SET(*this, FIX::StrategyParameterValue); 418 }; 419 FIELD_SET(*this, FIX::TargetStrategyParameters); 420 FIELD_SET(*this, FIX::ParticipationRate); 421 FIELD_SET(*this, FIX::TargetStrategyPerformance); 422 FIELD_SET(*this, FIX::Currency); 423 FIELD_SET(*this, FIX::ComplianceID); 424 FIELD_SET(*this, FIX::SolicitedFlag); 425 FIELD_SET(*this, FIX::TimeInForce); 426 FIELD_SET(*this, FIX::EffectiveTime); 427 FIELD_SET(*this, FIX::ExpireDate); 428 FIELD_SET(*this, FIX::ExpireTime); 429 FIELD_SET(*this, FIX::ExecInst); 430 FIELD_SET(*this, FIX::AggressorIndicator); 431 FIELD_SET(*this, FIX::OrderCapacity); 432 FIELD_SET(*this, FIX::OrderRestrictions); 433 FIELD_SET(*this, FIX::PreTradeAnonymity); 434 FIELD_SET(*this, FIX::CustOrderCapacity); 435 FIELD_SET(*this, FIX::LastQty); 436 FIELD_SET(*this, FIX::CalculatedCcyLastQty); 437 FIELD_SET(*this, FIX::LastSwapPoints); 438 FIELD_SET(*this, FIX::UnderlyingLastQty); 439 FIELD_SET(*this, FIX::LastPx); 440 FIELD_SET(*this, FIX::UnderlyingLastPx); 441 FIELD_SET(*this, FIX::LastParPx); 442 FIELD_SET(*this, FIX::LastSpotRate); 443 FIELD_SET(*this, FIX::LastForwardPoints); 444 FIELD_SET(*this, FIX::LastMkt); 445 FIELD_SET(*this, FIX::TradingSessionID); 446 FIELD_SET(*this, FIX::TradingSessionSubID); 447 FIELD_SET(*this, FIX::TimeBracket); 448 FIELD_SET(*this, FIX::LastCapacity); 449 FIELD_SET(*this, FIX::LeavesQty); 450 FIELD_SET(*this, FIX::CumQty); 451 FIELD_SET(*this, FIX::AvgPx); 452 FIELD_SET(*this, FIX::DayOrderQty); 453 FIELD_SET(*this, FIX::DayCumQty); 454 FIELD_SET(*this, FIX::DayAvgPx); 455 FIELD_SET(*this, FIX::TotNoFills); 456 FIELD_SET(*this, FIX::LastFragment); 457 FIELD_SET(*this, FIX::NoFills); 458 class NoFills: public FIX::Group 459 { 460 public: NoFills()461 NoFills() : FIX::Group(1362,1363,FIX::message_order(1363,1364,1365,1414,0)) {} 462 FIELD_SET(*this, FIX::FillExecID); 463 FIELD_SET(*this, FIX::FillPx); 464 FIELD_SET(*this, FIX::FillQty); 465 FIELD_SET(*this, FIX::NoNested4PartyIDs); 466 class NoNested4PartyIDs: public FIX::Group 467 { 468 public: NoNested4PartyIDs()469 NoNested4PartyIDs() : FIX::Group(1414,1415,FIX::message_order(1415,1416,1417,1413,0)) {} 470 FIELD_SET(*this, FIX::Nested4PartyID); 471 FIELD_SET(*this, FIX::Nested4PartyIDSource); 472 FIELD_SET(*this, FIX::Nested4PartyRole); 473 FIELD_SET(*this, FIX::NoNested4PartySubIDs); 474 class NoNested4PartySubIDs: public FIX::Group 475 { 476 public: NoNested4PartySubIDs()477 NoNested4PartySubIDs() : FIX::Group(1413,1412,FIX::message_order(1412,1411,0)) {} 478 FIELD_SET(*this, FIX::Nested4PartySubID); 479 FIELD_SET(*this, FIX::Nested4PartySubIDType); 480 }; 481 }; 482 }; 483 FIELD_SET(*this, FIX::GTBookingInst); 484 FIELD_SET(*this, FIX::TradeDate); 485 FIELD_SET(*this, FIX::TransactTime); 486 FIELD_SET(*this, FIX::ReportToExch); 487 FIELD_SET(*this, FIX::Commission); 488 FIELD_SET(*this, FIX::CommType); 489 FIELD_SET(*this, FIX::CommCurrency); 490 FIELD_SET(*this, FIX::FundRenewWaiv); 491 FIELD_SET(*this, FIX::Spread); 492 FIELD_SET(*this, FIX::BenchmarkCurveCurrency); 493 FIELD_SET(*this, FIX::BenchmarkCurveName); 494 FIELD_SET(*this, FIX::BenchmarkCurvePoint); 495 FIELD_SET(*this, FIX::BenchmarkPrice); 496 FIELD_SET(*this, FIX::BenchmarkPriceType); 497 FIELD_SET(*this, FIX::BenchmarkSecurityID); 498 FIELD_SET(*this, FIX::BenchmarkSecurityIDSource); 499 FIELD_SET(*this, FIX::YieldType); 500 FIELD_SET(*this, FIX::Yield); 501 FIELD_SET(*this, FIX::YieldCalcDate); 502 FIELD_SET(*this, FIX::YieldRedemptionDate); 503 FIELD_SET(*this, FIX::YieldRedemptionPrice); 504 FIELD_SET(*this, FIX::YieldRedemptionPriceType); 505 FIELD_SET(*this, FIX::GrossTradeAmt); 506 FIELD_SET(*this, FIX::NumDaysInterest); 507 FIELD_SET(*this, FIX::ExDate); 508 FIELD_SET(*this, FIX::AccruedInterestRate); 509 FIELD_SET(*this, FIX::AccruedInterestAmt); 510 FIELD_SET(*this, FIX::InterestAtMaturity); 511 FIELD_SET(*this, FIX::EndAccruedInterestAmt); 512 FIELD_SET(*this, FIX::StartCash); 513 FIELD_SET(*this, FIX::EndCash); 514 FIELD_SET(*this, FIX::TradedFlatSwitch); 515 FIELD_SET(*this, FIX::BasisFeatureDate); 516 FIELD_SET(*this, FIX::BasisFeaturePrice); 517 FIELD_SET(*this, FIX::Concession); 518 FIELD_SET(*this, FIX::TotalTakedown); 519 FIELD_SET(*this, FIX::NetMoney); 520 FIELD_SET(*this, FIX::SettlCurrAmt); 521 FIELD_SET(*this, FIX::SettlCurrency); 522 FIELD_SET(*this, FIX::SettlCurrFxRate); 523 FIELD_SET(*this, FIX::SettlCurrFxRateCalc); 524 FIELD_SET(*this, FIX::HandlInst); 525 FIELD_SET(*this, FIX::MinQty); 526 FIELD_SET(*this, FIX::MatchIncrement); 527 FIELD_SET(*this, FIX::MaxPriceLevels); 528 FIELD_SET(*this, FIX::DisplayQty); 529 FIELD_SET(*this, FIX::SecondaryDisplayQty); 530 FIELD_SET(*this, FIX::DisplayWhen); 531 FIELD_SET(*this, FIX::DisplayMethod); 532 FIELD_SET(*this, FIX::DisplayLowQty); 533 FIELD_SET(*this, FIX::DisplayHighQty); 534 FIELD_SET(*this, FIX::DisplayMinIncr); 535 FIELD_SET(*this, FIX::RefreshQty); 536 FIELD_SET(*this, FIX::MaxFloor); 537 FIELD_SET(*this, FIX::PositionEffect); 538 FIELD_SET(*this, FIX::MaxShow); 539 FIELD_SET(*this, FIX::BookingType); 540 FIELD_SET(*this, FIX::Text); 541 FIELD_SET(*this, FIX::EncodedTextLen); 542 FIELD_SET(*this, FIX::EncodedText); 543 FIELD_SET(*this, FIX::SettlDate2); 544 FIELD_SET(*this, FIX::OrderQty2); 545 FIELD_SET(*this, FIX::LastForwardPoints2); 546 FIELD_SET(*this, FIX::MultiLegReportingType); 547 FIELD_SET(*this, FIX::CancellationRights); 548 FIELD_SET(*this, FIX::MoneyLaunderingStatus); 549 FIELD_SET(*this, FIX::RegistID); 550 FIELD_SET(*this, FIX::Designation); 551 FIELD_SET(*this, FIX::TransBkdTime); 552 FIELD_SET(*this, FIX::ExecValuationPoint); 553 FIELD_SET(*this, FIX::ExecPriceType); 554 FIELD_SET(*this, FIX::ExecPriceAdjustment); 555 FIELD_SET(*this, FIX::PriorityIndicator); 556 FIELD_SET(*this, FIX::PriceImprovement); 557 FIELD_SET(*this, FIX::LastLiquidityInd); 558 FIELD_SET(*this, FIX::NoContAmts); 559 class NoContAmts: public FIX::Group 560 { 561 public: NoContAmts()562 NoContAmts() : FIX::Group(518,519,FIX::message_order(519,520,521,0)) {} 563 FIELD_SET(*this, FIX::ContAmtType); 564 FIELD_SET(*this, FIX::ContAmtValue); 565 FIELD_SET(*this, FIX::ContAmtCurr); 566 }; 567 FIELD_SET(*this, FIX::NoLegs); 568 class NoLegs: public FIX::Group 569 { 570 public: NoLegs()571 NoLegs() : FIX::Group(555,600,FIX::message_order(600,601,602,603,607,608,609,764,610,611,1212,248,249,250,251,252,253,257,599,596,597,598,254,612,942,613,614,999,1224,1421,1422,1001,1420,615,616,617,618,619,620,621,622,623,624,556,740,739,955,956,1358,1017,687,685,690,683,1366,670,564,565,948,654,587,588,637,675,1073,1074,1075,1379,1381,1383,1384,1418,0)) {} 572 FIELD_SET(*this, FIX::LegSymbol); 573 FIELD_SET(*this, FIX::LegSymbolSfx); 574 FIELD_SET(*this, FIX::LegSecurityID); 575 FIELD_SET(*this, FIX::LegSecurityIDSource); 576 FIELD_SET(*this, FIX::NoLegSecurityAltID); 577 class NoLegSecurityAltID: public FIX::Group 578 { 579 public: NoLegSecurityAltID()580 NoLegSecurityAltID() : FIX::Group(604,605,FIX::message_order(605,606,0)) {} 581 FIELD_SET(*this, FIX::LegSecurityAltID); 582 FIELD_SET(*this, FIX::LegSecurityAltIDSource); 583 }; 584 FIELD_SET(*this, FIX::LegProduct); 585 FIELD_SET(*this, FIX::LegCFICode); 586 FIELD_SET(*this, FIX::LegSecurityType); 587 FIELD_SET(*this, FIX::LegSecuritySubType); 588 FIELD_SET(*this, FIX::LegMaturityMonthYear); 589 FIELD_SET(*this, FIX::LegMaturityDate); 590 FIELD_SET(*this, FIX::LegMaturityTime); 591 FIELD_SET(*this, FIX::LegCouponPaymentDate); 592 FIELD_SET(*this, FIX::LegIssueDate); 593 FIELD_SET(*this, FIX::LegRepoCollateralSecurityType); 594 FIELD_SET(*this, FIX::LegRepurchaseTerm); 595 FIELD_SET(*this, FIX::LegRepurchaseRate); 596 FIELD_SET(*this, FIX::LegFactor); 597 FIELD_SET(*this, FIX::LegCreditRating); 598 FIELD_SET(*this, FIX::LegInstrRegistry); 599 FIELD_SET(*this, FIX::LegCountryOfIssue); 600 FIELD_SET(*this, FIX::LegStateOrProvinceOfIssue); 601 FIELD_SET(*this, FIX::LegLocaleOfIssue); 602 FIELD_SET(*this, FIX::LegRedemptionDate); 603 FIELD_SET(*this, FIX::LegStrikePrice); 604 FIELD_SET(*this, FIX::LegStrikeCurrency); 605 FIELD_SET(*this, FIX::LegOptAttribute); 606 FIELD_SET(*this, FIX::LegContractMultiplier); 607 FIELD_SET(*this, FIX::LegUnitOfMeasure); 608 FIELD_SET(*this, FIX::LegUnitOfMeasureQty); 609 FIELD_SET(*this, FIX::LegPriceUnitOfMeasure); 610 FIELD_SET(*this, FIX::LegPriceUnitOfMeasureQty); 611 FIELD_SET(*this, FIX::LegTimeUnit); 612 FIELD_SET(*this, FIX::LegExerciseStyle); 613 FIELD_SET(*this, FIX::LegCouponRate); 614 FIELD_SET(*this, FIX::LegSecurityExchange); 615 FIELD_SET(*this, FIX::LegIssuer); 616 FIELD_SET(*this, FIX::EncodedLegIssuerLen); 617 FIELD_SET(*this, FIX::EncodedLegIssuer); 618 FIELD_SET(*this, FIX::LegSecurityDesc); 619 FIELD_SET(*this, FIX::EncodedLegSecurityDescLen); 620 FIELD_SET(*this, FIX::EncodedLegSecurityDesc); 621 FIELD_SET(*this, FIX::LegRatioQty); 622 FIELD_SET(*this, FIX::LegSide); 623 FIELD_SET(*this, FIX::LegCurrency); 624 FIELD_SET(*this, FIX::LegPool); 625 FIELD_SET(*this, FIX::LegDatedDate); 626 FIELD_SET(*this, FIX::LegContractSettlMonth); 627 FIELD_SET(*this, FIX::LegInterestAccrualDate); 628 FIELD_SET(*this, FIX::LegPutOrCall); 629 FIELD_SET(*this, FIX::LegOptionRatio); 630 FIELD_SET(*this, FIX::LegQty); 631 FIELD_SET(*this, FIX::LegOrderQty); 632 FIELD_SET(*this, FIX::LegSwapType); 633 FIELD_SET(*this, FIX::NoLegStipulations); 634 class NoLegStipulations: public FIX::Group 635 { 636 public: NoLegStipulations()637 NoLegStipulations() : FIX::Group(683,688,FIX::message_order(688,689,0)) {} 638 FIELD_SET(*this, FIX::LegStipulationType); 639 FIELD_SET(*this, FIX::LegStipulationValue); 640 }; 641 FIELD_SET(*this, FIX::LegAllocID); 642 FIELD_SET(*this, FIX::NoLegAllocs); 643 class NoLegAllocs: public FIX::Group 644 { 645 public: NoLegAllocs()646 NoLegAllocs() : FIX::Group(670,671,FIX::message_order(671,672,756,673,674,1367,0)) {} 647 FIELD_SET(*this, FIX::LegAllocAccount); 648 FIELD_SET(*this, FIX::LegIndividualAllocID); 649 FIELD_SET(*this, FIX::NoNested2PartyIDs); 650 class NoNested2PartyIDs: public FIX::Group 651 { 652 public: NoNested2PartyIDs()653 NoNested2PartyIDs() : FIX::Group(756,757,FIX::message_order(757,758,759,806,0)) {} 654 FIELD_SET(*this, FIX::Nested2PartyID); 655 FIELD_SET(*this, FIX::Nested2PartyIDSource); 656 FIELD_SET(*this, FIX::Nested2PartyRole); 657 FIELD_SET(*this, FIX::NoNested2PartySubIDs); 658 class NoNested2PartySubIDs: public FIX::Group 659 { 660 public: NoNested2PartySubIDs()661 NoNested2PartySubIDs() : FIX::Group(806,760,FIX::message_order(760,807,0)) {} 662 FIELD_SET(*this, FIX::Nested2PartySubID); 663 FIELD_SET(*this, FIX::Nested2PartySubIDType); 664 }; 665 }; 666 FIELD_SET(*this, FIX::LegAllocQty); 667 FIELD_SET(*this, FIX::LegAllocAcctIDSource); 668 FIELD_SET(*this, FIX::LegAllocSettlCurrency); 669 }; 670 FIELD_SET(*this, FIX::LegPositionEffect); 671 FIELD_SET(*this, FIX::LegCoveredOrUncovered); 672 FIELD_SET(*this, FIX::NoNested3PartyIDs); 673 class NoNested3PartyIDs: public FIX::Group 674 { 675 public: NoNested3PartyIDs()676 NoNested3PartyIDs() : FIX::Group(948,949,FIX::message_order(949,950,951,952,0)) {} 677 FIELD_SET(*this, FIX::Nested3PartyID); 678 FIELD_SET(*this, FIX::Nested3PartyIDSource); 679 FIELD_SET(*this, FIX::Nested3PartyRole); 680 FIELD_SET(*this, FIX::NoNested3PartySubIDs); 681 class NoNested3PartySubIDs: public FIX::Group 682 { 683 public: NoNested3PartySubIDs()684 NoNested3PartySubIDs() : FIX::Group(952,953,FIX::message_order(953,954,0)) {} 685 FIELD_SET(*this, FIX::Nested3PartySubID); 686 FIELD_SET(*this, FIX::Nested3PartySubIDType); 687 }; 688 }; 689 FIELD_SET(*this, FIX::LegRefID); 690 FIELD_SET(*this, FIX::LegSettlType); 691 FIELD_SET(*this, FIX::LegSettlDate); 692 FIELD_SET(*this, FIX::LegLastPx); 693 FIELD_SET(*this, FIX::LegSettlCurrency); 694 FIELD_SET(*this, FIX::LegLastForwardPoints); 695 FIELD_SET(*this, FIX::LegCalculatedCcyLastQty); 696 FIELD_SET(*this, FIX::LegGrossTradeAmt); 697 FIELD_SET(*this, FIX::LegVolatility); 698 FIELD_SET(*this, FIX::LegDividendYield); 699 FIELD_SET(*this, FIX::LegCurrencyRatio); 700 FIELD_SET(*this, FIX::LegExecInst); 701 FIELD_SET(*this, FIX::LegLastQty); 702 }; 703 FIELD_SET(*this, FIX::CopyMsgIndicator); 704 FIELD_SET(*this, FIX::NoMiscFees); 705 class NoMiscFees: public FIX::Group 706 { 707 public: NoMiscFees()708 NoMiscFees() : FIX::Group(136,137,FIX::message_order(137,138,139,891,0)) {} 709 FIELD_SET(*this, FIX::MiscFeeAmt); 710 FIELD_SET(*this, FIX::MiscFeeCurr); 711 FIELD_SET(*this, FIX::MiscFeeType); 712 FIELD_SET(*this, FIX::MiscFeeBasis); 713 }; 714 FIELD_SET(*this, FIX::DividendYield); 715 FIELD_SET(*this, FIX::ManualOrderIndicator); 716 FIELD_SET(*this, FIX::CustDirectedOrder); 717 FIELD_SET(*this, FIX::ReceivedDeptID); 718 FIELD_SET(*this, FIX::CustOrderHandlingInst); 719 FIELD_SET(*this, FIX::OrderHandlingInstSource); 720 FIELD_SET(*this, FIX::NoTrdRegTimestamps); 721 class NoTrdRegTimestamps: public FIX::Group 722 { 723 public: NoTrdRegTimestamps()724 NoTrdRegTimestamps() : FIX::Group(768,769,FIX::message_order(769,770,771,1033,1034,1035,0)) {} 725 FIELD_SET(*this, FIX::TrdRegTimestamp); 726 FIELD_SET(*this, FIX::TrdRegTimestampType); 727 FIELD_SET(*this, FIX::TrdRegTimestampOrigin); 728 FIELD_SET(*this, FIX::DeskType); 729 FIELD_SET(*this, FIX::DeskTypeSource); 730 FIELD_SET(*this, FIX::DeskOrderHandlingInst); 731 }; 732 FIELD_SET(*this, FIX::Volatility); 733 FIELD_SET(*this, FIX::TimeToExpiration); 734 FIELD_SET(*this, FIX::RiskFreeRate); 735 FIELD_SET(*this, FIX::PriceDelta); 736 }; 737 738 } 739 740 #endif 741