我有一个纯COBOL的主程序和一个COBOL-DB2子程序。我用cobol-db2编译器编译了这两个程序,返回代码是4(仅提供信息性警告)。然后,我将它们绑定在一起。现在,我尝试使用JCLDB 2执行主程序,但是,它似乎不能调用子程序,甚至不能执行run步骤。这是我的JCLDB 2,用来运行调用subprog的mainprog:
//GO EXEC PGM=IKJEFT01,DYNAMNBR=20,REGION=4M,COND=(4,LT)
//STEPLIB DD DSN=DSN910.DB9G.RUNLIB.LOAD,
// DISP=SHR
// DD DISP=SHR,DSN=DSN910.DB9G.SDSNEXIT
// DD DISP=SHR,DSN=DSN910.SDSNLOAD
// DD DISP=SHR,DSN=ISP.SISPLOAD
// DD DISP=SHR,DSN=GDDM.SADMMOD
//SYSOUT DD SYSOUT=*
//SYUDUMP DD SYSOUT=*
//CEEDUMP DD SYSOUT=*
//TRANFILE DD DSN=PROJECT.ABC.TRANKSDS,DISP=SHR
//MGMTREPT DD DSN=PROJECT.ABC.MGMTREPT,
// UNIT=SYSDA,DISP=(NEW,CATLG),
// SPACE=(32,(3,3)),
// DCB=(RECFM=FB,LRECL=81,BLKSIZE=81)
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(DB9G)
RUN PROGRAM(ABCREPRT) PLAN(DSNTIA91)
END
/*
那么这就是JCL的SDSF,返回代码= 0:
NP DDNAME StepName ProcStep DSID
JESMSGLG JES2 2
JESJCL JES2 3
JESYSMSG JES2 4
如果执行成功,GO步骤名称是否也应该出现?
1条答案
按热度按时间dfddblmv1#
如果该步骤确实开始了,我至少会在
//SYSTSPRT
上看到一条READY
消息。因此,是的,该列表中应该有一个SYSTSPRT
的条目。您是否查看了SDSF中的OUTPUT
队列,以查看作业的某些输出是否进入了此队列,而不是HOLD
队列?您可以将
//SYSTSIN
中的DSN
...END
序列替换为某个TSO命令,例如LISTA
,然后查看是否会产生一些输出。