バッチ編集 (IEB)
- 目的
- 標準 REXX ステートメントと以下の FM/IMS バッチ関数の両方を含む REXX プロシージャーを実行します。
- DELIMS
- IMS セグメントを削除します。
- GETIMS
- IMS セグメントを取り出します。
- ISRTIMS
- IMS セグメントを挿入します。
- IMS セグメントを印刷します。
- REPLIMS
- IMS セグメントを更新します。
- SAVEIMS
- データを IMS データベースにコミットし、IMS リソースを解放します。SAVEIMS を発行した後、データベース内のその位置は失われます。
- SETRC
- ジョブ・ステップの戻りコードを設定します。
- VIEWIMS
- 後で使用するビューを作成するか、既存ビュー (セグメントを取り出す GETIMS 関数で使用できる) をロードします。
- VIEWPOSN
- IMS セグメントに位置設定し、次の GETIMS (USING_VIEW を指定) でこのポイントからセグメントを取り出すようにします。
- 使用上の注意
- REXX 関数は、IEB で使用する REXX プロシージャーでのみ使用可能です。これらの関数の一部は、次の REXX 変数へ値を渡したり、それから値を読み取ったりします。
- INREC, OUTREC
- GETIMS 関数はセグメントを取り出し、このセグメントの内容を INREC と OUTREC の両方に渡します。INREC を参照変数としてのみ使用し、更新しないようにします。OUTREC を更新し、これを ISRTIMS 関数で挿入する新規セグメントの内容として使用するか、これを REPLIMS 関数で使用して既存セグメントの内容を置き換えることができます。
- FMSTATUS
- 直前の DELIMS、GETIMS、ISRTIMS、または REPLIMS 関数呼び出しからの DL/I 状況コードが含まれます。DL/I 状況コードの値の説明については、「IMS メッセージおよびコード」を参照してください。
- FMCONKEY, FMSEGNM
- 直前の DELIMS、GETIMS、ISRTIMS、または REPLIMS 関数呼び出しによって削除、取得、挿入、置換されたセグメントの連結キー (FMCONKEY) または名前 (FMSEGNM) が含まれます。
- FMNDBDNM
- DBD 名が含まれます。(ただし、この変数は、DELIMS、GETIMS、ISRTIMS、または REPLIMS 関数を呼び出すまではヌルです。)
REXX 関数 EXECIO を使用する場合は、EXECIO の前に「ADDRESS MVS」をコーディングするようにしてください。そうしないと、REXX の実行で RC-3 を受け取ることになります。
これらの REXX 変数名はすべて大文字で指定する必要があります。
- すべての IEB 関数の場合:
- 各 IEB 関数文のキーワード・ストリングおよびキーワード値は、単一引用符で囲む必要があります。複数行を必要とする文では、各行を単一引用符で囲み、終了引用符の後に、次の行へ続くことを示すコンマを続けます。
- IEB 関数 DELIMS、GETIMS、ISRTIMS、および REPLIMS :
- #field_name または #field_ref キーワードに field_value 変数を指定する場合、field_value 変数は、単一引用符または二重引用符で囲むか、引用符なしで指定することができます。
- IEB 関数 VIEWIMS:
- フィールド selection_criteria は REXX 式として指定します。selection_criteria 式を単一引用符または二重引用符で囲む必要はありません。
FM/IMS によって生成されるバッチ編集 JCL のフローは、以下の通りです。
図 1. バッチ編集 (IEB) ステップのフロー
- FMN1JIN
- FM/IMS スケルトン・ライブラリーを指します。この DD ステートメントは、HALDB データベースを編集するときにだけ使用されます。
- FMNIMSIN
- バッチ編集の制御ステートメントが入っています。この制御ステートメントについては、以下で詳しく説明します。
- IMS データベース・データ・セット
- DLI モードでは、保守される IMS データベースに関連付けられた各 IMS データベース・データ・セットの DD が FM/IMS に組み込まれます。データベースに論理関係がある場合は、論理的に関係があるデータベースのデータ・セットを組み込む必要があります。
- SYSPRINT
- これには、IEB REXX プロシージャーの実行中に FM/IMS によって出された FM/IMS メッセージが含まれます。
- REXX プロシージャー
- IMS データベースをバッチで保守するために実行される REXX exec。この exec は、ユーザーによるIMS セグメントの読み取りおよび更新を可能にする FM/IMS IEB 呼び出しと組み合わせた標準 REXX ステートメントから構成されます。
FMNIMSIN において、REXX プロシージャーに PROC=* が指定された場合、REXX プロシージャーは、PROC=* パラメーターの後にインストリームで指定されます。
FMNIMSIN において、PROC=<member> が指定された場合、<Test>EXEC ライブラリー内の REXX プロシージャー <FMN> が実行されます。
- FMNEXEC
- これには、PROC=<member> が FMNIMSIN パラメーターで指定された場合に実行されるメンバーが含まれます。