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:


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.

Providing a common look and feel to all Service Desk Express forms

OK – so before anyone gets too excited and thinks that I (or BMC for that matter) have provided something like a template that all forms can inherit from (wouldn’t that be useful) – let me stop you there. I haven’t! However, as I got extremely bored of building the same forms and laying them all out slightly different, it became quickly apparent that some sort of template was needed. Apart from anything else, when others create forms on “my” systems it can quickly end up looking very disjointed/uncontrolled.

So, what follows is a template of numbers that will at least cause every form to have a similar look and feel and, although not perfect, is a fairly good match to the out of the box forms provided by BMC.

Control FG Colour BG Colour X Pos Width Y Pos Height
“Main Form” #FFFFFF
“Button Box” #DDDDDD 0 735 0 60
“Separator Line” #000000 0 735 20 0
“Open Button” 1 25 1 25
“Save Button” 36 25 1 25
“Copy Button” 51 25 1 25
“Clear Button” 76 25 1 25
“Delete Button” 101 25 1 25
“InActive Field” 663 20 5 20
“Previous Button” 663 Leave Blank 38 Leave Blank
“Next Button” 712 Leave Blank 38 Leave Blank
“Form Title Text” Dark Blue – Bold 7 100 33 20

Clearly, there is a whole bunch of other stuff that you could do as well – one thing I would also suggest is that you add the Sequence field next to the “Form Title Text” field as it makes integration/database queries much easier.

Anyway, hope this helps – as always comments (positive or negative) always welcome.