Thursday, October 22, 2015

Preserve new and changed labels after undoing a label file check out

If you have to undo a label file check out, maybe due to unrecoverable synchronization problems with the version control system, you'll loose all your new labels and changes to existing labels.

All your new labels will get the new text "Label @$AAxxx was deleted due to undo check-out of AxXXXen-us.ald.", and all the changes to existing labels are just gone.

To keep a copy of your changed and new labels, you can grab a copy of the label files in your appl\standard folder before undoing the check-out . You should do a restart of the AOS first to make sure that all labels are flushed to the label files.

The label files could be in for example C:\Program Files\Microsoft Dynamics AX\60\Server\AX2012R3\bin\Application\Appl\Standard.

And with the safe copy of the label files, you can reapply your changed and new labels by some tedious copy 'n' paste work from these files.

If you just want to preserve your new labels, you can just change the \Classes\SysLabelFile\onUndoCheckOut method so it doesn't overwrite the content of your new labels.