📜  IMS DB-数据处理

📅  最后修改于: 2020-11-27 05:21:25             🧑  作者: Mango


IMS DL / I调用中使用的不同数据处理方法如下-

  • ISRT电话
  • 接听保持呼叫
  • REPL电话
  • 拨打电话

让我们考虑以下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呼叫时,插入规则将告诉您相对于现有双胞胎分段放置分段的位置。以下是插入规则-

  • First-如果规则是first,则将新段添加到任何现有双胞胎之前。

  • 最后-如果规则是最后一条,则在所有现有双胞胎之后添加新分段。

  • 此处-如果规则在此处,则将其添加到相对于现有双胞胎的当前位置,该位置可能是第一个,最后一个或任何位置。

状态码

下表显示了ISRT呼叫后的相关状态码-

S.No Status Code & Description
1

Spaces

Successful call

2

GE

Multiple SSAs are used and the DL/I cannot satisfy the call with the specified path.

3

II

Try to add a segment occurrence that is already present in the database.

4

LB / LC LD / LE

We get these status codes while load processing. In most cases, they indicate that you are not inserting the segments in an exact hierarchical sequence.

保持通话

注意事项-

  • 我们在DL / I呼叫中指定了三种类型的Get Hold呼叫:

    • 保持独特(GHU)

    • 紧紧抓住下一个(GHN)

    • 在父级(GHNP)中紧随其后

  • Hold函数指定检索后将更新该段。因此,在进行REPL或DLET调用之前,必须发出成功的保持调用,告诉DL / I更新数据库的意图。

REPL电话

注意事项-

  • 成功的获取保留呼叫后,我们发出REPL呼叫以更新段出现。

  • 我们不能使用REPL调用来更改段的长度。

  • 我们不能使用REPL调用来更改键字段的值。

  • 我们不能在REPL呼叫中使用合格的SSA。如果我们指定合格的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调用的工作方式与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 Status Code & Description
1

Spaces

Successful call

2

AJ

Qualified SSA used on REPL or DLET call.

3

DJ

Program issues a replace call without an immediately preceding get hold call.

4

DA

Program makes a change to the segment’s key field before issuing the REPL or DLET call