文章 姚 鑫 · 二月 12, 2021 2m read

第三十二章 Caché 变量大全 $ZJOB 变量

第三十二章 Caché 变量大全 $ZJOB 变量

包含JOB状态信息。

大纲

$ZJOB
$ZJ

描述

$ZJOB包含一个数字,其中每个位代表作业状态的一个特定方面。 $ZJOB返回一个整数,该整数由设置的状态位的总和组成。例如,如果$ZJOB = 5,则表示设置了1位和4位。

要测试单个$ZJOB位设置,可以使用整数除(\)和模(#)运算符。例如,$ZJOB\x#2,其中x是位号。下表显示了位的布局(按位的位置值)、其设置和含义:

BitSet toMeaning
11Job 从终端提示符启动。
10Jobroutine开始.
21JobJOB命令启动.
20Job 通过在终端提示下登录或从例程登录开始。
41<INTERRUPT> 已启用。 CTRL-C可以中断正在运行的程序。
40<INTERRUPT>被禁用,但已通过OPENUSE命令显式启用了<INTERRUPT>的终端行除外。
81<Interrupt>已收到并挂起。
80未收到<Interrupt>。值8由OPENUSE命令以及CTRL-C引起的错误陷阱清除。
10241无论其他条件如何,日志记录都会被禁用。
10240如果其他条件指示日志记录,则为此作业启用日志记录。

不能使用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。

Comments

Michael Lei · 二月 13, 2021

这个应该是文章不是问题吧

0