After the installation of Service Catalog 14.1 cumulative patch 2, the behavior of form select controls which use data objects has changed.
search cancel

After the installation of Service Catalog 14.1 cumulative patch 2, the behavior of form select controls which use data objects has changed.

book

Article ID: 7230

calendar_today

Updated On:

Products

CA Service Catalog CA Service Management - Asset Portfolio Management CA Service Management - Service Desk Manager

Issue/Introduction

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:

SystemA
SystemB
SystemC
TestA
TestB
TestC

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:

TestA
TestB
TestC

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:

SystemA
SystemB
SystemC
TestA      <<- This entry is selected.
TestB
TestC

Environment

Service Catalog 14.1.02

Resolution

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: 

$({'contact_last_name':_val}) 

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: 

ca_fdFetchSelectData('form1','select_1')

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.