Structure |
Used In
Description
Each administrative or application message, is preceded by a standard header. The header identifies the message type, length,
destination, sequence number, origination point and time
Two fields helps with resending messages. The PossDupFlag <43> is set to Y when resending a message as the result of a session level event (i.e. the retransmission of a message reusing
a sequence number). The PossResend <97> is set to Y when reissuing a message with a new sequence number (e.g. resending an order). The receiving application should
process these messages as follows:
-
PossDupFlag <43> — if a message with this sequence number has been previously received, ignore message, if not, process normally.
-
PossResend <97> — forward message to application and determine if previously received (i.e. verify order id and parameters).
The following table provides examples regarding the use of SenderCompID <49>, TargetCompID <56>, DeliverToCompID <128>, and OnBehalfOfCompID <115> when using a single point-to-point FIX session between two firms. Assumption (A=sellside, B=buyside):
|
SenderCompID |
OnBehalfOfCompID |
TargetCompID |
DeliverToCompID |
A to B directly |
A |
|
B |
|
B to A directly |
B |
|
A |
|
|
The following table provides examples regarding the use of SenderCompID <49>, TargetCompID <56>, DeliverToCompID <128>, and OnBehalfOfCompID <115> when using a single FIX session to represent multiple firms. Assumption (A=sellside, B and C=buyside, Q=third party):
|
SenderCompID |
OnBehalfOfCompID |
TargetCompID |
DeliverToCompID |
Send from A to B via Q |
1) |
A sends to Q |
A |
|
Q |
B |
2) |
Q sends to B |
Q |
A |
B |
|
B responds to A via Q |
1) |
B sends to Q |
B |
|
Q |
A |
2) |
Q sends to A |
Q |
B |
A |
|
Send from A to B *AND* C via Q |
1) |
A sends to Q |
A |
|
Q |
B |
2) |
Q sends to B |
Q |
A |
B |
|
3) |
A sends to Q |
A |
|
Q |
C |
4) |
Q sends to C |
Q |
A |
C |
|
B *AND* C send to A via Q |
1) |
B sends to Q |
B |
|
Q |
A |
2) |
Q sends to A |
Q |
B |
A |
|
3) |
C sends to Q |
C |
|
Q |
A |
4) |
Q sends to A |
Q |
C |
A |
|
|
Structure
Tag |
Field Name |
Req'd |
Comments |
8 |
BeginString |
Y |
FIX.4.1 (Always unencrypted, must be first field in message)
|
9 |
BodyLength |
Y |
(Always unencrypted, must be second field in message)
|
35 |
MsgType |
Y |
(Always unencrypted, must be third field in message)
|
49 |
SenderCompID |
Y |
(Always unencrypted)
|
56 |
TargetCompID |
Y |
(Always unencrypted)
|
115 |
OnBehalfOfCompID |
N |
Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)
|
128 |
DeliverToCompID |
N |
Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)
|
90 |
SecureDataLen |
N |
Required to identify length of encrypted section of message. (Always unencrypted)
|
91 |
SecureData |
N |
Required when message body is encrypted. Always immediately follows SecureDataLen <90> field.
|
34 |
MsgSeqNum |
Y |
(Can be embedded within encrypted data section.)
|
50 |
SenderSubID |
N |
(Can be embedded within encrypted data section.)
|
142 |
SenderLocationID |
N |
Trading partner LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)
|
57 |
TargetSubID |
N |
'ADMIN' reserved for administrative messages not intended for a specific user. (Can be embedded within encrypted data section.)
|
143 |
TargetLocationID |
N |
Trading partner LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)
|
116 |
OnBehalfOfSubID |
N |
Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)
|
144 |
OnBehalfOfLocationID |
N |
Trading partner LocationID (i.e. geographic location and/or desk) used when delivering messages via a third party. (Can be
embedded within encrypted data section.)
|
129 |
DeliverToSubID |
N |
Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)
|
145 |
DeliverToLocationID |
N |
Trading partner LocationID (i.e. geographic location and/or desk) used when delivering messages via a third party. (Can be
embedded within encrypted data section.)
|
43 |
PossDupFlag |
N |
Always required for retransmitted messages, whether prompted by the sending system or as the result of a resend request. (Can
be embedded within encrypted data section.)
|
97 |
PossResend |
N |
Required when message may be duplicate of another message sent under a different sequence number. (Can be embedded within
encrypted data section.)
|
52 |
SendingTime |
Y |
(Can be embedded within encrypted data section.)
|
122 |
OrigSendingTime |
N |
Required for message resends. If data is not available set to same value as SendingTime <52> (Can be embedded within encrypted data section.)
|
|
Used In |