How can I add a new field to one of the existing classes in the CMDB that Asset Management uses? How can I make sure this field displays on my form when I access it through the Asset Management application? Adding attributes to existing classes in CMDB to make them accessible via Asset Management
Within the context of the CMDB, fields are known as "attributes" of a class. To add another attribute to an existing CMDB class, you must administer these changes through the Class Manager. By adding attributes through the Class Manager, you ensure that it will be added properly to the CMDB using the CMDB API. Do you not add the attribute (field) directly through the Admin tool by opening the join forms and adding new fields.
The first step in adding an attribute to a class is to open the Class Manager and sort by Class Names. Find the class that you want to add your attribute to, highlight the record in the Class Manager, and then hit the 'View' button. This brings you to the class information for your class. Go to the Attributes tab and press the add button. This is where you define the attribute itself. The values you specify here are similar to what you see when you're adding a field to a form via the Admin tool. Specify all the characteristics - including name, lengths and permissions - for your new attribute. The attribute cannot have any special characters or spaces in the name (use an underscore if necessary). Save the changes to the attribute, and then save changes to the class itself.
Upon hitting save, you may receive an error:
"ARERR 8939 - The AR System Plug-in Server is not responding. Cannot connect to the system at this time. Contact your AR System Admin for Assistance".
This is limitation in the current product. When you save the class changes, a plug-in is called to run a Filter API. . Even though you receive this error, you can safely ignore it as it will just take some time for the process to complete, often several minutes.
While you're waiting for the changes to commit, you may notice in the Class Manager that you now see two records for your Class: one that has a Status of "Active", and the other that has a Status of "Change Pending". This is normal. As you continue to hit the Refresh button, you should eventually see that there is only one record for your class that is marked "Active." You can confirm that your attribute was successfully added by viewing the class in the Class Manager again, and then looking at the list of attributes. Your new attribute should be there. Another way of confirming that the changes took effect is by opening your Admin tool and looking at the Last Modified Date of the forms. When the attribute has been added, you should see that your class was modified, and every subclass that is below your class will also be modified. When you add an attribute to a class, every subclass beneath that class will inherit the new attribute.
If after a while you still see your "Change Pending" record in the class manager, even after hitting the refresh button several times, then you probably encountered an error. To troubleshoot the error, you can open the form called OBJSTR:Pending in the User tool and perform a search. There should be a record in this form that indicates an Error occurred, accompanied by a more detailed error message. For example, if you added an attribute that has a space in the name, this will throw the error message "The supplied character is not allowed in the name. : Network Name: "
Once you verify your attribute was successfully added to the CMDB class, to make it visible via the Asset Management interface, you need to make a modification to one of the join forms via the Admin tool. The Asset Management application has a separate user interface for the CMDB classes that is prefixed with "AST:". For example, if I added an attribute to the CMBD class called BMC:BMC_Application, there would be a join form in the admin tool called AST:Application (which is a join of the BMC:BMC_Application to itself), which is the user interface for this class in the Asset Management application. I would need to open AST:Application in the Admin tool, right-click to add fields from the underlying join, and my field (attribute) that I had recently added to the BMC_Application class. Save the form.
Now that you've taken these steps, your new field should be accessible via the Asset Management application.
Please note that while you are directly adding fields to the AST: prefixed forms via the Admin tool for the Asset Management interface, it is important that you use the Class Manager when adding attributes to any of the classes within the CMDB.