![[z/OS]](ngzos.gif)
在 z/OS Batch , RRS Batch 和 CICS 上构建 C++ 程序
针对批处理, RRS 批处理或 CICS® 环境在 z/OS® 上构建 IBM® MQ C++ 程序,并运行样本程序。
您可以为 IBM MQ for z/OS 支持的三个环境编写 C++ 程序:
- 批处理
- RRS 批处理
- CICS
编译、预链接和链接
通过编译,预链接和链接编辑 C++ 源代码来创建 z/OS 应用程序。
IBM MQ C++ for z/OS 作为 IBM C++ for z/OS 语言的 z/OS DLL 实现。 使用 DLL,您可以在预链接时间将提供的定义备卡与编译器输出连接。 这允许链接程序检查对 IBM MQ C++ 成员函数的调用。
注: 对于三个环境中的每个环境,都有三组侧板。
要构建 IBM MQ for z/OS C++ 应用程序,请创建并运行 JCL。 使用以下过程:
- 如果应用程序在 CICS下运行,请使用 CICS提供的过程来转换程序中的 CICS 命令。此外,对于 CICS 应用程序,您需要:
- 将 SCSQLOAD 库添加到 DFHRPL 连接。
- 使用 SCSQPROC 库中的成员 IMQ4B100 定义 CSQCAT1 CEDA 组。
- 安装 CSQCAT1。
- 编译程序以生成对象代码。 用于编译的 JCL 必须包括使产品数据定义文件可供编译器使用的语句。 以下 IBM MQ for z/OS 库中提供了数据定义:
- thlqual.SCSQC370
- thlqual.SCSQHPPS
确保指定了
/cxx编译器选项。注: 名称 thlqual 是 z/OS上 IBM MQ 安装库的高级限定符。 - 预先链接在步骤 2中创建的对象代码,包括 thlqual.SCSQDEFS 中提供的以下定义侧板:
- 用于批处理的 imqs23dm 和 imqb23dm
- 用于 RRS 批处理的 imqs23dr 和 imqb23dr
- CICS 的 imqs23dc 和 imqb23dc
以下是相应的 DLL。- 用于批处理的 imqs23im 和 imqb23im
- 用于 RRS 批处理的 imqs23ir 和 imqb23ir
- CICS 的 imqs23ic 和 imqb23ic
- 链接-编辑在步骤 3中创建的对象代码,以生成装入模块,并将其存储在应用程序装入库中。
要运行批处理或 RRS 批处理程序,请将库 thlqual.SCSQAUTH 和 thlqual.SCSQLOAD 包含在 STEPLIB 或 JOBLIB 数据集连接中。
要运行 CICS 程序,请先让系统管理员将其定义为 CICS 作为 IBM MQ 程序和事务。 然后,您可以照常运行该程序。
运行样本程序
这些程序在 C++ 样本程序中进行了描述。
样本应用程序仅以源形式提供。 这些文件是:
| 样本 | 源程序(位于库 thlqual.SCSQCPPS 中) | JCL(位于库 thlqual.SCSQPROC 中) |
|---|---|---|
| HELLO WORLD | imqwrld | imqwrldr |
| SPUT | imqsput | imqsputr |
| SGET | imqsget | imqsgetr |
要运行样本,请像使用任何 C++ 程序一样对其进行编译和链接编辑 (请参阅 在 z/OS Batch , RRS Batch 和 CICS 上构建 C++ 程序)。 使用提供的 JCL 来构造和运行批处理作业。 您必须先通过遵循 JCL 包含的注释来定制 JCL。