Same field with different type in one message

Imported from previous forum

Hi,

I have a question about the template definition below. Is it a valid one?

The specification says about a field: ‘A field has a name and a type. The name must be unique within the group.’. So, if I want to use the same message template for informations identified by an isin OR by a market-place specific id, then I could define the following message:

I would use the first group, if I have an integer-like security id, and I would use the second group for isins. Can I place a field with the same name BUT different type in one message (the fields are in different groups)? The dictionary should be not a problem, because I use different dictionary keys.

Thanks
Zoltan

I understand your dilemma but there is no good solution for multiple base data types of a single field other than not to use ISINs in high speed order book data (only provide it in the reference data). Even if it is technically possible, I would strongly advise to avoid such a design. Your data recipients are likely to have a single field SecurityID in their application processing that message, or maybe even globally. You may be creating a problem for them. FIX does not allow more than one base data type per field. That would mean that you cannot benefit from the fact that some of your IDs are numeric while others are not.
One option may be to split the two variants into two templates but it does not really solve the problem of your users who may rely on the FIX rule for a single data type. As a compromise, you could add user-defined fields for optimized versions of fields and use a constant offset for the tag number, e.g. name=“IntegerSecurityID” id=“20048”. That allows some degree of automated conversion to the “real” FIX data type by stripping away the offset and looking up the data type of tag 48 in the FIX Repository. If bandwidth is an issue and performance is not then this may work for you. However, if bandwidth is the problem then put ISINs in reference data only and provide a mapping to synthetic IDs which you then use in the book data messages.
Regards,
Hanno.

Hi,

I have a question about the template definition below. Is it a valid one?

The specification says about a field: ‘A field has a name and a type. The name must be unique within the group.’. So, if I want to use the same message template for informations identified by an isin OR by a market-place specific id, then I could define the following message:

I would use the first group, if I have an integer-like security id, and I would use the second group for isins. Can I place a field with the same name BUT different type in one message (the fields are in different groups)? The dictionary should be not a problem, because I use different dictionary keys.

Thanks
Zoltan