Skip navigation FileNet logo
Glossary  |  Help Directory  
  Help for Process Engine Reference  
  Search  |  Index  
Concepts
Events & Statistics
Expressions
  Data types
  Variables
  Literals
  Operators
  Functions
    General
    Numeric
    String
    Time
    System interrogation
    Null
    Datatype conversion
    Date/time mask components
    Implicit conversion
Procedures
   

Data types

The Process Engine supports specific simple and composite data types.

Simple Data Types

The Process Engine supports literals and variables of the following simple data types:

Integer

This data type is a numerical quantity that represents values that are always exact and integral. An integer value can consist of an optional + or - sign followed by a sequence of digits in the range -2147483648 through 2147483647.

TIP The Process Engine implicitly converts integer values to float values under certain circumstances.

Normal, simple arithmetic operations are available for integer values.

String

This data type is a sequence of zero or more characters. A string can be up to approximately 1,000,000 characters long.

TIP The above-listed length applies to internally-stored values of the string data type—the range does not apply to string literals entered in Personal Work Manager (FileNet Web Services Client), the Process page (Open Client), the Tasks pages (Workplace), or Process Designer or Process Administrator dialog boxes.

Many normal string operations, such as concatenation, substring, and substring search are available. 'C' style escape sequences are not available; instead, use the function hex.

Boolean

This data type represents a logical quantity that is the answer to a true-or-false question. The range of values is true and false only. Normal logical operations (and, or, not) are available for boolean values.

TIP The boolean values true and false are case-sensitive; these values are valid in lowercase only.

In most cases, false evaluates to a lesser value than true; the only exception is in sort rule expressions, where true evaluates a lesser value than false.

The Process Engine does not support implicit conversions to the boolean data type; only the values true and false are acceptable. You can, however, use the convert function for an explicit conversion (for example, to put a value of another data type into a boolean data field).

Note that for user-defined applications developed in environments which do not have true boolean values (such as 'C' and Visual Basic), all non-zero values evaluate to true and a value of zero evaluates to false.

Float

This data type is a numerical quantity that represents values which can be non-integral. Float values are usually represented approximately. The float data type has a binary internal representation (not decimal) and is an IEEE standard double.

The Process Engine can store a float value that is equal to 0, or is in the following range:

approximately 2.2250738585072014e-308 |x| approximately 1.7976931348623157e308.

Normal, simple arithmetic operations are available for float values.

NOTE How a float value displays to the end user depends on the application the user is looking at. The Process applications display float values based on the locale of the end user client machine.

TIP The Process Engine implicitly converts float values to integer values under certain circumstances.

Time

This data type represents a date and time, accurate to the second. A time value can range from 1906, August 16 21:26:41 through 2038, January 13 12:53:20 (inclusive of both end values). Note that these values are given in Coordinated Universal Time (UTC). Available operations include converting to and from strings, adding and subtracting quantities (such as months) and getting the current system time.

A time value of 0 represents 1/1/1970 00:00:00 UTC (Coordinated Universal Time).

In conversions between the string and time data types, string representations of time values are formatted according to a template called a date/time mask. Internally, however, the Process Engine stores time values as integers. When comparing time values, the Process Engine compares the internal integer values rather than any string representations of those time values.

NOTE How the current time displays to the end user depends on the application the user is looking at. The Process applications display time values based on the locale of the end user client machine.

Composite data types

The Process Engine supports single-dimensional arrays for all of the supported simple data types. Array support is based on the application development environment.

An array is a list of one or more elements of a uniform type indexed by an integer (starting with 1). You must specify an initial value for at least one array element when declaring an array.

Arrays automatically adjust their size to contain all current elements; for example, if an array currently contains three elements and you assign a value to the seventh element, the array resizes to include elements 4, 5, and 6 as well. Elements that are added to an array during automatic resizing are assigned the appropriate value, based on the following table.

The values are:

Data type
Value

integer

0

string

<blank> or ""

boolean

true

float

0.0

time

<today's date and time> (for example, 4/28/00 9:18 AM)

Index values start at 1; you can put approximately 256,000 elements into an array. Available operations include indexing and taking the current size of an array. Note that the above-listed maximum size applies to internally-stored arrays—it may not apply to arrays being passed to and from the Process Engine via API calls.