Define Show properties in a text editor

In a text editor, Show properties are defined in an XML element QueryDef . You must write QUERY_XML as a header prior to writing the XML element.

For each column in the result dataset, add a child XML element ShowProperty to the XML element QueryDef . The attribute settings of the XML element ShowProperty depend on the data that shall be displayed. You can define display of:

The settings required for each of the data types to display are different and are described separately in the following sections.

You must specify the following XML attributes for the xml element ShowProperty to display an object class property value:

  • QUERY_XML
  • <QueryDef>
    • <ShowProperty Type="Property" ClassName="ObjectClassName" Name="PropertyName" ShowName="ColumnHeaderString" />
  • </QueryDef>
  • Type: Set to Property.
  • ClassName: Set to the name of the object class the object class property belongs to.
  • ClassAlias: When multiple JOIN s to the same object class are required in an Alfabet query, the object class is assigned a different alias name in the JOIN to distinguish between the objects of that object class found by one or the other JOIN . If the object class property belongs to an object class that has an alias name in the Alfabet query, the alias name must be specified with this attribute.
  • Name: Set to the name of the object class property.
  • ShowName: The standard caption of the column in the dataset is 'ClassName PropertyName'.Optionally, add this attribute to specify an alternative column header.
  • Function: You can define a function to aggregate results either as sum (SUM ), average (AVG ), minimum (MIN ), or maximum (MAX ) of numerical values or count of values (COUNT). Details are given in a separte section.

There is an alternative syntax for the definition of the Show properties to substitute the XML definition, for example, when defining Show properties in XML attributes: SHOW or SORT followed by ObjectClassName.PropertyName. You can define multiple properties separated by a whitespace.

    • SHOW Application.Name Application.ID Application.StartDate
    • SORT Application.Name

This syntax cannot be used in combination with instructions.

In Alfabet, indicators for evaluation of objects are based on evaluation types, which are grouping indicators, and indicator types defining how an indicator can be set. The evaluation types are assigned to object classes. Indicators are either set by users or automatically calculated. When an indicator value is set, an indicator object is created. The indicator object stores the information about which object the indicator is defined for, which evaluation type and indicator type it is based on, and which value is set.

Ex_Query_IndicatorTypeOverview 

Information about the values set for indicators can be added to an Alfabet query directly in the XML definition of Show properties without using JOINs to the involved object classes.

The XML definition generates one column in the output for each indicator type. The search returns the value of the indicator for the current object. Display of values depend on the indicator type definition. If an icon gallery is assigned to the indicator, the icon representing the indicator value is displayed. Otherwise the display depends on the Range and Hide Number settings of the indicator:

  • If a Range definition exists in the indicator type definition, the display depends on the setting of the property Hide Number of the indicator type. If Hide Number is activated, only the string defined after the hyphen is displayed, while the complete definition including the numeral and the hyphen is displayed if Hide Number is deactivated.

    The semantic value following the hyphen in the Range definition of an indicator type is translatable and will be displayed in the language of the cultures currently selected by the user if a translation is provided. The Range definitions are included into the vocabularies for interface string translation of Alfabet without the numeral part and the hyphen.

  • If a Range definition does not exist, the value of the indicator is displayed as follows:
    • If the value contains only numerals, the numeric value will be displayed in a form appropriate to the specified culture.
    • If the value contains no numerals or a mixture of non numerical characters and numerals, the value is displayed as a string.

The assignment of indicator types to user profiles is not taken into consideration by the XML definition of indicators in Alfabet queries.

