美文网首页
第二十六章 Caché 变量大全 $ZCHILD 变量

第二十六章 Caché 变量大全 $ZCHILD 变量

作者: Cache技术分享 | 来源:发表于2021-02-07 06:56 被阅读0次

    第二十六章 Caché 变量大全 $ZCHILD 变量

    当前进程的包含最后一个子进程的ID。

    DHC-APP>job ##class(PHA.TEST.SpecialVariables).ZB()
     
    DHC-APP>w $zchild
    16636
    DHC-APP>job ##class(PHA.TEST.SpecialVariables).ZB()
     
    DHC-APP>w $zchild
    5412
    
    image.png

    大纲

    $ZCHILD
    $ZC 
    

    描述

    $ZCHILD包含当前进程使用JOB命令创建的最后一个子进程的ID。如果进程没有使用JOB创建子进程,则$ZCHILD返回0(零)。

    在MSM语言模式中,$ZC特殊变量(拼写如下)有不同的用途。用于确定顺序文件读取中的文件结尾。

    不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

    注意

    $ZCHILDJOB的成功启动

    设置$ZCHILD并不意味着JOB已成功启动。它只表示进程已创建,参数已成功传递。

    例如,如果使用JOB生成一个不存在的例程,则$TEST$ZCHILD都会报告作业命令成功,尽管JOB会立即终止并显示<NOROUTINE>错误。

    MSM语言模式下的$ZC

    MSM语言模式支持$ZC特殊变量的特殊使用。

    如果使用%SYSTEM.Process类的LanguageMode(8)方法将当前语言模式设置为MSM,则$ZC特殊变量将在顺序文件读取期间设置。这提供了与MSM $ZC变量的兼容性。(在所有其他语言模式中,$ZC不是在文件读取过程中设置的;$ZC$ZCHILD的缩写,具有完全不同的功能。)

    在MSM语言模式下,成功的顺序文件读取将设置$ZC=0

    在MSM语言模式下,文件结束条件设置$ZC=-1(负1)。未出现<ENDOFFILE>错误。

    但是,Caché $ZC与MSM $ZC不同:

    如果文件的最后一行没有以分隔符结束,则MSM设置其$ZC=-1(负1)。Caché不检查分隔符;在本例中,它设置$ZC=0而不是-1。

    如果读取过程中发生I/O错误,MSM会将其$ZC设置为1。Caché不支持此功能;相反,Caché会发出<read>错误。

    相关文章

      网友评论

          本文标题:第二十六章 Caché 变量大全 $ZCHILD 变量

          本文链接:https://www.haomeiwen.com/subject/criatltx.html