IMS DL/I呼叫中使用的不同数据操作方法如下:
ISRT Call
Get Hold Calls
REPL Call
DLET Call
让我们考虑以下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电话之前 |