我在弄清楚如何让IEBGENER以我想要的方式工作时遇到了一些麻烦。我应首先说明我在学术大型机上的z / OS环境中运行IEBGENER。
我有三个JCL过程(PROC)内联到我正在使用的一些COBOL代码,我需要IEBGENER作为将我的PROC放入“我的MVS ID下的永久过程库”的第一步,以及将我的COBOL源“放入我的MVS ID下的永久顺序数据集”。
教师提到“记得为这些数据集编写正确的LRECL和BLKSIZE信息。”
我对IEBGENER不是很熟悉,也没有发现任何真正向我解释如何做我想做的事情。
任何“大铁”人都能帮忙吗?
答案 0 :(得分:5)
如上所述,IEBGENER是一个复制程序。它在SYSUT1上输入并“生成”它以输出数据集SYSUT2。在您的实例中,由于您要复制2个文件,因此最简单的步骤是2个GENER步骤,每个步骤生成一个输出数据集。
这里唯一棘手的部分是以正确的格式获取输出数据集。所以,为了进入proclib,假设它目前没有编目,你的SYSUT2看起来像这样:
//SYSUT2 DD DSN=&SYSUID.PROCLIB,
// DISP=(NEW,CATLG,DELETE),
// DCB=(RECFM=FB,LRECL=80,DSORG=PO)
源输出的顺序数据集看起来类似,但DCB选项上没有DSORG子参数。 PO的选项表示创建PDS而不是QSAM文件。在现代z / OS安装中,BLKSIZE不需要编码,因为如果不指定BLKSIZE,系统将计算最佳大小。
答案 1 :(得分:4)
这是如何使用IEBGENER(如上所述,应该在IBM docs网站上):
//COPY EXEC PGM=IEBGENER
//SYSUT1 DD DSN=MY.INPUT.FILE,DISP=SHR
//SYSUT2 DD DSN=MY.OUTPUT.FILE,DISP=NEW,SPACE=....
//SYSIN DD DUMMY
IEBGENER是“只是一个”复制程序,它只需输入文件,输出文件和控制文件
我不确定您认为“具体”是什么,是不是只知道要使用哪个名称?
编辑:如果你想要的是内联定义你的输入,试试这个:
//SYSUT1 DD *
...
/*
或者更好的是,如果您的输入也包含JCL:
//SYSUT1 DD DATA,DELIMITER=XX
...
XX
但JCL仍然不是特别的。
答案 2 :(得分:2)
以下是IBM Z / OS手册的链接 http://www-03.ibm.com/systems/z/os/zos/bkserv/v1r10books.html 搜索JCL,你会发现JCL的手册。 IEBGENER是IBM提供的复制程序,用于将数据从一个数据集(文件)复制到另一个数据集。您将拥有输入文件,输出文件和控制文件。 LRECL和BLKSIZe是数据集参数。如果输入文件和输出文件参数不匹配,则可能无法正确复制数据。我完全不明白你的问题。你能详细说明你需要用IEBGENER做什么。
答案 3 :(得分:2)
一些小问题:
DCB =(RECFM = FB,LRECL = 80,DSORG = PO)
不再需要DCB =,只需要代码
RECFM = FB,LRECL = 80,DSORG = PO
此外:
因为记录是固定格式的, BLKSIZE必须是偶数倍 通常,人们使用价值 3120.其原因是 隐藏在古代的迷雾中。一世 倾向于使用27920,以获得最大的收益 3390上有效的空间使用 设备
没有必要为新的DASD(光盘)数据集指定块大小。系统确定的blockize将自动为您提供最佳的块大小(对于3390的LRECL为80,确实是27920)
答案 4 :(得分:2)
这样您就不必担心DCB参数,这是指向输入数据集中的值的好方法。
//STEP100 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,DSN=INPUT.FILE
//SYSUT2 DD DSN=OUTPUT.FILE,
// DISP=(,CATLG,DELETE),
// SPACE=(TRK,(300,50),RLSE),
// DCB=*.SYSUT1
//SYSIN DD DUMMY
答案 5 :(得分:0)
听起来好像您的教练提醒您将正确的LRECL和BLKSIZE提供给“永久性过程库”和“永久性顺序数据集”。历史上,这样的数据集是RECFM = FB,LRECL = 80。
因为记录是固定格式的,所以BLKSIZE必须是80的偶数倍。很多时候,人们使用3120的值。其原因隐藏在古代的迷雾中。我倾向于使用27920,以便在3390设备上获得最有效的空间使用。
答案 6 :(得分:0)
IEBGENER是IBM最被低估和误解的工具之一。
以下是最佳文档的超链接:IEBGENER。
IEBGENER不仅仅是一个只能复制的文件到文件实用程序。它可以轻松,高效地创建可变阻塞文件。它可以通过适当的缓冲实际上是你最快的文件到文件复制实用程序,因为它曾经很好地内部缓冲,虽然现在我相信它是如此现在自动只是最快。 // @ SYSPRINT消息 - 遗憾的是 - 如果不是真的令人讨厌荒谬的话,它们是非常神秘的。许多商店都有一个名为BETERGENER的加速器,因为大多数程序员都不知道如何缓冲IEBGENER,因为IBM正在迎合那些希望MVS看起来像Windows并且像Windows一样行事的新程序员,使用IEBGENER更加用户友好。 yuck