Dear Support,
please look at this case. With one specific FIX broker I have the following issue on Execution Report messsages.
My application reads the message and the processing class do its job fine but the two functions to get CumQty and AvgPrx.
Here is the relevant portion of code and below the details of FIX messages and yours library log where the same data are correctly exposed:
bool Myfix_router_client::operator() (const FIX8::FIX4400::ExecutionReport *msg) const
{
.....
std::ostringstream oistr;
FIX8::FIX4400::ClOrdID ordID;
FIX8::FIX4400::Side side;
FIX8::FIX4400::SendingTime timesend;
FIX8::FIX4400::TransactTime transactTime;
FIX8::FIX4400::CumQty cumQty;
FIX8::FIX4400::AvgPx avePrx;
msg->get(ordID);
msg->get(side);
msg->Header()->get(timesend);
msg->get(transactTime);
msg->get(cumQty);
msg->get(avePrx);
oistr << "[" << QTime::currentTime().toString("HH:mm:ss.zzz").toStdString().c_str() << "] "
<< transactTime() << " : " // ok
<< ordID() << " FILLED "; // ok
msg->print_field(side.get_tag(), oistr); // side // ok
oistr << "\n cumQty=" << cumQty() // NO
// msg->print_field(14, oistr); // Cum Qty // NO
<< " AvePrx=" << avePrx(); // NO
.....
}
FIX MESSAGES:
1- REQUEST
2- RECEIVED BROKER SIDE
3- FILLED (see in this message the fields are filled)
No. Time Source Destination Protocol Length Info
1 2016-09-14 14:31:02.808860 127.0.0.1 127.0.0.1 FIX 230 NewOrderSingle
Frame 1: 230 bytes on wire (1840 bits), 230 bytes captured (1840 bits)
Ethernet II, Src: 00:00:00_00:00:00 (00:00:00:00:00:00), Dst: 00:00:00_00:00:00 (00:00:00:00:00:00)
Internet Protocol Version 4, Src: 127.0.0.1, Dst: 127.0.0.1
Transmission Control Protocol, Src Port: 39814, Dst Port: 41289, Seq: 1, Ack: 1, Len: 164
Financial Information eXchange Protocol
BeginString (8): FIX.4.4
BodyLength (9): 141
MsgType (35): D (ORDER SINGLE)
SenderCompID (49): XXXXXX-TRADE
TargetCompID (56): XXXXXX
MsgSeqNum (34): 18378
SendingTime (52): 20160914-12:31:02.808
ClOrdID (11): ORD167
Symbol (55): XXXX
Side (54): 1 (BUY)
TransactTime (60): 20160914-12:31:02.808
OrderQty (38): 1.0
OrdType (40): C (FOREX MARKET)
Currency (15): XXX
TimeInForce (59): 4 (FILL OR KILL)
CheckSum (10): 070 [correct]
No. Time Source Destination Protocol Length Info
2 2016-09-14 14:31:02.812406 127.0.0.1 127.0.0.1 FIX 324 ExecutionReport
Frame 2: 324 bytes on wire (2592 bits), 324 bytes captured (2592 bits)
Ethernet II, Src: 00:00:00_00:00:00 (00:00:00:00:00:00), Dst: 00:00:00_00:00:00 (00:00:00:00:00:00)
Internet Protocol Version 4, Src: 127.0.0.1, Dst: 127.0.0.1
Transmission Control Protocol, Src Port: 41289, Dst Port: 39814, Seq: 1, Ack: 165, Len: 258
Financial Information eXchange Protocol
BeginString (8): FIX.4.4
BodyLength (9): 235
MsgType (35): 8 (EXECUTION REPORT)
SenderCompID (49): XXXXXX
TargetCompID (56): XXXXXX-TRADE
MsgSeqNum (34): 18992
SendingTime (52): 20160914-12:31:02.810
OrderID (37): 1601000000587990
ClOrdID (11): ORD167
ExecID (17): 0
LastQty (32): 0
LastPx (31): 0.0
ExecType (150): 0 (NEW)
OrdStatus (39): 0 (NEW)
Symbol (55): XXXX
Product (460): 4 (CURRENCY)
Side (54): 1 (BUY)
7534: 1
OrderQty (38): 1
OrdType (40): C (FOREX MARKET)
Currency (15): XXX
LeavesQty (151): 1
Price (44): 0.0
AvgPx (6): 0.0000
StopPx (99): 0.0
CumQty (14): 0
MinQty (110): 1
TransactTime (60): 20160914-12:31:02.810
CheckSum (10): 105 [correct]
No. Time Source Destination Protocol Length Info
3 2016-09-14 14:31:02.838450 127.0.0.1 127.0.0.1 FIX 374 ExecutionReport
Frame 3: 374 bytes on wire (2992 bits), 374 bytes captured (2992 bits)
Ethernet II, Src: 00:00:00_00:00:00 (00:00:00:00:00:00), Dst: 00:00:00_00:00:00 (00:00:00:00:00:00)
Internet Protocol Version 4, Src: 127.0.0.1, Dst: 127.0.0.1
Transmission Control Protocol, Src Port: 41289, Dst Port: 39814, Seq: 259, Ack: 165, Len: 308
Financial Information eXchange Protocol
BeginString (8): FIX.4.4
BodyLength (9): 285
MsgType (35): 8 (EXECUTION REPORT)
SenderCompID (49): XXXXXX
TargetCompID (56): XXXXXX-TRADE
MsgSeqNum (34): 18993
SendingTime (52): 20160914-12:31:02.836
OrderID (37): 1601000000587990
ClOrdID (11): ORD167
NoPartyIDs (453): 1
PartyID (448): XXXXXX
PartyRole (452): 1 (EXECUTING FIRM)
ExecID (17): 1601000001241948
LastQty (32): 1
LastPx (31): 10429.1
ExecType (150): F (TRADE)
OrdStatus (39): 2 (FILLED)
Symbol (55): XXXX
Product (460): 4 (CURRENCY)
Side (54): 1 (BUY)
7534: 1
OrderQty (38): 1
OrdType (40): C (FOREX MARKET)
Currency (15): XXXX
LeavesQty (151): 0
Price (44): 0.0
AvgPx (6): 10429.1000
StopPx (99): 0.0
CumQty (14): 1
MinQty (110): 1
TransactTime (60): 20160914-12:31:02.835
CheckSum (10): 184 [correct]
LOGS:
8=FIX.4.4;9=141;35=D;49=XXXXX-TRADE;56=TS;34=18138;52=20160914-12:27:04.616;11=ORD165;55=XXX;54=1;60=20160914-12:27:04.616;38=1.0;40=C;15=XXX;59=4;10=070;
8=FIX.4.4;9=235;35=8;49=TS;56=XXXXX-TRADE;34=18742;52=20160914-12:27:04.620;37=1601000000587980;11=ORD165;17=0;32=0;31=0.0;150=0;39=0;55=XXX;460=4;54=1;7534=1;38=1;40=C;15=XXX;151=1;44=0.0;6=0.0000;99=0.0;14=0;110=1;60=20160914-12:27:04.618;10=114;
8=FIX.4.4;9=285;35=8;49=TS;56=XXXXX-TRADE;34=18743;52=20160914-12:27:04.702;37=1601000000587980;11=ORD165;453=1;448=XXXXX;452=1;17=1601000001241930;32=1;31=10430.1;150=F;39=2;55=XXXX;460=4;54=1;7534=1;38=1;40=C;15=XXX;151=0;44=0.0;6=10430.1000;99=0.0;14=1;110=1;60=20160914-12:27:04.700;10=146;
8=FIX.4.4;9=141;35=D;49=XXXXX-TRADE;56=TS;34=18162;52=20160914-12:27:28.256;11=ORD166;55=XXX;54=2;60=20160914-12:27:28.256;38=1.0;40=C;15=XXX;59=4;10=081;
8=FIX.4.4;9=235;35=8;49=TS;56=XXXXX-TRADE;34=18768;52=20160914-12:27:28.261;37=1601000000587982;11=ORD166;17=0;32=0;31=0.0;150=0;39=0;55=XXX;460=4;54=2;7534=2;38=1;40=C;15=XXX;151=1;44=0.0;6=0.0000;99=0.0;14=0;110=1;60=20160914-12:27:28.259;10=141;
8=FIX.4.4;9=285;35=8;49=TS;56=XXXXX-TRADE;34=18769;52=20160914-12:27:28.287;37=1601000000587982;11=ORD166;453=1;448=XXXXX;452=1;17=1601000001241933;32=1;31=10430.4;150=F;39=2;55=XXX;460=4;54=2;7534=2;38=1;40=C;15=XXX;151=0;44=0.0;6=10430.4000;99=0.0;14=1;110=1;60=20160914-12:27:28.286;10=197;
8=FIX.4.4;9=141;35=D;49=XXXXX-TRADE;56=TS;34=18378;52=20160914-12:31:02.808;11=ORD167;55=XXXX;54=1;60=20160914-12:31:02.808;38=1.0;40=C;15=XXX;59=4;10=070;
8=FIX.4.4;9=235;35=8;49=TS;56=XXXXX-TRADE;34=18992;52=20160914-12:31:02.810;37=1601000000587990;11=ORD167;17=0;32=0;31=0.0;150=0;39=0;55=XXXX;460=4;54=1;7534=1;38=1;40=C;15=XXX;151=1;44=0.0;6=0.0000;99=0.0;14=0;110=1;60=20160914-12:31:02.810;10=105;
8=FIX.4.4;9=285;35=8;49=TS;56=XXXXX-TRADE;34=18993;52=20160914-12:31:02.836;37=1601000000587990;11=ORD167;453=1;448=XXXXX;452=1;17=1601000001241948;32=1;31=10429.1;150=F;39=2;55=XXXX;460=4;54=1;7534=1;38=1;40=C;15=XXX;151=0;44=0.0;6=10429.1000;99=0.0;14=1;110=1;60=20160914-12:31:02.835;10=184;
8=FIX.4.4;9=141;35=D;49=XXXXX-TRADE;56=TS;34=18381;52=20160914-12:31:04.559;11=ORD168;55=XXXXX;54=2;60=20160914-12:31:04.559;38=1.0;40=C;15=XXX;59=4;10=076;
8=FIX.4.4;9=235;35=8;49=TS;56=XXXXX-TRADE;34=18996;52=20160914-12:31:04.562;37=1601000000587991;11=ORD168;17=0;32=0;31=0.0;150=0;39=0;55=XXXX;460=4;54=2;7534=2;38=1;40=C;15=XXX;151=1;44=0.0;6=0.0000;99=0.0;14=0;110=1;60=20160914-12:31:04.560;10=123;
8=FIX.4.4;9=285;35=8;49=TS;56=XXXXX-TRADE;34=18997;52=20160914-12:31:04.586;37=1601000000587991;11=ORD168;453=1;448=XXXXX;452=1;17=1601000001241949;32=1;31=10427.7;150=F;39=2;55=XXXX;460=4;54=2;7534=2;38=1;40=C;15=XXXX;151=0;44=0.0;6=10427.7000;99=0.0;14=1;110=1;60=20160914-12:31:04.585;10=209;
This is the user view

Feel free to ask me for any further detail
Best Regards
Daniele Basaldella