Skip to content

Grouping, filtering and sorting issue in SCSM 2010 SP1 after CU2 for enums

Grouping, filtering and sorting issue in SCSM 2010 SP1 after CU2 for enums published on No Comments on Grouping, filtering and sorting issue in SCSM 2010 SP1 after CU2 for enums

imageMicrosoft try to improve performance for SCSM 2010 with different way. One of that way – use ordinal data instead of string data in console. But that change in data also make change in enum columns too: when you try to sort, group of search at enum columns the result is very strange at first look – instead of strings (like “High”, “Medium” or “Low” and so on) you see the digits. Why and how to change that?

 

First question: “WHY?”

And answer is very simple. Look at the definition of the EnumerationValue at management pack, for example CR’s status Submitted:

<EnumerationValue ID="ChangeStatusEnum.Submitted" Accessibility="Public" Parent="ChangeStatusEnum" Ordinal="10" />

Each enumeration has 3 properties:

  1. Name (or Id in XML, “ChangeStatusEnum.Submitted” in our case)
  2. DisplayName (described in LanguagePack section, “Submitted” for ENU)
  3. Ordinal (10)

Now let’s look at CR Status column definition in the view before CU2:

<mux:Column Name="Status.Ordinal" DisplayMemberBinding="{Binding Path=Status.DisplayName}" Width="100" DisplayName="Header_Status" Property="Status.DisplayName" DataType="s:String" />

and after CU2:

<mux:Column Name="Status.Ordinal" DisplayMemberBinding="{Binding Path=Status.DisplayName}" Width="100" DisplayName="Header_Status" Property="Status.Ordinal" DataType="s:Double" />

Here is description of the attributes:

  • DisplayMemberBinding: name of the property of the CR that used for display in the view. This data you will see in the grid. DisplayMemberBinding used only to display data.
  • Property: data property itself. Property used for sorting, grouping and filtering data.
  • DataType: type othe data return in this column. Also used for sorting, grouping and filtering data.

Notice, that after CU2 “Property” and “DataType” values changed to Status.Ordinal and s:Double. And this is why you see this:
image
instead of this:
image

The reason why they did it is a simple: it’s add some point to performance for large views.

Second question: “How to change that”

The only way to do that is change column’s definition for each view (but remember about performance). To do changes you can export each management pack with views and change Property and DataType from Ordinal and s:Double to DisplayName and s:String resp.

Or you can use my Advanced View Editor:

  1. Download Advanced View Editor 1.3 MPB and import it to SCSM
  2. Navigate to affected view and click to “Edit View (Advanced)” in Tasks pane
    image
  3. Scroll down to column’s list and click to “…” button opposite affected column (“Status” in my case):
    image
  4. Change “Get enum as” value from “Ordinal” to “Display Name”:
    image
  5. Click OK, when save view

Share

%d bloggers like this: