您实际上没有 JCL 问题。
首先,处理MAXCC,因为这会引起很多混乱。
对于有经验的人,MAXCC 只存在于 IDCAMS(用于文件和目录操作的实用程序,定义 VSAM 文件和与这些类型的事物相关的东西)。
MAXCC 不存在于 JCL 中,也不存在于您将从 JOB 收到的任何输出中。
MAXCC 的来源是您的工作卡上的 NOTIFY 声明。我们已经多次看到通知到达,我们从未阅读过它,但它确实显示了 MAXCC。只是 MAXCC 只出现在 IDCAMS 和来自 NOTIFY 中,所以告诉我们它是什么会让很多人感到困惑。
CC 位是条件代码。每个作业步骤都会产生一个条件代码。通常CC会是00,没什么可报告的,04,一些情况,不一定严重,08,一些情况可能很严重,12,一些严重的情况和16,一些非常糟糕的事情。
这些只是常规用途,但来自 IBM 和独立软件供应商 (ISV) 的大多数实用程序都遵守约定。也许您偶尔会看到 20。可能是地震期间。
例如,如果您编译一个 COBOL 程序,则 00 表示编译器没有发现任何问题。这并不意味着您的程序有效。这只是意味着语法没问题。04 表示有“警告”。您应该始终检查这些,因为有些警告实际上是有问题的。08 是严重错误,虽然生成了目标代码(除非不是通过编译器选项请求),但尝试执行它是愚蠢的(除了好玩)。12和16,编译器刚刚放弃,不会生成代码。
链接器/绑定器有类似的层次结构。00 已经准备好运行(但不能保证它会做任何接近你想要的事情),04 是一个小问题,但你会想知道什么,08 是一个问题,这可能意味着你将无法执行该程序。
总而言之,如果您的 NOTIFY 结果为 MAXCC=08,那么您的工作中至少有一个步骤的 CC 为 08。您可能有多个步骤与 08,并且您也可能具有带有 00 或 04 的步骤。
这与 JCL 无关。CC 由您正在运行的程序决定,并且 CC 在每种情况下的含义可能因具体情况而异(例如,编译器到链接器/绑定器),尽管评分通常大致相同。
您也可以从应用程序设置 CC。在 COBOL 中,您将使用 RETURN-CODE“特殊寄存器”。
MOVE 04 TO RETURN-CODE
Run Code Online (Sandbox Code Playgroud)
执行时,假设 RETURN-CODE 稍后没有收到其他值,将从该程序的执行中获得 04 的 CC。
您当地的站点标准将规定应用程序如何指示错误:您很可能永远不会使用 RETURN-CODE。
更短的是你有一个程序错误,你需要做piet.t建议的事情。
您可能会收到与生成 CC 的步骤相关的错误消息。查找有关消息的更多信息(除了 COBOL 编译器消息,这些消息是不言自明的(!))的一种快速简便的方法是使用 IBM LookAt Web 服务:http ://www-03.ibm.com/系统/z/os/zos/bkserv/lookat/
粘贴您的消息,单击“开始”按钮。有时您需要指定 z/OS 版本。作为初学者,您始终可以做到这一点。
对于调试 JCL 本身,您可以尽可能在 JOB 卡上使用 TYPRUN=SCAN,或者您的站点可能有一个 JCL-checker 产品,尽管这些产品往往会得到很多误报,因为它们会在几年后更新他们试图了解控制卡对标准实用程序的影响(TYPRUN=SCAN 忽略控制卡)。
真正测试您的 JCL 是否真的有效是将它放入并运行它,创建实际测试您编码的内容的条件。没有产品可以检查您在 JCL 中创建的关系(通过条件检查... CC,它又回来了)是否正确。
| 归档时间: |
|
| 查看次数: |
4975 次 |
| 最近记录: |