gpt4 book ai didi

mainframe - 将 JCL 符号传递给流内数据集

转载 作者:行者123 更新时间:2023-12-04 22:07:36 25 4
gpt4 key购买 nike

我正在尝试以这种方式创建和删除数据集名称中带有 JCL 符号的数据集:

//    SET DATE=20110809
//* DELETE DATASET
//DEL01 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE DATASET.TEMP.&DATE PURGE
SET MAXCC = 0
//* CREATE DATASET
//STEP01 EXEC PGM=IEFBR14
//DELDD DD DSN=DATASET.TEMP.&DATE,
// DISP=(NEW,CATLG,DELETE)

问题是我不能在流内 (SYSIN DD *) 中使用 JCL 符号。
我不能确定数据集是否已经存在,所以我不能只使用 DISP=(MOD,DELETE,DELETE)。
还有其他方法可以删除数据集吗?

最佳答案

从 z/OS 2.1(2013 年 9 月 30 日发布)开始,通过将 SYMBOLS 关键字添加到 DD 语句,可以在 JES2 流内数据中使用符号。可能的值为:

  • SYMBOLS=JCLONLY :替换流内数据中的 JCL 符号和 JES 符号。
  • SYMBOLS=EXECSYS :替换作业执行期间在系统上定义的 JCL 符号、JES 符号和系统符号。
  • SYMBOLS=CNVTSYS :替换 JCL 转换期间在系统上定义的 JCL 符号、JES 符号和系统符号。

  • 符号必须已导出。

    一个例子如下,来自[2]:
    // EXPORT SYMLIST=(DSN,VOL)
    // SET DSN='ABC.DATA',VOL='123456'
    //STEP1 EXEC PGM=USERPGM1
    //DATA DD DSN=&DSN,DISP=SHR
    //SYSIN DD *,SYMBOLS=EXECSYS
    SYSTEM=&SYSNAME,DSNAME=&DSN,VOLUME=&VOL
    FUNCTION='&APPL_NAME'
    /*

    有关更多信息,包括用于配置符号替换日志所在位置的语法,请参阅:
  • [1] The z/OS 2.1 Information Center
  • [2] Slides from SHARE in Boston 2013 (Tom Wasik, IBM),第 20-24 页
  • 关于mainframe - 将 JCL 符号传递给流内数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6998907/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com