在用taskctl的时候,我们会经常使用到自带函数,而且学习taskctl自带函数也是灵活应用taskctl的基础,只有学会用函数才可以完成很多高级的操作,省去写专门的作业来完成一些操作甚至修改一些作业本身来配合调度的使用。可在使用函数时,Designer经常编译报错或者是函数没有达到预期?下面我就把函数使用的一些情况分享给大家。
一般会用到函数的地方大概有Para、Condition等。
1、在Para中使用函数的一般格式都为 $(函数名()) ,当函数的参数为函数时,及可以理解为函数嵌套,作为函数参数的函数使用时不再也不能添加 $ 符号,此时的基本格式已经转变为 $(函数名(函数名())) 。例如 $(addyear(systime('yyyymmdd'),'yyyymmdd', 2))。
2、在Condition中使用函数时,因为Condition本身的格式限定为:
if(判断) CTL_DOIT(CTL_ING/CTL_WAIT) else CTL_WAIT(CTL_DOIT/CTL_ING),所以此时再在判断中使用函数时,已经算函数嵌套了,此时的函数使用都是 函数名() 。例如 范例一:定时调度业务流程方法一 中的condition节点,此时的startdatetime 是私有变量,加 $ 正常引用,而 systime 函数则是不需要用 $ 来引用。
<condition>if($(startdatetime)<systime('yyyymmddhhmiss')) CTL_DOIT else CTL_WAIT</condition>