QuoteRejectReason versus QuoteEntryRejectReason

Imported from previous forum

[ original email was from Jeffrey Croft - jeff.croft@plusmarketsgroup.com ]
Can someone please say what the difference is supposed to be? QuoteRejectReason (300) is outside the Quote entry block and so applies to the whole Mass Quote Message whereas QuoteEntryRejectReason (368) applies at Quote Entry level?
If thats the case the standard enumerations for 300 do not really make sense i.e. 7 = InvSpread and 8 = InvPx?

Your argument is semantically correct but this is one of a few cases where the desire to re-use valid value lists leads to values that do not apply. The choice was made to not maintain two overlapping value lists.

Similar issues arise with the re-use of component blocks where its fields do not apply for every occurrence of the component block. The alternative is to create dedicated blocks for each message type. There are also cases where this has been done, i.e. it is a case by case decision to re-use valid values / components or to create new elements that are slightly redundant to existing ones.

Your Rules of Engagement should clearly define the set of valid values supported for tag 300 vs. 368. This is where the FIX interface designer needs to show his/her skills :slight_smile:

Regards,
Hanno.

Can someone please say what the difference is supposed to be? QuoteRejectReason (300) is outside the Quote entry block and so applies to the whole Mass Quote Message whereas QuoteEntryRejectReason (368) applies at Quote Entry level?
If thats the case the standard enumerations for 300 do not really make sense i.e. 7 = InvSpread and 8 = InvPx?

[ original email was from Jeffrey Croft - jeff.croft@plusmarketsgroup.com ]
Okay I understand, although it does look like 2 lists are being maintained as the enumerations might mean the same thing but the text is sometimes different.

Thx

Your argument is semantically correct but this is one of a few cases where the desire to re-use valid value lists leads to values that do not apply. The choice was made to not maintain two overlapping value lists.

Similar issues arise with the re-use of component blocks where its fields do not apply for every occurrence of the component block. The alternative is to create dedicated blocks for each message type. There are also cases where this has been done, i.e. it is a case by case decision to re-use valid values / components or to create new elements that are slightly redundant to existing ones.

Your Rules of Engagement should clearly define the set of valid values supported for tag 300 vs. 368. This is where the FIX interface designer needs to show his/her skills :slight_smile:

Regards,
Hanno.

Can someone please say what the difference is supposed to be? QuoteRejectReason (300) is outside the Quote entry block and so applies to the whole Mass Quote Message whereas QuoteEntryRejectReason (368) applies at Quote Entry level?
If thats the case the standard enumerations for 300 do not really make sense i.e. 7 = InvSpread and 8 = InvPx?

Should not be the case. The most recent repository links tag 368 to tag 300 (UsesEnumsFrom) but you might be correct for an older version. Please point us to such cases if you find them. I am pretty sure we still have places where links are missing.

Okay I understand, although it does look like 2 lists are being maintained as the enumerations might mean the same thing but the text is sometimes different.

Thx

Your argument is semantically correct but this is one of a few cases where the desire to re-use valid value lists leads to values that do not apply. The choice was made to not maintain two overlapping value lists.

Similar issues arise with the re-use of component blocks where its fields do not apply for every occurrence of the component block. The alternative is to create dedicated blocks for each message type. There are also cases where this has been done, i.e. it is a case by case decision to re-use valid values / components or to create new elements that are slightly redundant to existing ones.

Your Rules of Engagement should clearly define the set of valid values supported for tag 300 vs. 368. This is where the FIX interface designer needs to show his/her skills :slight_smile:

Regards,
Hanno.

Can someone please say what the difference is supposed to be? QuoteRejectReason (300) is outside the Quote entry block and so applies to the whole Mass Quote Message whereas QuoteEntryRejectReason (368) applies at Quote Entry level?
If thats the case the standard enumerations for 300 do not really make sense i.e. 7 = InvSpread and 8 = InvPx?