RPG

15. データ待ち行列の利用

データ待ち行列は画面ファイルやスプール・ファイルに関連づけて使用できる。

CRTDSPF や CRTOUTQ のパラーメータとしてデータ待ち行列を指定できる。

データ待ち行列(DTAQ)は 一般的には、先入れ先出しの待ち行列として

通信プログラムで相手から信号が送られてきたことを察知するために使用する。

しかし、画面ファイルやスプール・ファイルへデータ待ち行列を応用すると次のようなことが可能となる。

  • 画面入力の応答速度を 改善する。

    いちぢるしくパフォーマンスの悪い画面入力プログラムがあったと仮定する。

    ロジックには手を加えないで、このプログラムのレスポンスを改善できないか?

    画面に対してデータ待ち行列を定義して INVITE によって入力を受信するように変更する。

    そして ユーザーが入力すると画面を解放してしまって内部で 更新作業を続行するようにする。

    このように 変更すると、ユーザーが次のデータを入力しているあいだに前のデータの更新が

    行なわれているのでユーザーから見れば、ほとんど待たされることなく次の入力へ進めるので、

    非常にパフォーマンスが向上したのと同じような結果を得ることができる。

  • スプール・ファイルにユーザーライターを定義する。

    スプール・ファイルにデータ待ち行列を定義すれば、ユーザープログラムで新たな

    スプール・ファイルが来たことを検知できる。

    そのユーザープログラムでPC へスプールファイルをダウンロードしてダウンロード済みのスプールを

    消すようにすれば、これは立派なスプール・ライターである。