XCDE will respond with an OrderCancelReject message when it receives a Cancel Request or a cancel/replace request message which cannot be honoured. Requests to change price or decrease quantity of an Order are possible only when an outstanding quantity exists.
When rejecting a Cancel/Replace Request (or Cancel Request), the Cancel Reject message will provide the ClOrdID which was specified on the Cancel/Replace Request (or Cancel Request) message for identification, and the OrigClOrdId should be that of the last accepted Order message (except in the case of CxlRejReason = “Unknown Order”.
To accept CancelRequest and cancel/replace request messages, XCDE will send an simple ExecutionReport message.
Message format:
Field Name
Format
Req'd
Comments
MsgType
String
✓
9 = OrderCancelReject
MsgSeqNum
SeqNum
✓
User generated incremental number to allow receiver to identify possible message gaps
SendingTime
UTCTimestamp
✓
Time of sending this message
OrderID
String
✓
Assigned by XCDE for this message. If CxlRejReason = "Unknown order", specify "NONE".
ClOrdID
String
✓
User generated Unique identifier of this replacement order
ClOrdLinkID
String
In case of grouping of Orders e.g. with OCAO
OrigClOrdID
String
ClOrdID(11) which could not be canceled/replaced. This is of the previously accepted order (NOT the initial order of the day).
OrdStatus
Char
✓
OrdStatus value after this cancel reject is applied. If CxlRejReason = "Unknown Order", will be “Rejected”. Possible values: 1 =Partially filled 2 = Filled 4 = Canceled 8 = Rejected C = Expired
Account
String
User account as defined by XCDE
TransactTime
UTCTimestamp
Time of creation of this reject message
CxlRejResponseTo
Char
✓
Identifies which cancel type this reject responds to: 1 = Cancel request 2 = Cancel/replace request
CxlRejReason
Int
Possible values: 0 = Too late to cancel 1 = Unknown order 3 = Order already in Pending Cancel or Pending Replace status 4 = Unable to process Order Mass Cancel Request 6 = Duplicate ClOrdID (11) received 99 = Other
Add Comment