Business Message Reject (MsgType = j, FIXML = BusinessReject)

The Business Message Reject (j) message can reject an application-level message which fulfills session-level rules and cannot be rejected via any other means. Note if the message fails a session-level rule (e.g. body length is incorrect), a session-level Reject message should be issued.

See the session-level Reject (3) message

It should *NOT* be used in the following situations:

Session-level problem meeting the criteria of the session-level Reject (3) message Use the session-level Reject (3) message (MsgType=3)
In response to Use the Execution Report (8) message
In response to: Use the Order Cancel Reject (9) message
In response to: Use the Don't Know Trade (DK) (Q) message
In response to: Use the Allocation ACK (P) message
In response to: Use the List Status (N) message
In response to: Use the Quote Acknowledgment (b) message
In response to:
In response to: Use the Market Data Request Reject (Y) message
In response to: Use the Security Definition (d) message
In response to: Use the Security Status (f) message
In response to: Use the Trading Session Status (h) message

Note the only exception to this rule is in the event a business message is received, fulfills session-level rules, however, the message cannot be communicated to the business-level processing system. In this situation a Business Message Reject (j) with BusinessRejectReason (380) = "Application not available at this time" can be issued if the the system is unable to send the specific "reject" message listed above due to this condition.

Messages which can be referenced via the Business Message Reject (j) message are (the "ID" field BusinessRejectRefID (379) refers to noted in [ ]):

Scenarios for Business Message Reject:

BusinessRejectReason (380)
0 = Other
1 = Unknown ID
2 = Unknown Security
3 = Unsupported Message Type (receive a valid, but unsupported MsgType (35) )
4 = Application not available
5 = Conditionally Required Field Missing

Whenever possible, it is strongly recommended that the cause of the failure be described in the Text (58) field (e.g. "UNKNOWN SYBMOL: XYZ").

Tag Field Name FIXML Req'd Comments
<Standard Message Header> Y MsgType = j
45 RefSeqNum RefSeqNo N MsgSeqNum (34) of rejected message
372 RefMsgType RefMsgType Y The MsgType (35) of the FIX message being referenced.
379 BusinessRejectRefID BusRejRefID N The value of the business-level "ID" field on the message being referenced. Required unless the corresponding ID field (see list above) was not specified.
380 BusinessRejectReason BusRejReason Y Code to identify reason for a Business Message Reject (j) message.
58 Text Text N Where possible, message to explain reason for rejection
354 EncodedTextLen EncodedTextLen C Must be set if EncodedText (355) field is specified and must immediately precede it.
355 EncodedText EncodedText C Encoded (non-ASCII characters) representation of the Text (58) field in the encoded format specified via the MessageEncoding (347) field.
<Standard Message Trailer> Y