Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 テスタ・UAPトレース使用の手引


11.1.1 オフラインテスタ環境定義

オフラインテスタ環境定義では,オフラインテスタの次のような実行条件を定義します。

各定義は,オフラインテスタ環境定義ファイル上に記述します。オフラインテスタ環境定義ファイルには,ユーザが任意のファイル名を付けます。このファイル名は,オフラインテスタを開始させる際の,コマンド引数になります。

オフラインテスタ環境定義の規則を次に示します。

  1. 一つの定義は一つの行に記述します。

  2. 定義は,半角文字で記述します。大文字と小文字は区別して記述します。

  3. 行(定義)の終わりには,','(コンマ)を記述します。コンマ以降はコメントと見なされます。

  4. 全体の終わりには,';'(セミコロン)を記述します。セミコロン以降はコメントと見なされます。

  5. 定義解析中,次のような場合には,エラーメッセージが出力されたあと,その定義を無視して定義解析が続行されます。

    • 指定されたディレクトリおよびファイル(DAMファイル以外)がない場合

    • 書き込み先のファイルが書き込みモードでオープンできないなど,必要なアクセスができない場合

    • 定義解析中にエラーがあった場合

    解析終了後,オフラインテスタの起動を続行するかどうか,ユーザの指定待ちになります。ユーザの指定を次に示します。

    '1':オフラインテスタの起動を続行します。

    '2'(または'end'):オフラインテスタの起動を中断します。

  6. 定義内容は省略できません。省略すると書式エラーになります。

  7. 書式エラーになった場合,その定義内容の有効・無効の判断を次の表に示します。

    表11‒1 書式エラーの内容と定義内容の判断

    定義名

    書式エラーの内容

    定義内容

    有効時の仮定

    UAPの定義

    サービスグループ名,実行形式プログラム名,およびユーザサービス定義ファイル名の指定なし

    無効

    'N'と'F'を同時に指定

    有効

    'F'だけを仮定

    文末に','または';'なし

    有効

    文末に','を仮定

    RPC要求データファイル格納ディレクトリの定義

    ディレクトリ名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    XATMI要求データファイル格納ディレクトリの定義

    ディレクトリ名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    TxRPC要求データファイル格納ディレクトリの定義

    ディレクトリ名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    RPC応答データファイル格納ディレクトリの定義

    ディレクトリ名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    XATMI応答データファイル格納ディレクトリの定義

    ディレクトリ名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    TxRPC応答データファイル格納ディレクトリの定義

    ディレクトリ名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    XATMI送受信データファイル格納ディレクトリの定義

    ディレクトリ名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    MCF受信メッセージファイル格納ディレクトリの定義

    ディレクトリ名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    運用コマンド結果データファイル格納ディレクトリの定義

    ディレクトリ名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    連続実行コマンドファイル格納ディレクトリの定義

    ディレクトリ名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    DAMファイルの定義

    物理ファイル名,論理ファイル名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    TAMファイルの定義

    TAMテーブル名,TAMファイル名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    ISTテーブルの定義

    ISTテーブル名,レコード長,レコード数の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    関数リターン値ファイルの定義

    ファイル名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    トレースファイルの定義

    ファイル名の指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    プロトコルの定義

    プロトコルの指定なし

    無効

    文末に','または';'なし

    有効

    文末に','を仮定

    その他

    上記以外の定義名を指定

    無効

    (凡例)

    −:該当しません。

オフラインテスタ環境定義の定義例を次に示します。

