JCL - 向编目 PROC 提供流内数据
JCL - supply instream data to cataloged PROC
我正在尝试使用以下代码复制“Murach 的 OS/390 和 z/os JCL”(第 259 页)一书中给出的案例。
简而言之,我想将调用作业中的流内数据集提供给调用的过程。而且我不知道为什么它不起作用。
有人有什么建议吗?
(我知道如何在没有流内数据集的情况下使其工作,但我想复制书中的案例)
调用作业
XXXXXXX.PE000.UTILITY(SRCHCALL)
000001 //JOB1 JOB
000002 // JCLLIB ORDER=(XXXXXXX.PE000.UTILITY)
000003 //STEP01 EXEC PROVA
000004 //SRCHCA1.OUT1 DD *
000005 CIAO
000006 /*
000007 //
程序已调用
XXXXXXX.PE000.UTILITY(PROVA)
000001 //EXMPLE PROC
000002 //SRCHCA1 EXEC PGM=IEFBR14
000003 //OUTDD DD DDNAME=OUT1
JCL 上市
1 //JOB1 JOB
2 // JCLLIB ORDER=(XXXXXXXX.PE000.UTILITY)
3 //STEP01 EXEC PROVA
4 XXEXMPLE PROC
5 XXSRCHCA1 EXEC PGM=IEFBR14
6 XXOUTDD DD DDNAME=OUT1
7 //SRCHCA1.OUT1 DD *
在 JCL 列表中,我还希望看到字符串“CIAO”。
上面的代码显示了本书的确切语法,但是通过用 OUTDD 替换第 4 行中的 OUT1,我只用作业的覆盖语句而不是下一行(“ CIAO”).
JCL 清单 (2)
5 XXSRCHCA1 EXEC PGM=IEFBR14
6 //SRCHCA1.OUTDD DD *
X/OUTDD DD DDNAME=OUT1
Instream data 在读取和解释 JCL 流时,通过 JES2/3 从 JCL 中分离出来。每个流内数据集的实际数据分别存储在 JES 假脱机 space 上。将其视为临时数据集。 JES 将 DD 语句“链接”到相应的数据。实际数据从未在 JCL 列表中重现。
您可以将程序 PROVA 更改为如下所示:
//EXMPLE PROC
//SRCHCA1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD DDNAME=OUT1
//SYSUT2 DD SYSOUT=*
然后重新运行 您的第一个 JCL,您应该会在作业输出中看到文本“CIAO”。
你也可以运行第二个例子,但是这里你必须写:
//SRCHCA1.SYSUT1 DD *
CIAO
/*
同样,您应该在作业输出的单独输出文件中看到“CIAO”。
(请注意,我实际上没有 运行 我的样本。)
我正在尝试使用以下代码复制“Murach 的 OS/390 和 z/os JCL”(第 259 页)一书中给出的案例。
简而言之,我想将调用作业中的流内数据集提供给调用的过程。而且我不知道为什么它不起作用。 有人有什么建议吗?
(我知道如何在没有流内数据集的情况下使其工作,但我想复制书中的案例)
调用作业
XXXXXXX.PE000.UTILITY(SRCHCALL)
000001 //JOB1 JOB
000002 // JCLLIB ORDER=(XXXXXXX.PE000.UTILITY)
000003 //STEP01 EXEC PROVA
000004 //SRCHCA1.OUT1 DD *
000005 CIAO
000006 /*
000007 //
程序已调用
XXXXXXX.PE000.UTILITY(PROVA)
000001 //EXMPLE PROC
000002 //SRCHCA1 EXEC PGM=IEFBR14
000003 //OUTDD DD DDNAME=OUT1
JCL 上市
1 //JOB1 JOB
2 // JCLLIB ORDER=(XXXXXXXX.PE000.UTILITY)
3 //STEP01 EXEC PROVA
4 XXEXMPLE PROC
5 XXSRCHCA1 EXEC PGM=IEFBR14
6 XXOUTDD DD DDNAME=OUT1
7 //SRCHCA1.OUT1 DD *
在 JCL 列表中,我还希望看到字符串“CIAO”。
上面的代码显示了本书的确切语法,但是通过用 OUTDD 替换第 4 行中的 OUT1,我只用作业的覆盖语句而不是下一行(“ CIAO”).
JCL 清单 (2)
5 XXSRCHCA1 EXEC PGM=IEFBR14
6 //SRCHCA1.OUTDD DD *
X/OUTDD DD DDNAME=OUT1
Instream data 在读取和解释 JCL 流时,通过 JES2/3 从 JCL 中分离出来。每个流内数据集的实际数据分别存储在 JES 假脱机 space 上。将其视为临时数据集。 JES 将 DD 语句“链接”到相应的数据。实际数据从未在 JCL 列表中重现。
您可以将程序 PROVA 更改为如下所示:
//EXMPLE PROC
//SRCHCA1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD DDNAME=OUT1
//SYSUT2 DD SYSOUT=*
然后重新运行 您的第一个 JCL,您应该会在作业输出中看到文本“CIAO”。 你也可以运行第二个例子,但是这里你必须写:
//SRCHCA1.SYSUT1 DD *
CIAO
/*
同样,您应该在作业输出的单独输出文件中看到“CIAO”。
(请注意,我实际上没有 运行 我的样本。)