- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对如何在 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,®ION=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,®ION=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/
我对如何在 JCL 中为我在 COBOL 类中执行的作业创建符号变量感到有点困惑。 例如,我应该“为 PARM 选项指定一个符号参数,并将 TEST 和 APOST 指定为默认值。” 如何将“PARM
我是一名优秀的程序员,十分优秀!