Hitachi

DBPARTNER2 Client プログラマーズガイド


2.4.2 マクロスクリプトファイルの作成

CommuniNet接続でDBPARTNER2 Clientを使うときは,HOAPDBS E2やACE3 E3などのサーバプログラムにログオン,ログオフするためのマクロスクリプトを設定する必要があります。マクロスクリプトをCommuniNetで実行させると,オンライン画面で実行するログオン,ログオフなどのキー入力操作を自動的に実行できます。

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

〈この項の構成〉

(1) マクロスクリプトファイルの例

ログオン,ログオフの操作はTSSの設定で異なるので,次の例を参考に作成してください。

マクロスクリプトファイルのサンプルは,DBPARTNER2 Clientのフォルダ\Samplesフォルダに格納してあります。ファイルの内容を必要に応じて修正して使うと,最初からマクロスクリプトファイルを作成する手間が省けます。

(a) サーバプログラムがVOS3 HOAPDBS E2の例

このサンプルは,VOS3 HOAPDBS E2を使うときの例です。データベースにはVOS3 XDM/RD E2,VOS3 XDM/SD E2を使えます。

LOGONマクロスクリプト
# Begin Logon Macro
# WRITEコマンド,SENDコマンドを実行する前には,
# ステータスが"キーOK"になるのを待ちます。
AWAIT KEYOK
SEND SRQ
AWAIT KEYOK
WRITE (1,1) "LOGON "
WRITE %1
WRITE "/"
WRITE %2
WRITE " S(5000) G(GENKA)"
SEND  EXEC
RECEIVE (1,10) "READY"
# 画面に"READY"が表示されるのを待ちます。
# 環境によってカーソル位置,文字列を変更してください。
AWAIT KEYOK
WRITE "SETCS &\\HOAPDBSPCDBID VALUE(XRDA)" 
SEND EXEC
AWAIT KEYOK
WRITE "HDBPC" 
SEND EXEC
# End

注※ この部分に指定する値については,マニュアル「VOS3 統合情報管理共通サービス HOAPSERV 運用の手引」を参照してください。

LOGOFFマクロスクリプト
# Begin Logoff Macro
AWAIT KEYOK
WRITE "LOGOFF"
SEND EXEC
AWAIT KEYOK
# End

(b) サーバプログラムがVOS3 ACE3 E3の例

このサンプルは,VOS3 ACE3 E3を使うときの例です。データベースにはVOS3 PDMII E2,VOS3 ユーザファイル,VOS3 RDB1を使えます。

LOGONマクロスクリプト
# Begin Logon Macro
# WRITEコマンド,SENDコマンドを実行する前には,
# ステータスが"キーOK"になるのを待ちます。
AWAIT KEYOK
SEND SRQ
AWAIT KEYOK
WRITE (1,1) "LOGON"
WRITE %1
WRITE "/"
WRITE %2
WRITE " S(5000) G(GENKA)"
SEND  EXEC
# 画面に"READY"が表示されるのを待ちます。
# 環境によってカーソル位置,文字列を変更してください。
RECEIVE (1,10) "READY"
 
 ※1
AWAIT KEYOK
WRITE "SETCS &\\ACE3E3PCUSID V('"
WRITE %1
WRITE ")"
SEND EXEC
AWAIT KEYOK
WRITE "SETCS &\\ACE3E3PCPSWD V('"
WRITE %2
WRITE ")"
SEND EXEC
 
 ※2
AWAIT KEYOK
WRITE "SETCS &\\ACE3E3PCLINK V('YES')" ※3
SEND EXEC
AWAIT KEYOK
 
AWAIT KEYOK
WRITE "ACE3E3" ※3
SEND EXEC
# End

注※1 サーバにTRUSTを組み込んでいないときは,この指定が必要です。

注※2 VOS3 ACE3 E3の環境を作成して,ACE3OPTマクロにPCLINK=YESを指定したときは,この指定は不要です。

注※3 この部分の指定については,マニュアル「VOS3 エンドユーザ言語 ACE3 E3 運用編」を参照してください。

