1 #ifndef FIX50_COLLATERALREQUEST_H 2 #define FIX50_COLLATERALREQUEST_H 3 4 #include "Message.h" 5 6 namespace FIX50 7 { 8 9 class CollateralRequest : public Message 10 { 11 public: CollateralRequest()12 CollateralRequest() : Message(MsgType()) {} CollateralRequest(const FIX::Message & m)13 CollateralRequest(const FIX::Message& m) : Message(m) {} CollateralRequest(const Message & m)14 CollateralRequest(const Message& m) : Message(m) {} CollateralRequest(const CollateralRequest & m)15 CollateralRequest(const CollateralRequest& m) : Message(m) {} MsgType()16 static FIX::MsgType MsgType() { return FIX::MsgType("AX"); } 17 CollateralRequest(const FIX::CollReqID & aCollReqID,const FIX::CollAsgnReason & aCollAsgnReason,const FIX::TransactTime & aTransactTime)18 CollateralRequest( 19 const FIX::CollReqID& aCollReqID, 20 const FIX::CollAsgnReason& aCollAsgnReason, 21 const FIX::TransactTime& aTransactTime ) 22 : Message(MsgType()) 23 { 24 set(aCollReqID); 25 set(aCollAsgnReason); 26 set(aTransactTime); 27 } 28 29 FIELD_SET(*this, FIX::CollReqID); 30 FIELD_SET(*this, FIX::CollAsgnReason); 31 FIELD_SET(*this, FIX::TransactTime); 32 FIELD_SET(*this, FIX::ExpireTime); 33 FIELD_SET(*this, FIX::NoPartyIDs); 34 class NoPartyIDs: public FIX::Group 35 { 36 public: NoPartyIDs()37 NoPartyIDs() : FIX::Group(453,448,FIX::message_order(448,447,452,802,0)) {} 38 FIELD_SET(*this, FIX::PartyID); 39 FIELD_SET(*this, FIX::PartyIDSource); 40 FIELD_SET(*this, FIX::PartyRole); 41 FIELD_SET(*this, FIX::NoPartySubIDs); 42 class NoPartySubIDs: public FIX::Group 43 { 44 public: NoPartySubIDs()45 NoPartySubIDs() : FIX::Group(802,523,FIX::message_order(523,803,0)) {} 46 FIELD_SET(*this, FIX::PartySubID); 47 FIELD_SET(*this, FIX::PartySubIDType); 48 }; 49 }; 50 FIELD_SET(*this, FIX::Account); 51 FIELD_SET(*this, FIX::AccountType); 52 FIELD_SET(*this, FIX::ClOrdID); 53 FIELD_SET(*this, FIX::OrderID); 54 FIELD_SET(*this, FIX::SecondaryOrderID); 55 FIELD_SET(*this, FIX::SecondaryClOrdID); 56 FIELD_SET(*this, FIX::NoExecs); 57 class NoExecs: public FIX::Group 58 { 59 public: NoExecs()60 NoExecs() : FIX::Group(124,17,FIX::message_order(17,0)) {} 61 FIELD_SET(*this, FIX::ExecID); 62 }; 63 FIELD_SET(*this, FIX::NoTrades); 64 class NoTrades: public FIX::Group 65 { 66 public: NoTrades()67 NoTrades() : FIX::Group(897,571,FIX::message_order(571,818,0)) {} 68 FIELD_SET(*this, FIX::TradeReportID); 69 FIELD_SET(*this, FIX::SecondaryTradeReportID); 70 }; 71 FIELD_SET(*this, FIX::Symbol); 72 FIELD_SET(*this, FIX::SymbolSfx); 73 FIELD_SET(*this, FIX::SecurityID); 74 FIELD_SET(*this, FIX::SecurityIDSource); 75 FIELD_SET(*this, FIX::NoSecurityAltID); 76 class NoSecurityAltID: public FIX::Group 77 { 78 public: NoSecurityAltID()79 NoSecurityAltID() : FIX::Group(454,455,FIX::message_order(455,456,0)) {} 80 FIELD_SET(*this, FIX::SecurityAltID); 81 FIELD_SET(*this, FIX::SecurityAltIDSource); 82 }; 83 FIELD_SET(*this, FIX::Product); 84 FIELD_SET(*this, FIX::CFICode); 85 FIELD_SET(*this, FIX::SecurityType); 86 FIELD_SET(*this, FIX::SecuritySubType); 87 FIELD_SET(*this, FIX::MaturityMonthYear); 88 FIELD_SET(*this, FIX::MaturityDate); 89 FIELD_SET(*this, FIX::MaturityTime); 90 FIELD_SET(*this, FIX::PutOrCall); 91 FIELD_SET(*this, FIX::SettleOnOpenFlag); 92 FIELD_SET(*this, FIX::InstrmtAssignmentMethod); 93 FIELD_SET(*this, FIX::SecurityStatus); 94 FIELD_SET(*this, FIX::CouponPaymentDate); 95 FIELD_SET(*this, FIX::IssueDate); 96 FIELD_SET(*this, FIX::RepoCollateralSecurityType); 97 FIELD_SET(*this, FIX::RepurchaseTerm); 98 FIELD_SET(*this, FIX::RepurchaseRate); 99 FIELD_SET(*this, FIX::Factor); 100 FIELD_SET(*this, FIX::CreditRating); 101 FIELD_SET(*this, FIX::InstrRegistry); 102 FIELD_SET(*this, FIX::CountryOfIssue); 103 FIELD_SET(*this, FIX::StateOrProvinceOfIssue); 104 FIELD_SET(*this, FIX::LocaleOfIssue); 105 FIELD_SET(*this, FIX::RedemptionDate); 106 FIELD_SET(*this, FIX::StrikePrice); 107 FIELD_SET(*this, FIX::StrikeCurrency); 108 FIELD_SET(*this, FIX::StrikeMultiplier); 109 FIELD_SET(*this, FIX::StrikeValue); 110 FIELD_SET(*this, FIX::OptAttribute); 111 FIELD_SET(*this, FIX::ContractMultiplier); 112 FIELD_SET(*this, FIX::MinPriceIncrement); 113 FIELD_SET(*this, FIX::UnitOfMeasure); 114 FIELD_SET(*this, FIX::TimeUnit); 115 FIELD_SET(*this, FIX::CouponRate); 116 FIELD_SET(*this, FIX::SecurityExchange); 117 FIELD_SET(*this, FIX::PositionLimit); 118 FIELD_SET(*this, FIX::NTPositionLimit); 119 FIELD_SET(*this, FIX::Issuer); 120 FIELD_SET(*this, FIX::EncodedIssuerLen); 121 FIELD_SET(*this, FIX::EncodedIssuer); 122 FIELD_SET(*this, FIX::SecurityDesc); 123 FIELD_SET(*this, FIX::EncodedSecurityDescLen); 124 FIELD_SET(*this, FIX::EncodedSecurityDesc); 125 FIELD_SET(*this, FIX::Pool); 126 FIELD_SET(*this, FIX::ContractSettlMonth); 127 FIELD_SET(*this, FIX::CPProgram); 128 FIELD_SET(*this, FIX::CPRegType); 129 FIELD_SET(*this, FIX::NoEvents); 130 class NoEvents: public FIX::Group 131 { 132 public: NoEvents()133 NoEvents() : FIX::Group(864,865,FIX::message_order(865,866,867,868,0)) {} 134 FIELD_SET(*this, FIX::EventType); 135 FIELD_SET(*this, FIX::EventDate); 136 FIELD_SET(*this, FIX::EventPx); 137 FIELD_SET(*this, FIX::EventText); 138 }; 139 FIELD_SET(*this, FIX::DatedDate); 140 FIELD_SET(*this, FIX::InterestAccrualDate); 141 FIELD_SET(*this, FIX::NoInstrumentParties); 142 class NoInstrumentParties: public FIX::Group 143 { 144 public: NoInstrumentParties()145 NoInstrumentParties() : FIX::Group(1018,1019,FIX::message_order(1019,1050,1051,1052,0)) {} 146 FIELD_SET(*this, FIX::InstrumentPartyID); 147 FIELD_SET(*this, FIX::InstrumentPartyIDSource); 148 FIELD_SET(*this, FIX::InstrumentPartyRole); 149 FIELD_SET(*this, FIX::NoInstrumentPartySubIDs); 150 class NoInstrumentPartySubIDs: public FIX::Group 151 { 152 public: NoInstrumentPartySubIDs()153 NoInstrumentPartySubIDs() : FIX::Group(1052,1053,FIX::message_order(1053,1054,0)) {} 154 FIELD_SET(*this, FIX::InstrumentPartySubID); 155 FIELD_SET(*this, FIX::InstrumentPartySubIDType); 156 }; 157 }; 158 FIELD_SET(*this, FIX::AgreementDesc); 159 FIELD_SET(*this, FIX::AgreementID); 160 FIELD_SET(*this, FIX::AgreementDate); 161 FIELD_SET(*this, FIX::AgreementCurrency); 162 FIELD_SET(*this, FIX::TerminationType); 163 FIELD_SET(*this, FIX::StartDate); 164 FIELD_SET(*this, FIX::EndDate); 165 FIELD_SET(*this, FIX::DeliveryType); 166 FIELD_SET(*this, FIX::MarginRatio); 167 FIELD_SET(*this, FIX::SettlDate); 168 FIELD_SET(*this, FIX::Quantity); 169 FIELD_SET(*this, FIX::QtyType); 170 FIELD_SET(*this, FIX::Currency); 171 FIELD_SET(*this, FIX::NoLegs); 172 class NoLegs: public FIX::Group 173 { 174 public: NoLegs()175 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,999,1001,615,616,617,618,619,620,621,622,623,624,556,740,739,955,956,1017,0)) {} 176 FIELD_SET(*this, FIX::LegSymbol); 177 FIELD_SET(*this, FIX::LegSymbolSfx); 178 FIELD_SET(*this, FIX::LegSecurityID); 179 FIELD_SET(*this, FIX::LegSecurityIDSource); 180 FIELD_SET(*this, FIX::NoLegSecurityAltID); 181 class NoLegSecurityAltID: public FIX::Group 182 { 183 public: NoLegSecurityAltID()184 NoLegSecurityAltID() : FIX::Group(604,605,FIX::message_order(605,606,0)) {} 185 FIELD_SET(*this, FIX::LegSecurityAltID); 186 FIELD_SET(*this, FIX::LegSecurityAltIDSource); 187 }; 188 FIELD_SET(*this, FIX::LegProduct); 189 FIELD_SET(*this, FIX::LegCFICode); 190 FIELD_SET(*this, FIX::LegSecurityType); 191 FIELD_SET(*this, FIX::LegSecuritySubType); 192 FIELD_SET(*this, FIX::LegMaturityMonthYear); 193 FIELD_SET(*this, FIX::LegMaturityDate); 194 FIELD_SET(*this, FIX::LegCouponPaymentDate); 195 FIELD_SET(*this, FIX::LegIssueDate); 196 FIELD_SET(*this, FIX::LegRepoCollateralSecurityType); 197 FIELD_SET(*this, FIX::LegRepurchaseTerm); 198 FIELD_SET(*this, FIX::LegRepurchaseRate); 199 FIELD_SET(*this, FIX::LegFactor); 200 FIELD_SET(*this, FIX::LegCreditRating); 201 FIELD_SET(*this, FIX::LegInstrRegistry); 202 FIELD_SET(*this, FIX::LegCountryOfIssue); 203 FIELD_SET(*this, FIX::LegStateOrProvinceOfIssue); 204 FIELD_SET(*this, FIX::LegLocaleOfIssue); 205 FIELD_SET(*this, FIX::LegRedemptionDate); 206 FIELD_SET(*this, FIX::LegStrikePrice); 207 FIELD_SET(*this, FIX::LegStrikeCurrency); 208 FIELD_SET(*this, FIX::LegOptAttribute); 209 FIELD_SET(*this, FIX::LegContractMultiplier); 210 FIELD_SET(*this, FIX::LegUnitOfMeasure); 211 FIELD_SET(*this, FIX::LegTimeUnit); 212 FIELD_SET(*this, FIX::LegCouponRate); 213 FIELD_SET(*this, FIX::LegSecurityExchange); 214 FIELD_SET(*this, FIX::LegIssuer); 215 FIELD_SET(*this, FIX::EncodedLegIssuerLen); 216 FIELD_SET(*this, FIX::EncodedLegIssuer); 217 FIELD_SET(*this, FIX::LegSecurityDesc); 218 FIELD_SET(*this, FIX::EncodedLegSecurityDescLen); 219 FIELD_SET(*this, FIX::EncodedLegSecurityDesc); 220 FIELD_SET(*this, FIX::LegRatioQty); 221 FIELD_SET(*this, FIX::LegSide); 222 FIELD_SET(*this, FIX::LegCurrency); 223 FIELD_SET(*this, FIX::LegPool); 224 FIELD_SET(*this, FIX::LegDatedDate); 225 FIELD_SET(*this, FIX::LegContractSettlMonth); 226 FIELD_SET(*this, FIX::LegInterestAccrualDate); 227 FIELD_SET(*this, FIX::LegOptionRatio); 228 }; 229 FIELD_SET(*this, FIX::NoUnderlyings); 230 class NoUnderlyings: public FIX::Group 231 { 232 public: NoUnderlyings()233 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,998,1000,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,944,0)) {} 234 FIELD_SET(*this, FIX::UnderlyingSymbol); 235 FIELD_SET(*this, FIX::UnderlyingSymbolSfx); 236 FIELD_SET(*this, FIX::UnderlyingSecurityID); 237 FIELD_SET(*this, FIX::UnderlyingSecurityIDSource); 238 FIELD_SET(*this, FIX::NoUnderlyingSecurityAltID); 239 class NoUnderlyingSecurityAltID: public FIX::Group 240 { 241 public: NoUnderlyingSecurityAltID()242 NoUnderlyingSecurityAltID() : FIX::Group(457,458,FIX::message_order(458,459,0)) {} 243 FIELD_SET(*this, FIX::UnderlyingSecurityAltID); 244 FIELD_SET(*this, FIX::UnderlyingSecurityAltIDSource); 245 }; 246 FIELD_SET(*this, FIX::UnderlyingProduct); 247 FIELD_SET(*this, FIX::UnderlyingCFICode); 248 FIELD_SET(*this, FIX::UnderlyingSecurityType); 249 FIELD_SET(*this, FIX::UnderlyingSecuritySubType); 250 FIELD_SET(*this, FIX::UnderlyingMaturityMonthYear); 251 FIELD_SET(*this, FIX::UnderlyingMaturityDate); 252 FIELD_SET(*this, FIX::UnderlyingPutOrCall); 253 FIELD_SET(*this, FIX::UnderlyingCouponPaymentDate); 254 FIELD_SET(*this, FIX::UnderlyingIssueDate); 255 FIELD_SET(*this, FIX::UnderlyingRepoCollateralSecurityType); 256 FIELD_SET(*this, FIX::UnderlyingRepurchaseTerm); 257 FIELD_SET(*this, FIX::UnderlyingRepurchaseRate); 258 FIELD_SET(*this, FIX::UnderlyingFactor); 259 FIELD_SET(*this, FIX::UnderlyingCreditRating); 260 FIELD_SET(*this, FIX::UnderlyingInstrRegistry); 261 FIELD_SET(*this, FIX::UnderlyingCountryOfIssue); 262 FIELD_SET(*this, FIX::UnderlyingStateOrProvinceOfIssue); 263 FIELD_SET(*this, FIX::UnderlyingLocaleOfIssue); 264 FIELD_SET(*this, FIX::UnderlyingRedemptionDate); 265 FIELD_SET(*this, FIX::UnderlyingStrikePrice); 266 FIELD_SET(*this, FIX::UnderlyingStrikeCurrency); 267 FIELD_SET(*this, FIX::UnderlyingOptAttribute); 268 FIELD_SET(*this, FIX::UnderlyingContractMultiplier); 269 FIELD_SET(*this, FIX::UnderlyingUnitOfMeasure); 270 FIELD_SET(*this, FIX::UnderlyingTimeUnit); 271 FIELD_SET(*this, FIX::UnderlyingCouponRate); 272 FIELD_SET(*this, FIX::UnderlyingSecurityExchange); 273 FIELD_SET(*this, FIX::UnderlyingIssuer); 274 FIELD_SET(*this, FIX::EncodedUnderlyingIssuerLen); 275 FIELD_SET(*this, FIX::EncodedUnderlyingIssuer); 276 FIELD_SET(*this, FIX::UnderlyingSecurityDesc); 277 FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDescLen); 278 FIELD_SET(*this, FIX::EncodedUnderlyingSecurityDesc); 279 FIELD_SET(*this, FIX::UnderlyingCPProgram); 280 FIELD_SET(*this, FIX::UnderlyingCPRegType); 281 FIELD_SET(*this, FIX::UnderlyingAllocationPercent); 282 FIELD_SET(*this, FIX::UnderlyingCurrency); 283 FIELD_SET(*this, FIX::UnderlyingQty); 284 FIELD_SET(*this, FIX::UnderlyingSettlementType); 285 FIELD_SET(*this, FIX::UnderlyingCashAmount); 286 FIELD_SET(*this, FIX::UnderlyingCashType); 287 FIELD_SET(*this, FIX::UnderlyingPx); 288 FIELD_SET(*this, FIX::UnderlyingDirtyPrice); 289 FIELD_SET(*this, FIX::UnderlyingEndPrice); 290 FIELD_SET(*this, FIX::UnderlyingStartValue); 291 FIELD_SET(*this, FIX::UnderlyingCurrentValue); 292 FIELD_SET(*this, FIX::UnderlyingEndValue); 293 FIELD_SET(*this, FIX::NoUnderlyingStips); 294 class NoUnderlyingStips: public FIX::Group 295 { 296 public: NoUnderlyingStips()297 NoUnderlyingStips() : FIX::Group(887,888,FIX::message_order(888,889,0)) {} 298 FIELD_SET(*this, FIX::UnderlyingStipType); 299 FIELD_SET(*this, FIX::UnderlyingStipValue); 300 }; 301 FIELD_SET(*this, FIX::UnderlyingAdjustedQuantity); 302 FIELD_SET(*this, FIX::UnderlyingFXRate); 303 FIELD_SET(*this, FIX::UnderlyingFXRateCalc); 304 FIELD_SET(*this, FIX::UnderlyingCapValue); 305 FIELD_SET(*this, FIX::NoUndlyInstrumentParties); 306 class NoUndlyInstrumentParties: public FIX::Group 307 { 308 public: NoUndlyInstrumentParties()309 NoUndlyInstrumentParties() : FIX::Group(1058,1059,FIX::message_order(1059,1060,1061,1062,0)) {} 310 FIELD_SET(*this, FIX::UndlyInstrumentPartyID); 311 FIELD_SET(*this, FIX::UndlyInstrumentPartyIDSource); 312 FIELD_SET(*this, FIX::UndlyInstrumentPartyRole); 313 FIELD_SET(*this, FIX::NoUndlyInstrumentPartySubIDs); 314 class NoUndlyInstrumentPartySubIDs: public FIX::Group 315 { 316 public: NoUndlyInstrumentPartySubIDs()317 NoUndlyInstrumentPartySubIDs() : FIX::Group(1062,1063,FIX::message_order(1063,1064,0)) {} 318 FIELD_SET(*this, FIX::UndlyInstrumentPartySubID); 319 FIELD_SET(*this, FIX::UndlyInstrumentPartySubIDType); 320 }; 321 }; 322 FIELD_SET(*this, FIX::UnderlyingSettlMethod); 323 FIELD_SET(*this, FIX::CollAction); 324 }; 325 FIELD_SET(*this, FIX::MarginExcess); 326 FIELD_SET(*this, FIX::TotalNetValue); 327 FIELD_SET(*this, FIX::CashOutstanding); 328 FIELD_SET(*this, FIX::NoTrdRegTimestamps); 329 class NoTrdRegTimestamps: public FIX::Group 330 { 331 public: NoTrdRegTimestamps()332 NoTrdRegTimestamps() : FIX::Group(768,769,FIX::message_order(769,770,771,1033,1034,1035,0)) {} 333 FIELD_SET(*this, FIX::TrdRegTimestamp); 334 FIELD_SET(*this, FIX::TrdRegTimestampType); 335 FIELD_SET(*this, FIX::TrdRegTimestampOrigin); 336 FIELD_SET(*this, FIX::DeskType); 337 FIELD_SET(*this, FIX::DeskTypeSource); 338 FIELD_SET(*this, FIX::DeskOrderHandlingInst); 339 }; 340 FIELD_SET(*this, FIX::Side); 341 FIELD_SET(*this, FIX::NoMiscFees); 342 class NoMiscFees: public FIX::Group 343 { 344 public: NoMiscFees()345 NoMiscFees() : FIX::Group(136,137,FIX::message_order(137,138,139,891,0)) {} 346 FIELD_SET(*this, FIX::MiscFeeAmt); 347 FIELD_SET(*this, FIX::MiscFeeCurr); 348 FIELD_SET(*this, FIX::MiscFeeType); 349 FIELD_SET(*this, FIX::MiscFeeBasis); 350 }; 351 FIELD_SET(*this, FIX::Price); 352 FIELD_SET(*this, FIX::PriceType); 353 FIELD_SET(*this, FIX::AccruedInterestAmt); 354 FIELD_SET(*this, FIX::EndAccruedInterestAmt); 355 FIELD_SET(*this, FIX::StartCash); 356 FIELD_SET(*this, FIX::EndCash); 357 FIELD_SET(*this, FIX::Spread); 358 FIELD_SET(*this, FIX::BenchmarkCurveCurrency); 359 FIELD_SET(*this, FIX::BenchmarkCurveName); 360 FIELD_SET(*this, FIX::BenchmarkCurvePoint); 361 FIELD_SET(*this, FIX::BenchmarkPrice); 362 FIELD_SET(*this, FIX::BenchmarkPriceType); 363 FIELD_SET(*this, FIX::BenchmarkSecurityID); 364 FIELD_SET(*this, FIX::BenchmarkSecurityIDSource); 365 FIELD_SET(*this, FIX::NoStipulations); 366 class NoStipulations: public FIX::Group 367 { 368 public: NoStipulations()369 NoStipulations() : FIX::Group(232,233,FIX::message_order(233,234,0)) {} 370 FIELD_SET(*this, FIX::StipulationType); 371 FIELD_SET(*this, FIX::StipulationValue); 372 }; 373 FIELD_SET(*this, FIX::TradingSessionID); 374 FIELD_SET(*this, FIX::TradingSessionSubID); 375 FIELD_SET(*this, FIX::SettlSessID); 376 FIELD_SET(*this, FIX::SettlSessSubID); 377 FIELD_SET(*this, FIX::ClearingBusinessDate); 378 FIELD_SET(*this, FIX::Text); 379 FIELD_SET(*this, FIX::EncodedTextLen); 380 FIELD_SET(*this, FIX::EncodedText); 381 }; 382 383 } 384 385 #endif 386