IMS DB - 编程


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

深度学习模块

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

  • ENTRY 语句指定程序使用 PCB。

  • PCB 掩模与预构建 PCB 中保存的信息相关,该预构建 PCB 接收来自 IMS 的返回信息。

  • 输入-输出区域用于将数据段传入和传出 IMS 数据库。

  • 调用 DL/I 指定处理函数,例如获取、插入、删除、替换等。

  • 检查状态代码用于检查指定处理选项的 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应用程序的结构与Non-IMS应用程序的结构不同。IMS程序不能直接执行;相反,它总是作为子例程被调用。IMS 应用程序由程序规范块组成,以提供 IMS 数据库的视图。

当我们执行包含 IMS DL/I 模块的应用程序时,会加载应用程序和链接到该程序的 PSB。然后应用程序触发的CALL请求由IMS模块执行。

信息管理系统服务

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

  • 访问数据库记录
  • 发出 IMS 命令
  • 发出 IMS 服务调用
  • 检查点呼叫
  • 同步通话
  • 从在线用户终端发送或接收消息