Why can’t you have commas in the values ? what issue is that causing ?
the value is an ID field and not a value, so the IDs cannot contain commas, just numerics. The customer is passing this ID to other applications and this process breaks if the ID isnt exact. I remember I read somewhere that BMC has DB scripts that run and clean out Property pointers so that you can actually really delete the Property instead of just 'deprecating' it.
But does the value actually have a comma in it when it’s resolved ? because i’m not seeing that. the commas should be added for the display only.
gotcha, looks like its an Eclipse GUI feature.
is there a way to permanently delete this Property instead of deprecating it? How difficult woudl this be?
Once a property gets used on objects it’s pretty much impossible to delete.
going to try this approach from another thread,
Here is a work around to re-typecast properties in case you aren't perfect on the first go around
WARNING: requires you to make changes to the DB! Apply at your own risk!
1. Undeprecate the property if its currently deprecated (hint: you can simply try to add the property with the same name from the property dictionary)
2. In a DB query, find the id
>> select * from property where name = '<YOUR_PROPERTY_NAME>';
(Hold onto the property_id value, we need it for the next step)
3. Rename the property in the DB
>> update property set name = '<YOUR_PROPERTY_NAME>_OLD' where property_id = '<THE_PROPERTY_ID_FROM_STEP_2_QUERY>';
4. Go back to the property dictionary and create a new property with the old name -- its like creating it for the first time Choose whatever type you want now!
Why do you need to change it ?
Customer wants to change the Property type from Integer to String (they dont want to have commas showing anywhere in the property including Console). We cant change the prop type since its grayed out so they want to completely delete this property and create a new String one.
How does blade lock this down, is it by some sort of trigger when a value has been set for any instance of this property or is it some sort of a time-based trigger to lock the property from being edited?
It’s a dependency issue. the property gets used, objects get deleted and you can’t unset the value on deleted objects.
This is what you have to do if you want to use the same name as a deprecated property with a newly created one of a different type (which is what you need here):
1. Delete and deprecate the property
2. Run the following update statement in the database:
update property set name = 'PROPERTY_NAME_deprecated' where name = 'PROPERTY_NAME'; commit;
-- where PROPERTY_NAME is the name of the property that was deprecated and that you need to reuse
3. Create a new property of the desired type using the name that was previously deprecated. The system should let you, because the primary key constraint is on the NAME field, so as long as it's different it will let you.
I have done this multiple times in the past with great success, but updating the database is not supported by BMC so do it at your own risk and TAKE A BACKUP first in case you screw-up !