Hitachi

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


11.3.1 テストデータ定義ファイルの作成

テストデータ定義ファイルを作成すると,テスタファイル作成機能で簡単にテスタファイルを作成できます。

テストデータ定義ファイルの名称は任意です。テストデータ定義ファイルから作成できるテスタファイルを次に示します。

〈この項の構成〉

(1) 形式

#コメント       ……1.
 
start テスタファイル識別子 テスタファイル種別 出力先ファイル名 ……2.
 
キーワード = 入力データ       ……5.
 
キーワード = 入力データ
 
sep       ……3.
 
キーワード = 入力データ
     :           :
     :           :
キーワード = 入力データ
 
end       ……4.

なお,形式中の太字の数字は,「(3) 説明」の番号と対応しています。

(2) 機能

テスタファイルに設定するテストデータを定義すると,テスタファイル作成コマンドでテスタファイルを作成できます。

なお,定義ファイルでの1行の長さは,改行コードを含めて512バイトまでです。

(3) 説明

1.コメント文

コメントを記述します。

2.start文

一つのテスタファイルの入力データの開始を宣言します。各テスタファイルの入力データごとに,必ず記述します。

一つのテストデータ定義ファイル内に複数のテスタファイルの入力データを作成した場合,1テスタファイルの入力データの最後にend文を記述します。

3.sep文

一つのファイルに複数のデータを記述するテスタファイルを作成する場合に,一つのデータの区切りを指定します。ただし,オフラインテスタの場合は,一つのファイルに複数のデータを記述しても先頭のデータだけが有効となり,二番目以降のデータは無視されます。

次のテスタファイルを作成する際に指定できます。

  • XATMI受信データファイル

  • 運用コマンド結果データファイル

4.end文

一つのテスタファイルの入力データの終了を宣言します。各テスタファイルの入力データごとに,必ず記述します。

5.入力データ定義文

各テスタファイルの入力データを定義します。

入力データには,あらかじめ設定できる情報が決められている固定情報データと,ユーザが任意の情報を設定できるユーザデータ(キーワードがdataの場合)とがあります。一つのテストデータ内では,固定データはすべてユーザデータの前に記述してください。

なお,一つのテストデータ内では,入力データを重複して指定できません。ただし,運用コマンド結果データファイルでは,標準出力文字列データと標準エラー出力文字列データを設定するため,ユーザデータを2回指定します。

  • キーワード

    各テスタファイル特有のデータを区別するための,キーワードを指定します。

    キーワードの前後の空白文字やタブコードは無視されます。

  • 入力データ

    キーワードに対応する入力データを指定します。

    入力データの前後の空白文字やタブコードは無視されます。

    固定情報データを指定する場合の入力データの形式は,「(5) テスタファイルのキーワードに対応する入力データの形式」の表を参照してください。

(4) 入力データにユーザデータを指定する場合に必要な設定

ユーザデータを指定する場合の,入力データの形式を次に示します。

(a) ユーザデータ長の設定

ユーザデータ全体のデータ長は,固定情報データとして次の形式で設定します。

data_len=バイト数

ユーザデータとして設定したデータが,バイト数に設定したデータ長を超えた場合は,データを切り捨ててメッセージを出力します。データがデータ長に満たない場合は,それ以上のデータは設定しません。

[図データ]

(b) ユーザデータの初期化

ユーザデータは,テスタファイル作成コマンドで,指定されたユーザデータ長分を初期化します。

(c) 文字データの設定

文字データは,次の形式で設定します。

data='データ'

文字データで記述した場合は,データの最後にヌル文字を付けません。

[図データ]

(d) バイナリデータの設定

バイナリデータは,次の形式で設定します。

data=データ

データは10進数と16進数で記述できます。記述方法を次に示します。

  • 10進数:数値をそのまま設定します。

  • 16進数:数値の前に'0x'を付けます。

(例)
data=5 → データ:10進数の5
data=0x05 → データ:16進数の5

データは,int型で設定されます。

(e) 16進コード形式データの設定

16進コード形式のデータは,次の形式で設定します。

data=(code)0xデータ

データの部分には,16進コードで,nバイトのデータを2nけたで記述します。1行の最大長を超えないかぎり,記述できるデータのバイト数の制限はありません。

データ1バイトには,0x00 〜 0xffの値を記述します。

(code)の指定がない場合,データはバイナリデータの16進数の記述と見なします。

[図データ]

(f) 特殊文字の設定

