#ifndef FIX41_EXECUTIONREPORT_H #define FIX41_EXECUTIONREPORT_H #include "Message.h" namespace FIX41 { class ExecutionReport : public Message { public: ExecutionReport() : Message(MsgType()) {} ExecutionReport(const FIX::Message& m) : Message(m) {} ExecutionReport(const Message& m) : Message(m) {} ExecutionReport(const ExecutionReport& m) : Message(m) {} static FIX::MsgType MsgType() { return FIX::MsgType("8"); } ExecutionReport( const FIX::OrderID& aOrderID, const FIX::ExecID& aExecID, const FIX::ExecTransType& aExecTransType, const FIX::ExecType& aExecType, const FIX::OrdStatus& aOrdStatus, const FIX::Symbol& aSymbol, const FIX::Side& aSide, const FIX::OrderQty& aOrderQty, const FIX::LastShares& aLastShares, const FIX::LastPx& aLastPx, const FIX::LeavesQty& aLeavesQty, const FIX::CumQty& aCumQty, const FIX::AvgPx& aAvgPx ) : Message(MsgType()) { set(aOrderID); set(aExecID); set(aExecTransType); set(aExecType); set(aOrdStatus); set(aSymbol); set(aSide); set(aOrderQty); set(aLastShares); set(aLastPx); set(aLeavesQty); set(aCumQty); set(aAvgPx); } FIELD_SET(*this, FIX::OrderID); FIELD_SET(*this, FIX::SecondaryOrderID); FIELD_SET(*this, FIX::ClOrdID); FIELD_SET(*this, FIX::OrigClOrdID); FIELD_SET(*this, FIX::ClientID); FIELD_SET(*this, FIX::ExecBroker); FIELD_SET(*this, FIX::ListID); FIELD_SET(*this, FIX::ExecID); FIELD_SET(*this, FIX::ExecTransType); FIELD_SET(*this, FIX::ExecRefID); FIELD_SET(*this, FIX::ExecType); FIELD_SET(*this, FIX::OrdStatus); FIELD_SET(*this, FIX::OrdRejReason); FIELD_SET(*this, FIX::Account); FIELD_SET(*this, FIX::SettlmntTyp); FIELD_SET(*this, FIX::FutSettDate); FIELD_SET(*this, FIX::Symbol); FIELD_SET(*this, FIX::SymbolSfx); FIELD_SET(*this, FIX::SecurityID); FIELD_SET(*this, FIX::IDSource); FIELD_SET(*this, FIX::SecurityType); FIELD_SET(*this, FIX::MaturityMonthYear); FIELD_SET(*this, FIX::MaturityDay); FIELD_SET(*this, FIX::PutOrCall); FIELD_SET(*this, FIX::StrikePrice); FIELD_SET(*this, FIX::OptAttribute); FIELD_SET(*this, FIX::SecurityExchange); FIELD_SET(*this, FIX::Issuer); FIELD_SET(*this, FIX::SecurityDesc); FIELD_SET(*this, FIX::Side); FIELD_SET(*this, FIX::OrderQty); FIELD_SET(*this, FIX::OrdType); FIELD_SET(*this, FIX::Price); FIELD_SET(*this, FIX::StopPx); FIELD_SET(*this, FIX::PegDifference); FIELD_SET(*this, FIX::Currency); FIELD_SET(*this, FIX::TimeInForce); FIELD_SET(*this, FIX::ExpireTime); FIELD_SET(*this, FIX::ExecInst); FIELD_SET(*this, FIX::Rule80A); FIELD_SET(*this, FIX::LastShares); FIELD_SET(*this, FIX::LastPx); FIELD_SET(*this, FIX::LastSpotRate); FIELD_SET(*this, FIX::LastForwardPoints); FIELD_SET(*this, FIX::LastMkt); FIELD_SET(*this, FIX::LastCapacity); FIELD_SET(*this, FIX::LeavesQty); FIELD_SET(*this, FIX::CumQty); FIELD_SET(*this, FIX::AvgPx); FIELD_SET(*this, FIX::TradeDate); FIELD_SET(*this, FIX::TransactTime); FIELD_SET(*this, FIX::ReportToExch); FIELD_SET(*this, FIX::Commission); FIELD_SET(*this, FIX::CommType); FIELD_SET(*this, FIX::SettlCurrAmt); FIELD_SET(*this, FIX::SettlCurrency); FIELD_SET(*this, FIX::SettlCurrFxRate); FIELD_SET(*this, FIX::SettlCurrFxRateCalc); FIELD_SET(*this, FIX::Text); }; } #endif