Can a custom data class' attributes be changed once they are committed by the user clicking on the "Save changes" button?
8.x
Warnings:
(1) There are no out of the box abilities to change certain custom data class' attributes after they have been saved. The following instructions are intended as a solution and workaround for being able to change a custom data class' attributes after being saved. While the workaround may work, it is not recommended to use this workaround, as issues may occur due to how the data was originally present in the table, which has now been changed. Because of this, Symantec Technical Support is unable to assist the user in implementing or troubleshooting this workaround.
(2) Before trying the workaround, it is recommended to test this thoroughly on a development server before trying it then on a production server. Also, the entire database should be backed up before trying it on a production server. If issues later occur, these can be restored.
Answer:
A custom data class' attributes, once committed by clicking on the "Save changes" button, mostly cannot be edited afterwards. This presents an issue if the user later needs to change these but then cannot. This is working as designed. To prevent issues and inconsistencies with the schema, CMDB intentionally prevents the user from changing some attribute values afterwards. The main name of a custom data class, however, can be changed by clicking on it and renaming it accordingly. (Note that this does not actually change the table name that it exists in, however, in SQL.) There is a solution and a workaround that can be used to be able to change custom data class attributes. Note: These instructions assume that the user is familiar with creating custom data classes and therefore specific steps to do so have been omitted.
Solution: Create a new custom data class as desired and then use it instead of the old one. This would then be assigned to its resource type. Then, remove the old custom data class from the resource type. However, this is only useful if the custom data class has no data or the user doesn't care that its data is lost.
Workaround: If the user needs to keep the data already in the custom data class, this would then need to be copied to a temporary table, then copied back to its original table after making the modifications. The remainder of these instructions show how to do this.
USE Symantec_CMDB
SELECT *
INTO temptablename
FROM Inv_<original_custom_data_class_name>
DROP TABLE Inv_<recreated_custom_data_class_name>
SELECT *
INTO Inv_<recreated_custom_data_class_name>
FROM temptablename
Delete the temporary table:
DROP TABLE temptablename
"How to create custom data classes" (KB 181379)