ClOrdId value for replaced/cancelled on fix 4.0

Imported from previous forum

I’d like a simple clarification on valid fix 4.0 behaviour based on counterparty behaviour for cancels.
Scenario
FIX.4.0
NewOrderSingle: 11=X
ExecRpt Ack: 11=X, 39=0
Cancel: 11=Y, 41=X
ExecRpt PendingCancel: 11=Y, 39=6
Now the point of debate
ExecRpt Cancelled: 11=X, 39=4

In FIX 4.2, tag 41 is introduced in the execRpt so in the order state matrix clearly states the cancelled (39=4) should have in the above case 11=Y, 41=X

In the FIX 4.0 spec appendix D the value of 11 isn’t defined so I assume it was left for firms to interpret?

This should be a case where the later FIX version clarifies explicitly the behaviour in FIX 4.2

So, is the above FIX 4.0 scenario invalid for a solicited cancel scenario? Right now we see because of 11=X this execRpt as an unsolicited cancel…

Any thoughts?
Thanks
Dan

I’d like a simple clarification on valid fix 4.0 behaviour based on counterparty behaviour for cancels.
Scenario
FIX.4.0
NewOrderSingle: 11=X
ExecRpt Ack: 11=X, 39=0
Cancel: 11=Y, 41=X
ExecRpt PendingCancel: 11=Y, 39=6
Now the point of debate
ExecRpt Cancelled: 11=X, 39=4

In FIX 4.2, tag 41 is introduced in the execRpt so in the order state matrix clearly states the cancelled (39=4) should have in the above case 11=Y, 41=X

In the FIX 4.0 spec appendix D the value of 11 isn’t defined so I assume it was left for firms to interpret?

This should be a case where the later FIX version clarifies explicitly the behaviour in FIX 4.2

So, is the above FIX 4.0 scenario invalid for a solicited cancel scenario? Right now we see because of 11=X this execRpt as an unsolicited cancel…

Any thoughts?
Thanks
Dan

ExecRpt Cancelled: 11=X, 39=4 should be
ExecRpt Cancelled: 11=Y, 39=4

You should ask counterparty to send 11=Y (39=4) as they have rightly sent 11=Y on 39=6. Tag 37 should remain thru all exec rpts.