LOGOFFマクロスクリプト
# Begin Logoff Macro
AWAIT KEYOK
WRITE "LOGOFF"
SEND EXEC
AWAIT KEYOK
# End

(c) サーバプログラムがVOS1 DBPARTNER/Linkの例

このサンプルは,VOS1 DBPARTNER/Linkを使うときの例です。データベースにはVOS1 PDMII E2,VOS1ユーザファイル,VOS1スプールファイルを使えます。

LOGONマクロスクリプト
# Begin Logon Macro
# 端末とES/IEXを接続します。
SEND EXEC
RECEIVE (1,2) "JCK071I ENTER LOGON"
AWAIT KEYOK
WRITE (1,2)   "LOGON IEX          "
SEND EXEC
# セション選択画面の表示を待ち,ユーザID,パスワード,セション名を入力
# します。
RECEIVE (1,14) "セション選択画面"
AWAIT KEYOK
WRITE (21,18) %1
WRITE (21,58) %2
WRITE (22,18) "ACE3001"
SEND EXEC
# マスタメニュー画面の表示を待ち,ACE3 E2を起動します。
RECEIVE (2,2) "JMASTER" 
AWAIT KEYOK
WRITE (22,13) "@@ACE3 CPROC=ACE3DCT,DBUSE=P,MODE=DBPARTNER" 
SEND EXEC
# END

注※ この部分の指定については,マニュアル「VOS1 エンドユーザ言語 ACE3 E2 運用の手引」を参照してください。

LOGOFFマクロスクリプト
# Begin Logoff Macro
# マスタメニュー画面の表示を待ち,"6.セションの終了"を入力します。
RECEIVE (2,2) "JMASTER"
AWAIT KEYOK
WRITE (22,13) "6"
SEND EXEC
# セションの終了画面の表示を待ち,"1.このメニューを実行中のセションの終
# 了"を選択します。
RECEIVE (2,2) "JUSESSI"
AWAIT KEYOK
WRITE (4,46) "1"
SEND EXEC
#セション選択画面の表示を待ち,入力行へLOGOFFを入力します。
RECEIVE (1,14) "セション選択画面"
AWAIT KEYOK
WRITE (24,13) "LOGOFF"
SEND EXEC
#"JIC101I"メッセージの表示を待ちます。
RECEIVE (20,3) "JIC101I"
AWAIT KEYOK
SEND EXEC
# オンラインモードに戻ったことを確認します。
RECEIVE (1,2) "JCK071I ENTER LOGON"
AWAIT KEYOK
# END

(d) サーバプログラムがVOSK HOAPDBS/PCの例

このサンプルは,VOSK HOAPDBS/PCを使うときの例です。データベースにはVOSK RDB編成ファイル,VOSKスプールファイルを使えます。

LOGONマクロスクリプト
# Begin Logon Macro
# "ログオン画面"が表示されるのを待ちます。
RECEIVE (1,36) "ログオン画面"
# 環境によってログオン画面の表示が完了するまでに時間が掛かり,
# 完了しないまま SENDコマンドを実行するとエラーになります。
# ログオン画面が表示完了するまでに時間が掛かる場合は,
# PAUSEコマンドでマクロスクリプトの実行を一時中断してください。
# PAUSE 3
AWAIT KEYOK
WRITE (3,27) "1"
WRITE (6,27) %1
WRITE (6,57) %2
WRITE (7,27) "#HDBSPC"
SEND EXEC
RECEIVE (22,3) "コマンド"
# WRITEコマンド,SENDコマンドを実行する前には,
# ステータスが"キーOK"になるのを待ちます。
AWAIT KEYOK
WRITE (22,14) "DEF HDBID,DBID=RDFA" 
SEND EXEC
AWAIT KEYOK
WRITE (22,14) "HDBPC" 
SEND EXEC
# End

注※ この部分の指定については,マニュアル「VOSK システムOA」を参照してください。

LOGOFFマクロスクリプト
# Begin Logoff Macro
AWAIT KEYOK
WRITE (22,14) "LOGOFF"
SEND EXEC
RECEIVE (1,36) "ログオン画面"
# End