迁移映射变量
在迁移中,部分变量直接从此前的产品版本映射至 Automation 360,而其他人行为各异或包含配置更改。
用户定义的变量
在 Automation 360 中,当迁移至父 bots 和子 bots 之间的交换值时,bots 中定义的所有变量的创建类型为用户输入或用户输出。
如果变量在 Enterprise 11 中的父 bot 和子 bot 之间映射,而一些映射的变量在父 bot 或子 bot 中都不可用,则迁移流程将移除这些变量。对于与父 bots 一起迁移的子 bots 以及迁移后的子 bots,迁移流程会移除这些变量。
查看以下用户定义的变量是如何迁移的。
本节解释了如何将数组变量迁移到 Automation 360。在某些情况下,您可能必须在迁移之前或之后执行一些操作或确保一些事情。
- 子类型“值”
- 具有此子类型的变量将迁移到表中,所有的列值都是字符串。
- 子类型“读取自文本文件”
- 具有此子类型的变量将迁移到表中,所有的列值都是字符串。
以下操作作为迁移的一部分添加,以配置变量中的数据:
Automation 360 操作 函数 打开文件进行读取。 返回表变量中的值。 关闭文件。 - 子类型“读取自数据库”
- 具有此子类型的变量将迁移到表包中,所有的列值都是字符串。
以下操作作为迁移的一部分添加,以配置变量中的数据:
Automation 360 操作 函数 用相应的连接字符串添加连接操作。 添加导出到数据表操作,以将结果返回至数据表变量。 添加断开连接操作以断开数据库的连接。 另请参阅:Database package。
- 子类型“读取自 Excel/CSV 文件”
- 具有此子类型的变量将迁移到表中,所有的列值都是字符串。
以下操作作为迁移的一部分添加,以配置变量中的数据:
Automation 360 操作 函数 打开文件进行读取。 如果变量声明中选择了所有单元格或范围选项,则返回表变量的值。 如果变量声明中选择了整行选项,则返回表变量值。 如果变量声明中选择了整列选项,则返回表变量。 此外,将列表分配至列表数据表包用于将返回的值存储至变量。
关闭文件。 Action required: 在 Automation 360 中,空的表变量返回运行时错误。如果您迁移的 bot 中包含空的表变量,则必须在 Automation 360 中解决此问题。 - 数组变量:DLL 函数接受的输入类型
- 当系统将数组变量从Enterprise 11 bot传递至不同类型的 DLL 函数,则 DLL 函数接受以下输入类型:
- UInt16[]、Int16[]、Int32[]、Int64[]、Int[]、Char[]、Single[]、Decimal[]、Float[]、Double[]、Boole[]、bool[]、Byte[]、String[] 和 Datetime[]
- UInt16、Int16、Int32、Int64、Int、Char、Single、 Decimal、Float、Double、Boolean、bool、Byte、String 和 Datetime
- List<UInt16>、List<Int16>、List<Int32>、List<Int64>、List<Int>、List<Char>、List<Single>、List<Decimal>、List<Float>、List<Double>List<Boolean>、List<bool>、List<Byte>、List<String>、List<Date-Time>
- UInt16[,]、Int16[,]、Int32[,]、Int64[,]、Int[,]、 Char[,]、Single[,]、Decimal[,]、Float[,]、Double[,]、 Boolean[,]、bool[,]、Byte[,]、String[,] 和 Datetime[,]
- 详细信息
- 您可以迁移包含数组变量的 Enterprise 10 或 Enterprise 11 bots。
以下是一些关键的行为差异:
- 在 Enterprise 10 和 Enterprise 11 中,索引位置从 1 开始;在 Automation 360 中,索引位置从 0 开始。例如
$arrayVariable(1,1)$
变为$arrayVariable[0][0]$
- 如果数组包含 10 行/列,且循环运行 10 次以上,则Enterprise 10/Enterprise 11返回索引位置的数组变量名称。
- 在 Enterprise 11 中,如果将常量字符串值传递到任何命令中的任何数组索引(例如
$array(field1)
,其中 field1 不是一个变量),则将按原样使用该值(例如$array(field1)
)。然而,在 bot 迁移到 Automation 360 后,如果命令有非变量值,则会发生编译时错误。
Action required: 如果使用无效的索引访问了 Enterprise 11 中的任何数组,请确保在迁移之前或之后解决 bot 错误。 - 在 Enterprise 10 和 Enterprise 11 中,索引位置从 1 开始;在 Automation 360 中,索引位置从 0 开始。例如
本节解释了如何将字典变量迁移到 Automation 360。在某些情况下,您可能必须在迁移之前或之后执行一些操作或确保一些事情。
- 子类型“值”
- 系统将这些变量迁移至 Automation 360 中的、含字符串子类型的字典类型。
- 子类型“读取自 CSV 文件”
- 迁移流程中,通过 CSV/Text 包添加操作,以读取 CSV 文件,并在表变量中存储数据。该流程还可添加操作,以在表变量中执行循环,并使用字典变量的“放置”操作在字典变量中添加键和值。
- 字典变量:DLL 函数接受的输入类型
- 当系统将词典变量从Enterprise 11 bot传递至不同类型的 DLL 函数,则 DLL 函数接受以下输入类型:UInt16、Int16、Int32、Int64、Int、Char、Single、 Decimal、Float、Double、Boolean、bool、Byte、String 和 Datetime。
- 详细信息
- 您可以迁移包含字典变量的 Enterprise 10 或 Enterprise 11 bots。
下表描述了一些键行为差异以及它们如何在 Automation 360 中运作:
Enterprise 10 或 Enterprise 11 行为 Automation 360 行为 字典键在 Enterprise 10 或 Enterprise 11 中不区分大小写。 字典键在 Automation 360 中区分大小写。 为了保持 bot 执行弹性,迁移流程将所有字典键转换为小写值。字符串表达小写字母在变量被用作字典键时使用,以获得小写的键名。
本节解释了如何将列表迁移到 Automation 360。在某些情况下,您可能必须在迁移之前或之后执行一些操作或确保一些事情。
- 子类型“值”
- 这些变量迁移至含子类型字符串的列表。
- 子类型“数组”
- 这些变量迁移至含子类型字符串的列表。
- 子类型“从文本文件读取”
- 当调用通过读取文件声明的变量时,旧式自动化包的导入来自文本文件的列表操作将添加至待迁移的操作上方。
- 声明为“随机发布”
- 列表变量可在 Enterprise 10 或 Enterprise 11 中声明为随机发布,以从列表中返回随机项目。迁移流程中,将新的大小操作添加至列表包,以获取列表大小,并将分配随机数字操作添加至数字包,以查找随机位置,并将其用于获取随机列表项目。
- 详细信息
-
- 在 Enterprise 10 和 Enterprise 11 中,不需要指定任何索引即可访问列表。在 Automation 360 中,您必须制定相应的索引,以从列表中检索特定值。
示例:列表变量可以通过以下方式按索引访问:
$listVariable[0]$
其中 0 表示列表中的第一个值。
- Enterprise 10 或 Enterprise 11 中的索引位置从 1 开始,Automation 360 中的索引位置从 0 开始。
- Enterprise 11 行为:在Enterprise 11中,当使用固定索引列表中,系统在列表的第一个索引中返回可用值。
示例:例如,假设您的列表包含值 1、2、3 和 4,且您使用
$IntList(3)$
在列表的第三个索引位置检索值。系统返回列表(1) 第一索引位置的可用值,而非执行索引位置 (3)。Automation 360 行为:在 Automation 360 中,系统在指定索引位置返回可用值(如上述示例,其返回 3)。
迁移后 bots 的行为:在列表使用固定索引表达式、且迁移至Automation 360的Enterprise 11 bots 可在指定索引位置返回可用值。
- 如果列表包含 10 个项目,且循环运行超过 10 次,则 Enterprise 10 或 Enterprise 11 在第 10 次迭代后返回列表的第一个值。
- 在 Enterprise 10 和 Enterprise 11 中,不需要指定任何索引即可访问列表。在 Automation 360 中,您必须制定相应的索引,以从列表中检索特定值。
- 列表变量:DLL 函数接受的输入类型
- 当系统将列表变量从Enterprise 11 bot传递至不同类型的 DLL 函数,则 DLL 函数接受以下输入类型:
- UInt16[]、Int16[]、Int32[]、Int64[]、Int[]、Char[]、Single[]、Decimal[]、Float[]、Double[]、Boole[]、bool[]、Byte[]、String[] 和 Datetime[]
- UInt16、Int16、Int32、Int64、Int、Char、Single、 Decimal、Float、Double、Boolean、bool、Byte、String 和 Datetime
- List<UInt16>、List<Int16>、List<Int32>、List<Int64>、List<Int>、List<Char>、List<Single>、List<Decimal>、List<Float>、List<Double>List<Boolean>、List<bool>、List<Byte>、List<String>、List<Date-Time>
- UInt16[,]、Int16[,]、Int32[,]、Int64[,]、Int[,]、 Char[,]、Single[,]、Decimal[,]、Float[,]、Double[,]、 Boolean[,]、bool[,]、Byte[,]、String[,] 和 Datetime[,]
另请参阅:List package。
本节解释了如何将随机变量迁移到 Automation 360。在某些情况下,您可能必须在迁移之前或之后执行一些操作或确保一些事情。
- 子类型“随机字符串”
- 如果子类型字符串中包含随机变量,则迁移流程可向字符串包添加生成随机字符串操作,以按 If 条件生成随机字符串,并在 Automation 360 中为相应的迁移变量分配值
- 子类型“随机数字”
- 如果子类型数字中包含随机变量,则迁移流程可向数字包添加分配随机数字操作,以按 If 条件生成随机字符串,并在 Automation 360 中为相应的迁移变量分配值。
本节解释了如何将值迁移到 Automation 360。在某些情况下,您可能必须在迁移之前或之后执行一些操作或确保一些事情。
- 子类型“值”
- 这些变量始终在 Automation 360 中作为字符串迁移,即使其包含数值、布尔值或日期时间值也不例外。表达式用于 Automation 360,以按需将字符串转换为其他类型。
- 子类型“读取自文本文件”
- 为了保证迁移期间 bot 执行的完整性,当调用通过读取文件声明的变量时,字符串包的从文本文件中导入字符串操作将添加至待迁移的操作上方。
- 详细信息
- Bots 在变量中使用值类型变量,可以迁移到 Automation 360。对于在 Insert Keystrokes 命令中使用变量中的变量的 Enterprise 11 bots,String package 的评估值 action 会添加到迁移的 bot 中
另请参阅: String package | Number package | 布尔值package | 日期时间package
系统变量
在某些情况下,系统变量(如错误行号、错误描述和操作系统名称)会在 Automation 360 中返回一个不同的值。在决策或字符串操作中使用这些变量的 Bots 需要在迁移后进行审查。
循环内使用的部分系统变量是迁移后循环中的用户定义变量。在某些情况下,用户定义的变量可能需要在迁移的 bot 中进行一些配置。
部分系统变量将作为 Automation 360 中的操作迁移。这些操作将添加至使用这些变量的操作上方。
- $Filedata Column$
- $Dataset Column$
- $XML Data Node$
- $Excel Column$
下表提供了有关各类系统变量的信息,以及其如何迁移至 Automation 360。部分变量是操作的一部分,部分已成为操作,部分已知为系统变量,但是无语法变化。
系统变量 | 它们如何迁移到 Automation 360 |
---|---|
$Day$ | 在 Automation 360 中变为 $System:Day$ |
$Month$ | 在 Automation 360 中变为$System:Month$ |
$Year$ | 在 Automation 360 中变为 $System:Year$ |
$Date$ | 在 Automation 360 中变为 $System:Date$ 为 Enterprise 11 或 Enterprise 10 bot 中的变量设置的日期格式存储在 AADefaultDateFormat 全局值内。 |
$Hour$ | 在 Automation 360 中变为 $System:Hour$ |
$Minute$ | 在 Automation 360 中变为 $System:Minute$ |
$Clipboard$ | 在 Automation 360 中变为 $System:Clipboard$ |
$Machine$ | 在 Automation 360 中变为 $System:Machine$ |
$MiliSecond$ | 在 Automation 360 中变为 $System:MiliSecond$ |
$ArrayColumns($arrayVariable$)$ | 在 Automation 360 中变为表达式: $arrayVariable.DataTable:columnCount$ |
$ArrayRows($arrayVariable$)$ | 在 Automation 360 中变为表达式: $arrayVariable.DataTable:rowCount$ |
$AAControlRoom$ | 在 Automation 360 中变为 $System:AAControlRoom$ |
$RAMUsage$ | 在 Automation 360 中变为 $System:RAMUsage$ |
$TotalRAM$ | 在 Automation 360 中变为 $System:TotalRAM$ |
$OSName$ | Enterprise 10 或 Enterprise 11 返回 Microsoft Windows 10 Pro 64 位值。在 Automation 360 中,此变量变为 $System:OSName$ ,并返回 Windows 10 64 位。 |
$CPUUsage$ | 在 Automation 360 中变为 $System:CPUUSage$ |
$Counter$ | 这些系统变量已在Automation 360中弃用。迁移流程创建了用户定义的变量类型数字,并修改了 bot,以确保其提供与 11.x bot 相同的输出。 如果您在循环中使用 $Counter$ 变量,则迁移过程中以迁移的 bot中的 $Condition-Counter$ 变量替换此变量,并将此值设置为 1。 |
$Dataset Column$ | 此系统变量现在是循环中对于 SQL 查询数据集中的每一行迭代器的组成部分。系统在循环中创建新变量,当存在 $Dataset Column$ 时,其用于循环内部。如果变量在循环之外使用,它将被转换为记录类型的用户定义变量,并被分配给记录操作,这使您能够将源记录变量的值分配给目标记录变量。因此,在运行包含此变量的迁移后的 bots 时,将显示最后一行的数据。 |