Hitachi

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


14.1.1 関数のシミュレーション内容

シミュレート関数での,OpenTP1の提供する関数のシミュレーション内容一覧を,次の表に示します。

表14‒1 OpenTP1の提供する関数のシミュレーション内容一覧

機能名称

関数名

〔プログラム名

(要求コード)〕

<DML>

機能

トレース情報の取得可否

リターン値の設定可否

関数の処理

システム運用の管理(adm)

dc_adm_call_command関数

CBLDCADM(COMMAND)

運用コマンドの発行

運用コマンド結果データファイルから,データを入力して返します。

dc_adm_complete関数

CBLDCADM(COMPLETE)

ユーザサーバの開始完了報告

dc_adm_status関数

CBLDCADM(STATUS)

ユーザサーバの状態報告

正常時は,リターン値としてDCADM_STAT_START_NORMALを,リターンコードとして0を返します。

dc_adm_get_nd_status_begin関数

OpenTP1ノードのステータス取得処理開始

関数リターン値ファイルに設定したノード識別子の個数を取得します。

dc_adm_get_nd_status_next関数

OpenTP1ノードのステータス取得

関数リターン値ファイルに設定したノード識別子を取得します。正常時は,C言語のリターン値としてDCADM_STATUS_NORMALを返します。

dc_adm_get_nd_status_done関数

OpenTP1ノードのステータス取得処理終了

dc_adm_get_nd_status関数

OpenTP1ノードのステータス取得

正常時は,リターン値としてDCADM_STATUS_NORMALを返します。

dc_adm_get_node_id関数

システム共通定義からの自ノード識別子取得

関数リターン値ファイルに設定したノード識別子を取得します。

dc_adm_get_sv_status_begin関数

サーバのステータス取得処理開始

関数リターン値ファイルに設定したサーバ名の個数を取得します。

dc_adm_get_sv_status_next関数

OpenTP1ノード上のサーバのステータス取得

関数リターン値ファイルに設定したサーバ名を取得します。正常時は,C言語のリターン値としてDCADM_STATUS_NORMALを返します。

dc_adm_get_sv_status_done関数

サーバのステータス取得処理終了

dc_adm_get_sv_status関数

指定したサーバのステータス取得

正常時は,リターン値としてDCADM_STATUS_NORMALを返します。

dc_adm_get_nodeconf_begin関数

ノード識別子取得開始

関数リターン値ファイルに設定したノード識別子の個数を返します。

dc_adm_get_nodeconf_next関数

関数発行元が属するマルチノードエリア,または指定されたサブエリアの全ノード識別子取得

関数リターン値ファイルに設定したノード識別子を返します。

dc_adm_get_nodeconf_done関数

ノード識別子取得終了

DAMファイルサービス(dam)

dc_dam_close関数

CBLDCDAM(CLOS)

DAMファイルのクローズ

DAMファイルをクローズします。

dc_dam_create関数

CBLDCDMB(CRAT)

物理ファイルの割り当て

×

×

DAMファイルを生成し,そのファイル記述子を返します。

dc_dam_end関数

CBLDCDAM(END)

回復対象外ファイルの使用終了宣言

dc_dam_get関数

CBLDCDMB(GET)

物理ファイルのブロック読み込み

×

×

DAMファイルから指定ブロックを指定バッファに読み込みます。

dc_dam_hold関数

CBLDCDAM(HOLD)

DAMファイルの論理閉塞

DAMファイルのヘッダに閉塞のステータスを設定し,閉塞状態にします。

dc_dam_iclose関数

CBLDCDMB(CLOS)〕

物理ファイルのクローズ

×

×

DAMファイルをクローズします。

dc_dam_iopen関数

CBLDCDMB(OPEN)

物理ファイルのオープン

×

×

DAMファイルをオープンし,そのファイル記述子を返します。

dc_dam_open関数

CBLDCDAM(OPEN)

DAMファイルのオープン

DAMファイルをオープンし,そのファイル記述子を返します。また,ファイル排他の指定がある場合はファイルを排他します。

dc_dam_put関数

CBLDCDMB(PUT)

物理ファイルのブロック書き込み

×

×

DAMファイルの指定ブロックにバッファの内容を書き込みます。

dc_dam_read関数

CBLDCDAM(READ)

DAMファイルのブロック読み込み

DAMファイルの指定ブロックを指定バッファに読み込みます。また,ブロック排他の指定がある場合はファイルを排他します。

dc_dam_start関数

CBLDCDAM(STRT)

回復対象外ファイルの使用開始宣言

dc_dam_status関数

CBLDCDAM(STAT)

DAMファイル状態表示

DAMファイルの状態を返します。

dc_dam_release関数

CBLDCDAM(RLSE)

DAMファイルの閉塞解除

DAMファイルのヘッダが閉塞のステータスの場合,これをリセットし,閉塞を解除します。

dc_dam_rewrite関数

CBLDCDAM(REWT)

DAMファイルのブロック更新

DAMファイルの指定ブロックに指定バッファの内容を書き込みます。

dc_dam_write関数

CBLDCDAM(WRIT)

DAMファイルの出力

DAMファイルの指定ブロックに指定バッファの内容を書き込みます。

共用テーブルサービス(ist)

dc_ist_close関数

CBLDCIST(CLOS)

ISTテーブルのクローズ

ISTテーブルをクローズします。

dc_ist_open関数

CBLDCIST(OPEN)

ISTテーブルのオープン

ISTテーブルをオープンし,その記述子を返します。

dc_ist_read関数

CBLDCIST(READ)

ISTテ−ブルからのレコード読み込み

ISTテーブルから指定レコードを指定バッファに読み込みます。

dc_ist_write関数

CBLDCIST(WRIT)

ISTテーブルへのレコード書き込み

ISTテーブルへ指定されたレコードを書き込みます。

ユーザジャーナルの取得(jnl)

dc_jnl_ujput関数

CBLDCJNL(UJPUT)

UAP履歴情報の取得

資源の排他制御(lck)

dc_lck_get関数

CBLDCLCK(GET)

資源の排他要求

dc_lck_release_all関数

CBLDCLCK(RELALL)

全資源の排他解除要求

dc_lck_release_byname関数

CBLDCLCK(RELNAME)

資源名称指定による排他解除要求

メッセージログ管理(log)

dc_logprint関数

CBLDCLOG(PRINT)

ログメッセージ出力要求

メッセージ制御機能(mcf)

dc_mcf_execap関数

CBLDCMCF(EXECAP)

<SEND>

アプリケーションの起動

dc_mcf_mainloop関数

CBLDCMCF(MAINLOOP)

MCFサービス開始

オフラインテスタにサービスの開始を報告します。該当するMHPへのサービス要求があると,サービス関数を実行し,再度サービス要求待ちになります。オフラインテスタの終了などでUAPの終了要求を受け取ると,リターンします。

dc_mcf_receive関数

CBLDCMCF(RECEIVE)

<RECEIVE>

メッセージ受信

MCF受信メッセージファイルからセグメントを入力し,メッセージ受信領域に格納します。また,トランザクション通番をカウントアップします。

dc_mcf_reply関数

CBLDCMCF(REPLY)

<SEND>

応答メッセージの送信

dc_mcf_rollback関数

CBLDCMCF(ROLLBACK)

<ROLLBACK>

部分回復

この関数発行後の処理を別トランザクションとして動作するように指定したとき,トランザクション通番をカウントアップします。

dc_mcf_send関数

CBLDCMCF(SEND)

<SEND>

メッセージ送信

dc_mcf_open関数

CBLDCMCF(OPEN)

MCF通信サービス使用のための準備・初期化

dc_mcf_close関数

CBLDCMCF(CLOSE)

MCF通信サービス使用のための環境を消去

×

dc_mcf_sendrecv関数

CBLDCMCF(SENDRECV)

<SEND>

同期型メッセージ送受信

最終セグメントのトレースを出力後,MCF受信メッセージファイルからセグメントを入力し,メッセージ受信領域に格納します。

dc_mcf_recvsync関数

CBLDCMCF(RECVSYNC)

<RECEIVE>

同期型メッセージ受信

MCF受信メッセージファイルからセグメントを入力し,メッセージ受信領域に格納します。

dc_mcf_sendsync関数

CBLDCMCF(SENDSYNC)

<SEND>/<ENABLE>/<DISABLE>

同期型メッセージ送信

dc_mcf_tempget関数

CBLDCMCF(TEMPGET)

<RECEIVE>

継続問い合わせ応答用一時記憶データ受け取り

一時記憶データファイルからデータを入力し,メッセージ受信領域に格納します。ファイルがない場合は,ヌル文字を格納します。

dc_mcf_tempput関数

CBLDCMCF(TEMPPUT)

<SEND>

継続問い合わせ応答用一時記憶データ更新

一時記憶データファイルを更新します。ファイルがない場合は,ファイルを作成して更新します。

dc_mcf_contend関数

CBLDCMCF(CONTEND)〕

<DISABLE>

継続問い合わせ応答終了

一時記憶データファイルを削除します。

