zoukankan      html  css  js  c++  java
  • Cache Object Script 学习之二(转载)

       COS命令:
    1.调用命令:Do,Quit,Job,Xecute
    2.指配:Set,Kill,New
    3.流程控制:If,ElseIf,Else;For;While,Do/While。
    4.输入输出:Write;Read;一些I/O命令。
    5.命令可以没有、有、或有多个参数。多个参数用“,”隔开;“:”作多个参数分隔符;同一行命令之间必须有两个以上空格。
    6.后条件命令用“Command:pc”的形式。
    7.Do例程时,例程要有前导“^”符。可以在“^”前加上例程的标签符。调用类方法用##Class。
    8.Quit用于返回值。
    9.Job运行后台程序,一般没有用户交互的。
    10.Xecute,可以一次运行多个命令。
    11.IF ElseIf Else类似C语言语法。
    12.For ControlVariable = StartValue:IncrementAmount:EndValue {}
    13.do {code} while condition
    14.while condition {code}
    15.Write $$label^routine()调用全程中的子程序。
    16.Read中:!回车;#换页;?n换几行。
    17.COS中还包括:事物处理命令:Lock,TStart,TCommit,TRollBack;设备相关:Open,Use,Close;调试命令:Break,GoTo;Hang:挂起正在运行的程序。
       COS中的函数:
    1.函数可以有或没有返回值,COS支持很多系统函数和用户自定义函数。
    2.调用系统函数用$name(parameters)。
    3.自定义函数是一种特殊的例程,它有名称、参数、作用域、返回值。
    4.COS推荐使用过程(Procedure)来实现自定义函数。过程、例程、子例程、函数、方法是比较相近的但有各自的特点。
    5.过程可以是私有或公共的,可以有或没有参数,自动管理其中使用的变量,可以使用和改变外部变量,可以有或没有返回值。
    6.子例程总是公共的,不能有返回值。函数也总是公共的,需要显式定义局部变量,必须有返回值。方法是类定义的一部分。例程是COS一个程序,它可以包含一个或多个过程、子例程、函数、及这些的结合。
    7.COS还支持在宏中定义用户代码。
    8.例程存为*.MAC文件,这样调用:Do ^RoutineName或 Set x = ^RoutineName
    9.子例程是*.MAC中的代码块,调用:Do Subroutine^Routine
    10.函数这样调用:Do Function^Routine 或 $$Function()
    11.过程也可以用DO调用或在表达式中用$$调用。
    12.过程中的公共参数使用时,将调用New方法,在过程Quit时,回收。
    13.如果过程中需要的参数是给它所调用的子例程使用的,那么这个参数必须定义为公共参数。
    14.默认定义的是私有过程。
    15.参数可以值传递或地址传递。
    16.在同一个过程中,不能有两个相同标签,但在同一例程的不同过程中,可以有相同的标签。过程内定义的过程只能在这个过程中调用。
    17.在过程中用Do调用的过程如是没有标签,表示是过程内部定义的过程,有标签,表示过程外部定义的过程。
    18.在过程中,如果有GoTo,那么标签必定是在过程内部。
    19.在过程中,使用Xecute和间接引用调用的是外部过程。
    20.COS中还可以定义函数或子例程,但并不推荐使用。
    21.子例程定义以标签开始,Quit结束,可以用Do,GoTo,Quit调用。
    22.函数不应该用,使用过程来替换。
      多维数组:
    1.多维数组是包括一个或多个元素的可持久变量,每个元素是一个唯一的下标标识,下标可以使用多种字面混合。
    2.简而言之,多维数组是可持久化的,通过多个下标表示的多维数据。单个节点也称为“Globals”,它是Cache数据库的基本组成块。它存在于一种树形形式,是稀疏存贮的,有多种设置。
    3.稀疏存贮可以不用为数组预留内存,从而节约内存开销。
    4.Global可以转变为数组,属性可以转变为数组,变量也可以转变为数组。
    5.可以使用Set,Kill,$Order,$Data存取操作数组数据。
       字符串操作:
    1.$length,测长度。
    2.$Justify,调整长度。
    3.$ZConvert,转换大小写。
    4.$find,查找子串。
    5.$Extract,提取子串。
    6.$Piece,截取。
    7.$ListBuild,$List,$ListLength,$ListFind。
       调用外部命令:
    1.使用%CLI 、$ZF(-1)、$ZF(-2)
    2.在Cache Terminal中使用%CLI。
    3.Set CallResults = $ZF(-1,command),可以用“!”替换。
    4.用$ZF 可在Cache中调用用其它语言(如C)写的例程。
       事物处理:
    1.可以在使用SQL语句或COS命令的应用程序中使用事物。
    2.使用Lock加锁或解锁。
    3.$INCREMENT不受事物控制。
    4.%ETN 自动处理回滚。
    还有错误处理,例程调试等这里不详细写了!

  • 相关阅读:
    [SSRS] Use Enum values in filter expressions Dynamics 365 Finance and Operation
    Power shell deploy all SSRS report d365 FO
    display method in Dynamics 365 FO
    How To Debug Dynamics 365 Finance and Operation
    Computed columns and virtual fields in data entities Dynamics 365
    Azure DevOps for Power Platform Build Pipeline
    Create readonly entities that expose financial dimensions Dynamics 365
    Dataentity call stack dynamics 365
    Dynamics 365 FO extension
    Use singletenant servertoserver authentication PowerApps
  • 原文地址:https://www.cnblogs.com/luowei/p/1160257.html
Copyright © 2011-2022 走看看