Delving into this more, I developed a theories that I believe are fairly well confirmed:
1.) Enumerated field alias values are stored only in field_dispprop.propLong. a. If a field with no alias has one added, the display data is moved from propShort to propLong, with the alias data added. b. If a field with alias values set has them set to match the selection values (default), the alias data is removed and the display data moved to the propShort field. 2.) Changes to an enumerated field's selection values will automatically propogate to every join form that does *not* have alias values set. Here's what I did to investigate: Once I started opening more of the join forms, I found that most had 'updated' after I changed the menu field on BaseElement. So why didn't they all? I poked around the field_dispprop table and found that the forms that did not change had propLong values, whereas the forms that had changed all had propShort values. My theory is that when alias values are set, the display information is moved to the propLong field and recorded there. When alias values are set to the selection values (the default), no information is stored; i.e., no alias information means use the selection values. Efficient. To test this, I ran a query to see the forms/views that had PropLong set for the 'DRP Tier' field (2000003168): select arschema.name,fd.vuiId, propLong from field_dispprop fd inner join arschema ON fd.schemaId = arschema.schemaId where fieldId = 2000003168 and propLong is not null The first thing I noticed is that all of them had the section I had identified as the alias information: "\0\1\1\2\2\3\3\N/A\" I then modified the query to check: select arschema.name,fd.vuiId, propLong from field_dispprop fd inner join arschema ON fd.schemaId = arschema.schemaId where fieldId = 2000003168 and propLong like '%\0\1\1\2\2\3\3\N/A\%' This returned the same entries. To check that aliases were only in the propLong field, I searched in propShort: select fd.vuiId, propShort from field_dispprop fd where fieldId = 2000003168 and propShort like '%\0\1\1\2\2\3\3\N/A\%' No rows returned. To confirm the theory, I then updated the forms that had alias values, one by one, and re-ran the propLong query in between. After each update, the form disappeared from the query as it no longer had a propLong value set. So, as I see it, the good news is that when you change an enumerated field, any join form that you haven't manually set alias values on will automatically update, and those that you have can be found with propLong queries similar to the above. Investigatively yours, Kelly Logan From: Action Request System discussion list(ARSList) [mailto:[email protected]] On Behalf Of Ben Chernys Sent: Tuesday, June 15, 2010 12:10 AM To: [email protected] Subject: Re: Mass modify of enumerated alias values ** PS. If it's in BaseElement there are no join forms to mass-modify. Just base element. They are "join forms" after all. field_dispprop holds info about the field display properties. You do not want to modify these. I thought you were talking about the values stored in the db. If you want to do a mass change to all the join form definitions, that is a different story. Meta-Update will not do this, nor will chgselection (or whatever that tool's name was) nor will SQL. You can automate the mass change with "driver" but this is rather ugly at best. I would simply write a quick binary to do it. The GUI generator function of the class manager should also do it for you but I would really recommend you take a cold backup of the db first! ie shut down ARS and use the DB tools to take a backup. Remember you must change each View of the form as well (esp for different locales). Another plausible option is to export the joins to .def files, edit the def files, and re-import. Again do it very carefully. DB backup highly recommended. Try on dev first!!!! Cheers Ben ________________________________ From: Ben Chernys [mailto:[email protected]] Sent: June 15, 2010 6:22 AM To: '[email protected]' Subject: RE: Mass modify of enumerated alias values This is not an OOTB field, right? I presume you added it to BaseElement then. I presume the enum in q is a "standard" enum (ie 0,1,2,3, ...) rather than an enum which has the values declared (1000, 2000, etc). The latter is always a bit easier to handle. The fastest and easiest is with SQL if you have no need for auditing and the like. You must do it carefully !! esp. in the right order. If you added 5 and there are 10 already, change 9 -> 10, 8->9, etc There was also a free tool that purported to do this. chgselection? or something of that nature. Or, you could use Meta-Update and simply effect the changes with the enum labels: DRP Tier = @LookUp, LkupDRP, $Src, DRP Tier$ [LkupDRP] enum2 = enum5 enum3 = enum6 etc. The free trial license will be enough to complete this job. Email me off-list for further info. Cheers Ben Chernys Senior Software Architect Software Tool House Inc. Canada / Deutschland / Germany Mobile: +49 171 380 2329 GMT + 1 + [ DST ] Email: Ben.Chernys _AT_ softwaretoolhouse.com<mailto:[email protected]> Web: www.softwaretoolhouse.com<http://www.softwaretoolhouse.com/> Check out Software Tool House's free Diary Editor. Meta-Update, our premium ARS Data tool, lets you automate your imports, migrations, in no time at all, without programming, without staging forms, without merge workflow. http://www.softwaretoolhouse.com/ ________________________________ From: Action Request System discussion list(ARSList) [mailto:[email protected]] On Behalf Of Kelly Logan Sent: June 15, 2010 12:05 AM To: [email protected] Subject: Mass modify of enumerated alias values ** Hello All, Our organization needs to use a different structure for the enumerated field 'DRP Tier' on the asset forms. Fortunately, these are all derived from the field on the BMC.CORE:BMC_BaseElement form, so changing the selection value on that form changes the selection value on the 140+ other join forms that are based on it. What it doesn't do is update the alias values, so even the display of the value is incorrect. Is there a way to mass modify the alias values of all of these join forms? I'm thinking the key is in the fields_dispprop form prop(Short/Long) fields, but I don't know how to decipher these. Kelly Logan _attend WWRUG10 www.wwrug.com ARSlist: "Where the Answers Are"_ _attend WWRUG10 www.wwrug.com ARSlist: "Where the Answers Are"_ _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug10 www.wwrug.com ARSlist: "Where the Answers Are"