〈定義例〉

 # UAPの定義
 SPP = spp1 spp1.out spp1user,
 SPP = spp2 DUMMY DUMMY F,
 SPP = spp3 spp.out spp3user D dbx,
 SPP = spp4 spp4.out spp4user,
 SPP = spp5 spp5.out spp5user N D dbx -I /betran/utf/uap/src spp5.out,
 MHP = mhp1 mhp1.out mhp1usr,
 #
 # RPC要求データファイル格納ディレクトリの定義
 rpc_message = /betran/utf/rpcmsg,
 #
 # XATMI要求データファイル格納ディレクトリの定義
 tp_message = /betran/utf/xatmimsg,
 #
 # TxRPC要求データファイル格納ディレクトリの定義
 txrpc_message = /betran/utf/txrpcmsg,
 #
 # RPC応答データファイル格納ディレクトリの定義
 rpc_return_data = /betran/utf/rpc_return,
 #
 # XATMI応答データファイル格納ディレクトリの定義
 tp_return_data = /betran/utf/tp_return,
 #
 # TxRPC応答データファイル格納ディレクトリの定義
 txrpc_return_data = /betran/utf/tx_return,
 #
 # XATMI送受信データファイル格納ディレクトリの定義
 tp_converse = /betran/utf/tp_converse,
 #
 # MCF受信メッセージファイル格納ディレクトリの定義
 mcf_message = /betran/utf/mcfmsg,
 #
 # 運用コマンド結果データファイル格納ディレクトリの定義
 adm_call_cmd = /betran/utf/etc/call_cmd_val,
 #
 # 連続実行コマンドファイル格納ディレクトリの定義
 cmdfile = /betran/utf/etc,
 #
 # DAMファイルの定義
 damfile = damfile1 /betran/utf/dam/damfile1,
 damfile = damfile2 /betran/utf/dam/damfile2 N,
 #
 # TAMファイルの定義
 tamtable = tamtable1 /betran/utf/dam/tamfile1,
 tamtable = tamtable2 /betran/utf/dam/tamfile2 N,
 #
 # ISTテーブルの定義
 isttable = isttable 128 64,
 isttable = ist2 4 256,
 #
 # 関数リターン値ファイルの定義
 func_value_file = /betran/utf/etc/return_val,
 #
 # トレースファイルの定義
 tracefile = /betran/utf/log/trace,
 #
 # プロトコルの定義
 protocol = OSI/TP;
 #
〈この項の構成〉

(1) UAPの定義

(a) 形式

{SPP|MHP}={サービスグループ名|サービス名} 実行形式プログラム名
           ユーザサービス定義ファイル名〔 T 〕
           〔{F|D デバッガ名|〔N〕〔D デバッガ名〕}〕{,|;}

(b) 機能

オフラインテスタの下で実行するUAPについて,次の項目を定義します。

  • UAPの種別(SPP,MHP)

  • サービスグループ名

  • サービスグループ名に対応した実行形式プログラム名

  • サービスグループ名に対応したユーザサービス定義ファイル名

  • サーバUAPシミュレート機能を使用するかどうか

  • デバッガ連動機能を使用するかどうか

なお,定義の対象となるのはSPPとMHPだけです。SUPは,オフラインテスタでのテストの対象外となります。

(c) オペランド

  • SPP | MHP

    定義名として,サービスグループの種別を指定します。

    SPP:SPPを示します。

    MHP:MHPを示します。

  • サービスグループ名

    サービスグループ名を指定します。TxRPCインタフェースのUAPシミュレート機能を実行する場合は,IDLファイルに指定したインタフェース名を指定します。

  • サービス名

    XATMIインタフェースのサーバUAPシミュレート機能を実行する場合に,サービス名を指定します。

  • 実行形式プログラム名

    このサービスグループを実行するUAP名(実行形式プログラム名)を指定します。サービス関数をシミュレートする場合は,実在しない名称でもかまいません。

  • ユーザサービス定義ファイル名

    このサービスグループの実行環境を定義した,ユーザサービス定義ファイルの名称を指定します。TxRPCインタフェースのUAPシミュレート機能を実行する場合は,txidlコマンドで作成したユーザサービス定義ファイルを指定します。サービス関数をシミュレートする場合は,実在しない名称でもかまいません。

  • T

    TxRPCインタフェースのUAPシミュレート機能を使用する場合に指定します。この指定は,サービスグループ種別にSPPを指定した場合だけ指定できます。MHPを指定した場合はエラーとなります。

  • F

    サーバUAPシミュレート機能を使用する場合に指定します。

    この指定がない場合は,オフラインテスタ開始時にサービスグループを起動します。

  • D デバッガ名 〔デバッガ引数〕

    デバッガの下でUAPを実行させる場合に指定します。

    デバッガ名として指定できるのは次の値です。ただし,デバッガ名のチェックはしません。

    dbx:デバッガとしてdbxを使用する場合に指定します。

    cbltd:デバッガとしてCOBOL2002を使用する場合に指定します。

    この指定では,デバッガに渡す引数が指定できます。引数を指定しない場合は,実行形式プログラム名を引数として指定します。引数を指定する場合は,その引数をそのままデバッガに渡す引数にします。

    デバッガへ渡す引数で指定する,実行可能ファイル名と実行形式プログラム名は同じにしてください。異なっていてもエラーにはなりませんが,デバッガには引数で指定された実行可能ファイル名が渡され,オフラインテスタでは実行形式プログラム名で管理されます。

  • N

    オフラインテスタ開始時に,該当するサービスグループ(UAP)の起動を抑止して,オフラインテスタ開始後にstartサブコマンドでサービスグループを起動したい場合に指定します。

    この指定がない場合は,オフラインテスタ開始時にサービスグループを起動します。

