Convert Data Between Intent and ADT
NI can write data to ADT, and ADT can also be referenced as a table in NI. NI supports the data of object type and list type, which involves how to convert and map these data between intent and ADT. There are some universal rules to convert data between intent and ADT.
Data Types Supported in ADT and Intent
The supported data types in ADT and intent are as follows.
Data Type | Column Type in ADT | Variable Type in Intent |
String | Y | Y |
Bool | Y | Y |
Float | Y | Y |
Int | Y | Y |
Time | Y | N |
Device | Y | Y |
Device List | Y | Y |
Device Interface | Y | Y |
Device Interface List | Y | Y |
Map | Y | Y |
Intent | Y | N |
Path | Y | Y |
Site | Y | Y |
Device Group | Y | Y |
Primary Probe | Y | N |
Secondary | Y | N |
Dataset | Y | N |
File | N | Y |
List | N | Y |
List Object | N | Y |
Table | N | Y |
Use ADT in Intent
All the data types are supported except for intent, primary probe, secondary probe, and dataset.
If the referenced columns are in the type of object, device list, or interface list, their data type will be displayed as string. You need to loop the ADT first, and then use the ‘set variable’ to store the data in the local variable with the corresponding type before it can be used.
![]() |
Note: |
Operate on Table about ADT
You can overwrite and append columns with specific variables when updating rows in the Operate on Table logic.
The ADT column needs to be used as a match condition for the ‘Delete Row’ and ‘Update Row’ actions. The operators in condition are unified as follows:
Column Type | Number | String | Time (ADT Only) | Bool |
Global Table/Local Table/ADT Operator |
|
|
Time string variable, can be get by function: GetTimeString(int offset, int timeunit=0/1/2(min/hour/day) ) |
|
The values of the ADT columns need to be updated for the ‘Delete Row’ and ‘ Update Row’ actions. The table lists how to pass the value of the intent variable to the ADT column.
Data Type (ADT Column) | Value Assignment from Intent |
String |
|
Bool | The agreed format:
|
Float | The agreed format:
|
Int | The agreed format:
|
Time | According to the time zone in the worker server, convert the time string to UTC for value assignment. |
Device | Device object can be used for value assignment. The values of other types of variables are processed as strings. If the string conforms to the agreed format, it can also be processed as a device. |
Device List |
|
Device Interface | Device object can be used for value assignment. The values of other types of variables are processed as strings. If the string conforms to the agreed format, it can also be processed as a device. |
Device Interface List |
|
Map | Only support map object for value assignment. |
Path | Only support path object variable for value assignment. |
Site | Only support site object variable for value assignment. |
Device Group | Only support Device Group variable for value assignment. |
Expression and Variable List
An ADT may include columns in the type of object and list. You can use such type of columns in intent with following rules.
- Object column and list column can be used directly when loop ADT.
- If you need to use a specific value of the device list column of an ADT, the system always assigns the corresponding value of the object column and list column to a global variable or local variable when looping the table, and then uses it as a global variable or local variable.