Before the installation of cumulative 2 for Service Catalog 14.1, if a select control in a form used a data object to populate the options in the drop down list, if a user entered some text in the select control, the list of possible results was filtered using the test which was entered.
i.e. The drop down list contains:
If the user starts entering text, once they enter enough text, the list will be filtered in place. If they enter "Test", then the drop down list will only contain matching entries:
After cumulative 2 is installed, this changes. If the user enters the text "Test", then the list isn't filtered, but the first matching entry is selected, so the list looks like this:
TestA <<- This entry is selected.
Service Catalog 14.1.02
This problem has been fixed in the forthcoming Service Management cumulative fix. It's also possible to change the form to ensure that the select control behavior is the same as before cumulative 2 was installed. In this example, the data object queries the ca_contact table for user details
1) Create a new variable to be used in the data object. e.g. 'contact_last_name'.
2) Add this variable to the data object. The previous data object SQL was:
SELECT contact_uuid, userid,last_name,first_name,middle_name FROM ca_contact WHERE inactive = '0' ORDER BY last_name
This is modified to use the new variable:
SELECT contact_uuid, userid,last_name,first_name,middle_name FROM ca_contact WHERE inactive = '0' AND last_name LIKE '%contact_last_name%%%' ORDER BY last_name
3) In the select form control add a value in the "Report/Plug-in Variable" field:
This will now mean that the value typed into the field will be used as the input to the SELECT statement and will be used to filter the list to only contain those matching values.
4) Add an "onChange" event to the select form definition:
so that if you change the text which is typed in, it will always update the list using this value. This new form structure can also continue to be used after the latest cumulative fix has been installed to address the underlying problem.