Hitachi

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


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

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

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

テストデータ定義ファイルの作成手順を,次に示します。

  1. テキストエディタでテストデータ定義ファイルを作成します。

  2. 記述内容を確認してテストデータ定義ファイルをクローズします。

  3. utofilcreコマンドにテストデータ定義ファイルを指定して実行します。

    テスタファイルが作成されます。

〈この項の構成〉

(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) 特殊文字の設定

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

記述する文字

記述形式

改行コード

\n

タブコード

\t

ヌル文字

\0

' ' '(一重引用符)

\'

'\'

\\

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

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

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

(例)

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

(g) ユーザデータの開始位置の設定

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

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

[図データ]

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

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

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

(i) バウンダリの調整

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

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

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

    [図データ]

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

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

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

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

キーワード

指定する情報

説明

out_len

応答領域長

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

data_len

データ長

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

data

データ

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

表3‒6 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に渡すユーザデータを設定します。

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

キーワード

指定する情報

説明

data_len

データ長

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

data

データ

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

表3‒8 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に返すユーザデータを設定します。

表3‒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以下のデータを繰り返し設定します。

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

キーワード

指定する情報

説明

termname

入出力論理端末名称

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

mapname

マップ名

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

seg_kind

セグメント種別

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

  • F

  • M

  • L

  • O

  • H

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

  • FML

  • FFL

  • MML

  • L

  • H

  • O

dataより前で設定します。

data_len

メッセージ長

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

data

メッセージ

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

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

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

キーワード

指定する情報

説明

termname

入出力論理端末名称

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

mapname

マップ名

dc_mcf_sendrecv関数,dc_mcf_recvsync関数に渡すマップ名を,8文字以内の文字列で設定します。dataより前で設定します。

seg_kind

セグメント種別

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

  • F

  • M

  • L

  • O

  • H

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

  • FML

  • FFL

  • MML

  • FMLFML

  • FFLMML

  • MMLMML

  • L

  • H

  • O

  • LLFMLL

  • OOFMLO

  • HHH

dataより前で設定します。

data_len

メッセージ長

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

data

メッセージ

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

sep

sep文

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

注1

複数メッセージ分のデータを設定する場合は,termname以下のデータを繰り返し設定します。

注2

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

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

キーワード

指定する情報

説明

status_code

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

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

outsize

標準出力文字列長

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

errsize

標準エラー出力文字列長

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

data

標準出力文字列

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

data

標準エラー出力文字列

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

sep

sep文

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

複数コマンド分のデータを設定する場合は,status_code以下のデータを繰り返し設定します。