(d) 注意事項

同じサービスグループ名を,重複して定義できません。重複して定義した場合は,先に定義した方が有効になります。次に示す例では,'spp1'が重複して指定されているため,2行目の定義がエラーになります。

(例)
SPP = spp1 spp1.load spp1usr,
SPP = spp1 spp2.load spp2usr, ← エラーになります。

(e) 定義例

# UAPの定義
SPP = spp1 spp1.out spp1user,
SPP = spp2 DUMMY DUMMY F,
SPP = spp3 spp.out spp3user D dbx,
SPP = spp4 spp4.out spp4user,
SPP = spp5 spp5.out spp5user N D dbx -I /betran/utf/uap/src spp5.out,
MHP = mhp1 mhp1.out mhp1usr;
#

(2) RPC要求データファイル格納ディレクトリの定義

(a) 形式

rpc_message = RPC要求データファイル格納ディレクトリ名{,|;}

(b) 機能

RPC要求データファイルを格納する,ディレクトリの名称を定義します。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • rpc_message

    定義名として,rpc_messageを指定します。

  • RPC要求データファイル格納ディレクトリ名

    RPC要求データファイルを格納する,ディレクトリのパス名を指定します。オフラインテスタを実行中のディレクトリと異なる場合は,RPC要求データファイルを格納しているディレクトリ名を付けて指定します。

(d) 定義例

# RPC要求データファイル格納ディレクトリの定義
rpc_message = /betran/utf/rpcmsg;
#

(3) XATMI要求データファイル格納ディレクトリの定義

(a) 形式

tp_message = XATMI要求データファイル格納ディレクトリ名{,|;}

(b) 機能

XATMI要求データファイルを格納する,ディレクトリの名称を定義します。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • tp_message

    定義名として,tp_messageを指定します。

  • XATMI要求データファイル格納ディレクトリ名

    XATMI要求データファイルを格納する,ディレクトリのパス名を指定します。

    オフラインテスタを実行中のディレクトリと異なる場合は,XATMI要求データファイルを格納しているディレクトリ名を付けて指定します。

(d) 定義例

# XATMI要求データファイル格納ディレクトリの定義
tp_message = /betran/utf/xatmimsg;
#

(4) TxRPC要求データファイル格納ディレクトリの定義

(a) 形式

txrpc_message = TxRPC要求データファイル格納ディレクトリ名{,|;}

(b) 機能

TxRPC要求データファイルを格納する,ディレクトリの名称を定義します。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • txrpc_message

    定義名として,txrpc_messageを指定します。

  • TxRPC要求データファイル格納ディレクトリ名

    TxRPC要求データファイルを格納する,ディレクトリのパス名を指定します。

    オフラインテスタを実行中のディレクトリと異なる場合は,TxRPC要求データファイルを格納しているディレクトリ名を付けて指定します。

(d) 定義例

# TxRPC要求データファイル格納ディレクトリの定義
txrpc_message = /betran/utf/txrpcmsg;
#

(5) RPC応答データファイル格納ディレクトリの定義

(a) 形式

rpc_return_data = RPC応答データファイル格納ディレクトリ名{,|;}

(b) 機能

RPC応答データファイルを格納する,ディレクトリの名称を定義します。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • rpc_return_data

    定義名として,rpc_return_dataを指定します。

  • RPC応答データファイル格納ディレクトリ名

    RPC応答データファイルを格納する,ディレクトリのパス名を指定します。オフラインテスタを実行中のディレクトリと異なる場合は,RPC応答データファイルを格納しているディレクトリ名を付けて指定します。

(d) 定義例

# RPC応答データファイル格納ディレクトリの定義
rpc_return_data = /betran/utf/rpc_return;
#

(6) XATMI応答データファイル格納ディレクトリの定義

(a) 形式

tp_return_data = XATMI応答データファイル格納ディレクトリ名{,|;}

(b) 機能

XATMI応答データファイルを格納する,ディレクトリの名称を定義します。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • tp_return_data

    定義名として,tp_return_dataを指定します。

  • XATMI応答データファイル格納ディレクトリ名

    XATMI応答データファイルを格納する,ディレクトリのパス名を指定します。

    オフラインテスタを実行中のディレクトリと異なる場合は,XATMI応答データファイルを格納しているディレクトリ名を付けて指定します。

