FIX 4.4 : Business Message Reject <j> message

Structure | Related Messages

Description

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 <3> message should be issued.

See the session-level Reject <3> message

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

Situation Appropriate Response

Session-level problem meeting the criteria of the session-level Reject <3> message

Use the session-level Reject <3> message (MsgType <35>=3)

In response to:

Use the Quote Request Reject <AG> message

In response to:

Use the Quote Status Report <AI> message

In response to:

Use the Mass Quote Acknowledgment <b> message

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 Types <w> message

In response to:

Use the Security List <y> message

In response to:

Use the Derivative Security List <AA> message

In response to:

Use the Security Status <f> message

In response to:

Use the Trading Session Status <h> message

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 <Q> (DK) message

In response to:

Use the Order Mass Cancel Report <r> message

In response to:

Use the List Status <N> message

In response to:

Use the Allocation Instruction ACK <P> message

In response to:

Use the Allocation Report Ack <AT> message

In response to:

Use the Confirmation Ack <AU> message

In response to:

Use the Registration Instructions Response <p> message

In response to:

Use the Trade Capture Report <AE> message

In response to:

Use the Bid Response <l> message

In response to:

Use the Confirmation <AK> message

In response to:

Use the Settlement Instructions <T> message

In response to:

Use the Position Maintenance Report <AM> message

In response to:

Use the Request for Positions Ack <AO> message

In response to:

Use the Collateral Assignment <AY> message

In response to:

Use the Collateral Response <AZ> message

In response to:

Use the Collateral Inquiry Ack <BG> message

Note the only exceptions to this rule are:

  1. 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.
  2. In the event a valid business message is received, fulfills session-level rules, however, the message type is not supported by the receipient. In this situation a Business Message Reject with BusinessRejectReason <380> = “Unsupported Message Type” can be issued if the system is unable to send the specific reject” message listed above because the receiving system cannot generate the related “reject” message.
  3. In the event a business message is received, fulfills session-level rules, but lacks a field conditionally required by the FIX specification. In this situation a Business Message Reject with BusinessRejectReason <380> = “Conditionally Required Field Missing” can be issued if the system is unable to send the specific “reject” message listed above. One example of this would be a stop order missing StopPx. However, a Business Message Reject message MUST NOT be used to enforce proprietary rules more restrictive than those explicit in the FIX specification, such as a broker requiring an order to contain an Account, which the FIX specification considers an optional field.

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

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 SYMBOL: XYZ").

Structure

Tag Field Name Req'd Comments
<MessageHeader> Y MsgType <35> = j
45 RefSeqNum N

MsgSeqNum <34> of rejected message

372 RefMsgType Y

The MsgType <35> of the FIX message being referenced.

379 BusinessRejectRefID 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 Y

Code to identify reason for a Business Message Reject <j> message.

58 Text N

Where possible, message to explain reason for rejection

354 EncodedTextLen N

Must be set if EncodedText <355> field is specified and must immediately precede it.

355 EncodedText N

Encoded (non-ASCII characters) representation of the Text <58> field in the encoded format specified via the MessageEncoding <347> field.

<MessageTrailer> Y

 

Related Messages