IMS DB - 编程

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

DL Module

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

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

  • PCB掩模与预先保存的信息相关联构造的PCB从IMS接收返回信息.

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

  • 调用DL/I指定处理功能,如提取,插入,删除,替换等.

  • 检查状态代码用于检查指定的处理选项的SQL返回码,以通知操作是否成功.

  • 终止语句是我们ed结束包含DL/I的应用程序的处理.

段布局

截至目前,我们了解到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).


应用程序概述

IMS应用程序的结构与非IMS应用程序的结构不同. IMS程序不能直接执行;相反,它总是被称为子程序. IMS应用程序由程序规范块组成,以提供IMS数据库的视图.

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

IMS服务

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

  • 访问数据库记录

  • 发布IMS命令

  • 发出IMS服务电话

  • 检查点电话

  • 同步电话

  • 从在线发送或接收消息用户终端