The Sequence Reset message has two modes: Gap Fill mode and Reset mode.
Gap Fill mode
Gap Fill mode is used in response to a Resend Request when one or more messages must be skipped over for the following reasons:
During normal resend processing, the sending application may choose not to send a message (e.g. an aged order). During normal resend processing, a number of administrative messages are skipped and not resent (such as Heart Beats, Test Requests). Gap Fill mode is indicated by GapFillFlag (tag 123) field = “Y”. If the GapFillFlag field is present (and equal to “Y”), the MsgSeqNum should conform to standard message sequencing rules (i.e. the MsgSeqNum of the Sequence Reset GapFill mode message should represent the beginning MsgSeqNum in the GapFill range because the remote side is expecting that next message sequence number).
Reset mode
Reset mode involves specifying an arbitrarily higher new sequence number to be expected by the receiver of the Sequence Reset-Reset message, and is used to establish a FIX session after an unrecoverable application failure.
Reset mode is indicated by the GapFillFlag (tag 123) field = “N” or if the field is omitted. The Sequence Reset format is as follows.
Table 6 – Sequence Reset
Tag |
Field Name |
Req’d |
Comments |
Format |
Standard Header |
Y |
MsgType = 4 |
| |
123 |
GapFillFlag |
N |
|
Boolean |
36 |
NewSeqNo |
Y |
|
SeqNum |
Standard Trailer |
Y |
|
|