ClOrderID/OrigClOrderID for Canceled order

Imported from previous forum

I am looking at the FIX 4.1 Spec with 19990630 Errata and got confused with what should be the correct ClOrderID/OrigClOrderID values for the cancel accept message.

Suppose you had order with ClOrderID being 99 and then you send a Cancel message with ClOrderID=100; OrigClOrderID=99. When an Execution Report is returned to confirm the order is canceled (ExecTransType=0 OrdStatus=4), what should ClOrderID contain? Should it be the ID for the relevant order (99), or the ID for the message that triggers the cancel action (100)? Also, is OrigClOrderID optional in this case?

Does the behavior differs in FIX 4.2?

> I am looking at the FIX 4.1 Spec with 19990630 Errata and got confused with what should be the correct ClOrderID/OrigClOrderID values for the cancel accept message.
>
> Suppose you had order with ClOrderID being 99 and then you send a Cancel message with ClOrderID=100; OrigClOrderID=99. When an Execution Report is returned to confirm the order is canceled (ExecTransType=0 OrdStatus=4), what should ClOrderID contain? Should it be the ID for the relevant order (99), or the ID for the message that triggers the cancel action (100)? Also, is OrigClOrderID optional in this case?
>
> Does the behavior differs in FIX 4.2?
>

See FIX 4.2 Appendix D, example D3 - this shows that when confirming the cancel, the ClOrdID should be set to (in your example) 100 and the OrigClOrdId to 99.

In FIX 4.1 Appendix D, the ‘Canceled Order’ matrix shows the same approach

> I am looking at the FIX 4.1 Spec with 19990630 Errata and got confused with what should be the correct ClOrderID/OrigClOrderID values for the cancel accept message.
>
> Suppose you had order with ClOrderID being 99 and then you send a Cancel message with ClOrderID=100; OrigClOrderID=99. When an Execution Report is returned to confirm the order is canceled (ExecTransType=0 OrdStatus=4), what should ClOrderID contain? Should it be the ID for the relevant order (99), or the ID for the message that triggers the cancel action (100)? Also, is OrigClOrderID optional in this case?
>
> Does the behavior differs in FIX 4.2?
>
A. In an Execution Report in response to a Cancel message, ClOrdID will contain the message ID that triggers the Cancel action, i.e. ClOrdID[11]=100 and OrigClOrdID[41]=99.
OrigClOrdID is not optional in the case of Cancels and Cancel/Replace and the behavior does not change in FIX 4.2.
For more information refer to <a href=http://www.nyse.com/pdfs/fix&fcs0920.pdf>http://www.nyse.com/pdfs/fix&fcs0920.pdf</a>