Feedback

  • Contents
 

Data Types

Each input parameter in a tool expects data of a certain type. An input parameter that expects a value of type integer cannot accept a string. An input parameter that expects a value of type string cannot accept an expression that results in a value of type Boolean. While there are many different data types in CIC, they can all be classified as either normal or extended.

Output parameters return data of a specific type. All output parameters place their data in a variable of a specific data type. For example, the Digits output parameter places a string value in the Digits string variable.

See Expression Editor Assistant for more information on creating expressions.

Normal Data Types

Normal data types can be used in expressions, can be written to and read from a database, and can be displayed in an HTML form. For example, integer is a normal type. Integer values can be used in expressions, can be read from and written to databases, and can be displayed in an HTML document.

Normal data types include:

  • Boolean

    Boolean values can have a value of either true or false. For example, the expression 4<5 results in a value of true. The expression 5<4 results in a value of false. When a parameter expects a Boolean value, you can assign that parameter a literal value of true or false, build an expression that results in a value of true or false, or type the name of a Boolean variable that is assigned a value in some other step. See Comparison operators for examples of Boolean expressions.

    The Comparison operators produce Boolean values. Boolean values may also be typed as literal Boolean Values (true and false).

  • Date/Time

    DateTime values contain information about a specific date and a time. The information contained in a DateTime value is the year, month, day, hour, minute, and second. See DateTime operators for examples of how DateTime values can be used and modified in expressions.

    The Date/Time operators process and produce Date/Time values.

  • Integer

    Integer values can be any positive or negative non-decimal numbers including zero. They include all numbers in the Whole number set. When a parameter expects an integer value, you can assign that parameter a literal value (like -1, 0, or 434), build an expression that results in an integer value, or type the name of an Integer variable that is assigned a value in some other step.

    Note:

    The largest positive integer value is 2,147,483,647. The smallest negative integer value is -2,147,483,648. Values outside this range cannot be entered as literal values. Adding/subtracting integers such that the result is outside this range can cause wraparound. Thus, the following equations are true at runtime:

    2,147,483,647 + 5 = -2,147,483,644
    -2,147,483,647 + -5 = 2,147,483,644

    The Mathematical operators and the Type Conversion operators process and produce integer values.

  • Numeric

    Numeric values include all real numbers in the range -2,147,483,648 to 2,147,483,647. When a parameter expects a Numeric value, you can assign that parameter a literal value (like -1.5, 0, or 45.9348), build an expression that results in a numeric value, or type the name of a numeric variable that is assigned a value in some other step. See Operator Descriptions for examples of operations that result in numeric values.

    The Mathematical operators and the Type Conversion operators process and produce numeric values.

  • String

    String values can be any sequence of text characters. When a parameter expects a string value, you can assign that parameter a literal value (like "Dog", "Turk182", or "34.56"), build an expression that results in a string value, or type the name of a string variable that is assigned a value in some other step. See Operator Descriptions for examples of operations that result in string values.

    The String operators process and produce integer values.

  • Lists of (any normal or extended type)

    Lists contain one or more values of any normal or extended type. A List of strings variable might contain many string values. Each position in the list has a number, and the first position in a list is always position zero.

Note:

A list cannot contain another list; in other words, you cannot have a list of lists.

The List operators and List tools both process and produce List of values.

Extended Data Types

Extended data types can be thought of as handles for values that are foreign to Interaction Designer. Extended values cannot be used in expressions, cannot be read from or written to a database, and cannot be displayed in an HTML document.

Note:

Extended data types only appear as variables in the handlers. Input parameters that take extended types don't offer Expression Editor Assistant. Rather, they offer a drop-down list where you can choose from a list of all variables of the extended value type.

Extended values hold information that is useful for hardware and software outside the base CIC system. These external types are useful because they extend the functionality of the CIC system. New external types can even be added to the CIC system to allow CIC to integrate with non-CIC hardware and software.

Here are some of the extended data types you'll encounter in handlers. You will probably encounter others, and new types are created with each CIC release:

  • Call Identifier variable

    An identifier for a call object created by the Telephony Services subsystem.

    Note:

    You can convert a call ID to an integer value with the Call ID to Integer tool, and an integer value to a Call ID with the Integer to Call ID tool.

  • Database Connection variable

    DBConnection values contain a handle (or identifier) for a database connection. When a DB GetConnection step connects to a database, the result (or output) of that step is a handle for the connection that is stored in a Database Connection variable. Several database tools us a Database Connection value to read from and write to databases. Because DBConnection values are extended data types, they cannot be modified in expressions.

  • Database variable

    Database variables contain a handle (or identifier) for a database. When a DBOpen step opens a database, the result of that step is a handle for the opened database that is stored in a Database variable. This Database value is later used by a DBGetConnection step to establish a connection with the database. Because Database values are extended data types, they cannot be modified in expressions.

  • Fax ID variable

    An identifier for a fax object (which contains a fax) created by the Create Fax tool.

  • File Handle variable

    An identifier for a file opened with the File Open Read or File open Write tool.

  • Folder ID variable

    An identifier for an opened folder in an email application, such as Microsoft Exchange or IBM Notes/Domino. See Email tools for more information on email tools.

  • Hconn variable

    An identifier for a connection with an MQSeries application created with the MQConnect tool.

  • Host Connect variable

    An identifier for a mainframe or AS400 connection created by the Host Connect tool. See Overview of Host Interface Tools for more information on Host Interface tools.

  • Socket Handle variable

    An identifier for a TCP/IP connection created with the TCP Connect Tool. See TCP/IP tools overview for more information on TCP/IP tools.

  • Web Connection variable

    WebConnection values contain a handle (or identifier) for a World Wide Web connection. When a GenerateHTML step creates an HTML document, that document is sent back to a person browsing the web via the value of the WebConnection variable. The WebConnection value is also used by several chat tools. Because WebConnection values are extended data types, they cannot be modified in expressions.