我刚刚开始使用 COBOL,并在 JCL 中遇到了这个问题......如何从我的 PDS 编译一个基本的 cobol 程序,我知道通过流内它只是
//SYSIN DD * code code code /*
我尝试了类似的东西
//SYSIN DD DSN=the.pds.location(file),DISP=SHR
但我认为所有的回击都是垃圾和返回码 12。
如果有人可以提供帮助,我将不胜感激。
根据您发布的信息,您的 JCL 应该可以工作。也许你错过了别的东西。以下 JCL 提供了执行 COBOL 编译的完整作业步骤:
... your job card goes here...
//COB EXEC PGM=IGYCRCTL
//STEPLIB DD DISP=SHR,DSN=SYSP.IGY.V3R4M1.SIGYCOMP
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSLIN DD DSN=objectmodule,UNIT=SYSDA,
// DISP=(MOD,PASS),SPACE=(TRK,(3,3))
//SYSIN DD DSN=the.pds.location(file),DISP=SHR
//SYSPRINT DD SYSOUT=*
... your link step using object from SYSLIN above...
注意:您可能必须更改 STEPLIB 以匹配在您的站点上运行的 COBOL 版本。
如果您的 JCL 看起来与上述非常接近,那么接下来要检查的是您的 COBOL 程序。进入 ISPF 编辑器(我假设您可以访问它)并在命令行上键入PROFILE 。您应该会看到如下内容:
=PROF> ....GEN (FIXED - 80)....RECOVERY OFF WARN....NUMBER OFF.................
=PROF> ....CAPS ON....HEX OFF....NULLS ON STD....TABS OFF......................
=PROF> ....AUTOSAVE ON....AUTONUM OFF....AUTOLIST OFF....STATS ON..............
=PROF> ....PROFILE UNLOCK....IMACRO NONE....PACK OFF....NOTE ON................
=PROF> ....HILITE OFF CURSOR FIND..............................................
=BNDS> <
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
现在看看PACK ON(注意上面显示 PACK OFF)。如果您发现 PACK ON,这就是您的问题。您需要发出PACK OFF命令并保存数据集。再次尝试编译。
顺便说一句...您可以通过在命令行上键入RESET来摆脱配置文件显示。
如果这些都不能解决您的问题,您需要提供有关问题的确切性质的更多信息。