dc_mcf_regster関数

UOC関数アドレス登録

dc_mcf_resend関数

CBLDCMCF(RESEND)

メッセージの再送信

dc_mcf_commit関数

CBLDCMCF(COMMIT)

同期点取得

トランザクション通番をカウントアップします。

リモートプロシジャコール(rpc)

dc_rpc_call関数

CBLDCRPC(CALL)

遠隔サービス呼び出し

オフラインテスタにサービス関数の実行を要求します。DCRPC_NOWAIT指定の場合,リターン値としてディスクリプタ(正の整数)を返します。DCRPC_NOREPLY指定の場合,指定したサービス(関数)には応答長として0を返します。

dc_rpc_close関数

CBLDCRPC(CLOSE)

UAP終了処理

×

dc_rpc_mainloop関数

CBLDCRSV(MAINLOOP)

SPPサービス開始

オフラインテスタにサービスの開始を報告します。該当するSPPへのサービス要求があると,サービス関数を実行し,再度サービス要求待ちになります。オフラインテスタの終了などでUAPの終了要求を受け取ると,リターンします。

dc_rpc_open関数

CBLDCRPC(OPEN)

UAP開始処理

共用メモリを割り当てたあと,UAPの開始をオフラインテスタに報告します。

dc_rpc_poll_any_replies関数

CBLDCRPC(POLLANYR)

dc_rpc_call関数(DCRPC_NOWAIT指定)の応答を受信

flagsがDCNOFLAGSの場合,まだ応答受信されていないdc_rpc_call関数(DCRPC_NOWAIT指定)の中で最初に発行したdc_rpc_call関数のディスクリプタを返します。

flagsがDCRPC_SPECIFIC_MSGの場合,DC_OKを返します。SPP内で正常終了したdc_rpc_call関数が発行されていない場合,DCRPC_PROTOを返します。

dc_rpc_discard_further_replies関数

CBLDCRPC(DISCARDF)

dc_rpc_call関数(DCRPC_NOWAIT指定)の応答を取り消し

×

dc_rpc_call関数(DCRPC_NOWAIT指定)で返したすべてのディスクリプタを取り消します。

dc_rpc_get_callers_address関数

CBLDCRPC(GETCLADR)

クライアントのノードアドレス通知

×

クライアントのアドレスとして,ADDRESS(固定値)を返します。

dc_rpc_set_service_prio関数

CBLDCRPC(SETSVPRI)

サービス要求のスケジュールプライオリティ設定

×

dc_rpc_get_service_prio関数

CBLDCRPC(GETSVPRI)

サービス要求のスケジュールプライオリティ値の取得

×

dc_rpc_set_service_prio関数で設定したスケジュールプライオリティの値を返します。

dc_rpc_set_watch_time関数

CBLDCRPC(SETWATCH)

サービス応答待ち時間更新

サービス応答待ち時間を更新します。

dc_rpc_get_watch_time関数

CBLDCRPC(GETWATCH)

サービス応答待ち時間参照

×

dc_rpc_set_watch_time関数で設定した値を参照します。未発行時には180を返します。

TAMファイルサービス(tam)

dc_tam_close関数

TAMテーブルのクローズ

TAMテーブルファイルの排他を解除し,クローズします。

dc_tam_delete関数

CBLDCTAM(ERS,ERSR)

TAMテーブルからレコード削除

キー値で指定されたレコードをTAMテーブルから削除します。TAMテーブルファイルの内容も変更します。

dc_tam_get_inf関数

CBLDCTAM(GST)

TAMテーブルの情報取得

指定TAMテーブルファイルに対するオープン要求が関数発行元プロセスから発行されていればDCTAM_STS_OPNを,発行されていなければDCTAM_STS_CLSを返します。

dc_tam_open関数

TAMテーブルのオープン

テーブルIDでの指定TAMテーブルファイルをオープンし,そのファイル記述子をテーブルIDとして返します。TAMテーブル排他の指定がある場合,TAMテーブルファイルを排他します。

dc_tam_read関数

CBLDCTAM(FxxR,FxxU)

TAMテーブルのレコード検索

共用メモリ上のTAMテーブル(管理部,インデクス部)から該当するインデクスを検索し,そのインデクスに対応するレコードをTAMテーブルファイルから読み込みます。レコード排他の指定がある場合,TAMテーブルファイルを排他します。

dc_tam_read_cancel関数

TAMテーブルのレコード検索を取り消し

指定レコードを含むTAMテーブルファイルに対する排他を解除します。

dc_tam_rewrite関数

TAMテーブルのレコード検索前提の更新

