ディスクリプターが異なるアクティブ・セッションに適用される
再度、マクロが 3270 ディスプレイ・セッションから起動され、マクロ・ランタイムが、 その 3270 ディスプレイ・セッションを参照するマクロ画面の処理を終了して、 次に処理するマクロ画面の認識を試行中であると 仮定します。また、マクロ・ランタイムは Screen32 という名前のマクロ画面を 候補として確認中であり、その Screen32 が、以下の 6 つのディスクリプターを 含んでいると仮定します。
- すべて、オリジナルの 3270 ディスプレイ・セッションに適用される 「フィールド数 (Number of Fields)」ディスクリプター、「入力フィールド数 (Number of Input Fields)」ディスクリプター、および 「OIA が禁止解除になるのを待つ (Wait for OIA to Become Uninhibited)」ディスクリプター
- すべて、5250 ディスプレイ・セッションに適用される 「フィールド数 (Number of Fields)」ディスクリプター、「入力フィールド数 (Number of Input Fields)」ディスクリプター、および 「OIA が禁止解除になるのを待つ (Wait for OIA to Become Uninhibited)」ディスクリプター
上記のディスクリプターはすべて必要なディスクリプターであり、逆ディスクリプター はないと仮定します。さらに、以下の条件の場合、マクロ・ランタイムは、 Screen32 が次に処理するマクロ画面であると決定します。
- 最初の 3 つのディスクリプターが、3270 ディスプレイ・セッション・ウィンドウに 対して真であると評価される。さらに、
- 後の 3 つのディスクリプターが、5250 ディスプレイ・セッション・ウィンドウに 対して真であると評価される。
この例において、個々のディスクリプターを評価する処理は、マクロ・ランタイムが 2 つの 異なるアクティブ・セッション・ウィンドウに対しディスクリプターを評価する点を 除いて、通常のマクロとまったく同様です。
特定のセッション・ウィンドウに対し、各ディスクリプターが真であるか偽であるかを 評価した後、マクロ・ランタイムは、通常の方法で、個々のディスクリプターの ブールの結果を結合します (記述子の評価を参照)。