第三十二章 Caché 变量大全 $ZJOB 变量
包含JOB状态信息。
大纲
$ZJOB
$ZJ
描述
$ZJOB
包含一个数字,其中每个位代表作业状态的一个特定方面。 $ZJOB
返回一个整数,该整数由设置的状态位的总和组成。例如,如果$ZJOB = 5
,则表示设置了1位和4位。
要测试单个$ZJOB
位设置,可以使用整数除(\
)和模(#
)运算符。例如,$ZJOB\x#2
,其中x是位号。下表显示了位的布局(按位的位置值)、其设置和含义:
Bit | Set to | Meaning |
---|---|---|
1 | 1 | Job 从终端提示符启动。 |
1 | 0 | Job 从routine 开始. |
2 | 1 | Job 由JOB 命令启动. |
2 | 0 | Job 通过在终端提示下登录或从例程登录开始。 |
4 | 1 | <INTERRUPT> 已启用。 CTRL-C 可以中断正在运行的程序。 |
4 | 0 | <INTERRUPT> 被禁用,但已通过OPEN 或USE 命令显式启用了<INTERRUPT> 的终端行除外。 |
8 | 1 | <Interrupt> 已收到并挂起。 |
8 | 0 | 未收到<Interrupt> 。值8由OPEN 和USE 命令以及CTRL-C 引起的错误陷阱清除。 |
1024 | 1 | 无论其他条件如何,日志记录都会被禁用。 |
1024 | 0 | 如果其他条件指示日志记录,则为此作业启用日志记录。 |
不能使用SET命令修改此特殊变量。尝试执行此操作会导致<SYNTAX>
错误。
示例
以下示例以整数形式返回$ZJOB
:
DHC-APP>WRITE $ZJOB
5
以下示例返回每个$ZJOB
位值:
/// d ##class(PHA.TEST.SpecialVariables).ZJOB()
ClassMethod ZJOB()
{
WRITE " bit 1=",$ZJOB\1#2,!
WRITE " bit 2=",$ZJOB\2#2,!
WRITE " bit 4=",$ZJOB\4#2,!
WRITE " bit 8=",$ZJOB\8#2,!
WRITE "bit 1024=",$ZJOB\1024#2
}
DHC-APP>d ##class(PHA.TEST.SpecialVariables).ZJOB()
bit 1=1
bit 2=0
bit 4=1
bit 8=0
bit 1024=0
也可以使用$ZJOB#2
返回位1。
这个应该是文章不是问题吧