Data type of RegulatoryTradeIDSource (1905) changed from string to enum (EP-275)

Hi Team,

As part of the extension pack EP-275, the values of RegulatoryTradeIDSource needs to be enumerated (At the moment it alows only the value 1 = Unique Transaction Identifier (ISO 23897). It was any string before this. For this reason it is a breaking change as the old values won’t get validated in the new schemas.

(https://fiximate.fixtrading.org/en/FIX.Latest/tag1905.html)

What would be your recommendation to overcome this issue and support the already existing values?

Regards,
Rahul

@rahulmohanraj, the field has been given a code set but remains a String datatype, i.e. continues to support string values such as the namespace of the entity creating a USI. You may hence add your own values to RegulatoryTradeIDSourceCodeSet in your Orchestra XML file. You cannot use the string “1” as value because that is reserved for UTI. You should also not use any other numeric value to avoid collisions with future standard values of the code set.

<fixr:codeSet name="RegulatoryTradeIDSourceCodeSet" id="1905" type="String" added="FIX.5.0SP2" addedEP="161" updated="FIX.Latest" updatedEP="275">
    <fixr:code name="UniqueTransactionIdentifier" id="1905001" value="1" sort="1" added="FIX.Latest" addedEP="275">
        <fixr:annotation>
                <fixr:documentation purpose="SYNOPSIS">
                        Unique Transaction Identifier (ISO 23897)</fixr:documentation>
        </fixr:annotation>
    </fixr:code>
    <fixr:code name="MyRegTradeIDSource" id="1905002" value="MyRegTradeIDSource" sort="2">
        <fixr:annotation>
                <fixr:documentation purpose="SYNOPSIS">
                        My favorite regulatory trade identifier source</fixr:documentation>
        </fixr:annotation>
    </fixr:code>
</fixr:codeSet>