セグメント化モードで実行しているときに converse が発生すると、EGL は現行プログラム状況を作業ファイルまたはデータベースに自動的に保存します。
現行プログラム状況の例としては、変数の現行値があります。セグメント化された converse ステートメントまたは show ステートメントを使用してプログラムが端末からの入力を要求すると、EGL はすべてのストレージ、ファイル、およびデータベース・リソースを必ず自動的に解放します。 例外はライブラリー情報で、この場合はオプションで enableSaveRestore ライブラリー・プロパティーを使用してセグメント化された converse 間で保存できます。enableSaveRestoreを参照してください。 非セグメント化モードで実行している場合、EGL はこれらのリソースを解放しません。
セグメント化モードで実行するプログラムを定義する前に、ランタイム環境におけるセグメント化の効果を理解する必要があります。セグメント化によってプログラムの結果が変わる可能性があるため、初期設計フェーズでプログラムをセグメント化するかどうかを考慮する必要があります。
セグメント化モードを使用すると、CICS® システムの同じシステム・ストレージ・アドレス・スペース内で同時に EGL プログラムを実行できる端末の数が多くなります。セグメント化プログラムを使用すると、大量の端末によるコンカレント使用が可能ですが、各データ転送 (ロールアウトとロールイン) に必要な時間、および新規システム・タスクを作成するためにホスト・サブシステムが必要とする時間だけ、各端末の応答時間が長くなります。
セグメント化プログラムは、ユーザーの思考時間中にはアドレス・スペースを使用しません。 これは、現行システム・タスクの終了時にプログラム・アドレス・スペースが外部ストレージに保存され、プログラムは続行するためにユーザーからの入力を必要とするためです。
ユーザーが Enter キー、Clear キー、PA キー、またはファンクション・キーを押すと、新規システム・タスクが開始されます。EGL は、外部ストレージから取得されたデータを使用してそのタスク用のアドレス・スペースを復元します。