IMS DB - 数据操作

IMS DL/I呼叫中使用的不同数据操作方法如下:

  • ISRT Call

  • Get Hold Calls

  • REPL Call

  • DLET Call

让我们考虑以下IMS数据库结构来理解数据操作函数调用 :

IMS数据库

ISRT呼叫

要注意:

  • ISRT调用称为插入调用,用于将段出现添加到数据库.

  • ISRT调用用于加载新数据库.

  • 当段描述字段加载数据时,我们发出ISRT调用.

  • 必须在通话中指定不合格或合格的SSA,以便DL/I知道在何处放置分段.

  • 我们可以使用组合不合格的在通话中符合SSA标准.可以为所有上述级别指定合格的SSA.让我们考虑以下示例 :

CALL 'CBLTDLI' USING DLI-ISRT
                     PCB-NAME
                     IO-AREA
                     LIBRARY-SSA
                     BOOKS-SSA
                     UNQUALIFIED-ENGINEERING-SSA

以上示例显示我们通过提供合格和非合格SSA的组合来发出ISRT调用.

当我们插入的新段具有唯一键字段时,则它被添加到适当的位置.如果关键字段不是唯一的,那么它将由数据库管理员定义的规则添加.

当我们发出ISRT调用而未指定关键字段时,插入规则会告诉将片段相对于现有的双片段放置.以下是插入规则 :

  • 首先 : 如果规则是第一个,则在任何现有双胞胎之前添加新细分.

  • 最后:如果规则是最后一个,则在所有现有双胞胎之后添加新细分.

  • 此处 : 如果规则在这里,它将被添加到相对于现有双胞胎的当前位置,这可能是第一个,最后一个或任何地方.

状态代码

下表显示ISRT调用后的相关状态代码 :

S.No状态代码&描述
1

Spaces

成功通话

2

GE

使用了多个SSA,DL/I无法满足指定路径的调用.

3

II

尝试添加数据库中已存在的段事件.

4

LB/LC LD/LE

我们在加载处理时得到这些状态码.在大多数情况下,它们表示您没有按照确切的层次顺序插入片段.

获取保留呼叫

要注意:

  • 有三种类型的获取我们在DL/I呼叫中指定的保留呼叫:

    • 获取保持唯一(GHU)

    • Get Hold Next(GHN)

    • 在父母(GHNP)中获取下一个保留

  • 保持功能指定我们将在检索后更新段.因此,在REPL或DLET呼叫之前,必须发出成功的保持呼叫,告知DL/I更新数据库的意图.

REPL电话

要注意:

  • 成功获得保留电话后,我们发出REPL调用以更新分段事件.

  • 我们无法使用REPL调用更改分段的长度.

  • 我们无法使用REPL调用更改关键字段的值.

  • 我们无法使用合格的SSA一个REPL电话.如果我们指定合格的SSA,则调用失败.

CALL 'CBLTDLI' USING DLI-GHU
                     PCB-NAME
                     IO-AREA
                     LIBRARY-SSA
                     BOOKS-SSA
                     ENGINEERING-SSA
                     IT-SSA.
                     
*Move the values which you want to update in IT segment occurrence*

CALL ‘CBLTDLI’ USING DLI-REPL
                     PCB-NAME
                     IO-AREA.

上面的示例使用REPL调用更新IT段发生.首先,我们发出GHU调用以获取我们想要更新的段发生.然后,我们发出一个REPL调用来更新该段的值.

DLET Call

要注意:

  • DLET调用的工作方式与REPL调用相同.

  • 成功获取保持呼叫后,我们发出DLET呼叫以删除分段事件.

  • 我们无法使用带有DLET呼叫的合格SSA.如果我们指定合格的SSA,则调用失败.

CALL 'CBLTDLI' USING DLI-GHU
                     PCB-NAME
                     IO-AREA
                     LIBRARY-SSA
                     BOOKS-SSA
                     ENGINEERING-SSA
                     IT-SSA.
                     
CALL ‘CBLTDLI’ USING DLI-DLET
                     PCB-NAME
                     IO-AREA.

以上示例使用DLET调用删除IT段事件.首先,我们发出一个GHU调用来获取我们想要删除的段.然后,我们发出DLET调用以更新该段的值.

状态代码

下表显示了REPL之后的相关状态代码或DLET呼叫&减去;

S .No状态代码&描述
1

Spaces

成功通话

2

AJ

在REPL或DLET呼叫中使用的合格SSA.

3

DJ

计划问题没有紧接在前的获取保持呼叫的替换呼叫.

4

DA

程序对段的关键字段进行更改在发出REPL或DLET电话之前