变量意义
在具体的应用中,我们经常会把一些路径、作业程序中使用日期、数据库用户、密码等信息用变量来表示,这可以极大程度增强设计信息的灵活性以及可移植性。
在TASKCTL中,每个流程或定时器都可以定义自己的私有变量。在资源树中,我们可以通过双击相应的私有变量项,并通过相应的页面来定义每个控制器的私有变量。在模块代码中,我们就可以通过$符号加括号的方式来引用变量,如这段代码所示,myshellpath, workdate就是变量。
全局变量与私有变量
全局变量:用户可以通过admin组件定义全局变量。全局变量对整个平台生效。
私有变量:在Designer中,用户可以为每一个流程定义私有变量。私有变量只能对所属流程或定时器生效。
实际使用中,为了信息的可管理性,我们尽量使用私有变量。
变量类型
在TASKCTL中,变量的本质都是字符串,用户设计代码的宏替换。同时,TASKCTL针对自身的一些技术特征,又将这些字符串变量分了三种类型:(1) 常量型; (2) 普通变量型; (3) 逻辑日期型。
(1) 常量型:常量型变量值,只能在设计阶段,通过Designer定义,不能在Monitor中,运行过程中变更;不能在流程激活时重新定义,不能通过monivarv组件修改,也不能在子流程调用过程中传递。
(2) 普通变量型:刚好与常量型相反,Designer中重新定义,不能改变运行环境中的变量值,但可以在Monitor中,运行过程过程中修改。比如一些表示日期的变量,需要每天通过modivarv变更,就采用普通变量型。
(3) 逻辑日期型:逻辑日期型是一种特殊的普通变量,具备普通变量的所有特征。其特殊性在于它代表的是日期字符串,格式为yyyymmdd。
该类型主要是针对作业排程计划属性period与datetype而设计。
变量值的规则约定
变量值在TASKCTL中,本质上是字符串。同时,变量值字符串的有以下约定
-
必须是不代空格的连续可见字符
-
不能出现单引号、双引号、$、&、|、%、*、换行符、逗号等特殊字符。
变量应用范围
变量的使用,其本质是字符串宏替换,其根本目的是增强代码的灵活性与可移植性等。同时,我们也要知道,在代码中,并非代码所有属性都可以使用变量,它只局限于以下属性:
系统级缺省变量
除了用户自己定义的全局变量与私有变量以外,系统还提供了一些默认变量供用户使用。