ISRTIMS 呼び出し (IMS セグメントの挿入)

1. Syntax
(1)
注:
  • 1 field_ref または field_name を使用するには、この関数呼び出しの前の VIEWIMS の呼び出しによって、ビューがすでにロードされている必要があります。
  • 2 layout_ref の修飾がない field_ref を指定した場合、SET 文節で指定されていれば、field_ref は、inssegm セグメントの最初のレイアウトに関連付けられ、WHERE 文節で指定されていれば segname セグメントの最初のレイアウトに関連付けられます。
  • 3 field_name を完全修飾するには、指定する最初の qualifier をレイアウト名にする必要があります。レイアウト名が指定されていない場合、FM/IMS は、グループ修飾子と field_name が見つかるまで、相対順序ですべてのレイアウトからセグメントを検索します。見つからない場合、エラー・メッセージが表示され、処理が終了します。
conkey
挿入するセグメントの親の連結キー。
field_name
フィールド名。
field_ref
レイアウト内のフィールドのフィールド参照番号。VIEWIMS DESCRIBE 文節を使用してビューまたはテンプレートを印刷するか、ビューまたはテンプレートをオンラインでブラウズすることで取得できます。
field_value
field_ref または field_name に指定したフィールドの値。
inssegm
挿入するセグメントの名前。これは、WHERE 文節に指定したセグメントの子であるか、あるいは WHERE 文節を省略した場合は、現行セグメントの子でなければなりません。
layout_ref
segname セグメント内のレイアウトの相対番号。VIEWIMS DESCRIBE 文節を使用してビューまたはテンプレートを印刷することで取得できます。
qualifier
フィールド名 (field_name) を特定する 1 つ以上の修飾子。最初の修飾子はセグメント・レイアウト名です。後続の修飾子 (ある場合) は、指定したフィールド名を特定するために使われるグループ・フィールドです。レイアウト名またはグループ・フィールドを省略すると、FM/IMS は指定された修飾子とフィールド名をセグメント・レイアウトから検索します。
注: レイアウト名とグループ・フィールドは、VIEWIMS DESCRIBE 文節を使用してビューまたはテンプレートを印刷するか、ビューまたはテンプレートをオンラインでブラウズすることで取得できます。
segname
挿入するセグメントの親の階層パス内のセグメントの名前。

正常に行われればゼロを戻し、そうでなければゼロ以外を戻します。

FM/IMS で使用不可の HALDB 区画または DEDB 領域が検出された場合、ISRTIMS 関数は戻りコード 8 を受け取り、ISPF 変数 FMSTATUS は、以下の IMS 状況コードを示します。

FH
使用不可の DEDB 領域。
BA
使用不可の HALDB 区画。

現行セグメントの下に新規子セグメントを挿入するには、WHERE 文節を省略します。それ以外の 場合には、WHERE 文節を使用して、挿入する新規の子セグメントの親を識別します。

OUTREC を新規セグメントの内容として使用するには、SET 文節を省略します。可変長セグメントを挿入する場合には、OUTREC の最初の 2 バイトでセグメントの長さを指定する必要があります。

それ以外の場合には、SET 文節を使用して、新規セグメントのフィールド値を指定します。

IEB の ISRTIMS 使用例

⋮
$$FILEM IEB
⋮
$$FILEM     PROC=*

filerc = VIEWIMS('TPLDSN=FMN.IMS.IVP.TEMPLATE')

filerc = GETIMS('NEXT')
filerc = GETIMS('SEGMENT=SUBURB  ',
               ' WHERE SEGMENT=SUBURB #SUBURB-NAME=CITY BEACH')

 /* Insert using OUTREC */

OUTREC = "FLOREAT RESERVE"
filerc = ISRTIMS('SEGMENT=NSTREET')

 /* Insert using SET    */

filerc = ISRTIMS('SEGMENT=NSTREET ',
               ' SET #2=FLOREAT RESERVE ',
               ' WHERE SEGMENT=SUBURB #SUBURB-NAME=CITY BEACH')

/+
⋮