Order Cancel Request Reject

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

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 (not in use)

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

Text

String

 

Unessential freeform field to post information

Example message:

MsgType: 9 MsgSeqNum: 98287534 SendingTime: 20220907-02:45:32.274 OrderID: jdjg8786864-hsf ClOrdID: dgte4-5762 OrigClOrdID: dgte4-5758 OrdStatus: 1 Account: 42119 TransactTime: 20220907-02:45:32.003 CxlRejResponseTo: 1 CxlRejReason: 0 Text: already partially filled
{ "Header": { "MsgType": "9", "MsgSeqNum": "98287534", "SenderCompID": "SENDER", "TargetCompID": "TARGET", "SendingTime": "20220907-02:45:32.274" }, "OrderID": "jdjg8786864-hsf", "ClOrdID": "dgte4-5762", "OrigClOrderID": "dgte4-5758", "OrdStatus": "1", "TransactTime": "20220907-02:45:32.003", "CxlRejResponseTo": "1", "CxlRejReason": "0", "Text": "Already partially filled" }