`

IEBCOPY

阅读更多

IEBCOPY

IEBCOPY 系统实用程序的功能是拷贝,压缩和合并分区数据集以及扩展分区数据集,变更分区数据集或者扩展分区数据集的成员,为选择的成员更换新名,对加载模块进行拷贝和重新组块。

下面是 IEBCOPY 的作业控制语句列表:

       

 

       

JOB

作业初始

EXEC 

定义程序名 PGM=IEBCOPY

SYSPRINT   DD 

定义由 IEBCOPY 产生的系统输出信息

SYSUT1     DD

定义输入的分区数据集或扩展分区数据集

SYSUT2     DD

定义输出的分区数据集或扩展分区数据集

SYSUT3     DD  

定义一个溢出数据集,该语句在没有足够的虚拟空间存放输入的 分区数据集或扩展分区数据集目录入口时使用

SYSUT4     DD

定义一个溢出数据集,该语句在没有足够的虚拟空间存放输出的 分区数据集或扩展分区数据集目录入口时使用

SYSIN       DD

定义控制语句,可在这里定义的语句有: COPY ALTERMOD COPYMOD SELECT EXECLUDE 

             

     下面对控制语句进行说明:

     COPY :启动一个或多个拷贝、写在或加载操作。其格式为;

     label COPY     OUTDD=ddname

                   ,INDD=({ddname | (ddname,R)},…)

                   ,LIST={YES|NO}

     操作数说明:

    OUTDD=ddname ”:指定输出的分区数据集名,这里的 ddname 必须是本作业步中的一个 DD 语句名。

    INDD=({ddname | (ddname,R)}, ) ”:指定输入分区数据集或扩展分区数据集,对于卸载操作只能指定一个 ddname ,这里的 R 表示从输入的数据集中选择所有的成员进行相应的操作,此时不需设置 SELECT 语句。

      LIST={YES|NO} ”:指出是否将拷贝的成员名列在 SYSPRINT 数据集中,取值为 YES

时将成员名列表。

     需要注意的是:

   1 如果为拷贝操作,输入数据集和输出数据集必须是分区数据集、扩展分区数据集或卸载模块结果的顺序数据集;

   2 )如果是加载操作(什么是加载操作啊?),输入数据集必须是分区数据集或顺序数据集,而输出数据集则必须是分区数据集;

   3 )如果是卸载操作,输入数据集必须是分区数据集、扩展分区数据集或顺序分区数据集,输出数据集可以驻留在直接存取卷上,也可以驻留在磁带卷上。当驻留在磁带卷上时,它的组织结构必须是顺序数据集,且要指定省略目录或缩影值得

    SPACE 参数:

    ALTERMOD :指明加载模块变更的开始,其格式为:

    label ALTERMOD       OUTDD=ddname LIST={YES|NO}

    操作数说明:

   OUTDD=ddname ”:指定要变更的数据集;

   LIST={YES|NO} ”:指明是否将变更成员名列在 SYSPRINT  数据集中,取值为 YES

时,被变更的所有成员名列在 SYSPRINT 数据集中。

     COPYMOD :指明对拷贝和加载模块从新组块的操作,其格式为:

     label COPYMOD      OUTDD=ddname

                        ,INDD=({ddname | (ddname,R)},…)

                        ,MAXBLK={nnnn|nnK}

                        ,MINBLK={nnnn|nnk}

                           ,LIST={YES|NO}

     操作数说明:

     OUTDD=ddname ”:指定加载模块要拷贝到的分区数据集;

     INDD=({ddname | (ddname,R)}, ) ”:指定输入数据集名,该数据集是一个加载模块库,并在本作业的一个名为 ddname DD 语句中定义,这里的 R 表示从输入的数据集中选择所有的成员进行拷贝,并变更输出加载模块库中任何指定的成员名,此时不需设置 SELECT 语句;

     MAXBLK={nnnn|nnK} ”:指定输出分区数据集记录的最大块值,通常设置的值要小于缺省值,以便数据记录能和其它系统或程序兼容, nnnn 是一个十进制数, nnK 则表示 nn 千字节,其缺省值是输出数据集的块大小;

     MINBLK={nnnn|nnk} ”: 指定输出分区数据集记录的最小块值,缺省值为 1K

     LIST={YES|NO} ”:指明是否将变更成员名列在 SYSPRINT  数据集中,取值为 YES

时,被变更的所有成员名列在 SYSPRINT 数据集中。

     SELECT :确定输入数据集中要拷贝的成员名,其格式为:

     label  SELECT  MEMBER= {name1| name1 newname1,R | name1, ,R }|

           ,( name2 newname2 R | name2 ,, R } ,。。。)

     操作数说明:

     MEMBER= …”: name 确定拷贝的成员名; newname 确定拷贝输出的成员名,如果这个名字在输出分区数据集中已存在,则这个成员不被拷贝,除非同时设置 R 参数, newname ALTERMOD 不能同时使用。

     EXCLUDE :确定输入数据集中不被拷贝和不加载的成员,其格式为:

     label  EXCLUDE  MEMBER= name1 name2 ,…)

     下面是几个实例:

     1

     //COPY   JOB…

     //JOBSTEP   EXEC     PGM=IEBCOPY

     //SYSPRINT    SYSOUT=A

//SYSUT1   DD    DSN=DATASET5,UNIT=disk,VOL=SER=111113,

     //               DISP=SHR

     //SYSUT2   DD    DSN=DATASET4,UNIT=disk,VOL=SER=111112,

     //         DISP=(NEW,KEEP),SPACE=(TRK,(5,1,2))

 

     上面是一个拷贝整个数据集的例子。在该例中, SYSOUT1  DD 定义一个含有两个成员的分区数据集 DATASET5 SYSUT2 DD 定义一个新的分区数据集 DATASET4 ,并为它分配

5 个磁道,其中两个磁道分配给目录区。在这个例子中不需要 SYSIN DD 语句,它把数据集

DATASET5 的所有成员都拷贝到数据集 DATASET4 中。

     2

     //COPY   JOB  

     //JOBSTEP   EXEC     PGM=IEBCOPY

     //SYSPRINT    DD   SYSOUT=*

     //OUT1        DD   DSN=DATESET1,UNIT=disk,VOL=SER=111112,

     //            DISP=(OLD,KEEP)

     //IN6        DD    DSN=DATASET6,UNIT=disk,VOL=SER=111115,

     //           DISP=OLD

     //IN5        DD    DSN=DATASET5,UNIT=disk,VOL=SER=111116,

     //           DISP=(OLD,KEEP)

     //SYSUT3     DD    UNIT=SYSDA,SPACE=(TRK,(1))

     //SYSUT4     DD    UNIT=SYSDA,SPACE=(TRK,(1))

     //SYSIN      DD   *

         COPYOPER       COPY    OUTDD=OUT1

              INDD=IN5,IN6

              SELECT     MEMBER=(B,,R),A)

     /*

     上面是一个拷贝、置换被选择的数据集成员的例子。在该例中:

     OUT1 DD 语句定义含有三个成员( A B F )的分区数据集 DATASET1

     IN6 DD 语句定义含有三个成员( B C F )的分区数据集 DATASET6

     IN5 DD 语句定义含有两个成员( A C )的分区数据集 DATASET5

     SYSUT3 SYSUT4 DD 语句定义临时溢出数据集,并为它们分配一个磁道;

     SYSIN DD 语句定义流内控制数据集,它包含一个 COPY 语句、一个 INDD 语句和一个 SELECT 语句。 OUTDD 参数指定 DATASET1 作为输出数据集, INDD 指定 DATASET5

为第一个处理的输入数据集,而 DATASET6  作为第二个处理的输入数据集,它的处理顺序

为:

1 )在 DATASET5 中查询所选择成员。

2 )首先查到成员 A ,但不拷贝到 DATASET1 中,因为 DATASET1 中已经含有成员 A 且没有设置 R 参数、。

3 )在 DATASET5 中未查到所需要的成员,继续在 DATASET6 中查找。

4 )找到成员 B 并拷贝到 DATASET1  中,虽然 DATASET1  中已经含有成员 B ,但在 这里设置了 R 参数。 SELECT 指定从输入数据集拷贝选择的成员到输入数据集。

 

     3

     //CONVERT     JOB  

     //STEP1       EXEC     PGM=IEBCOPY

     //SYSPRINT    DD      SYSOUT=*

     //SYSUT1      DD      DSN=PDSSET,DISP=SHR,DSNTYPE=PDS

     //SYSUT2      DD      DSN=PDSSET,LINK=PDSSET,DSNTYPE=LIBRARY,

     //            DISP=(NEW,CATLG)

 

上面是一个分区数据集转换为扩展分区数据集的例子。在该例中, SYSUT1 DD 语句定义一个输入的分区数据集 PDSSET SYSUT2  DD 语句定义输出的扩展分区数据集 PDSE ,所有的扩展分区数据集都是由存储管理子系统( SMS )进行管理,其中 LINK 子参数为扩展分区数据集设置 DCB SPACE 特性, DSNTYPE 子参数指出新建数据集是扩展分区数据集而不是分区数据集。这里不需要 SYSIN DD 语句。

 

     4.

      //UNLOAD     JOB              

// EXEC PGM=IEBCOPY

//SYSPRINT DD SYSOUT=A

//SYSUT1    DD DSN=inpds,DISP=SHR

//SYSUT2    DD DSN=tape.dataset.name,UNIT=TAPE,

//  VOL=SER=tape#,LABEL=#,DISP=(NEW,PASS)

//SYSIN   DD DUMMY

/*

上面是将一个分区数据集转存为磁带上的顺序数据文件的例子。

 

5.

//UPLOAD JOB …

// EXEC PGM=IEBCOPY

//SYSPRINT DD SYSOUT=A

//SYSUT1    DD DSN=tape.dataset.name,DISP=(OLD,PASS),

//  UNIT=TAPE,VOL=SER=tape#,LABEL=#

//SYSUT2    DD   DSN=outpds,DISP=SHR

//SYSIN   DD   DUMMY

/*

上例是将一个转存为磁带上顺序文件的分区数据集按原有的 DCB 属性恢复到 DASD (假定该分区数据集已经存在)。

分享到:
评论

相关推荐

    JCL Utilities

    大型主机 JCL 实用程序介绍 包括IEBCOMPR IEBCOPY IEBDG等实用程序

    A JCL STEOP ABOUT COPYING PDS DATASET.

    A JCL STEOP ABOUT COPYING PDS DATASET.

    机械设计家用手摇面条机sw18可编辑非常好的设计图纸100%好用.zip

    机械设计家用手摇面条机sw18可编辑非常好的设计图纸100%好用.zip

    机械设计托盘库推车sw12可编辑非常好的设计图纸100%好用.zip

    机械设计托盘库推车sw12可编辑非常好的设计图纸100%好用.zip

    node-v12.18.4-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    YOLOV5 分类实战:7种小麦叶片病害分类

    YOLOV5 实战对小麦叶片病害检测分类数据集,包含代码、数据集、训练好的权重参数,经测试,代码可以直接使用。 【yolov5】项目总大小:300MB 训练了10个epoch,top1准确度分别达到了0.93+。这里仅仅训练了10个epoch,网络还没收敛,加大轮次可以获取更高的网络性能 【如何训练】摆放好datasets数据,即可训练 更多yolov5改进介绍、或者如何训练,请参考: https://blog.csdn.net/qq_44886601/category_12605353.html

    单片机课程实验-秒表实现

    1.了解LED数码管的工作原理,为秒表时钟模块的实现打下基础。 LED数码管是一种常用的数字显示器件,通过控制每个LED的亮灭来显示数字。在秒表时钟模块中,我们需要利用LED数码管的这一特性,通过单片机控制数码管的显示,从而实现时钟的功能。因此,了解LED数码管的工作原理对于实现秒表时钟模块至关重要。 2.掌握51单片机与LED数码管的接口技术,是实现秒表时钟模块的关键。 51单片机是一种常用的微控制器,可以通过接口与外部设备进行通信。在秒表时钟模块中,我们需要通过单片机与LED数码管之间的接口,控制数码管的显示。因此,掌握51单片机与LED数码管的接口技术是实现秒表时钟模块的关键。在实际操作中,我们需要根据接口协议和数据传输方式,编写相应的程序来控制数码管的显示。 3.合理利用定时器/计数器,是实现秒表时钟模块的效率保障。 在秒表时钟模块中,我们需要实现计时功能,这需要使用到定时器/计数器。定时器/计数器可以用来产生计时脉冲,从而控制秒表的计时。通过合理利用定时器/计数器,可以提高秒表时钟模块的计时精度和效率。在实际操作中,我们需要根据具体的应用场景和需求,选择合适的定时器/计数器参

    机械设计2T双轴变位机L型sw12非常好的设计图纸100%好用.zip

    机械设计2T双轴变位机L型sw12非常好的设计图纸100%好用.zip

    node-v10.16.3-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    STM32F4通过串口屏设置ADF4351输出信号频率,HAL库开发

    本项目基于HAL库开发,使用STM32F407作为主控芯片,串口通信过程使用了特殊的帧头帧尾,实现了通过串口触摸屏设置ADF4351输出信号频率。项目包含了陶晶弛串口屏的界面设计。

    金融产品设计报告.docx

    金融产品设计报告.docx

    C++ 实验三 基本图形生成算法

    C++ 实验三 基本图形生成算法

    6金融需求理论.docx

    6金融需求理论.docx

    node-v10.22.1-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    数据结构实验代码行编辑.rar

    数据结构实验代码

    新版广州社区智慧养老解决方案ppt.docx

    新版广州社区智慧养老解决方案ppt

    Python实现Python解释器 优秀课程作业

    python实现python解释器 1.该python解释器是一个模拟堆栈机器的虚拟机 2.基本指令:LOAD_VALUE,将数据压入栈中,STORE_NAME,将栈顶内容存入变量,LOAD_NAME,将变量的内容压入栈中 dis是一个字节码反汇编器 3.LOAD_CONST相当于LOAD_VALUE,STORE_FAST相当于STORE_NAME 4.帧:帧包含了一段代码运行所需要的信息与上下文环境,帧在代码执行时被动态地创建与销毁,每一个帧的创建对应一次函数调用,所以每一个帧都有一个code object与其关联,同时一个code object可以拥有多个帧,因为一个函数可以递归调用自己多次 5.调用栈:每当你在当前函数内调用一次函数就在当前调用栈上压入所调用的函数的帧,在所调用函数返回时再将该帧弹出 数据栈:执行字节码操作时使用的栈 块栈:用于特定的控制流,比如循环与异常处理;每一个帧都拥有自己的数据栈与块栈

    index.vue

    index.vue

    AIGC-Stable Diffusion图片精准高效生成,AI能实现,并能真正落地的电商应用案例-课程网盘链接提取码下载

    课程大纲 真实场景专题(理论+实操) 1)产品AI创意图案例 2)产品图生成真实场景案例 3)AI产品图设计流程思路分享 二、服装模特专题(实操) 1)人台图生成AI模特案例 2)服装图换脸换背景案例 3)平面衣服上身A1模特案例 4)如何精准控制人物姿势 家居场景专题(实操)三、 1)家居产品生成AI场景 2)精准控制更换家具材质 3)家居装修风格快速切换

    App商业化的平衡之道:左手营收,右手用户,如何找到平衡点?.docx

    App商业化的平衡之道:左手营收,右手用户,如何找到平衡点?.docx

Global site tag (gtag.js) - Google Analytics