How to make IT analysts put a correct Incident classification category in SCSM 2012 & 2016
I’ve got a request from our customer who asked for a help with a SCSM console’s customization. He complained that IT analysts in Incident classification category sometimes set values that had sublevels. Most of time it happened by mistake but in the reports it caused ambiguity and miscounts.
It’s not a big trick but requires some knowledge in the Service Manager API and C#. The basic information about the manipulations with the SCSM console elements is available in the Internet. So I spent some time and let’s take a look at the result.
On the screenshot below, you see that ‘Network Problems’ has 4 sub-values.
If we select ‘Network Problems’, the form cannot be saved (OK button is disabled).
If we select any of sub-values (for instance ‘Wi-Fi’), the form is passing the check. It happens because ‘Wi-Fi’ is on the lowest level of the enumeration tree. Voilà, it’s what the customer wanted.
I placed a zip archive with a source code for your reference. For those who need only a solution, import SCUtils.IncidentClassificationValidation.mpb management pack. Please be aware, that if you already have Incident form customizations imported in the system, you will see an error like that:
In this case, you have to add the following XML code in your existing form customization in <Customization>:
<Customization>
<AddControl Parent="UpperGeneralGrid" Assembly="SCUtils.IncidentClassificationValidationControl"
Type="SCUtils.IncidentClassificationValidation.ClassificationValidControl"
Left="0" Top="0" Right="0" Bottom="0" Row="0" Column="0" />
</Customization>
You have to add a reference to the assembly in <Resources>:
<Resources>
<Assembly ID="SCUtils.IncidentClassificationValidationControl"
Accessibility="Public"
QualifiedName="SCUtils.IncidentClassificationValidationControl"
FileName="SCUtils.IncidentClassificationValidationControl.dll" />
</Resources>
Finally, you have to pack the management pack with the assembly SCUtils.IncidentClassificationValidationControl.dll in a MPB file and import it in your system, of course, after a check in your testing environment.
Download the source and management pack here.
Update: I've added a support for SCSM 2016. Please check the file above!