(d) 定義例

# XATMI応答データファイル格納ディレクトリの定義
tp_return_data = /betran/utf/tp_return;
#

(7) TxRPC応答データファイル格納ディレクトリの定義

(a) 形式

txrpc_return_data = TxRPC応答データファイル格納ディレクトリ名{,|;}

(b) 機能

TxRPC応答データファイルを格納する,ディレクトリの名称を定義します。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • txrpc_return_data

    定義名として,txrpc_return_dataを指定します。

  • TxRPC応答データファイル格納ディレクトリ名

    TxRPC応答データファイルを格納する,ディレクトリのパス名を指定します。

    オフラインテスタを実行中のディレクトリと異なる場合は,TxRPC応答データファイルを格納しているディレクトリ名を付けて指定します。

(d) 定義例

# TxRPC応答データファイル格納ディレクトリの定義
txrpc_return_data = /betran/utf/tx_return;
#

(8) XATMI送受信データファイル格納ディレクトリの定義

(a) 形式

tp_converse = XATMI送受信データファイル格納ディレクトリ名{,|;}

(b) 機能

XATMI送信データファイルとXATMI受信データファイルを格納する,ディレクトリの名称を定義します。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • tp_converse

    定義名として,tp_converseを指定します。

  • XATMI送受信データファイル格納ディレクトリ名

    XATMI送信データファイルとXATMI受信データファイルを格納する,ディレクトリのパス名を指定します。オフラインテスタを実行中のディレクトリと異なる場合は,XATMI送信データファイルとXATMI受信データファイルを格納しているディレクトリ名を付けて指定します。

(d) 定義例

# XATMI送受信データファイル格納ディレクトリの定義
tp_converse = /betran/utf/tp_converse;
#

(9) MCF受信メッセージファイル格納ディレクトリの定義

(a) 形式

mcf_message = MCF受信メッセージファイル格納ディレクトリ名{,|;}

(b) 機能

MCF受信メッセージファイルを格納する,ディレクトリの名称を定義します。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • mcf_message

    定義名として,mcf_messageを指定します。

  • MCF受信メッセージファイル格納ディレクトリ名

    MCF受信メッセージファイルを格納する,ディレクトリのパス名を指定します。オフラインテスタを実行中のディレクトリと異なる場合は,MCF受信メッセージファイルを格納しているディレクトリ名を付けて指定します。

(d) 定義例

# MCF受信メッセージファイル格納ディレクトリの定義
mcf_message = /betran/utf/mcfmsg;
#

(10) 運用コマンド結果データファイル格納ディレクトリの定義

(a) 形式

adm_call_cmd = 運用コマンド結果データファイル格納ディレクトリ名{,|;}

(b) 機能

運用コマンド結果データファイルを格納する,ディレクトリの名称を定義します。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • adm_call_cmd

    定義名として,adm_call_cmdを指定します。

  • 運用コマンド結果データファイル格納ディレクトリ名

    運用コマンド結果データファイルを格納する,ディレクトリのパス名を指定します。オフラインテスタを実行中のディレクトリと異なる場合は,運用コマンド結果データファイルを格納しているディレクトリ名を付けて指定します。

(d) 定義例

# 運用コマンド結果データファイル格納ディレクトリの定義
adm_call_cmd = /betran/utf/etc/call/cmd/val;
#

(11) 連続実行コマンドファイル格納ディレクトリの定義

(a) 形式

cmdfile = 連続実行コマンドファイル格納ディレクトリ名{,|;}

(b) 機能

連続実行コマンドファイルを格納する,ディレクトリの名称を定義します。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • cmdfile

    定義名として,cmdfileを指定します。

  • 連続実行コマンドファイル格納ディレクトリ名

    連続実行コマンドファイルを格納する,ディレクトリのパス名を指定します。

    オフラインテスタを実行中のディレクトリと異なる場合は,連続実行コマンドファイルを格納しているディレクトリ名を付けて指定します。

(d) 定義例

# 連続実行コマンドファイル格納ディレクトリの定義
cmdfile = /betran/utf/etc;
#

(12) DAMファイルの定義

(a) 形式

damfile = 論理ファイル名 物理ファイル名 〔N〕{,|;}

(b) 機能

DAMサービスのシミュレートで使用するファイルを,論理ファイル名と物理ファイル名で対にして指定します。

UAPがアクセスするすべてのDAMファイルについて定義します。

