シナリオ 1.検索機能

通常のホスト・システム・トランザクションには、次の 4 つのフェーズがあります。
  1. トランザクションを開始する。
  2. ホスト・システムの応答を待つ。
  3. 予期した応答であるかどうかを確認するため応答を分析する。
  4. 応答からデータを抽出し、使用する。

プログラム式操作では、一連の EHLLAPI 関数を使用してこれらの処置をまねる ことができます。ホスト・システム・トランザクションの正しい開始点を決定した後で、プログラム式操作は Search Presentation Space (6) 関数を呼び出して、どのキーワード・メッセージまたはプロンプト・メッセージを画面に表示するかを決めることができます。

次に、プログラム式操作は、Send Key (3) 関数を使用して、 データをホスト・システムのセッションに入力し、ホスト・システム・トランザクションを実行します。次に、プログラム式操作は、以下のことを実行できます。
  • X CLOCK、X []、または X SYSTEM 条件が終了するまで待機する (あるいは、端末がロックされている場合はキーボード・ロック状態を返す) Wait (4) 関数を使用します。

    キーボードの使用が禁止されている場合、EHLLAPI プログラムは Copy OIA (13) 関数を呼び出して、エラー条件についての詳細情報を取得することができます。

  • Search Presentation Space (6) 関数を使用して、適切な応答を受け取ったかどうかを検証するために、予期されるキーワードを検索します。
  • Copy Presentation Space to String (8) 関数 (または、いくつかあるうちのいずれかのデータ・アクセス関数) を使用して、必要なデータを抽出します。

Search Presentation Space (6) 関数は、端末オペレーターの別のタスクをシミュレートするための重要な関数です。一部のホスト・システムは、応答するまでの間、X CLOCK、X [] また は X SYSTEM モードではロック状態にならず、代わりに、すぐにキーボードをアンロック して、オペレーターが他の要求をスタックできるようにします。このような環境では、端末オペレーターは、他の何らかの表示されるプロンプト (画面のタイトルまたはラベルなど) によってデータが戻ったことを知ります。Search Presentation Space (6) 関数により 、EHLLAPI プログラムは待機中に表示スペースを検索することができます。また、応答待ちの間に Pause (18) 関数を呼び出すと、他の DOS セッションで中央演算処理装置のリソースを共用できるようになります。Pause (18) 関数にはオプションがあり、それによって、EHLLAPI プログラムは、ホスト・システムの更新イベントが生ずるのを待つことができます。

妥当なタイムアウト期間を過ぎてもホスト・システムのイベントが発生しない 場合、EHLLAPI プログラムは、カスタマイズされた次のようなエラー・メッセージ を呼び出すことができます。
No Response From Host.  Retry?

このような環境では、表示メッセージのわずかな変更に対しても プログラム式操作を再プログラムする必要があるので、プログラムの 改訂は重要な考慮事項になります。

例えば、端末オペレーターが
Enter Part Number:
というメッセージをプロンプトとして期待している場合に、次のメッセージを 作り出すようなアプリケーションの変更があっても、その端末オペレーターは 正しく対処できます。
Enter Component Number:

しかし、プログラム式操作はリテラル・キーワード・ストリングを探す ので、メッセージ構文の微妙な変更 (大文字と小文字の変更のような単純なもの) で あっても、プログラムは事前にプログラムされたエラー処置をとる ことになります。