[FX-669] Execution Report - functions returns empty values - Fix8 JIRA

Execution Report - functions returns empty values

Description

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:

This part of code is executed only if field ExecType(150) is 'F'

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;

attached the users' view

Feel free to ask me for any further detail

Best Regards
Daniele Basaldella

Environment

No LSB modules are available.
Distributor ID: LinuxMint
Description: Linux Mint 17.3 Rosa
Release: 17.3
Codename: rosa

FIX protocol - 4.4

Status

Assignee

David Dight

Reporter

daniele

Labels

Branch

dev

Products

Open Source

Components

Fix versions

Affects versions

1.3.4

Priority

Pending