When trying to upgrade to 2E 8.7.4 from 8.7 the upgrade fails.
The joblog contains the following error:
Duplicate record key in member YCONDTA00L
This article will explain why this issue is occurring and how to resolve the issue
Upgrading 2E from 8.7 to 8.7.4
This occurs due to the historical existence of 'MS' and 'MT' records in the YCONDTARFP file and any conditions that might already be using these constants in the YCONDTARFP file
In order to successfully complete the upgrade, we suggest amending the related program to reuse the existing constants if they existed in the model.
If the constants do not exist in the model, then the 2E 8.7.4 upgrade process will create the constants in the model.
The following command will identify existing 'MS' and 'MT' constants in the YCONDTARFP file, existing conditions which are using these constants, and which fields those conditions might be associated.
SELECT * FROM YCONDTARFP WHERE CON in ('MS', 'MT')
If this command finds values other than 1003236 (for 'MS'), 1003237 (for 'MT') then the constants have been added historically.
If they did not exist before the upgrade, they will be added to the YCONDTARFP file.
To find existing conditions from the YCNDDTARFP which use the 'MS', 'MT' constants you can use this command:
SELECT * FROM YCNDDTARFP WHERE
@@OBJ1 IN (SELECT @@CON FROM YCONDTARFP WHERE CON in ('MS', 'MT'))
If 'MS', 'MT' do not exist before the upgrade and have been added during the upgrade, there will be 2 entries:
1003238 (for *MSECONDS)
1003244 (for *MONTHS)
added for the object surrogate 874 (the newly added field "*Diff Unit") which uses the surrogates of the newly created 'MS', 'MT' constants, in the YCNDDTARFP file.
If these already existed, then the existing surrogates for the constants 'MS' and 'MT' will be reused while creating the 2 new entries 1003238 (for *MSECONDS) and 1003244 (for *MONTHS) added for the object surrogate 874 (the newly added field "*Diff Unit"), in the YCNDDTARFP file.