Ims Db 简明教程

IMS DB - Programming

包含 DL/I 调用的应用程序不能直接执行。相反,需要一个 JCL 来触发 IMS DL/I 批处理模块。IMS 中的批处理初始化模块是 DFSRRC00。应用程序和 DL/I 模块一起执行。下图显示了包含 DL/I 调用以访问数据库的应用程序的结构。

dl module

应用程序通过以下程序元素与 IMS DL/I 模块进行接口 −

  1. ENTRY 语句指定该程序利用 PCB。

  2. PCB 掩码与预先构建的 PCB 中保留的信息相关,从 IMS 接收返回值信息。

  3. 输入输出区用于向 IMS 数据库传递数据段并从该数据库接收数据段。

  4. 对 DL/I 的调用指定诸如获取、插入、删除、替换等处理函数。

  5. 检查状态代码用于检查指定的处理选项的 SQL 返回代码,以了解操作是否成功。

  6. Terminate 语句用于结束包含 DL/I 的应用程序的处理。

Segments Layout

到目前为止,我们了解到 IMS 由在高级编程语言中用于访问数据的段组成。考虑一下我们之前见过的图书馆的以下 IMS 数据库结构,这里我们将在 COBOL 中看到其段的布局 −

layout
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).

Application Program Overview

IMS 应用程序的结构不同于非 IMS 应用程序的结构。IMS 程序不能直接执行,但是它总是作为子程序被调用。IMS 应用程序包含程序规范块,以便查看 IMS 数据库。

当我们执行包含 IMS DL/I 模块的应用程序时,将装入该程序相关的应用程序和 PSB。然后,IMS 模块将执行由应用程序触发的 CALL 请求。

IMS Services

应用程序使用以下 IMS 服务 −

  1. Accessing database records

  2. Issuing IMS commands

  3. Issuing IMS service calls

  4. Checkpoint calls

  5. Sync calls

  6. 向在线用户终端发送或从在线用户终端接收消息