Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Information Standards Manager

Variables

  • Last UpdatedJan 28, 2025
  • 5 minute read

Custom variables

Variables are typically used to control how the report result renders. A variable can be defined with a fixed value, or it can be used to render an input field in the export dialog in the user interface, for the user to provide the value. The full syntax for variable definitions are as follows:

<Variables>

<Variable geicl:id="gridLineStyle"

name="Line Style"

description="This setting impact how the report result render grid lines"

dataType="String"

colSpan="4"

newRow="true"

disabled="false"

suppress="false"

required="false"

consolidate="false"

value="Thin"

validValues="[Thin, Medium, Thick]">

<ValidValues>

<ValidValue geicl:id="Thin" name="Thin Line" value="Thin" geicl:sortOrder="10" />

</ValidValues>

</Variable>

</Variables>

Element

Property

Description

Variables

The containing element for Variable definitions.

All expressions supplied for property values on this element, and any descendants, will be resolved in the context of the ClassLibrary node (see Context nodes and expression syntax).

Variable

geicl:id

Assigns an identifier to the variable, which can be used to reference the variable value elsewhere in the configuration.

All items inside a collection element, such as Variables must have an identifier which is unique within the containing collection

name

Applicable when the variable is used as an input field in the export dialog.
This property will render as the input field label

description

Applicable when the variable is used as an input field in the export dialog.
This property will render as a tooltip for the input field

dataType

Applicable when the variable is used as an input field in the export dialog.
This property influences how the input field renders, e.g. dataType="Boolean" will render a checkbox in the user interface. Valid values are:

  • String

  • Numeric

  • Boolean

  • List (multi select)

  • Color

colSpan

Applicable when the variable is used as an input field in the export dialog.
The input fields in the export dialog are organized in virtual cells and rows, where full width represents 12 cells. This property controls how many cells the input field should occupy, default value is 4

newRow

Applicable when the variable is used as an input field in the export dialog.
When the value of this property resolves to true, the input field will render in a new row in the export dialog

disabled

Applicable when the variable is used as an input field in the export dialog.
When the value of this property resolves to true, the input field will render as disabled, and will not accept any input

suppress

When the value of this property resolves to true the variable definition will be excluded from the report definition. The purpose of this property is to exclude or include variables based on e.g. the value of other variables

geicl:sortOrder

An integer value that controls the order of siblings in the containing collection. To fully understand the impact of using this property, please see the explanation in section.

required

Applicable when the variable is used as an input field in the export dialog.
When the value of this property resolves to true, the input field will appear as mandatory, and the report will not render until a value has been provided

consolidate

Applicable when the variable is used as an input field in the export dialog.
When the value of this property resolves to true, the current state of the export dialog will be submitted to the AVEVA ISM server process for evaluation each time the value of the input field is modified. The purpose of this feature is to allow control of the export dialog rendering based on selections made by the user. E.g. if the user clicks a checkbox, other input fields should be disabled or enabled, based on the value of the underlying variable. This evaluation is done by the AVEVA ISM server process when composing the export dialog

value

An expression that resolves to the value that the variable represents. When the variable is used as an input field in the export dialog, this value represents the default value for the input field

validValues

Represents a collection of values. When the variable is used as an input field in the export dialog, the input field will render as a dropdown list (single-select or multi-select, depending on @dataType).

Values for this property might be provided in different ways:

A literal array: [value1, value2, …, valueN]

Reference to a variable having valid values: $myListOfValues[]

Reference to a Class Library collection: ./Enumerations[myList]/Items

ValidValues

As an alternative to the @validValues property, a variable can have an embedded list of valid value items. When using this construct, a valid value can have both a value and a name

ValidValue

geicl:id

Assigns an identifier to the valid value item.

All items inside a collection element, such as ValidValues must have an identifier which is unique within the containing collection

value

Represents the value of the valid value item. When absent, the item will take geicl:id as value

name

Applicable when the containing variable is used as an input field in the export dialog.
This property will render as the item text in the input field dropdown list

Built-in variables

In addition to the custom variables that you can define yourself, there are also a collection of built-in variables that can be referenced:

Variable

Value

$NumberOfAttributesInConcept

The number of attributes included in the report, for current concept. Concept being the primary class concept for the report (see Classes), or a joined concept.

This value is influenced by Attributes@permissibleOnly, Attributes@where, Attributes@whereAll and Attributes@whereAny (see Attributes).

$NumberOfAttributesInSheet

When the report is divided into multiple sheets, this variable reflects the number of Attributes included in current sheet, else it contains the same value as $NumberOfAttributesInConcept.

This value is influenced by Attributes@permissibleOnly, Attributes@where, Attributes@whereAll and Attributes@whereAny (see Attributes).

$NumberOfClassesInConcept

The number of classes contained in current concept. Concept being the primary class concept for the report (see Classes), or a joined concept.

$NumberOfClassesInSheet

When the report is divided into multiple sheets, this variable reflects the number of Classes included in current sheet, else it contains the same value as $NumberOfClassesInConcept.

$ColumnIndex

When rendering the section of a Classes collection, this value represents the zero-based index of the column currently being rendered. This variable is suitable for controlling style conditions for columns, where you e.g. would like to have a different style for the first column

$HierarchyLevel

A zero-based value representing the hierarchy level of the class currently being rendered. This variable is suitable for controlling style conditions for columns, where you e.g. would like to have style settings reflecting the position of a class in the class hierarchy

$IsProxyClass

When rendering classes in hierarchical view combined with sorting across multiple sheets, some classes might be included in a sheet only to join up the hierarchy. E.g. when functional classes are ordered by one discipline per sheet, to avoid breaking the hierarchy some of the classes higher up in the hierarchy might be included in multiple sheets.

A class included for this purpose is referred to as a proxy class, and when rendered the $IsProxyClass variable will have the value true. This variable can be utilised to e.g. control conditional styling to visually indicate proxy classes.

$NumberOfAttributesInReport

This variable has been deprecated by $NumberOfAttributesInConcept, but is supported for backward compatibility

$NumberOfFunctionalClassesInReport

This variable has been deprecated by $NumberOfClassesInConcept, but is supported for backward compatibility

$NumberOfFunctionalClassesInSheet

This variable has been deprecated by $NumberOfClassesInSheet, but is supported for backward compatibility

TitleResults for “How to create a CRG?”Also Available in