符号JCL混淆

符号JCL混淆,jcl,Jcl,对于如何在JCL中为我在COBOL类中执行的赋值创建符号变量,我有点困惑 37 CARDS READ 61 SYSOUT PRINT RECORDS

对于如何在JCL中为我在COBOL类中执行的赋值创建符号变量,我有点困惑

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

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

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
如何将“PARM”选项指定为符号参数

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

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

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
提前谢谢

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
编辑:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
@阿维瑟:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
那么,您的意思是,我可以将其称为“&PARM='TEST,APOST'”,如果我想在使用另一个JCL语句运行该过程时更改该参数,那么可以从调用JCL更改列出的PARM

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
编辑:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
@阿维瑟:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
是的,对不起,我真的需要更具体一些。。。在我的COBOLJCL中,我调用COBOL编译器(IGYCRCTL)、链接编辑器(HEWL)和程序获取(EXEC PGM=)

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
编辑:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
也许这会有助于了解我的输出是什么。我真的很感谢所有到目前为止试图帮助我的人

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
输出:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
------JES2就业统计------

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
!!JES假脱机文件结束!! 1//KC03CEFA作业,“马特R”,MSGCLASS=H,TYPRUN=SCAN作业07731 //*
2//STEP01 EXEC PGM=IGYCRCTL,®ION=248K,
//&PARM='TEST,apst'
3//STEPLIB DD DSN=IGY340.SIGYCOMP,DISP=SHR
/*
4//SYSLIN DD&DSN=&&OBJSET,UNIT=磁盘,SPACE=(TRK,(3,3)),
//&DISP=(新建、通过、删除)
5//SYSPRINT DD SYSOUT=*
6//SYSUT1 DD单元=磁盘,空间=(循环,(1,1))
7//SYSUT2 DD单元=磁盘,空间=(循环,(1,1))
8//SYSUT3 DD单元=磁盘,空间=(循环,(1,1))
9//SYSUT4 DD单元=磁盘,空间=(循环,(1,1))
10//SYSUT5 DD单元=磁盘,空间=(循环,(1,1))
11//SYSUT6 DD单元=磁盘,空间=(循环,(1,1))
12//SYSUT7 DD单元=磁盘,空间=(循环,(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=&&templab(PGM6),
//空间=(1024,(50,20,1)),单位=磁盘,
//DISP=(新建、CATLG、删除)
17//SYSPRINT DD SYSOUT=*
18//打印机DD SYSOUT=*
19//SYSUT1 DD单元=磁盘,空间=(TRK,(10,10))
//*
//*
20//STEP01 EXEC PGM=PGM6,&PARM=termthdac(转储)
21//STEPLIB DD DSN=&&TEMPLIB,DISP=SHR
22//CEEDUMP
23//SYSUDUMP
24//打印机DD SYSOUT=*
25//PRODUCTS DD DSN=KC02322.CSCI465.SP09(数据1),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未识别的关键字和显示 20 IEFC630I未识别关键字和PARM 22 IEFC605I未识别的操作场 23 IEFC605I未识别的操作字段
!! JES假脱机文件结束

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

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
//设置名称=值

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

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

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

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

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
编辑:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
这对我来说有点不寻常,因为我们倾向于在单独的JCL流中编译和运行我们的程序。但无论如何

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
在你的第二次发言中:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
2 //STEP01 EXEC PGM=IGYCRCTL,&REGION=248K,
  // &PARM='TEST,APOST'
REGION和PARM是所谓的位置参数,它们是关键字,实际上并不表示为符号名,尽管您可以随意这样做(这将解释“未识别关键字”消息)。
常见用途(如果适用)是为的操作数提供符号名 这些参数。显然,您必须首先为它们定义一个值,例如:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

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

好的,我做了一些挖掘工作,在阿维瑟给我的指导下,我能够弄清楚我必须做什么。因此,对于任何可能有这个问题(或类似问题)的人来说,以下是我得出的结论:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
步骤1:创建一个包含您将要使用的变量的“PROC”

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
例如,我想在我的COBOL编译器中使用默认值为“TEST”和“APOST”的“PARM”变量,所以我写了如下内容:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
//PROC1  PROC  CPARM='TEST,APOST',
步骤2:在实际的JCL步骤中使用这些新定义的符号参数。“&”字符表示后面的任何内容都是符号参数

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
例如,我在COBOL编译步骤中使用了前面提到的“CPARM”:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
//COB    EXEC  PGM=IGYCRCTL,REGION=&CREGION,  
//             PARM='&CPARM'
步骤3:在实际步骤之后,用“PEND”语句结束“PROC”

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
例如,在我列出了所有变量和所有编译步骤(编译器名称,可以找到编译器的地方,以及在PEND语句之前可以看到的SYSUT1-SYSUT7语句)之后,放置您的PED关键字:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
//SYSUT7   DD UNIT=DISK,SPACE=(CYL,(1,1))  
//         PEND
步骤4:向源文件中添加任何额外的JCL步骤和/或代码,您就可以退出了

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
注:

       37 CARDS READ                                                                                                            

       61 SYSOUT PRINT RECORDS                                                                                                  

        0 SYSOUT PUNCH RECORDS                                                                                                  

        3 SYSOUT SPOOL KBYTES                                                                                                   

     0.00 MINUTES EXECUTION TIME                                                                                                
-在一个JCL文件中可以有多个PROC语句。我有三个:一个用于COBOL编译,一个用于linkag