How to dynamically filter a popup list in Service Desk Express

If you have a table that is reused in different circumstances, e.g. the Vendors table which is used to store both manufacturers and suppliers, or if you have significant amounts of legacy data that you still need to track, you may need to filter your popup lists to make it more manageable for your support staff.

Imagine a scenario where you have inherited a legacy asset base and since then have introduced initiatives such as strategic sourcing and managed desktops. So in the past you may have had to create asset records for inkjet printers and CRT monitors and, as those assets are probably still within your enterprise, they still need to exist in the configuration items and configuration item type tables but going forward, the assets you will be adding will be a much more standardised. Add to this, whilst you still need to maintain a large vendor list for legacy reasons, the actual vendors that you will be using in the future will be significantly less.

So, if this sounds familiar what options are available to you to handle this? The first and easiest option is simply to inactivate all the records that you don’t want to see. My issue with this approach is that a) inactive to me symbolises deleted without loss of history e.g. asset has been disposed of, and b) there are certain features of the application that won’t work properly if an record is inactive – e.g. the booking in of purchase requests where the configuration item type is inactive.

A more flexible option is to use the built feature to filter what appears in the popup and when combined with a little database administration work provides, in my opinion, an entirely better solution.

Filtering the vendors

Using the DB Admin Tool I can create an additional field called “Is Manufacturer” in the vendors module as shown below:

I am then going to create another field, exactly the same as the one above except that the default will be “No”, called “Is Supplier” like this:

Now, after logging back into Service Desk Express, I can use the Form Customisation tool to create a copy of the CI Type form. I want to filter the Sales and Service Vendor ID fields to only show vendors where the “Is Supplier” checkbox is ticked and the Manufacturer Name field to only show vendors where the “Is Manufacturer” checkbox is ticked. All I need to do is double-click on the Sales Vendor ID field, select the Filter tab at the top of the screen and enter the code as shown below:

…and then repeat for the Service Vendor field and the Manufacturer field not forgetting to change the code for this field to:

Is Manufacturer = 1

Obviously, you need to add the “Is Supplier” and “Is Manufacturer” checkboxes to your Vendor form but other than that that is it. That should make you Procurement team’s life a little easier.

Filtering the configuration item types (or inventory catalogue)

Now what I want to do is make the engineers’ life a little easier. When they have to create an asset/configuration item, I want them to have a filtered list of CI Types where a) the CI Type is approved and b) the CI Type is flagged to either track asset or track serial.

All I need to do is modify the Configuration Item form and and modify the CI Type field adding a filter as shown below:

Conclusion

The beauty of using this method is that you can create other versions of the same forms that don’t filter the list i.e. for Administrator’s use, and enhance to the user’s experience of Service Desk Express.

5 thoughts on “How to dynamically filter a popup list in Service Desk Express

  1. Hi Alan,

    Is there a way to filter the popup on self service in the same manner? I tried to apply this technique but it returns nothing.

    Basically the premise is there is a limited list of generic entries I’ve created in the client table. The form I’m creating will have a drop down that should only populate for these select entries.

    SDE 9.80.10, only self service, not client services.

    Thanks in advance!

  2. Hi Moises,

    You can absolutely filter a popup in Self Service using the technique described above simply by double-clicking on the field and selecting the filter tab (which incidentally I think only appears if the field is NOT read-only) and applying a filter.

    If I am misunderstanding what you are trying to do either post a little more specific info or drop me an email to alan@14j.co.uk and I’ll see if I can help.

    Hope this helps.

    Regards,

    Alan

  3. Heya Alan,

    After posting here with you I figured it out 🙂 The client access settings that I had was department and the access of the clients I was trying to filter was company. I put myself in the same access setting as the others and the filtering worked.

  4. Hi Alan,

    Great post. Do you know if there is anyway of filtering but in the tab section. So from the Problem form when you link an incident, we only want to see incident types = incident. We also have incident types = request that we do not want displayed here.

    Thanks in advance,
    Jac

  5. Hi Jac,

    Unfortunately this is not supported. It may be possible by hacking the ASP code but as BMC move more and more towards hiding their code in DLLs so the amount of hacks available decreases.

    If I get time I will take a look and see what options are available. You might like to look at http://www.joatit.com/wordpress/?p=892 in the meantime which might give you some ideas.

    Regards,

    Alan

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s