gpt4 book ai didi

jcl - 象征性 JCL 困惑

转载 作者:行者123 更新时间:2023-12-01 16:36:09 24 4
gpt4 key购买 nike

我对如何在 JCL 中为我在 COBOL 类中执行的作业创建符号变量感到有点困惑。

例如,我应该“为 PARM 选项指定一个符号参数,并将 TEST 和 APOST 指定为默认值。”

如何将“PARM”选项指定为符号参数?

编辑:原谅疏忽;我似乎忘记提及我正在运行的操作系统。我正在 z/OS 中编写这个 JCL 文件。

提前致谢!

编辑:

@avisser:

所以,你的意思是,我可以将其称为“&PARM='TEST,APOST'”,并且,如果我想在使用另一个 JCL 语句运行此过程时更改该参数,则列出的参数可以是从调用 JCL 更改?

编辑:

@avisser:

是的,抱歉,我确实需要更加具体...在我的 COBOL JCL 中,我正在调用 COBOL 编译器 (IGYCRCTL)、链接编辑器 (HEWL) 和程序获取 (EXEC PGM=)。

编辑:

也许看看我的输出是什么会有所帮助。我真的很感谢迄今为止所有试图提供帮助的人。

输出:

------ JES2 作业统计 ------

       37 CARDS READ                                                                                                            

61 SYSOUT PRINT RECORDS

0 SYSOUT PUNCH RECORDS

3 SYSOUT SPOOL KBYTES

0.00 MINUTES EXECUTION TIME

!! JES 假脱机文件结束! 1//KC03CEFA 作业,'MATT R',MSGCLASS=H,TYPRUN=扫描作业07731 //*
2//STEP01 EXEC PGM=IGYCRCTL,&REGION=248K,
//&PARM='测试,APOST'
3//STEPLIB DD DSN=IGY340.SIGYCOMP,DISP=SHR
/*
4//SYSLIN DD &DSN=&&OBJSET,UNIT=DISK,SPACE=(TRK,(3,3)),
//&DISP=(新,通过,删除)
5//SYSPRINT DD SYSOUT=*
6//SYSUT1 DD UNIT=磁盘,空间=(CYL,(1,1))
7//SYSUT2 DD UNIT=磁盘,空间=(CYL,(1,1))
8//SYSUT3 DD UNIT=磁盘,空间=(CYL,(1,1))
9//SYSUT4 DD UNIT=磁盘,空间=(CYL,(1,1))
10//SYSUT5 DD UNIT=磁盘,空间=(CYL,(1,1))
11//SYSUT6 DD UNIT=磁盘,空间=(CYL,(1,1))
12//SYSUT7 DD UNIT=磁盘,空间=(CYL,(1,1))
//*
//*
13//STEP02 EXEC PGM=HEWL,&COND=,&REAGION=2048K,
//&PARM=
14//SYSLIB DD DSN=CEE.SCEELKED,DISP=SHR
15//SYSLIN DD &DSN=&&OBJSET,&DISP=(旧,删除)
16//SYSLMOD DD DSN=&&TEMPLIB(PGM6),
//空间=(1024,(50,20,1)),UNIT=磁盘,
//DISP=(NEW,CATLG,DELETE)
17//SYSPRINT DD SYSOUT=*
18//打印机DD SYSOUT=*
19//SYSUT1 DD UNIT=磁盘,SPACE=(TRK,(10,10))
//*
//*
20//STEP01 EXEC PGM=PGM6,&PARM=TERMTHDACT(DUMP)
21//STEPLIB DD DSN=&&TEMPLIB,DISP=SHR
22//CEEDUMP
23//系统UDUMP
24//打印机DD SYSOUT=*
25//产品DD DSN=KC02322.CSCI465.SP09(DATA1),DISP=SHR
26//SYSIN DD *
!! JES 假脱机文件结束! STMT 编号信息 2 IEFC630I 未识别的关键字和区域 2 IEFC630I 未识别的关键字&PARM 4 IEFC630I 未识别的关键字和 DSN 4 IEFC630I 未识别的关键字&显示 13 IEFC630I 未识别的关键字和条件 13 IEFC630I 未识别的关键字和区域 13 IEFC630I 未识别的关键字&PARM 15 IEFC630I 未识别的关键字和 DSN 15 IEFC630I 未识别的关键字&DISP 20 IEFC630I 未识别的关键字&PARM 22 IEFC605I 未识别操作字段 23 IEFC605I 未识别操作字段!! JES 假脱机文件结束!!

最佳答案

符号参数是前面带有&符号的名称。当在 JCL 语句中使用时,它们会在运行时转换为提供的值。创建它们的一种方法(在 z/OS 上)是使用

//设置名称=值

声明。如果您使用 PARM,您应该设计您的程序,使其可以与 PARM 一起使用。也许作业是关于如何做到这一点的(提示:链接部分)。或者 JCL 是 COBOL 类的一部分吗?

TEST 和 APOST 在我看来就像编译器指令。我不知道你是否可以在程序中指定它们,在我的工作场所我们只在调用编译器时提供它们。

编辑:

好吧,这对我来说有点不寻常,因为我们倾向于在单独的 JCL 流中编译和运行我们的程序。但不管怎么说。

接受第二个陈述:

2 //STEP01 EXEC PGM=IGYCRCTL,&REGION=248K,
// &PARM='TEST,APOST'

REGION 和 PARM 是所谓的位置参数,它们是关键字,实际上并不意味着作为符号名称呈现,尽管您可以自由地这样做(这将解释“UNIDENTIFIED KEYWORD”消息)。
常见用途(如果适用)是为以下操作数提供符号名称这样的参数。显然你必须首先为它们定义一个值,例如:

  // SET OPTIONS='TEST,APOST'
//STEP01 EXEC PGM=IGYCRCTL,REGION=248K,
// PARM=&OPTIONS

关于jcl - 象征性 JCL 困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/740302/

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