改行コード,タブコード,ヌル文字,' ' '(一重引用符)および'\'は,文字データ中で特殊文字として扱います。これらの文字を記述する場合は,次の形式で記述してください。

記述する文字

記述形式

改行コード

\n

タブコード

\t

ヌル文字

\0

' ' '(一重引用符)

\'

'\'

\\

(g) ファイルからのデータ読み込みの設定

ファイルから読み込んだデータをユーザデータとして使用する場合は,次の形式で設定します。

data=(file)ファイルのパス名

(例)

data=(file)/tmp/datafile → データ:/tmp/datafileのデータを設定

(h) データの開始位置の設定

データを任意の位置から設定する場合は,次の形式で設定します。

data=[ユーザデータ先頭からのオフセット]データ

[図データ]

(i) 複数データ形式の設定

ユーザデータに複数のデータ型を使用する場合は,次の形式で設定します。

data=データ
    =データ
        
        
(例)
data=0x00000001   → 1番目のデータ
    ='ABCDEF'     → 2番目のデータ

(j) バウンダリの調整

複数のデータ型の記述で前後のデータ型が異なる場合,テスタファイル作成コマンドで自動的に前のデータとのバウンダリを調整してデータを設定します。ただし,次の場合にはバウンダリを調整しません。

  • ファイルからユーザデータを読み込む場合

  • ユーザデータの開始位置を設定した場合

  • 16進コード形式でデータを設定した場合

    [図データ]

(5) テスタファイルのキーワードに対応する入力データの形式

各テスタファイルのキーワードと,それに対応する入力データの形式の一覧を,以降の表に示します。

指定する情報については,「11.2 ユーザが作成するファイル」の各テスタファイルの説明を参照してください。

表11‒3 RPC要求データファイルのキーワードと対応する入力データの形式

キーワード

指定する情報

説明

out_len

応答領域長

dc_rpc_call関数に指定する応答領域長を,10進数または16進数で設定します。

dataより前で設定します。

data_len

データ長

dc_rpc_call関数でサーバUAPに渡すユーザデータ長を10進数または16進数で設定します。dataより前で設定します。

data

データ

dc_rpc_call関数でサーバUAPに渡すユーザデータを設定します。

表11‒4 XATMI要求データファイルのキーワードと対応する入力データの形式

キーワード

指定する情報

説明

call_kind

呼び出し種別

サービス要求する関数種別として,次の文字列のどれかを設定します。

  • call

  • acall

  • connect

dataより前で設定します。

buff_type

タイプ

バッファタイプとして,次の文字列のどれかを設定します。

  • X_OCTET

  • X_COMMON

  • X_C_TYPE

dataより前で設定します。

sub_type

サブタイプ

サブタイプを16文字以内の文字列で設定します。dataより前で設定します。

(例)sub_type=subtype01

flag

フラグ

サービス関数に渡すフラグとして,次の文字列を設定します。複数のフラグを設定する場合は,'|'で区切ります。

  • 0

  • TPNOREPLY

  • TPNOTRAN

  • TONOCHANGE

  • TPSENDONLY

  • TPRECVONLY

dataより前で設定します。

data_len

データ長

tpcall関数,tpacall関数,またはtpconnect関数でサーバUAPに渡すユーザデータ長を10進数または16進数で設定します。dataより前で設定します。

data

データ

tpcall関数,tpacall関数,またはtpconnect関数でサーバUAPに渡すユーザデータを設定します。

表11‒5 TxRPC要求データファイルのキーワードと対応する入力データの形式

キーワード

指定する情報

説明

version

バージョン番号

txidlコマンドのインタフェース定義で指定したバージョン番号を10進数または16進数で設定します。dataより前で設定します。バージョン番号は省略できます。省略時は,0が設定されたと見なします。設定できる範囲は0〜65535です。

(例)

version=   バージョンは,0.0となります。

version=2   バージョンは,2.0となります。

version=3.2  バージョンは,3.2となります。

data_len

データ長

サーバUAPに渡すユーザデータ長を10進数または16進数で設定します。dataより前で設定します。

data

データ

サーバUAPに渡すユーザデータを設定します。

表11‒6 RPC応答データファイルのキーワードと対応する入力データの形式

キーワード

指定する情報

説明

data_len

データ長

サービス終了時にクライアントUAPに返すユーザデータ長を,10進数または16進数で設定します。dataより前で設定します。

data

データ

サービス終了時にクライアントUAPに返すユーザデータを設定します。

表11‒7 XATMI応答データファイルのキーワードと対応する入力データの形式

キーワード

指定する情報