(c) オペランド

  • damfile

    定義名として,damfileを指定します。

  • 論理ファイル名

    論理ファイル名を指定します。

  • 物理ファイル名

    オフラインテスタ用DAMファイルの名称を指定します。オフラインテスタを実行中のディレクトリと異なる場合は,DAMファイルを格納しているディレクトリ名を付けて指定します。

  • N

    関数での指定に関係なく,排他をしない場合に指定します。

(d) 定義例

# DAMファイルの定義
damfile = damfile1 /betran/utf/dam/damfile1,
damfile = damfile2 /betran/utf/dam/damfile2 N;
#

(13) TAMファイルの定義

(a) 形式

tamtable = TAMテーブル名 TAMファイル名 〔N〕{,|;}

(b) 機能

TAMサービスのシミュレートで使用するTAMファイルを,TAMテーブル名とTAMファイル名で対にして指定します。

UAPがアクセスするすべてのTAMファイルについて定義します。

(c) オペランド

  • tamtable

    定義名として,tamtableを指定します。

  • TAMテーブル名

    TAMテーブル名を指定します。TAMテーブル名はTAMサービスの関数で使用する名称です。

  • TAMファイル名

    オフラインテスタ用TAMファイルの名称を指定します。オフラインテスタを実行中のディレクトリと異なる場合は,TAMファイルを格納しているディレクトリ名を付けて指定します。

  • N

    関数での指定に関係なく,排他をしない場合に指定します。また,COBOLのUAPでTAMファイルにアクセスする場合に指定します。

(d) 定義例

# TAMファイルの定義
tamtable = tamtable1 /betran/utf/tam/tamfile1,
tamtable = tamtable2 /betran/utf/tam/tamfile2 N;
#

(e) 注意事項

  • TAMテーブル名とTAMファイル名は,重複して指定できません。重複して指定した場合は,先に定義したものが有効になります。

(14) ISTテーブルの定義

(a) 形式

isttable = ISTテーブル名 レコード長 レコード数{,|;}

(b) 機能

ISTサービスのシミュレートで使用するISTテーブルを,ISTテーブル名,レコード長とレコード数で組にして指定します。

UAPがアクセスするすべてのISTテーブルについて定義します。

ISTテーブルは64個まで定義できます。

(c) オペランド

  • isttable

    定義名として,isttableを指定します。

  • ISTテーブル名

    ISTテーブル名を指定します。ISTテーブル名はISTサービスの関数で使用する名称です。

  • レコード長

    ISTテーブルのレコード長をバイト単位で指定します。

  • レコード数

    ISTテーブルが持つレコードの個数を指定します。

(d) 定義例

# ISTテーブルの定義
isttable = isttbl1 8 12,
isttable = isttbl2 10 20;
#

(15) 関数リターン値ファイルの定義

(a) 形式

func_value_file = 関数リターン値ファイル名{,|;}

(b) 機能

関数リターン値を設定する,ファイルの名称を定義します。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • func_value_file

    定義名として,func_value_fileを指定します。

  • 関数リターン値ファイル名

    関数リターン値ファイル名を指定します。オフラインテスタを実行中のディレクトリと異なる場合は,関数リターン値ファイルを格納しているディレクトリ名を付けて指定します。

(d) 定義例

# 関数リターン値ファイルの定義
func_value_file = /betran/utf/etc/return_val;
#

(16) トレースファイルの定義

(a) 形式

tracefile = トレースファイル名{,|;}

(b) 機能

オフラインテスタトレース情報を格納する,ファイルの名称を定義します。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • tracefile

    定義名として,tracefileを指定します。

  • トレースファイル名

    トレースファイル名を指定します。オフラインテスタを実行中のディレクトリと異なる場合は,トレースファイルを格納しているディレクトリ名を付けて指定します。

(d) 定義例

# トレースファイルの定義
tracefile = /betran/utf/log/trace;
#

(17) プロトコルの定義

(a) 形式

protocol = プロトコル名{,|;}

(b) 機能

TP1/Message Controlでのプロトコルを定義します。この定義は,COBOL,DMLで作成したUAPをテストする場合でだけ有効です。OSI TP以外のプロトコルの場合は,この定義はしません。重複して定義した場合は,最後に定義したものが有効になります。

(c) オペランド

  • protocol

    定義名として,protocolを指定します。

  • プロトコル名

    プロトコル名を指定します。

    OSI/TP:OSI TPプロトコルを示します。

    ただし,OSI TP以外を指定した場合は,エラーになります。

(d) 定義例

# プロトコルの定義
protocol = OSI/TP;
#