文档库 最新最全的文档下载
当前位置:文档库 › JCL临时数据集

JCL临时数据集

一、临时数据集:

对于临时DataSet的几点总结

定义一个临时的DATASET,disp第一个参数上只能选择MOD,NEW否则就会报错,

第二个和第三个参数理论上可以任意搭配,但是一般书上会介绍PASS来保留该变量,但实际上除了DELETE意外的参数都可以来保留该变量

Step1 exec ….

DD1 DD DSN=&&TEMPA,DISP=(NEW,KEEP)

DD2 DD DSN=&&TEMPB,DISP=(MOD,PASS)

DD3 DD DSN=&&TEMPC,DISP=(,CATLG)

DD4 DD DSN=&&TEMPC,DISP=(,UNCATLG)

注:很多情况下系统会听过一些默认值,但这些默认值根据环境也有所不同,特别是SMS相关的内容,上述中也用到了默认值。Ds不存在时DISP第一个参数的默认值是‘NEW’。

通过2种方式引用

DSN=&TEMPA

DSN=*.STEP1.DD1

不论上面那种创建方式系统通过查看JCLSYSMS会发现系统做了下面几乎一样的事情:

1.创建一个临时的DATASET,如:

2.执行完结束的时候,通过下面的JCLSYSMS记录可以看到该临时的DATASET已经被删除:https://www.wendangku.net/doc/b1700926.html,TEST.TEMP.H01 DELETED

也就是说如果作业步(STEP)中没有指明删除该临时变量,上述方法定义的临时DATASET会一直保留到JOB结束时删除。

{DISP=status }

{DISP=([status][,normal-termination-disp][,abnormal-termination-disp])}

DISP= ( [NE W] [,DE LETE ] [,DE LETE ] )

[OLD] [,KEEP ] [,KEEP ]

[SHR] [,P ASS ] [,CATLG ]

[MOD] [,CATLG ] [,UNCATLG]

[, ] [,UNCATLG]

[, ]

_ You can omit the parentheses if you code only the status subparameter.

_ If you omit the status subparameter but code subparameters for normal or abnormal termination

disposition, you must code a comma to indicate the absence of NE W. For example,

DISP=(,KEEP) or DISP=(,CATLG,DE LETE).

_ If you omit the second subparameter but code the third, you must code a comma to indicate the

absence of the second subparameter. For example, DISP=(OLD,,DE LE TE) or DISP=(,,KEEP).

KEEP

Indicates that the data set is to be kept on the volume if this step terminates

normally.

Without SMS, only KEEP is valid for VSAM data sets. VSAM data sets should

not be passed, cataloged, uncataloged, or deleted.

With SMS, all dispositions are valid for VSAM data sets; however, UNCATLG is

ignored.

For new SMS-managed data sets, KEEP implies CATLG.

观察错误并且完成下面临时数据集的练习:

//IBMUSER4 JOB ACCT#,IBMUSER,NOTIFY=IBMUSER,MSGLEVEL=(1,1) //BUILD EX EC PGM=IEBGENER

//SYSPRINT DD SYSOUT=*

//SYSUT1 DD *

JONES FRED 53AF 87 5701 NINE MILE ROAD ANDERSONDON 78AF 34 320 WESTHERIMAR, #219

//SYSUT2 DD DSN=&&TEMP1,DISP=(,PASS),

// SPACE=(TRK,(1,1)),

// DCB=(RECFM=FB,LRECL=80),UNIT=SYSDA

//SYSIN DD DUMMY

//BUILD EX EC PGM=IEBGENER

//SYSPRINT DD SYSOUT=*

//SYSUT1 DD DSN=&&TEMP1

//SYSUT2 DD DSN=IBMUSER.TEST.IEBGEN1.OUT,DISP=(,CATLG,DELETE), // SPACE=(TRK,(1,1)),

// DCB=(RECFM=FB,LRECL=80),UNIT=SYSDA

//SYSIN DD DUMMY

相关文档
相关文档 最新文档