CICS DB2 程序准备

您可以使用 Db2 Interactive Interface (DB2I) 来准备 CICS Db2 程序,也可以提交自己的 JCL 以进行批处理。

关于此任务

图 1 中显示的步骤总结了在应用程序设计和编码完成后如何准备程序以供执行。
图 1。 准备访问 DB2 的 CICS 应用程序的步骤
步骤 1: DB2 预编译器。 DB2 预编译器构建一个 DBRM (数据库请求模块) ,其中包含有关每个程序的 SQL 语句的信息。 步骤 2: CICS 命令语言转换程序。 步骤 3: 编译或组装程序。 步骤 4: 使用接口进行链接编辑。 步骤 2 , 3 和 4 的最终产品是应用程序装入模块。 步骤 5: 绑定过程是使程序能够使用在步骤 1 中创建的 DBRM 中的信息所需的额外步骤。 绑定过程需要 DB2,并且它使用 DBRM 来生成应用程序方案 (通常称为方案) ,以使程序能够访问 DB2 数据。

有关此过程中各个阶段的概述,请参阅 准备访问 DB2的 CICS 应用程序

准备用于访问 DB2® 的 CICS® 应用程序时:
  • DB2 预编译器 (步骤 1) 构建一个 DBRM ,其中包含有关每个程序的 SQL 语句的信息。 它还会验证程序中的 SQL 语句。 有关使用 DB2 预编译器的更多信息,请参阅 Db2 for z/OS 产品文档中的 " Db2 for z/OS 编程"
  • 如果源程序使用 PL/I 编写,那么步骤 1 ( DB2 预编译器) 的输入是 PL/I 宏阶段的输出 (如果使用)。
  • 可以按任一顺序运行步骤 1 ( DB2 预编译器) 和步骤 2 ( CICS 命令语言转换程序)。 显示的序列是首选方法,它是 DB2I 程序准备面板支持的方法。 如果首先运行 CICS 命令语言转换程序,那么它会针对它迂到的每个 EXEC SQL 语句生成一条警告消息,但这些消息不会影响结果。
  • 如果使用已集成 CICS 转换程序的其中一个符合语言环境 ® 的编译器 (COBOL 和 PL/I) ,那么会在程序编译 (步骤 3) 期间转换 EXEC CICS 命令 (步骤 2)。 有关集成的 CICS 转换程序以及支持该转换程序的编译器的更多信息,请参阅 转换和编译
  • 如果您正在运行 DB2 版本 7 或更高版本,并使用其中一个符合语言环境的 COBOL 或 PL/I 编译器来准备 COBOL 或 PL/I 程序,那么编译器还会提供 SQL 语句协处理器 (生成 DBRM) ,因此您不需要使用单独的 DB2 预编译器 (步骤 1)。 有关使用 SQL 语句协处理器的更多信息,请参阅 Db2 for z/OS 产品文档中的 " Db2 for z/OS 编程"
  • 如果您正在运行 DB2 版本 6 或更低版本并准备 COBOL 或 PL/I 程序,请使用单独的 DB2 预编译器。 对于 COBOL 程序,请确保为 DB2 预编译器和集成的 CICS 转换程序指定相同的字符串定界符。 缺省定界符不兼容。
  • 在程序的链接编辑 (步骤 4) 中,包含适用于您编码所用语言的相应 CICS EXEC 接口模块或存根以及 CICS DB2 语言接口模块 DSNCLI。 CICS EXEC 接口模块 必须 首先包含在装入模块中。 您可以以 24 位或 31 位寻址方式 (AMODE=31) 将 DSNCLI 与程序链接。 如果应用程序以 31 位寻址方式运行,那么应使用属性 AMODE=31 和 RMODE=ANY 将 DSNCLI 存根链接到应用程序,以便应用程序可以在 16MB以上运行。
  • 绑定进程 (步骤 5) 需要 DB2。 绑定过程使用 DBRM 来生成应用程序方案 (通常仅称为方案) ,以使程序能够访问 DB2 数据。 有关绑定过程的更多信息,请参阅 绑定过程 。 使用同一条目线程的一组事务 (换言之,在同一 DB2ENTRY中指定) 必须使用同一应用程序计划。 它们的 DBRM 必须绑定到同一应用程序计划中,或者绑定到随后列示在同一应用程序计划中的包中。
表 1 显示了准备 CICS DB2 程序时需要执行的任务,具体取决于程序的语言以及您的 DB2:
表 1. 用于准备访问 DB2 的 CICS 程序的任务
DB2 版本和程序语言 步骤 1 (SQL 语句处理) 步骤 2 (CICS 命令转换) 步骤 3 (程序编译) 步骤 4 (链接编辑) 步骤 5 (绑定)
DB2 V6 和汇编程序 DB2 预编译器 CICS提供的独立转换程序 语言编译器 使用 EXEC 接口和 DSNCLI 进行链接编辑 绑定过程
DB2 V6 和 PL/I DB2 预编译器 支持集成 CICS 转换程序的语言编译器 使用 EXEC 接口和 DSNCLI 进行链接编辑 绑定过程
DB2 V6 和 COBOL DB2 预编译器 支持集成 CICS 转换程序的语言编译器 使用 EXEC 接口和 DSNCLI 进行链接编辑 绑定过程
DB2 V6 和其他语言 DB2 预编译器 CICS提供的独立转换程序 语言编译器 使用 EXEC 接口和 DSNCLI 进行链接编辑 绑定过程
DB2 V7 (或更高版本) 和汇编程序 DB2 预编译器 CICS提供的独立转换程序 语言编译器 使用 EXEC 接口和 DSNCLI 进行链接编辑 绑定过程
DB2 V7 (或更高版本) 和 PL/I 支持集成 CICS 转换程序和 SQL 语句协处理器的语言编译器 使用 EXEC 接口和 DSNCLI 进行链接编辑 绑定过程
DB2 V7 (或更高版本) 和 COBOL 支持集成 CICS 转换程序和 SQL 语句协处理器的语言编译器 使用 EXEC 接口和 DSNCLI 进行链接编辑 绑定过程
DB2 V7 (或更高版本) 和其他语言 DB2 预编译器 CICS提供的独立转换程序 语言编译器 使用 EXEC 接口和 DSNCLI 进行链接编辑 绑定过程
通过使用 DB2 交互接口 (DB2I) 或通过提交您自己的 JCL 以执行批处理来准备 CICS DB2 程序。
  • DB2 交互式界面 (DB2I): DB2I 提供了用于对应用程序进行预编译,编译或组装以及链接编辑以及绑定计划的面板。 有关应用程序准备的详细信息,请参阅 Db2 for z/OS 产品文档中的 " Db2 for z/OS 编程"
  • 提交到批处理执行的用户 JCL: DB2 库 SDSNSAMP 中的成员 DSNTEJ5C 和 DSNTEJ5P 包含为 CICS准备 COBOL 和 PL/I 程序所需的 JCL 样本。

如果在 CICS 正在运行时准备要执行的程序,那么可能需要发出 CEMT NEWCOPY 命令以使新版本的程序为 CICS所知。