这个 jcl 代码有啥作用?

Posted

技术标签:

【中文标题】这个 jcl 代码有啥作用?【英文标题】:What does this jcl code do?这个 jcl 代码有什么作用? 【发布时间】:2017-06-23 18:04:11 【问题描述】:
//ACTUPT EXEC PGM=finance.ACCTREC.UPDATE, REGION=1M,TIME=(,6),COND= (0,EQ, 
VALIDATE)

我知道这段代码分配了 1M 的内存,处理器最多可能需要 45 秒,以确保返回代码等于 0。我不明白“//ACTUPT”或“PGM=finance.ACCTREC.UPDATE”。我认为 PGM 之后出现的是帐户名称,然后是步骤名称和 DDName,但我想验证一下。

【问题讨论】:

欢迎来到 ***.com。请花一些时间阅读help pages,尤其是名为"What topics can I ask about here?" 和"What types of questions should I avoid asking?" 的部分。也请使用tour 并阅读有关how to ask good questions 的信息。最后请学习如何创建Minimal, Complete, and Verifiable Example。 【参考方案1】:

此 JCL 包含许多语法错误,因此它只会导致所写的 JCL 错误。

REGION= 不分配内存,它限制了可以分配的内存量。如今,1M 是一个小得离谱的区域。

TIME= 将 CPU 的步长限制为 6 秒。

在编码时,COND= 只会在名为 VALIDATE 的步骤中的条件代码不为零时执行此步骤。

ACTUPT 是步骤名称,前面的// 在JCL 的语法上是必需的。

PGM=finance.ACCTREC.UPDATE 是语法错误,如果写成PGM=*.FINANCE.ACCTREC.UPDATE 表示在ACCTREC procstep 和step @987654333 中以DDNAME UPDATE 命名的临时库中执行程序@。也许我的职业生涯是隐蔽的,但我以前从未见过这样写的PGM= 参数。

清理语法错误,我怀疑我们得到...

//ACTUPT EXEC PGM=*.FINANCE.ACCTREC.UPDATE,
//          REGION=1M,TIME=(,6),COND=(0,EQ,VALIDATE)

我强烈建议您熟悉IBM Documentation。 JCL 在目录中的 z/OS MVS 下。

【讨论】:

以上是关于这个 jcl 代码有啥作用?的主要内容,如果未能解决你的问题,请参考以下文章

这个代码片段有啥作用?

这个控制器代码有啥作用? [关闭]

这个 SQL 窗口函数有啥作用?

在 EXEC 语句中使用 JCL PARM= 将参数传递给 COBOL 程序

脱字符号在 Dart 中有啥作用

java中的 validate()有啥作用