IMS 数据库 – 编程
IMS 数据库 – 编程
包含 DL/I 调用的应用程序不能直接执行。相反,需要 JCL 来触发 IMS DL/I 批处理模块。IMS 中的批量初始化模块是 DFSRRC00。应用程序和DL/I 模块一起执行。下图显示了一个应用程序的结构,其中包括访问数据库的 DL/I 调用。
应用程序通过以下程序元素与 IMS DL/I 模块接口 –
-
ENTRY 语句指定程序使用 PCB。
-
PCB 掩模与保存在从 IMS 接收返回信息的预构建 PCB 中的信息相关。
-
输入-输出区域用于将数据段传入和传出 IMS 数据库。
-
对 DL/I 的调用指定处理函数,例如获取、插入、删除、替换等。
-
Check Status Codes 用于检查指定处理选项的 SQL 返回码,以告知操作是否成功。
-
Terminate 语句用于结束包含 DL/I 的应用程序的处理。
细分布局
到目前为止,我们了解到 IMS 由在高级编程语言中用于访问数据的段组成。考虑我们之前看到的图书馆的以下 IMS 数据库结构,在这里我们可以看到其在 COBOL 中的段的布局 –
01 LIBRARY-SEGMENT. 05 BOOK-ID PIC X(5). 05 ISSUE-DATE PIC X(10). 05 RETURN-DATE PIC X(10). 05 STUDENT-ID PIC A(25). 01 BOOK-SEGMENT. 05 BOOK-ID PIC X(5). 05 BOOK-NAME PIC A(30). 05 AUTHOR PIC A(25). 01 STUDENT-SEGMENT. 05 STUDENT-ID PIC X(5). 05 STUDENT-NAME PIC A(25). 05 DIVISION PIC X(10).
应用程序概述
IMS 应用程序的结构不同于非IMS 应用程序的结构。IMS 程序不能直接执行;相反,它总是被称为子程序。IMS 应用程序由提供 IMS 数据库视图的程序规范块组成。
当我们执行包含 IMS DL/I 模块的应用程序时,会加载应用程序和链接到该程序的 PSB。然后由应用程序触发的 CALL 请求由 IMS 模块执行。
IMS服务
应用程序使用以下 IMS 服务 –
- 访问数据库记录
- 发出 IMS 命令
- 发出 IMS 服务调用
- 检查点调用
- 同步通话
- 从在线用户终端发送或接收消息