Hitachi

DBPARTNER2 Client 操作ガイド


2.8.1 マクロスクリプトの概要

ログオン,ログオフなどのオンライン画面に対するキーの入力操作をユーザの代わりに実行させるため,マクロスクリプトを使います。ここでは,マクロスクリプトで使うコマンドの設定方法を説明します。

マクロスクリプトについては,CommuniNetの関連マニュアルを参照してください。

〈この項の構成〉

(1) マクロコマンドの意味

マクロスクリプトの中に記入するマクロコマンドの意味を説明します。

(a) AWAIT KEYOK

CommuniNetのオンライン画面に表示されるメッセージを監視します。ここでは画面に「キーOK」と表示されるまで次の行の実行を監視します。

(b) WRITE(1,5)"LOGON"

( )内は文字列の入力を開始する位置を(行,けた)で指定します。画面に入力する文字は「""」で囲んで指定します。ここでは,1行目の5けた目に「LOGON」を入力します。

入力する文字を引数にするときには,文字列パラメタ(「%n」nは1〜9の数字)を指定します。DBPARTNER2の場合,接続先定義ファイルのLONMACRO及びLOFMACROで指定した引数をここで指定します。

(例)

3行目の27けた目に引数%1に設定された値を入力します。

WRITE(3,27)%1

引数%1は接続先定義ファイルのLONMACRO又はLOFMACROの引数%1に設定された値が入力されます。

引数%1にはDBPARTNER2の起動時に,ユーザが[DBPARTNER2]ウィンドウの[接続]メニューで入力したユーザIDとパスワードが入力されます。

(c) SEND [key]

キー操作をシミュレートします。[ ]内には送信キーやTABキー,削除キーなどのキーのkeyコードを指定します。

(例)

送信キー(keyコードは「EXEC」)を押す操作をシミュレートします。

<SEND>EXEC

(2) ログオンマクロスクリプト作成時の共通規則

ログオンマクロスクリプト作成時の規則について説明します。これらの規則を守らなかった場合,サーバとの接続時にエラーとなります。

各サーバプログラム固有の規則については,2.8.2〜2.8.5を参照してください。

(a) 指定順序

必須項目を示します。1.〜5.の順序で指定してください。サーバからの応答待ち時間などは,ユーザの環境に合わせて定義してください。

  1. オンライン端末起動時の環境

  2. ログオン操作

  3. 作業用ファイルの設定

  4. データベース識別子

  5. サーバプログラムの起動

(b) オンライン端末起動時の環境

<SRQ>の実行などをユーザの環境に合わせて定義してください。

(c) ログオン操作

リージョンサイズなどは,ユーザの環境に合わせて定義してください。

(3) マクロスクリプトを作成するときの注意

(a) サーバの稼働状態を考慮する

マクロスクリプト内で指定している内容は,実際にオンライン端末でのキーボードの入力内容をシミュレートするものです。このため,サーバの稼働状況を十分に考慮して,サーバのマシンが遅い場合には応答が返って次のマクロコマンドを実行できる状態になるまで「AWAIT KEYOK」を利用するなどして作成してください。

(b) KBロックに注意する

オンライン端末で作業をする場合,一つのTSSコマンドを実行すると時間が掛かることがあります。通常,オンライン端末であれば「KBロック」状態となりキーボードから入力できなくなります。マクロスクリプトを実行しても同じ現象が発生します。その場合,「KBロック」状態が「キーOK」になるまで「AWAIT KEYOK」又は「TIMEOUT」を使うと,次のマクロコマンドの実行を待ち状態にできます。

(4) ログオフ操作マクロスクリプト

ログオフ操作を登録するマクロスクリプトでは,ログオフの操作を必ず定義してください。ログオフの処理が完了した後に,ログオフ操作のマクロスクリプトを終了させるようにしてください。DBPARTNER2は,ログオフ操作のマクロスクリプトが終了すると,ログオフ処理は完了していると解釈します。このため,ログオフ操作のマクロスクリプトが終了した後に,ログオフの処理が完了していないとエラーとなります。

接続先定義ファイルのCNCTOPT:パラメタでANYTIMEを指定している場合,次回サーバアクセス時にログオン操作のマクロスクリプトが実行できるように定義しておいてください。この定義は,ログオン操作のマクロスクリプト中(ログオン実行より前)でもかまいません。

(例)

ログオフ後に<SRQ>を送信しておく。

WRITE "LOGOFF"
SEND EXEC
AWAIT KEYOK
SEND SRQ