
It looks like Microsoft provisioned some code changing the personnel number on the HcmWorker table if you look at the following from the HcmWorker.update() method:
if (this.PersonnelNumber != originalRecord.PersonnelNumber)
{
DimensionStorage::syncRenamedValue(this, originalRecord);
}
Yet, they made the field read/only (AllowEdit = No), so does anybody know if it's safe to open it back up for changing the personnel number? We have a customer that would really like this, they are not using retail, production or project server, so the few cases where the Microsoft code has not been properly written/normalized it looks like we are not conflicting with.
Thoughts, anyone?
*This post is locked for comments
I have the same question (0)Hi Kehlet,
All references to Workers are normally based on the RecordId of the HcmWorker table. References within the financial dimension framework is also related on record-ID's, but some '*Value' tables contain a value of personnel numbers, main account Ãd's, operation units etcetera. This code is part of the dimension framework to sync these labels when needed and should be implemented on all tables that can be used as financial dimension.
It is possible to change e.g. the main account number without conflicts. It is not possible (standard AX) to change the number of an operating unit or the personnel number. I tried to change it for an operating unit in the past and did not seem to have consequenses, at least not for the financial dimension framework.
So my thought would be: Try in a test environment to see the impact and then decide to change the number or not. As the standard should use the foreign key relation I think this should be possible when you don't have changes within your environment. But please note that this is not a supported scenario.