CICS でのセグメント化プログラムと非セグメント化プログラムの比較

CICS® 環境の場合、プログラムを定義するときに segmented プロパティーを設定することにより、プログラムがセグメント化 (CICS 疑似会話型) モードまたは非セグメント化 (CICS 会話型) モードのどちらで実行するかを指定できます。

注: VisualAge® Generator 互換モードで実行している場合は、プログラムのランタイム・モードを動的に変更することもできます。 詳しくは、セグメント化モードと非セグメント化モード間の動的な変更を参照してください。
次のダイアグラムは、非セグメント化モードで実行するプログラムのフローを示しています。サンプル更新プログラム CSUP は、書式の converse を行い、更新可能な顧客データを表示し、ユーザーからのデータを受け入れて顧客レコードを更新し、変更されたデータでレコードを置き換えます。非セグメント化モードを使用する場合、converseVar.commitOnConverse システム変数を 1 に設定する必要があります。これにより、converse でコミット点が発生し、ファイルとデータベースに対する変更内容がコミットされ、ロックが解放されるようになります。このダイアグラムは、converse の後で比較することを目的としてレコードのコピーを保存し、ユーザーの思考時間にレコードに対してその他の変更が行われないようにすることも示しています。
図 1. 非セグメント化モードで実行するファイル更新プログラム非セグメント化モードで実行するプログラムのダイアグラム
次のダイアグラムは、セグメント化モードで実行する同じ更新プログラムのフローを示しています。
図 2. セグメント化モードで実行するファイル更新プログラムセグメント化モードで実行するプログラムのダイアグラム

プログラムがセグメント化モードで実行する場合、セグメンテーション中のロールアウト・データとロールイン・データを含めるための一時ストレージを提供する必要があります。各プログラムは、約 6000 バイトと、そのプログラムによってアクセスされるすべてのオブジェクト (レコード、変数、および書式) の合計サイズの合計を必要とします。さらに、各ユーザー入力の後でプログラムを開始する必要があるため、プログラム、印刷サービス・プログラム、および FormGroup 書式モジュールをセグメント化プログラム用に常駐させることができます。


フィードバック