dc_trn_rm_select
形式
ANSI C ,C++の形式
#include <dctrn.h> int dc_trn_rm_select(char *rmname, char *id, DCLONG flags)
K&R版 C の形式
#include <dctrn.h> int dc_trn_rm_select(rmname, id, flags) char *rmname; char *id; DCLONG flags;
機能
ユーザサービス定義のtrnrmid定義コマンドに-kオプションを指定したリソースマネジャについて,該当するプロセスまたはトランザクションで接続先となるリソースマネジャ(リソースマネジャ名+リソースマネジャ拡張子)を指定します。
dc_trn_rm_select関数は,グローバルトランザクション外でだけ呼び出せます。トランザクションブランチ内でdc_trn_rm_select関数を呼び出した場合は,エラーリターンします。
dc_trn_rm_select関数が正常に終了したあとは,指定されたリソースマネジャにだけ接続するようになり,trnrmid定義コマンドに-kオプションの指定があるほかの同一名称のリソースマネジャには接続しません。同一UAPプロセス内で,先に指定したリソースマネジャから別のリソースマネジャに変更する場合は,実行中のトランザクションが完了し新たなトランザクションを開始する前に変更対象となるリソースマネジャ(リソースマネジャ名とリソースマネジャ拡張子)を指定したdc_trn_rm_select関数を呼び出してください。
UAPで値を設定する引数
●rmname
接続先となるリソースマネジャ名(trnrmid定義コマンドの-nオプション指定値)を31文字以内の識別子で指定します。
●id
rmnameでリソースマネジャに指定した拡張子(trnrmid定義コマンドの-iオプション指定値)のうち,接続先となる拡張子を2文字以内の識別子で指定します。
●flags
DCNOFLAGSを設定します。
リターン値
リターン値 |
リターン値(数値) |
意味 |
---|---|---|
DC_OK |
0 |
正常に終了しました。 指定されたリソースマネジャは,dc_trn_rm_select関数を呼び出したプロセスで実行されるトランザクションで接続先として設定されました。 |
DCTRNER_PROTO |
-905 |
dc_trn_rm_select関数を正しくないコンテクスト(例えば,すでにトランザクション内にいる)で呼び出しています。または,実行環境がジャーナルファイルレスモードの場合に関数が呼び出されました。 |
DCTRNER_RM |
-906 |
リソースマネジャでエラーが起こりました。指定されたリソースマネジャのXA関数の呼び出し処理でエラーが発生しました。 |
DCTRNER_INVAL |
-908 |
引数の指定値に次の誤りがあります。
|
指定例
if(dc_trn_rm_select("RM_A", "Z1", DCNOFLAGS)) fputs("cannot rm select\n",stderr);