You must specify the following XML attributes for the xml element ShowProperty to display indicator values:

  • <ShowProperty Type="Indicator" ClassName="ObjectClassName" Name="IndicatorTypeName" ShowName="ColumnCaption" />
  • Type: Set to Indicator.
  • ClassName: Set to the name of the object class the indicator type is assigned to.
  • ClassAlias: When multiple JOIN s to the same object class are required in an Alfabet query, the object class is assigned a different alias name in the JOIN to distinguish between the objects of that object class found by one or the other JOIN . If the indicator is specified for an object class that has an alias name in the Alfabet query, the alias name must be specified with this attribute.
  • Name: Set to the name of the role type.
  • ShowName: The standard caption of the column in the dataset is 'ClassName RoleTypeName'.Optionally, add this attribute to specify an alternative column header.
  • Show As Icon: Select false to display the semantic value of the indicator in the Alfabet query output. Select true to display the indicator values as an icon in the Alfabet query output. An icon gallery must have been assigned to the relevant indicator type to display the indicators as icons. If an icon gallery is not assigned to the indicator types, the semantic value for the indicator is displayed even if ShowAsIcon is set to True.

If the object class that the role is assigned to is not the base class, the following specifications are additionally required in the Alfabet query:

  • The specification of the REFSTR property of the class the role is assigned to as show property.
  • The specification of an instruction that hides the REFSTR property from the report. Instructions are written into a section Instructions in the Alfabet query text. If you want to hide multiple columns, you can add them in comma-separated format. Whitespaces are not allowed in the command.
  • Instructions
  • REMOVECOLUMNS("ObjectClassName.REFSTR","ObjectClassName.REFSTR")
  • EndOfInstructions
  • QUERY_XML
  • <QueryDef>
    • <ShowProperty Type="Property" ClassName="ObjectClassName" Name="REFSTR" />
    • <ShowProperty Type="Role" ClassName="ObjectClassName" Name="RoleTypeName" ShowName="ColumnCaption" Reference="ReferenceString" ImageProps1="PropertiesDisplayedForUser" ImageProps2="PropertiesDisplayedForOrganization" />
  • </QueryDef>

The XML definition of Show properties for indicators is not always applicable:

  • If you want the indicators in the Alfabet query results to be displayed in another form than the one predefined for XML definitions of Show properties of the type Indicator. For example, if the indicators of all indicator types shall be listed in one column and their corresponding indicator types shall be listed in another column.
  • If you want to sort the results by indicator. The definition of Sort properties is not possible for XML definitions of Show properties for indicators.
  • If you want to restrict the display of indicators to indicator types assigned to the user profile that the user is currently logged in with. The assignment of indicator types to user profiles is not taken into consideration by the XML definition of Show properties for indicators.
  • If you want to define an Alfabet query instruction that colors the cell depending on the value of the indicator.
  • If you define a query for a configured report displaying a chart.

For this configurations you must add the indicator to the query via JOINs and define the indicator value as a normal Show property.

An object of the object class Role is created each time a responsibility is defined for an object based on a preconfigured role type.

Information about which user/organization is responsible for a specific role for an object can be added to the result dataset of an Alfabet query directly via the Show properties without using JOINs to the involved object classes.

The Show property for a role generates the following output:

query_roledefault 

  • One column is added to the report showing the responsible users/organizations for the role per object.
  • If multiple users/organizations defined for a role have the same role for an object, one row is added to the report for each responsible user/organization.
  • Base class objects with no role defined are displayed in the report and the report column is left empty. This corresponds to a left JOIN of the object class Role to the base class.
  • Responsible organizations and responsible users are displayed in the same column.
  • For responsible organizations, the name of the organization is displayed. For responsible users, the name and first name of the user is displayed.

