入力アクションの後に遅延を挿入する
セッションが通常の TN3270 セッションである場合、またはコンテンション解消機能を使用しない TN3270E セッションである場合には、遅延の挿入が最適な解決策です。つまり、入力アクション (この例では ScreenA) によってホストが新しいアプリケーション画面を送信した後、数百ミリ秒以上の休止を挿入します。この遅延により、マクロ・ランタイムが次のマクロ画面 (ScreenB) のアクションの処理を開始する前に、ホストがアプリケーション画面を更新するための十分な時間を取ることができます。
このシナリオで、入力アクションの後に休止を挿入する方法はいくつかあります。
- <HAScript> エレメントの pausetime 属性により指定された遅延を大きくする。
- ScreenA の <screen> エレメントの pause 属性により指定された遅延を大きくする。この方式をお勧めします。ScreenA に対してのみ休止時間が延長されるので、影響を受けるのは ScreenA のみです。
- ScreenA の入力アクションの直後に休止アクションを追加する。この方式もお勧めします。ちょうど必要な場所に休止が挿入されます。
- ScreenB の最初のアクションとして休止アクションを追加する。シナリオによっては、この方式を選択する場合もあります。ただし、ScreenA の後に複数のマクロ画面が表示される可能性があって (ScreenB、ScreenC、ScreenD など)、これらの後続マクロ画面それぞれに画面の完了の問題が発生する場合は、この方式を使用すると、これらの後続マクロ画面それぞれに対して、最初のアクションとして休止を挿入する必要があります。1 つのマクロ画面 ScreenA に一時停止アクションを挿入する方式を使用する方がより簡単です。
通常の TN3270 セッションと、コンテンション解消機能を使用可能にした TN3270E セッションの両方でマクロを実行する必要がある場合は、XML マクロ言語に備わっているいくつかの属性が役立ちます。画面の完了に関係する属性を参照してください。