You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hercules模拟器(Terminal 3270)运行含JCL、VSAM的COBOL应用

Hercules模拟器运行COBOL应用分步指导

一、前置确认

  • 已完成Hercules+Cryptoterm配置,成功进入TSO主菜单
  • 应用文件夹(数据集)包含:COBOL源程序、JCL脚本、BMS地图源文件

二、VSAM文件创建与存储说明

VSAM文件直接存储在Hercules的虚拟DASD磁盘镜像中,需通过IDCAMS命令创建:

  1. 进入ISPF界面,选择3.4(数据集列表),创建一个顺序数据集(如USER.IDCAMS.JCL)
  2. 写入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))
/*
  1. 提交该JCL(输入SUBMIT命令),通过ISPF 3.2查看执行结果,确认VSAM集群创建成功

三、COBOL程序编译与链接

  1. 创建编译链接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)
/*
  1. 提交编译JCL,通过ISPF 3.2检查是否有编译错误,确认生成LOAD模块(USER.APP.LOAD(APPMAIN))

四、BMS地图编译与配置

  1. 创建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
  1. 提交JCL生成BMS地图模块,确保Cryptoterm终端设置为24x80字符模式(匹配BMS地图定义)

五、运行应用JCL提交

  1. 准备应用运行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=*
  1. 在TSO命令行输入SUBMIT 'USER.APP.RUN'提交JCL
  2. 进入ISPF 3.2(输出队列),查看JESMSGLG、JESYSMSG日志,确认程序正常执行;若涉及BMS交互,Cryptoterm会自动弹出3270界面供操作

六、数据库连接说明

在Hercules模拟器中连接数据库(如DB2)需完成以下步骤:

  1. 在Hercules环境中安装匹配操作系统镜像版本的DB2模拟组件
  2. 在COBOL程序中嵌入SQL语句,使用DSNHPC预编译工具处理源程序
  3. 编译链接时需包含DB2的系统LOAD库(如DSN1.LOAD)
  4. 运行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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 01:12:22