文章
姚 鑫 · 二月 12 阅读大约需 2 分钟

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

第三十二章 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 Jobroutine开始.
2 1 JobJOB命令启动.
2 0 Job 通过在终端提示下登录或从例程登录开始。
4 1 <INTERRUPT> 已启用。 CTRL-C可以中断正在运行的程序。
4 0 <INTERRUPT>被禁用,但已通过OPENUSE命令显式启用了<INTERRUPT>的终端行除外。
8 1 <Interrupt>已收到并挂起。
8 0 未收到<Interrupt>。值8由OPENUSE命令以及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。

00
1 0 1 30
Log in or sign up to continue

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