文章目录
拓展系统命令
- 本篇介绍自定义的拓展系统命令。
使用方式
- 直接将
CustomFunction.xml
导入到Studio
里即可。- 下载文件连接:
- CSDN链接
- 阿里云盘
- 下载文件连接:
注:有想实现其他的自定义命令功能或提供一些想法与需求,请与我联系或底部留言。
拓展系统命令
快速运行方法命令 - ZFASTRUN
快速运行方法
ZFASTRUN
命令相比传统的w ##class(classname).methodname("params")
去除一些固定的关键字。
ZFASTRUN "classname_methodname(params)"
ZFR "classname_methodname(params)"
classname
- 类名。methodname
- 方法名。params
- 逗号分割的参数列表,参数省略引号。
示例
- 示例被调用方法:
Class M.Custom Extends %RegisteredObject
{
ClassMethod Sum(a, b, c)
{
q a + b + c
}
}
- 全拼命令调用:
USER>zfastrun "M.Custom_Sum(1,2,3)"
6
- 缩写命令调用:
USER>zfr "M.Custom_Sum(1,2,3)"
6
USER>zfr "M.Custom_Sum(1,2,3,4)"
zSum(a,b,c) public {
^
<PARAMETER>zSum^M.Custom.1
USER 4e2>
注:当方法没有参数时可省略括号直接调用如下方式:
ZFR "classname_methodname"
- 无参数调用:
ClassMethod NoParameter()
{
q "这是一个无参方法"
}
USER>zfr "M.Custom_NoParameter"
这是一个无参方法
安全运行方法命令 - ZFASTSAFERUN
安全运行方法
ZFASTSAFERUN
命令,可以拦截任何系统错误,并且将错误信息进行输出。
ZFASTSAFERUN "classname_methodname(params)"
ZFS "classname_methodname(params)"
classname
- 类名。methodname
- 方法名。params
- 逗号分割的参数列表,参数省略引号。
示例
- 正常运行方法:
USER>zfastsaferun "M.Custom_Sum(1,2,3)"
6
- 输入错误参数运行方法,将错误提示输出:
USER>zfs "M.Custom_Sum(1,2,3,4)"
<PARAMETER>zSum^M.Custom.1
USER>
快速运行Query
方法命令 - ZFASTQUERY
快速运行Query方法
ZFASTQUERY
命令与快速运行方法ZFASTRUN
类似,去除传统调用QUERY
关键字
ZFASTQUERY "classname_queryname(params)"
ZFQ "classname_queryname(params)"
classname
- 类名。queryname
- 查询名。params
- 逗号分割的参数列表,参数省略引号。
示例
- 全拼命令有参数调用:
USER>zfastquery "%SYSTEM.License_Key(1)"
Field:Value:
LicenseCapacity:Cache 2014.1 Enterprise - Concurrent Users:300, Multi-Server, Platform Independent:
CustomerName:Beijing Tongren Hospital:
OrderNumber:201502125:
ExpirationDate:9/23/2044:
AuthorizationKey:412470003000003000000000000B4D8C6D71980041:
MachineID::<PARAMETER>zCountsExecute^%SYSTEM.License.1
- 缩写命令无参调用;
USER>zfq "%SYSTEM.License_Counts"
InstanceLicenseUse:License Units:
授权的总数量 LU:300:
当前可用 LU:298:
最小可用 LU:298:
当前用户处于活动状态:2:
处于活动状态的最大用户数:2:
当前 CSP 用户处于活动状态:1:
处于活动状态的最大 CSP 用户数:1:
当前 CSP 会话处于宽限期:0:
处于宽限期的最大 CSP 会话数:0:
安全运行Query
方法 命令 - ZSAFEQUARY
安全运行Query方法
ZSQ
命令,可以拦截任何系统错误,并且将错误信息进行输出。
ZSAFEQUARY "classname_queryname(params)"
ZSQ "classname_queryname(params)"
classname
- 类名。queryname
- 查询名。params
- 逗号分割的参数列表,参数省略引号。
示例
- 全拼命令调用:
USER>zsq "%SYSTEM.License_Counts(1)"
<PARAMETER>zCountsExecute^%SYSTEM.License.1
- 缩写命令调用:
USER>ZSAFEQUARY "%SYSTEM.License_Counts(1)"
<PARAMETER>zCountsExecute^%SYSTEM.License.1
防止调试时误将数据提交命令 - ZTRN
在调试程序时,可能会遇到不能将数据提交与生产库时。可直接
ZTRN
命令,可以在调试方法结束后,进行是否回滚操作。
ZTRAN "classname_classname(params)"
示例
- 在输入方法结束后输入
y
将数据进行回顾,输入n
提交数据。
ClassMethod SaveData()
{
s obj = ##class(User.Person).%New()
s obj.name = "姚鑫"
s obj.age = "18"
s sc = obj.%Save()
q sc
}
USER>Ztran "M.Custom_SaveData"
1
是否将数据回滚,输入y回滚,n不回滚:y
USER>Ztran "M.Custom_SaveData"
1
是否将数据回滚,输入y回滚,n不回滚:n
在Terminal
执行SQL
语句命令 - ZSQL
ZSQL
命令可以在Terminal
中输入带引号的SQL
语句进行执行命令。
ZSQL "SQL statement"
SQL statement
-DML SQL
语句
示例
- 在
Terminal
直接输入sql
查询语句,显示数据。
USER>zsql "SELECT * FROM M_T.Person"
id MT_Age MT_Money MT_Name MT_No
1 26 25708 Vanzetti,Fred G. 279753
2 20 26776 White,Barbara G. 986492
3 27 22598 Young,Ralph P. 156477
4 27 3721 Moon,Terry O. 366644
5 26 14233 Newton,Julie Q. 251303
6 23 26461 Perez,Diane P. 423210
7 19 13603 Schaefer,Diane Q. 800001
8 18 28008 Winters,Julie D. 738133
9 25 18447 Xenia,Fred H. 558275
...
1054 23 25785 Iacobelli,Michelle Y. 840578
1055 24 12446 Diavolo,Barbara B.
安全Global
命令 - ZSAFEKILL
安全删除命令
ZSAFEKILL
防止错误操作把数据进行错误删除。
ZSAFEKILL "Global Name"
ZSK "Global Name"
Global Name
-Global
名称
示例
- 在执行
ZSK
命令后,会提示是否将数据回滚输入y
回滚,输入n
提交数据。
USER>s ^yx("name")="yx"
USER>zw ^yx
^yx("name")="yx"
USER>zsk "^yx"
是否将数据回滚,输入y回滚,n不回滚:y
USER>zw ^yx
^yx("name")="yx"
USER>zsk "^yx"
是否将数据回滚,输入y回滚,n不回滚:n
USER>zw ^yx
USER>
安全锁命令 - ZSAFELOCK
安全锁命令
ZSAFELOCK
防止加锁时没有设置超时,将程序一直阻塞。
ZSAFELOCK "Lock Name"
ZSL "Lock Name"
Lock Name
- 锁名称
示例
- 在执行安全锁命令
ZSL
后,会自动加上超时时间,默认为3
秒。
USER>zsl "^yx"
安全JOB命令 - ZSAFEJOB
因为
JOB
命令每次调用会开启新的进程,调用ZSAFEJOB
命令会判断当前可开启进程数,也会判断JOB
进程是否正确开启。
ZSAFEJOB "classname_methodname(params)"
ZSJ "classname_methodname(params)"
classname
- 类名。queryname
- 查询名。params
- 逗号分割的参数列表,参数省略引号。
快捷监视变量 - ZTRACEVAR
调试方法输入要监视的变量,可将变量的值在终端进行输出。
ZTRACEVAR "classname_methodname(params)_var"
ZTV "classname_methodname(params)_var"
classname
- 类名。queryname
- 查询名。params
- 逗号分割的参数列表,参数省略引号。var
- 监视变量逗号分割的列表。监视多个变量请用逗号分隔。