"PartNum is a key column and cannot be changed" DMT error

Occasionally I see the following error while importing records

“PartNum is a key column and cannot be changed.”

I get this when importing Part or PartRev records, and seems to be for the same PartNum’s.
A P/N in question is “ASY-HS-I-1100-04.00” It’s not the format, as there are a dozen similar P/N’s that process just fine (like “ASY-HS-I-1100-05.00” and “ASY-HS-I-1100-06.00”).

Happens whether the Part (or PartRev exists prior to processing the import file).

This makes no sense, as the PartNum is a key record, so it would be what is used to determine if an existing record exists.

If a record exists for that PartNum (combined with other keys like Company), then the mode is Update. And an update doesn’t change the key fields.

If a record doesn’t exist, then the mode is Add. And adding a record shouldn’t run into problems regarding changing key fields.

Any idea what’s going on?

Calvin

My guess…… you have trailing spaces on the part number….
We still run across them occasionally after converting from progress 2 yrs ago

Support can probably get you a data fix to take care of the trailing space issue

bw

1 Like

I have ran into this as well and figured out that it is case sensitive. If the existing partnum is “ABCDE” and you try to update using partnum “abcde”, it will give you that error.

4 Likes

Thanks for both suggestions. I think I was seeing both (had a couple of “MfgSys” vs “mfgsys” in the PartPlant records)

I’ll add UPPER(TRIM(problematic_field)) to the data processing prior to upload via DMT

Calvin

2 Likes

thanks - this helped me! I was having the same issue. It was a char() field in the old database so I used RTRIM and it works now.

BTW - In my case I found a difference in the case between the Part, PartPland and PartWhse tables that was causing this error. A request to Epicor Support for a Data Fix to get the values in sync should resolve similar issues.

1 Like

Hi,

I am getting this error when updating the ABC Code from function. I checked the Part Number. It is passed exactly same. What’s causing the issue