Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 (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:

Code Block
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
Code Block
languagejson
{
  "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",
  "Account": "42119",
  "TransactTime": "20220907-02:45:32.003",
  "CxlRejResponseTo": "1",
  "CxlRejReason": "0",
  "Text": "Already partially filled"
}