When trying to add values to new dependencies in IBM Rational Change listboxes, I keep receiving "Invalid Parent" errors.
This issue has been identified as a product defect and has been logged under APAR PM33120
It does not necessarily cause error "Invalid parents" but still, the file "pt_listbox.cfg" is not updated and it's confusing the users.
This is error is encountered due to the structure of the xml and pt_listbox.cfg files conflicting in their attribute definitions. The error is caused by updating the dependency hierarchy in the process xml file after the list boxes have been populated with values. There are basically 3 solutions once you receive this error:
- Delete/move the pt_listbox.cfg file and recreate the process package; you will need to re-enter all your values.
- To preserve the list box values that aren't effected (delete the lines in the pt_listbox.cfg file that have dependency changes); you will need to re-enter only the values for the list boxes that have changed.
- Manually patch the pt_listbox.cfg to match the changes in the XML file (We don't recommend this because it's confusing and very error prone to do by hand); don't need re-enter values, but you need to understand the dependency structure of the pt_listbox.cfg file and manually edit.
Solution #1 is fairly easy, solution #2 is a good compromise, and solution #3 can be done if there are minor structural changes. If assistance is needed with the structural changes, please contact Technical Support.
Additionally, when creating a process package, -do not- use either the dev_template or generic_template. These template files have default values already set for specific attributes/listboxes and as such will never allow proper modification of dependency hierarchies.
The following is taken from the C/S (Telelogic Change) 4.1 release notes:
22.Preserving Listbox Values after Changing Dependencies in the CRProcess File
Listbox dependencies are defined and values are saved in pt_listbox.cfg. If you change a dependency in the CRProcess file (XML), pt_listbox.cfg (in the wsconfig directory) will have the old dependency and will cause a configuration error. To preserve the old values, you must move pt_listbox.cfg into a package template (thus ensuring there is no pt_listbox.cfg in the wsconfig directory) and recreate the process package using that package template. This is because there is special logic in the package creation code that will attempt to preserve listbox values when using a package template. Most common changes in the dependency structure are handled, but "complex" changes may require either manually fixing the listbox values or starting over (re-entering all listbox values).