指定バッファの内容をTAMテーブル上の指定レコードに書き込みます。

dc_tam_write関数

CBLDCTAM(MFY,MFYS,STR)

TAMテーブルのレコード更新・追加

共用メモリ上のTAMテーブル(管理部,インデクス部)から該当するインデクスを検索し,そのインデクスに対応する,TAMテーブルファイル上のレコードに,指定バッファの内容を書き込みます。

トランザクション制御(trn)

dc_trn_begin関数

CBLDCTRN(BEGIN)

トランザクションの開始

トランザクション通番をカウントアップします。

dc_trn_chained_commit関数

CBLDCTRN(C-COMMIT)

トランザクションのコミット(連鎖モード)

トランザクション通番をカウントアップします。

dc_trn_chained_rollback関数

CBLDCTRN(C-ROLL)

トランザクションのロールバック(連鎖モード)

トランザクション通番をカウントアップします。

dc_trn_info関数

CBLDCTRN(INFO)

現在のトランザクションの情報をリターン

関数リターン値ファイルの指定がなければ,0を返します。

dc_trn_unchained_commit関数

CBLDCTRN(U-COMMIT)

トランザクションのコミット(非連鎖モード)

dc_trn_unchained_rollback関数

CBLDCTRN(U-ROLL)

トランザクションのロールバック(非連鎖モード)

TXインタフェース(tx_〜)

tx_begin関数

TXBEGIN

トランザクションの開始

トランザクション通番をカウントアップし,TXINFO情報を初期化します。

tx_close関数

TXCLOSE

リソースマネジャ集合のクローズ

tx_commit関数

TXCOMMIT

トランザクションのコミット

連鎖モードの場合,トランザクション通番をカウントアップします。

tx_info関数

TXINFORM

現在のトランザクションの情報をリターン

関数リターン値ファイルの指定がなければ,0を返します。

tx_open関数

TXOPEN

リソースマネジャ集合のオープン

tx_set_commit_return関数

TXSETCOMMITRET

commit_return特性の設定

tx_set_transaction_control関数

TXSETTRANCTL

transaction_control特性の設定

transaction_control特性を設定します。

tx_set_transaction_timeout関数

TXSETTIMEOUT

transaction_timeout特性の設定

tx_rollback関数

TXROLLBACK

トランザクションのロールバック

連鎖モードの場合,トランザクション通番をカウントアップし,transaction_state特性を設定します。

XATMIインタフェース(tp〜)

tpalloc関数

タイプトバッファの割り当て

引数のtype型で指定されたバッファを割り当て,そのポインタを返します。

tpfree関数

タイプトバッファの解放

×

tpalloc関数,tprealloc関数で割り当てたバッファを解放します。

tprealloc関数

タイプトバッファのサイズの変更

tpalloc関数,tprealloc関数で割り当てたバッファのサイズを変更します。

tptypes関数

タイプトバッファの情報の取得

tpalloc関数,tprealloc関数で割り当てたバッファのタイプとサブタイプを返します。

tpservice関数

サービス関数のテンプレート

×

サービス関数を呼び出す直前にトレース情報を取得します。

tpreturn関数

サービス関数からのリターン

リターン情報を設定して,サービス要求元にリターンします。

tpadvertise関数

サービス名の広告

tpunadvertise関数

サービス名の広告の取り消し

tpacall関数

サービスの非同期要求

オフラインテスタにサービス関数の実行を要求します。呼び出し結果はtpgetrply関数で返します。

tpcall関数

サービスの同期要求

オフラインテスタにサービス関数の実行を要求します。

tpcancel関数

サービスのキャンセル

tpacall関数で呼び出したサービスの応答をキャンセルします。

tpgetrply関数

サービスからの非同期応答の受信

サービス関数の実行結果を返します。

tpconnect関数

会話型サービスとのコネクションの確立

オフラインテスタにサービス関数の実行を要求します。実行結果はtprecv関数で返します。

tpdiscon関数

会話型サービスとのコネクションの切断

受信待ち(tprecv関数)があれば終了させ,tpdiscon関数受け付け後のtpsend関数,tprecv関数を受け付けないようにします。

tprecv関数

会話型サービスからのメッセージ受信

XATMI受信データファイルからデータを入力します。

tpsend関数

会話型サービスへのメッセージ送信

XATMI送信データファイルにデータを出力します。

オンラインテスタ(uto)

dc_uto_test_status関数

CBLDCUTO(T-STATUS)

ユーザサーバのテスト状態報告

非テストモード状態を返します。

(凡例)

○:取得または設定できます。

×:取得または設定できません。

−:処理しません。