プロセス全体の 3 ステージすべての概要

ステージ 1 では、マクロ・ランタイムは、次に処理するマクロ画面を決定します。上記のセクションで説明したように、ステージ 1 には 3 つのステップがあります。

ステップ 1(a) では、マクロ・ランタイムは、現行のマクロ画面の次に表示される可能性があるマクロ画面の名前を収集し、これらの名前を有効な次画面のリストに追加します。リストには、そのような画面が 1 つだけ、または数個ある可能性があります。このシナリオの例では、マクロ・ランタイムは、Screen1 の <nextscreens> エレメントを調べ、1 つの名前 (Screen2) を見付け、その名前をリストに追加します (表 1 を参照)。

ステップ 1(b) では、マクロ・ランタイムは、リスト上の各マクロ画面を定期的に調べて、その画面がアプリケーション画面と一致するかどうかを判別します。

タイミングはこのステップにおける要因です。マクロ・ランタイムが (Screen1 では、<actions> エレメントの最後のアクションとして '3[enter]' と入力して) 現行のマクロ画面のいずれかのアクションを実行すると、ホスト・アプリケーションは、ホスト端末を変更する処理を実行して、古いアプリケーション画面 (「ISPF Primary Option Menu」) の代わりに新しいアプリケーション画面 (「Utility Selection Panel」) を表示します。しかし、この変更は、即時に行われるわけではありません。この変更には数百ミリ秒かかり、ホストから数パケット分のデータが必要になる場合があります。

そのため、マクロ・ランタイムは、ステップ 1(b) では、OIA 行またはホスト端末の表示スペースが更新されるたびに、有効な次画面のリストに含まれるマクロ画面を調べ、それらのいずれかがアプリケーション画面の現在の状態に一致するかどうかを確認します。

最終的にはホスト端末は、マクロ・ランタイムがリスト上のマクロ画面のいずれかをアプリケーション画面に一致させることができる程度まで、更新されます。

ステップ 1(c) では、マクロ・ランタイムは、有効な次画面のリストからすべてのマクロ画面名を除去します (一時画面がある場合は、それを除く)。

ステージ 2 では、マクロ・ランタイムは、選択されたマクロ画面 (ステップ 1(b) でアプリケーション画面と一致した画面) を新しい現行マクロ画面にします。

最後にステージ 3 では、マクロ・ランタイムは、Screen2 の <actions> エレメントのアクションを実行します。

この章の残りの部分では、上述の概要にあるステージとステップについての詳細な情報を提供します。