Hitachi

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


12.9.1 オフラインテスタに関する注意事項

〈この項の構成〉

(1) テスタプロセス異常終了時の後処理

オフラインテスタは,プロセス間を制御するために,パイプ機能および共用メモリ機能を使用しています。

割り込みキーを入力するなど,不測の事態でオフラインテスタを異常終了させた場合,使用中だった共用メモリ領域や一時ファイルが割り当てられたままになります。

そのままでもオフラインテスタを再度実行できますが,資源効率に問題がある場合は,ユーザが削除してください。

オフラインテスタが使用する一時ファイルに付けるファイル名は,次のとおりです。

(凡例)
xxxx

実行時のプロセスIDの16進表示です。

tttttttt

dc_mcf_receive関数で先頭セグメントを受信したときに返された論理端末名称と同じ名称です(最大8文字)。

aaaaaaaa

オフラインテスタ環境定義ファイルで指定したISTテーブル名称と同じ名称です(最大8文字)。

(例)
  • shm4e7

  • cpi3e9

  • ppi3e8

  • termnalA

また,オフラインテスタの異常終了のタイミングによっては,UAPプロセスおよびデバッガプロセス(デバッガの連動指定時)が残ることがあります。この場合は,ユーザがkillコマンドでプロセスを終了させてください。

(2) オフラインテスタの上限値

オフラインテスタ使用時の上限値を,次の表に示します。

表12‒1 オフラインテスタの上限値

項目

項目の詳細

上限値

上限値を超えたときの処置

UAP起動待ち時間

オフラインテスタ起動時またはstartサブコマンド実行時,UAPプロセスを生成してからUAPプロセスが起動を開始する(dc_rpc_open関数を発行する)までの時間

60分

エラーメッセージを出力後,プロセスを強制終了させます※1

UAP停止待ち時間

オフラインテスタ終了時またはstopサブコマンド実行時,UAPプロセスに終了を要求してから終了するまでの時間。デバッガの連動を指定しているUAPでは,デバッガプロセスが終了するまでの時間

10分

UAPプロセス,およびデバッガプロセスを強制終了させます。

コマンド行長さ

オフラインテスタのサブコマンドのコマンド行の長さ。または連続実行コマンドファイルの定義行の長さ

254バイト

エラーメッセージを出力後,コマンドを拒否します。

定義行長さ

オフラインテスタ環境定義ファイルの定義行の長さ,または関数リターン値ファイルの定義行の長さ

510バイト

エラーメッセージを出力後,その行を無視して定義解析を続行します※2

パス名情報長さ

オフラインテスタ環境定義やコマンドで指定する,ディレクトリ名やパス名の長さ

255バイト

エラーメッセージを出力後,その指定を無効にします。

関数リターン値の定義数

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

200

エラーメッセージを出力後,以降の行を無視して処理を続行します。

DAMファイル数

一つのUAP内で,dc_dam_open関数またはdc_dam_create関数でオープンしたDAMファイルの数

200

エラーメッセージを出力後,dc_dam_open関数またはdc_dam_create関数をエラーリターンさせます。

TAMファイル数

一つのUAP内で,dc_tam_open関数でオープンしたTAMファイルの数

200

エラーメッセージを出力後,dc_tam_open関数をエラーリターンさせます。

dc_rpc_call関数の発行数

一つのUAP内で,dc_rpc_poll_any_replies関数を発行しないで,DCRPC_NOWAIT指定のdc_rpc_call関数を発行した数

200

エラーメッセージを出力後,dc_rpc_call関数をエラーリターンさせます。

同期型メッセージ送受信関数の発行数

一つのサービス内で,dc_mcf_sendrecv関数,およびdc_mcf_recvsync関数を発行した数

100

エラーメッセージを出力後,dc_mcf_sendrecv関数またはdc_mcf_recvsync関数をエラーリターンさせます。

注※1

デバッガの連動を指定しているUAPは,対象外です。

注※2

定義解析終了後,オフラインテスタの起動を続行するかどうかの応答待ちになります。

(3) サービスグループのリカーシブコール

オフラインテスタでは,サービス関数内でdc_rpc_call関数を発行して,サービスをネストして実行できます。ただし,別サービスであっても,同じサービスグループ内のサービスをネスト内で2回以上コールできません。

オフラインテスタでのリカーシブコールの例を,次の図に示します。

図12‒3 オフラインテスタでのリカーシブコール

[図データ]

(4) サービスを受け付ける前後で発行できない関数

オフラインテスタでは,サービスを受け付ける前やサービスを受け付けたあと(dc_rpc_mainloop関数,またはdc_mcf_mainloop関数の発行前かリターン後)に次の関数を発行すると,エラーメッセージが出力されてエラーリターンします。

(5) ユーザオウンコーディング関数

オフラインテスタでは,ユーザオウンコーディングに関する関数のうち,dc_mcf_svstart関数はサポートしません。この関数を含むUAPをテストする場合,ユーザは同じ名称のダミーの関数を作成して,リンケージしてください。

(6) DAMファイルアクセス関数でのTAMテーブルへのアクセス

オフラインテスタでは,DAMファイルアクセス関数でTAMテーブルにアクセスできません。アクセスした場合は,その動作は保証しません。

(7) トランザクション内外の処理

オフラインテスタでは,トランザクション内外を意識した処理はサポートしません。

(8) tpsend関数でのイベントの受け取り

XATMIインタフェースの会話型のサービス要求では,tpsend関数でイベントを受け取ることはできません。UAPのイベントを確認する場合は,関数リターン値ファイルを使用してください。

(9) ISTテーブルへのアクセス

オフラインテスタのISTシミュレーション機能では,ISTテーブルの内容を一時ファイルに格納して,参照や更新の処理をしています。このため,本来なら発生しないファイルアクセスエラーが発生する場合があります。

この場合は,エラーメッセージが出力され,ファイルアクセスエラーが発生した関数がエラーリターンします。リターン値は,その関数が返すエラーリターン値のどれかです。