如何在Hercules模拟器(Terminal 3270)运行含JCL、VSAM的COBOL应用
Hercules模拟器运行COBOL应用分步指导
一、前置确认
- 已完成Hercules+Cryptoterm配置,成功进入TSO主菜单
- 应用文件夹(数据集)包含:COBOL源程序、JCL脚本、BMS地图源文件
二、VSAM文件创建与存储说明
VSAM文件直接存储在Hercules的虚拟DASD磁盘镜像中,需通过IDCAMS命令创建:
- 进入ISPF界面,选择
3.4(数据集列表),创建一个顺序数据集(如USER.IDCAMS.JCL) - 写入IDCAMS定义JCL,示例:
//IDCAMS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE CLUSTER (NAME(USER.APP.VSAM.FILE) - VOLUMES(HERC01) - RECORDSIZE(80 80) - KEYS(8 0) - INDEXED - CYLINDERS(1 1)) /*
- 提交该JCL(输入
SUBMIT命令),通过ISPF 3.2查看执行结果,确认VSAM集群创建成功
三、COBOL程序编译与链接
- 创建编译链接JCL(如
USER.COBOL.COMPILE),示例:
//COBCOMP EXEC PGM=IGYCRCTL,PARM='SOURCE,OBJECT,RENT' //SYSPRINT DD SYSOUT=* //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)) //SYSLIB DD DSN=USER.APP.COBOL,DISP=SHR //OBJECT DD DSN=USER.APP.OBJECT,DISP=SHR //SYSIN DD DSN=USER.APP.COBOL.SOURCE(APPMAIN),DISP=SHR //COBLINK EXEC PGM=IEWL,PARM='MAP,XREF' //SYSPRINT DD SYSOUT=* //SYSLIB DD DSN=SYS1.COBOL.LIB,DISP=SHR // DD DSN=USER.APP.OBJECT,DISP=SHR //SYSLMOD DD DSN=USER.APP.LOAD,DISP=SHR //OBJECT DD DSN=USER.APP.OBJECT,DISP=SHR //SYSIN DD * INCLUDE OBJECT(APPMAIN) NAME APPMAIN(R) /*
- 提交编译JCL,通过
ISPF 3.2检查是否有编译错误,确认生成LOAD模块(USER.APP.LOAD(APPMAIN))
四、BMS地图编译与配置
- 创建BMS编译JCL(如
USER.BMS.COMPILE),示例:
//BMSCOMP EXEC PGM=DFHMSD,PARM='TYPE=MAP,MODE=BATCH' //SYSPRINT DD SYSOUT=* //DBDLIB DD DSN=USER.APP.BMS,DISP=SHR //MAPLIB DD DSN=USER.APP.LOAD,DISP=SHR //SYSIN DD DSN=USER.APP.BMS.SOURCE(APPMAP),DISP=SHR
- 提交JCL生成BMS地图模块,确保Cryptoterm终端设置为24x80字符模式(匹配BMS地图定义)
五、运行应用JCL提交
- 准备应用运行JCL(如
USER.APP.RUN),示例:
//APPRUN EXEC PGM=APPMAIN //STEPLIB DD DSN=USER.APP.LOAD,DISP=SHR //VSAMFILE DD DSN=USER.APP.VSAM.FILE,DISP=SHR //SYSPRINT DD SYSOUT=* //SYSUDUMP DD SYSOUT=*
- 在TSO命令行输入
SUBMIT 'USER.APP.RUN'提交JCL - 进入
ISPF 3.2(输出队列),查看JESMSGLG、JESYSMSG日志,确认程序正常执行;若涉及BMS交互,Cryptoterm会自动弹出3270界面供操作
六、数据库连接说明
在Hercules模拟器中连接数据库(如DB2)需完成以下步骤:
- 在Hercules环境中安装匹配操作系统镜像版本的DB2模拟组件
- 在COBOL程序中嵌入SQL语句,使用
DSNHPC预编译工具处理源程序 - 编译链接时需包含DB2的系统LOAD库(如
DSN1.LOAD) - 运行JCL中添加DB2运行时参数,指定数据库子系统ID,示例:
//APPRUN EXEC PGM=APPMAIN,PARM='DB2SUBSYS=DB2A' //STEPLIB DD DSN=DSN1.LOAD,DISP=SHR // DD DSN=USER.APP.LOAD,DISP=SHR
内容的提问来源于stack exchange,提问作者Shivam Shukla
相关产品推荐
相关产品推荐

