I would like to show a new Epicor customer how to add a UD Field – but I do not want to “pollute” his test DB – so I thought I would make sure I could “undo what I do”.
My process has been to add the UD Field, exit the Epicor client, open the Epicor Admin Console, Stop the App Pool, regenerate the data model, start the app pool, and then verify the UD table is synced. You could show them the field is visible in a BAQ too.
To undo, you delete the unused UD Column, then repeat the same process with the app pool and regenerating the data model. Our regen’s are fairly quick, about 2-3 minutes.
My process for the last 4yrs has been, add them, change them or remove them and recycle IIS on App Server and Agent Server, and I usually leave the Client running. There was 1x it didnt want to show in the drop-down until I restarted the Client. But I have also done this process while production was running in broad day-light, everyones client becomes laggy after you Recycle IIS (not restart), but no one ever disconnects. Highly recommended of course after hours, and if I am touching on lets say the Part table, then I do restart the Task Agent Service atleast. But Recycle has been working fine for me on multi app servers. No issues, with 500+ active sessions.
For deletes, id also take in account somehow forcing clients to restart, if someone has lets say the Part Entry screen cached and you remove a field, their customization layer might still expect it.
Just pointing out that Epicor is flexible, and it wont kick the bucket either way. But if you want to be safe - the Epicor recommended way is IIS Restart.
I assume you also regen the data model.?.? Do you regen before or after you recycle IIS on App Server and Agent Server? I am guessing you regen before you recycle IIS.