さらに、ビルド記述子の効果についても詳しく説明します。
IMS 制御ブロックとの対話方法についての詳細は、ランタイム PSB および PCB のための EGL サポートを参照してください。
次の 2 つのセクションでは、上記の 2 つのプログラム・タイプそれぞれに固有の情報を提供します。
テキスト書式を受け入れる、または表示するメインプログラムをコーディングすると、EGL は入出力 PCB アクセスの詳細を処理します。segmented プログラム・プロパティーを YES に設定する必要があります。
converse ステートメントを使用して、端末と対話することができます。このステートメントは、テキスト書式を提供し、converse ステートメントに続くステートメントを処理することによって、ユーザーの入力に応答します。 実行時の動作の概要については、「EGL 言語解説書」を参照してください。
converse ステートメントの使い方は比較的簡単ですが、show ステートメントを使用するとさらにパフォーマンスが高くなります。 show ステートメントを使用すると、同一プログラムの先頭または別のプログラムに戻ることができます。show ステートメントは、受信側のプログラムがその inputForm として指定しているのと同じフォームを指定する必要があります。show ステートメントを使用すると、保存されるデータは、フォーム内の情報と、その show ステートメントで指定されたレコードのみに制限されます。ただし、プログラム・ユーザーとの対話を続行するために必要なすべての情報を、必ずフォームとレコードが提供するようコーディングする必要があります。
プログラムを IMS 会話型プログラムまたは非会話型プログラムとして実行する、プログラムを別のプログラムに転送するか、またはプログラムから別のプログラムを呼び出す、そして戻る節を指定してプログラムから show ステートメントを発行することができます。特定のタイプのステートメントに適用される制限については、そのステートメントの構文を説明しているトピックを参照してください。
テキスト書式の受け入れも表示も行わないメインプログラムをコーディングする場合、IMS メッセージ・キューからの入力を使用できます。その入力を取り出すには、入出力 PCB に関連付けられているシリアル・レコードに、メッセージを次から次へと読み取るループをコーディングします。メッセージ・キューからの入力の場合、シリアル・レコードに関連付けられているファイル・タイプは SMSGQ または MMSGQ です。詳しくは、IMS におけるシリアル・ファイルと印刷ファイルの使用を参照してください。
ほとんどの環境では、メインの基本プログラムが開始すると、そのプログラムの入力レコードが、転送プログラムによって渡されたレコードから初期化されます。これは、IMS BMP 環境用に生成されるメインの基本プログラムには当てはまりません。その代わりに、ターゲット・プログラムがメッセージ・キューから転送されたレコードを読み取る必要があります。
EGL によって生成された呼び出し先の基本プログラムは、別のプラットフォームで EGL によって生成された Java™ コードから呼び出すことができます。
プログラムを IMS 非会話型プログラムとして実行する、およびプログラムを同じ IMS/VS システム内のプログラムに転送するか、またはプログラムから別のプログラムを呼び出すことができます。特定のタイプのステートメントに適用される制限については、そのステートメントの構文を説明しているトピックを参照してください。
IMS では、EGL によって生成された呼び出し先プログラムは、メッセージ・キューから読み取ることができません。基本プログラムは、transfer to transaction ステートメントを使用することはできません。
テキスト UI プログラムおよび基本プログラムの両方を生成して、IMS FastPath (IFP) 領域で実行することができます。その場合、状態は MPP 領域について説明したのと同じですが、(IMS 要件に従って) プログラムは非会話型プログラムである必要があります。 さらに、複数セグメント入力メッセージ・キューの使用 (converse ステートメントの使用を含む) は、パフォーマンス上の理由から IMS ファスト・パス・プログラムにはお勧めしません。
IMS BMP 領域内で実行する基本プログラムを生成できます。
トランザクション指向 IMS BMP プログラムを作成するには、入出力 PCB に関連付けられているシリアル・レコードに次から次へとメッセージを読み取るループをコーディングして、IMS メッセージ・キューから入力を取り出す必要があります。単一セグメントおよび複数セグメントの入力メッセージ・キューの使用については、前に IMS MPP プログラムに関連して説明しています。バッチ指向 IMS BMP プログラムを作成するためには、IMS メッセージ・キューから入力を読み取らないようにしてください。 詳しくは、IMS におけるシリアル・ファイルと印刷ファイルの使用を参照してください。
コードを別の IMS BMP プログラムに転送する、またはコードからそのプログラムを呼び出すことができます。呼び出し先プログラムは、メッセージ・キューから読み取ることはできません。
コードの外部でいくつかの決定を行います。それには、生成時に使用されるビルド記述子のオプションを設定します。