Variable types

TotalAgility supports variables of type Bool, Byte, Currency, Date, Decimal, Double, Float, Long, Short, String, Text, Nullable date, Nullable string, and XML.

TotalAgility also supports the following type of variables.

Checklist

A checklist variable is a process variable used to hold checklist information for quality checking and sampling. A single checklist variable can contain several checklist items.

See Create a checklist variable.

Complex

Use a complex variable to hold tabular or array-based data values, such as a list of product details. Two kinds of complex variables are available:

Static complex

Static complex variables are an array (group) of variables of potentially different data types. Static complex variables keep their cell mappings to process variables throughout the job. Every time a mapped variable value is updated in the job, it is reflected in the static complex variable cell.

Note A static complex variable can only be created for a process; it cannot be created as a server variable.

See Create a complex variable.

Dynamic complex

See Dynamic complex variable.

Data backbone

A Data backbone variable is a variable that maps directly to a project within a selected KCM (Kofax Communications Manager) server and gives access to the data backbone belonging to that project to get or set data in it. Each KCM project consists of one data backbone. The data backbone exposes all the data required to create documents in that project.

A data backbone is an XML structure containing field sets with single fields and nested/repeating data. For example:

[Company Details]
Company Name
Address
   Street
   Postcode
   Country
     Code
     Name
[Director Details]
<List of Directors>
      Director Name
      Director Address
            <List of prior addresses>

Only single fields can be used directly within a process. Custom code is required to set the more complex and repeating data.

You can expand the variable to see the fields. When a field is mapped, the level from where it came, is also displayed. For example, if you use the Country Name from the preceding example, then the syntax is: <VariableName>.Address.Country.Name.

You can set the data field by field (single fields only) or use a service call to populate the entire structure. For example, you can populate the variable by getting data from a database, or you can pass the value of a field into a business rule and update a different field using the result.

Within KCM, you can add new fields to the data backbone, but cannot delete existing fields. You must refresh the project in KCM integration to view the newly added fields.

You can create multiple variables of this type, each pointing to the same or different projects.

See Create a data backbone variable.

Document

Use a Document variable where one document type is required, such as submitting a proof of address later in the bank application process. Using a Document variable, one instance of a document is added to the repository typically of a known type.

Use Document variables to use document instances in a TotalAgility process or business rule.

Use a document variable as a process initialization variable or as an activity input or output variable. You can also use document fields directly as input or output parameters to an activity.

When you create a job on a process that uses a document variable, the runtime instance ID of the document is stored in the document variable.

See Create a document variable.

Dynamic complex

Dynamic complex variables keep their cell mappings to process variables only until they are updated in the job. They are stored against the job and their array size and values can change during the course of the job.

At design time, you can create a complex variable with a maximum of 1000 cells, such as1000 X 1, 500 X 2, or 5 X 200. However, at runtime, no maximum limit is placed on the number of cells.

Dynamic complex variable can also be created as a server variable. Both types of variables are created in the same way. However, the Process Initialization option is not available when setting up complex server variables.

Variable members can be either dynamic or static. A static value is one that a user can enter but cannot modify.

See Create a dynamic complex variable.

Folder

Use a Folder variable where multiple document types are required, for example, bank application where multiple document types are required to process an application. Using a Folder variable more than one document is added to the repository typically of different types. Use Folder variables to use folder instances in a TotalAgility process or business rule.

Use Folder variables to use folder instances in a TotalAgility process or business rule.

When you create a job on a process that uses a folder variable, the runtime instance ID of the folder is stored in the folder variable.

You can use a folder variable as a process initialization variable or activity input or output variable. You can also use folder fields directly as input or output parameters to an activity.

See Create a folder variable.

JSON expression

Use a JSON expression variable to retrieve required data from the JSON string.

To retrieve data, give any JSON string and retrieve the JSON values as per Expression text(JSON path). For processing JSON, JSON path is required, similar to XPath for XML.

JsonPath uses special notation to represent nodes and their connections to adjacent nodes in a JsonPath path. There are two styles of notation, namely dot ($.name) and bracket ($['name'] or [name]. The dollar sign ($) represents root member object.

See Create a JSON expression variable.

System

These are simple non-editable process variables that give you information, such as who created the job and, the job ID which you typically do not know at design time.

Each System variable holds a value for a specific TotalAgility task. For example, SPP_RES_JOB_Creator holds the User ID of the creator of a job, or the AWF_JOBID holds the ID of the job. This information is only gathered upon job creation.

See Add a system variable to a process.

XML

Use an XML variable to use all or part of the XML document.

To use a part of the document, you must create an XML expression to identify the required section of the document.

XML documents can be represented as tree view nodes, and the XML Path Language (XPath) describes a path through the XML document to select elements that match the path.

Note The XPath is the expression type of the XML expression variable. For example, to select the first number element of the XML document, the XPath is://number or to select all the book nodes under the bookstore element, the XPath is: xmlDoc.selectNodes(/bookstore/book)

  • An XML expression created at the server level can be shared between business process maps, where the same XML is used but for different purposes.

  • An XML expression created at the process level can only be used with the process map for which it is created, and the XML expression is local to that process map.

See Create an XML variable.

XML expression

Use an XML expression variable to use all or part of the XML document.

To use a part of the document, you must create an XML expression to identify the required section of the document.

XML documents can be represented as tree view nodes, and the XML Path Language (XPath) describes a path through the XML document to select elements that match the path.

Note The XPath is the expression type of the XML expression variable. For example, to select the first number element of the XML document, the XPath is://number or to select all the book nodes under the bookstore element, the XPath is: xmlDoc.selectNodes(/bookstore/book)

  • An XML expression created at the server level can be shared between business process maps, where the same XML is used but for different purposes.

  • An XML expression created at the process level can only be used with the process map for which it is created, and the XML expression is local to that process map.

See Create an XML expression variable.