You must specify the following XML attributes for the xml element ShowProperty to display role owners:

  • <ShowProperty Type="Role" ClassName="ObjectClassName" Name="RoleTypeName" ShowName="ColumnCaption" ImageProps1="PropertiesDisplayedForUser" ImageProps2="PropertiesDisplayedForOrganization" />
  • Type: Set to Role.
  • ClassName: Set to the name of the object class the role is assigned to.
  • ClassAlias: When multiple JOIN s to the same object class are required in an Alfabet query, the object class is assigned a different alias name in the JOIN to distinguish between the objects of that object class found by one or the other JOIN . If the role is specified for an object class that has an alias name in the Alfabet query, the alias name must be specified with this attribute.
  • Name: Set to the name of the role type.
  • ShowName: The standard caption of the column in the dataset is 'ClassName RoleTypeName'.Optionally, add this attribute to specify an alternative column header.
  • ImageProps1: Defines the display of responsible users in the Alfabet query output. One object class property or a comma-separated list of object class properties of the object class Person (User) can be specified. The values of the listed object class properties are displayed in the specified order and separated with whitespace in the results.
  • ImageProps2: Defines the display of responsible organizations in the Alfabet query output. One object class property or a comma-separated list of object class properties of the object class OrgaUnit (Organization) can be specified. The values of the listed object class properties are displayed in the specified order and separated with whitespace in the results.

If the object class that the role is assigned to is not the base class, the following specifications are additionally required in the Alfabet query:

  • The specification of the REFSTR property of the class the role is assigned to as show property.
  • The specification of an instruction that hides the REFSTR property from the report. Instructions are written into a section Instructions in the Alfabet query text. If you want to hide multiple columns, you can add them in comma-separated format. Whitespaces are not allowed in the command.
  • Instructions
  • REMOVECOLUMNS("ObjectClassName.REFSTR","ObjectClassName.REFSTR")
  • EndOfInstructions
  • QUERY_XML
  • <QueryDef>
    • <ShowProperty Type="Property" ClassName="ObjectClassName" Name="REFSTR" />
    • <ShowProperty Type="Role" ClassName="ObjectClassName" Name="RoleTypeName" ShowName="ColumnCaption" Reference="ReferenceString" ImageProps1="PropertiesDisplayedForUser" ImageProps2="PropertiesDisplayedForOrganization" />
  • </QueryDef>

If you want to change the information that is displayed about the responsible users/organizations in the rows of the report, you can edit the underlying XML definition of the show property in a text editor. All other changes require the definition of JOINs.

The display of roles as Show properties is not always applicable:

  • If you want to define the Alfabet query as an XML attribute value. Specification of a query in an XML attribute is, for example, required for the definition of treemap and layered diagram reports, wizards, workflows and computation rules. Show properties are defined in the underlying Alfabet query code in an XML element. Therefore, the query is not suitable for use as an XML attribute value.
  • If you want the role responsibilities in the Alfabet query results to be displayed in another form than the one predefined for Show properties of the type Role. For example, if the users/organizations defined for all roles shall be listed in one column and the role type of the role shall be listed in another column.
  • If you want to sort the results by responsible user/organization. You cannot add roles to sort properties.
  • If you want to define an Alfabet query instruction that colors the cell dependent on the availability of a role on the object.

Sort the columns in the result dataset. The columns are displayed in the order they are defined in the XML object QueryDef.

Sort the rows in the result dataset. Sort properties define the subset of Show properties that are relevant for alphanumerical sorting of the results in the result table during execution of the Alfabet query. The results are first sorted in ascending order based on the first Sort property definition. All rows having an equal value are then sorted according to the second criteria, and so on. The user can click any column header of a tabular report to change the sort order of the rows in the report.

Add an XML element SortProperty to the QueryDef XML element for each column that you would like to sort:

  • QUERY_XML
  • <QueryDef>
    • <SortProperty Type="Property" ClassName="ObjectClassName" Name="PropertyName" />
  • </QueryDef>

The SortProperty XML element has the same XML attributes as the ShowProperty element. The XML attributes of the SortProperty XML element must have identical values to an existing ShowProperty XML element:

  • QUERY_XML
  • <QueryDef>
    • <ShowProperty Type="Property" ClassName="Application" Name="Name" />
    • <SortProperty Type="Property" ClassName="Application" Name="Name" />
    • <ShowProperty Type="Property" ClassName="Domain" Name="Name" ShowName="In Domain"/>
    • <SortProperty Type="Property" ClassName="Domain" Name="Name" ShowName="In Domain"/>
  • </QueryDef>