説明

buff_type

タイプ

バッファタイプとして,次の文字列のどれかを設定します。

  • X_OCTET

  • X_COMMON

  • X_C_TYPE

dataより前で設定します。

sub_type

サブタイプ

サブタイプを16文字以内の文字列で設定します。dataより前で設定します。

(例)sub_type=subtype01

rval

サービス終了コード

サービス終了コードとして,次の文字列のどれかを設定します。

  • TPSUCCESS

  • TPFAIL

dataより前で設定します。

rcode

リターンコード

リターンコードを10進数または16進数で設定します。dataより前で設定します。

data_len

データ長

サービス終了時にクライアントUAPに返すユーザデータ長を10進数または16進数で設定します。dataより前で設定します。

data

データ

サービス終了時にクライアントUAPに返すユーザデータを設定します。

表11‒8 TxRPC応答データファイルのキーワードと対応する入力データの形式

キーワード

指定する情報

説明

data_len

データ長

クライアントUAPに渡すユーザデータ長を,10進数または16進数で設定します。

dataより前で設定します。

svc_rtn

リターン値

クライアントUAPに渡すリターン値を,10進数または16進数で設定します。

dataより前で設定します。

data

データ

クライアントUAPに渡すユーザデータを設定します。

表11‒9 XATMI受信データファイルのキーワードと対応する入力データの形式

キーワード

指定する情報

説明

buff_type

タイプ

バッファタイプとして,次の文字列のどれかを設定します。

  • X_OCTET

  • X_COMMON

  • X_C_TYPE

dataより前で設定します。

sub_type

サブタイプ

サブタイプを16文字以内の文字列で設定します。dataより前で設定します。

(例)sub_type=subtype01

event

イベントフラグ

tprecv関数に渡すイベントフラグとして,次の文字列のどれかを設定します。

  • 0

  • TPEV_DISCONIMM

  • TPEV_SVCERR

  • TPEV_SVCFAIL

  • TPEV_SVCSUCC

  • TPEV_SENDONLY

dataより前で設定します。

data_len

データ長

tprecv関数に渡すユーザデータ長を10進数または16進数で設定します。

dataより前で設定します。

data

データ

tprecv関数に渡すユーザデータを設定します。

sep

sep文

複数サービス分のデータを記述する場合に,1サービス分のデータの最後に記述します。ただし,最終データのあとには記述しません。

複数サービス分のデータを設定する場合は,buff_type以下のデータを繰り返し設定します。

表11‒10 MCF受信メッセージファイルのキーワードと対応する入力データの形式

キーワード

指定する情報

説明

termname

入出力論理端末名称

dc_mcf_receive関数に渡す入出力論理端末名称を,8文字以内の文字列で設定します。dataより前で設定します。

mapname

マップ名

dc_mcf_receive関数に渡すマップ名を,8文字以内の文字列で設定します。

dataより前で設定します。

seg_kind

セグメント種別

dc_mcf_receive関数に渡すセグメント種別として,次の文字のどれかを設定します。

  • F

  • M

  • L

  • O

  • H

複数セグメント分のデータがある場合は,次のどれかの順序で設定します。

  • F…M…L

  • F…F…L

  • M…M…L

  • L

  • H

  • O

dataより前で設定します。

data_len

メッセージ長

dc_mcf_receive関数に渡すセグメントのユーザデータ長を10進数または16進数で設定します。dataより前で設定します。

data

メッセージ

dc_mcf_receive関数に渡すセグメントのユーザデータを設定します。

複数セグメント分のデータを設定する場合は,seg_kind以下のデータを繰り返し設定します。

表11‒11 運用コマンド結果データファイルのキーワードと対応する入力データの形式

キーワード

指定する情報

説明

status_code

運用コマンドの結果コード

運用コマンドが返す結果コードを,10進数で設定します。dataより前で設定します。

outsize

標準出力文字列長

運用コマンドが標準出力に出力するメッセージ長を,10進数または16進数で設定します。dataより前で設定します。

errsize

標準エラー出力文字列長

運用コマンドが標準エラー出力に出力するメッセージ長を,10進数または16進数で設定します。dataより前で設定します。

data

標準出力文字列

運用コマンドが標準出力に出力するメッセージを,文字データで設定します。

data

標準エラー出力文字列

運用コマンドが標準エラー出力に出力するメッセージを,文字データで設定します。

sep

sep文

複数コマンド分のデータを記述する場合に,1コマンド分のデータの最後に記述します。ただし,最終データのあとには記述しません。