IMSDBU の自動化

IMSDBU 関数は、IMSDBU Runlist コマンド ファイルまたはオペレーティング システムのコマンド プロンプトを使用して実行できます。これらのバッチ インターフェイスを使用すると、関数の反復処理を簡易化できます。LAN サーバーや他の製品には、時間指定操作またはコマンド スケジューリングの機能が備わっています。これらの機能を IMSDBU コマンド実行と組み合わせることで無人操作を実現できます。

以下に使用例を示します。

コマンド ライン インターフェイスは、IMSDBU 関数をオペレーティング システムのコマンド ファイル (またはコマンド プロンプト) から実行します。各 IMSDBU コマンド ラインでは、1 つの IMSDBU 関数を実行します。システム戻りコードは、関数の終了戻りコードに設定されます。8 以上の戻りコードは、関数が失敗したことを意味します。

IMSDBU は、独自の Runlist コマンド ファイルもサポートしています。これらのコマンド ファイルはオペレーティング システムのコマンド ファイルに似ていますが、一連のコマンドをグループとして処理できます。関数のリストを含む Runlist ファイルを実行するには、単一のオペレーティング システム コマンドで開始します。

関数が、正常に完了している前の関数に依存している場合は、Runlist ファイルの方が使いやすいことがあります。Runlist ファイル内の関数が失敗すると、残りの関数はキャンセルされます。オペレーティング システムのコマンド ファイルを使用する際には、ERRORLEVEL または戻りコード検査を使用して残りのステップをバイパスする必要があります。

前のステップの結果にかかわらず、確実に関数を実行する必要がある場合は、オペレーティング システムのコマンド ファイルを使用します。オペレーティング システムのコマンドと Runlist ファイルを組み合わせると、IMSDBU 関数の実行に際して柔軟性が高まります。

この例では、1 つのオペレーティング システム コマンド ファイルおよび 2 つの Runlist ファイルを使用して、複数のデータベースをロードします。ここでは、A、B、C、D という 4 つのデータベースを使用します。データベース A と B は相互に論理的に関連付けられています (データベース C と D も同様)。

Runlist ファイルは、データベース A および B をロードするために使用します。Runlist ファイルは、そのすべてのステップについて単一の詳細リスト ファイルを作成します。最初のステップの LISTOPEN(NEW) 指令で、新しいリスティング ファイルを作成します。後続ステップの LISTOPEN(MOD) 指令は、このリスティングにデータを追加します。いずれかのデータベースの Load が失敗した場合は、プロセスを続行する必要はありません。PtrUpdate を実行するには、両方のデータベースを正常にロードする必要があります。アプリケーションがデータベースを使用するには、4 つのステップすべてを正常に完了する必要があります。

Runlist ファイル LOADAB.RUN

LOAD A DSN(A.LOD) LIST(LOADAB.LST) LISTOPEN(NEW)
LOAD B DSN(B.LOD) LIST(LOADAB.LST) LISTOPEN(MOD)
PTRU A LIST(LOADAB.LST) LISTOPEN(MOD)
PTRU B LIST(LOADAB.LST) LISTOPEN(MOD)

データベース C および D をロードするには、同様のプロセス (および Runlist ファイル) を使用します。

Runlist ファイル LOADCD.RUN

LOAD C DSN(C.LOD) LIST(LOADCD.LST) LISTOPEN(NEW)
LOAD D DSN(D.LOD) LIST(LOADCD.LST) LISTOPEN(MOD)
PTRU C LIST(LOADCD.LST) LISTOPEN(MOD)
PTRU D LIST(LOADCD.LST) LISTOPEN(MOD)

上記の 2 つの Runlist ファイルを実行するには、オペレーティング システムのコマンド ファイルを使用します。以下のコマンド ファイルにより、Runlist ファイルを実行します。ECHO 指令により、4 以上の戻りコードで終了メッセージおよびエラー メッセージが表示されます。ECHO stoplvl を 50 に指定すると、どの IMSDBU メッセージについてもプロンプトを表示しないことを示します。

LOADABCD.BAT

xx IMSDBU RUN LOADAB.RUN echo(errend,4,50) nocls
xx IMSDBU RUN LOADCD.RUN echo(errend,4,50) nocls

この例では、データベース A のロード中に障害が発生した場合に、データベース B のロードは取り消されますが、データベース C および D のロードには影響しません。このオペレーティング システム コマンド ファイルは無人で実行できます。アクティビティ ログおよび詳細リスト ファイルには、実行結果が含まれます。