【问题标题】:Procedure was expanded as instream procedure definition程序扩展为流内程序定义
【发布时间】:2014-11-13 05:55:50
【问题描述】:

我是mainframesJCl 的新手。我收到错误消息:

“过程被扩展为流内过程定义”

这是我的JCL。 我收到消息 IEFC001I 。有人请帮我解决这个问题。

【问题讨论】:

  • 我看不到你的 JCL。此外,这个“程序已扩展......”听起来不像是一个错误。输出中是否还有其他消息?
  • 那不是错误信息(IEFC001I末尾的I表示是信息信息)。它告诉你它已经扩展了一个 Instream-JCL-Procedure(参见tutorialspoint.com/jcl/jcl_procedures.htm)。
  • 请包含 JCL 并找到错误信息(可能以 E 结尾)
  • I 结尾的消息是Information 消息。这些不会导致作业步骤失败,但如果作业步骤失败,有时与非I 消息相关联,有助于确定问题。这里只是说“我找到了对PROCJCL 过程)的引用,并使用在JCL 中编码的instream PROC 而不是从库中解析了对PROC 的引用(a PROCLIB)”。每次使用流内过程时,您都会收到该消息,无论作业步骤异常终止、失败还是以 RC 0 完成。
  • 如果您的步骤失败,我们需要查看您的作业的假脱机输出文件 2 中的所有消息和 JCL。我们还需要知道步骤失败的症状是什么。

标签: mainframe jcl


【解决方案1】:

我认为这个问题的标题应该重命名为IEFC001I message "Procedure was extended as instream procedure definition"是什么意思?即使您似乎忘记了包含您的 JCL(根据您的“我的 JCL 中的这个”),我认为没有必要包含这样的 JCL 来回答您的问题。

提交 JCL 后,开始运行的作业可能会产生如下消息:

过程被扩展为流内过程定义

与该消息相关的消息标识符是 IEFC001I。请注意此消息末尾的“I”,它代表类似“Informational only”(而不是“E”代表错误,或“A”代表 Abend”)。因此这不应被视为错误。

它实际上想说的是,您的 JCL 包含一些“程序”的详细信息,在这种情况下,它已添加到 JCL 本身(= 流内)。另一种方法可能是某个 JCL 作业步骤正在执行一个过程,其中一个成员可以在一个典型的库中找到,其中也有很多此类过程,例如 DSN=SYS1.PROCLIB 。

注意:作为使用“流内过程”的变体,您可能还想使用“JCLLIB ORDER = ...”语句。这允许您指定 1 个或多个 DSN,您希望您的 JCL 在其中查找您在 JCL 中使用的任何 proclib 成员。我在测试更新的过程成员时经常使用该技术(在实际将其安装在“官方 proclib DSNs”中之前,如果您未指定任何此类 JCLLIB ORDER 则使用该技术...

【讨论】:

    猜你喜欢
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-19
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多