我正在使用下面的JCL代码创建PDS,但出现错误
000001 //HERC01A JOB (COBOL),
000002 // 'abc',
000003 // CLASS=H,
000004 // MSGCLASS=H,
000005 // REGION=9000K,TIME=1440,
000006 // MSGLEVEL=(1,1)
000007 //STEP1 EXEC PGM=IEFBR14
000008 //SYSOUT DD *
000009 //TEMDATA DD DISP=(NEW,CATLG,DELETE),
000010 // DSN=HERC01.TKARTHI.EXAMPLE,
000011 // SPACE=(TRK,(45,45,50)),
000012 // DCB=(RECFM=FB,LRECL=80,BLKSIZE=800,DSORG=PO),
000013 // UNIT=SYSDA
000014 //
Run Code Online (Sandbox Code Playgroud)
o / p:
J E S 2 J O B L O G
07.47.07 JOB 26 IEF452I HERC01A JOB NOT RUN - JCL ERROR
1 //HERC01A JOB (COBOL),
// 'abc',
// CLASS=H,
// MSGCLASS=H,
// REGION=9000K,TIME=1440,
// MSGLEVEL=(1,1),
// USER=HERC01,PASSWORD= GENERATED BY GDL
2 //STEP1 EXEC PGM=IEFBR14
3 //SYSOUT DD *
4 //TEMDATA DD DISP=(NEW,CATLG,DELETE),
5 //* DSN=HERC01.TKARTHI.EXAMPLE,
6 // SPACE=(TRK,(45,45,50)),
7 // DCB=(RECFM=FB,LRECL=80,BLKSIZE=800,DSORG=PO),
8 // UNIT=SYSDA
STMT NO. MESSAGE
-
4 IEF621I EXPECTED CONTINUATION NOT RECEIVED
5 IEF605I UNIDENTIFIED OPERATION FIELD
6 IEF605I UNIDENTIFIED OPERATION FIELD
7 IEF605I UNIDENTIFIED OPERATION FIELD
8 IEF605I UNIDENTIFIED OPERATION FIELD
******EOF-TTR=000101************ BOTTOM OF DATA **************1689-BYTES********
Run Code Online (Sandbox Code Playgroud)
正如其他人所指出的那样,问题在于JCL希望在第16列或第16列之前或之后继续。
下面,我使用Cols
line命令提供了ISPF Edit中JCL的视图。
在您的示例中,由于错误的连续性,之后的行被视为TEMDATA
第5行,并已转换为新注释所注释的注释//*
,因此以下几行被视为新的JCL语句。
这是使用传统方法的重新格式化版本。请注意,DDName TEMDATA
已对齐,以允许8个字符的DDName,后跟DD语句,然后是位置参数。不管DDNames少于8个字符和对齐方式,这都可以进行相当干净的编码。