Imported from previous forum
ApplVerID(1128), ApplExtID(1156), and CstmApplVerID(1129) are header fields
that can be omitted.
When only one of ApplVerID(1128), ApplExtID(1156), and CstmApplVerID(1129)
is specified as Explicite Application Version in the Application message,
may I disregard all Session Default Application Version and Message Type
Default Application Version?
For instance, at the case of the following Session Default Application
Version.
- DefaultApplVerID=8
- DefaultApplExtID=77
- DefaultCstmApplVerID=Cstm20100601
Message Example 1
- ApplVerID=9
- ApplExtID omission
- CstmApplVerID omission
The application version of the message example 1 is as follows. Is this
correct?
- ApplVerID=9
- ApplExtID none (not use DefaultApplExtID)
- CstmApplVerID none (not use DefaultCstmApplVerID)
Message Example 2
- ApplVerID omission
- ApplExtID=78
- CstmApplVerID omission
The application version of the message example 2 is as follows. Is this
correct?
- ApplVerID none (not use DefaultApplVerID) (message error?)
- ApplExtID=78
- CstmApplVerID none (not use DefaultCstmApplVerID)
Message Example 3
- ApplVerID omission
- ApplExtID omission
- CstmApplVerID=Cstm20100701
The application version of the message example 3 is as follows. Is this
correct?
- ApplVerID none (not use DefaultApplVerID) (message error?)
- ApplExtID none (not use DefaultApplExtID)
- CstmApplVerID=Cstm20100601
Please teach a correct processing method.
Regards
Hi Yuko,
Quotes from FIX_Transport_1.1.pdf
Page 31 / 66 Tag 1156 :- “Identifies the Extension Pack which is to be applied to the FIX version specified in the ApplVerID.”
page 32 / 66 Tag 1129 :- “Used to identify a definition for support bilaterally agreed custom functionality which specifies extensions and or restrictions to the version of FIX specified in ApplVerID and ApplExtID.”
Taking your examples
Version interpretation for Example 1 is correct
For Message Example 2
Since the inbound message omitted ApplVerID,
DefaultApplVerID=8
DefaultApplExtID=77
DefaultCstmApplVerID=Cstm20100601
would be used. The message example 2 specifying ApplExtID=78 is incorrect because inbound message specifies ApplExtID 78 specified in the inbound message does have the related ApplVerID.
For message example 3, the same logic applies, so version is incorrect.
I think it would be a good idea to make ApplVerID conditionally required when ApplExtID and / or CstmApplVerID is/are present. Then Session Level Reject can be used to indicate Conditionally required field missing.
Regards,
K. Mahesh
ApplVerID(1128), ApplExtID(1156), and CstmApplVerID(1129) are header fields
that can be omitted.
When only one of ApplVerID(1128), ApplExtID(1156), and CstmApplVerID(1129)
is specified as Explicite Application Version in the Application message,
may I disregard all Session Default Application Version and Message Type
Default Application Version?For instance, at the case of the following Session Default Application
Version.
- DefaultApplVerID=8
- DefaultApplExtID=77
- DefaultCstmApplVerID=Cstm20100601
Message Example 1
- ApplVerID=9
- ApplExtID omission
- CstmApplVerID omission
The application version of the message example 1 is as follows. Is this
correct?
- ApplVerID=9
- ApplExtID none (not use DefaultApplExtID)
- CstmApplVerID none (not use DefaultCstmApplVerID)
Message Example 2
- ApplVerID omission
- ApplExtID=78
- CstmApplVerID omission
The application version of the message example 2 is as follows. Is this
correct?
- ApplVerID none (not use DefaultApplVerID) (message error?)
- ApplExtID=78
- CstmApplVerID none (not use DefaultCstmApplVerID)
Message Example 3
- ApplVerID omission
- ApplExtID omission
- CstmApplVerID=Cstm20100701
The application version of the message example 3 is as follows. Is this
correct?
- ApplVerID none (not use DefaultApplVerID) (message error?)
- ApplExtID none (not use DefaultApplExtID)
- CstmApplVerID=Cstm20100601
Please teach a correct processing method.
Regards
Hi K. Mahesh,
Your reply was great help!
Thank you for your quick reply.
Hi Yuko,
Quotes from FIX_Transport_1.1.pdf
Page 31 / 66 Tag 1156 :- “Identifies the Extension Pack which is to be applied to the FIX version specified in the ApplVerID.”
page 32 / 66 Tag 1129 :- “Used to identify a definition for support bilaterally agreed custom functionality which specifies extensions and or restrictions to the version of FIX specified in ApplVerID and ApplExtID.”
Taking your examples
Version interpretation for Example 1 is correct
For Message Example 2
Since the inbound message omitted ApplVerID,
DefaultApplVerID=8
DefaultApplExtID=77
DefaultCstmApplVerID=Cstm20100601would be used. The message example 2 specifying ApplExtID=78 is incorrect because inbound message specifies ApplExtID 78 specified in the inbound message does have the related ApplVerID.
For message example 3, the same logic applies, so version is incorrect.
I think it would be a good idea to make ApplVerID conditionally required when ApplExtID and / or CstmApplVerID is/are present. Then Session Level Reject can be used to indicate Conditionally required field missing.
Regards,
K. MaheshApplVerID(1128), ApplExtID(1156), and CstmApplVerID(1129) are header fields
that can be omitted.
When only one of ApplVerID(1128), ApplExtID(1156), and CstmApplVerID(1129)
is specified as Explicite Application Version in the Application message,
may I disregard all Session Default Application Version and Message Type
Default Application Version?For instance, at the case of the following Session Default Application
Version.
- DefaultApplVerID=8
- DefaultApplExtID=77
- DefaultCstmApplVerID=Cstm20100601
Message Example 1
- ApplVerID=9
- ApplExtID omission
- CstmApplVerID omission
The application version of the message example 1 is as follows. Is this
correct?
- ApplVerID=9
- ApplExtID none (not use DefaultApplExtID)
- CstmApplVerID none (not use DefaultCstmApplVerID)
Message Example 2
- ApplVerID omission
- ApplExtID=78
- CstmApplVerID omission
The application version of the message example 2 is as follows. Is this
correct?
- ApplVerID none (not use DefaultApplVerID) (message error?)
- ApplExtID=78
- CstmApplVerID none (not use DefaultCstmApplVerID)
Message Example 3
- ApplVerID omission
- ApplExtID omission
- CstmApplVerID=Cstm20100701
The application version of the message example 3 is as follows. Is this
correct?
- ApplVerID none (not use DefaultApplVerID) (message error?)
- ApplExtID none (not use DefaultApplExtID)
- CstmApplVerID=Cstm20100601
Please teach a correct processing method.
Regards