6.5.1 CBLDCTRS('BEGIN ')トランザクションの開始

<この項の構成>
(1) 形式
(2) 機能
(3) UAPで値を設定するデータ領域
(4) 値が返されるデータ領域
(5) ステータスコード

(1) 形式

(a) マルチスレッド環境の場合
●PROCEDURE DIVISIONの指定

CALL 'CBLDCTRS' USING 一意名1

●DATA DIVISIONの指定

01 一意名1.
  02 データ名A  PIC X(8) VALUE 'BEGIN   '.
  02 データ名B  PIC X(5).
  02 FILLER    PIC X(3).
  02 データ名C  PIC 9(9) COMP.

(b) シングルスレッド環境の場合
●PROCEDURE DIVISIONの指定

CALL 'CBLDCTRN' USING 一意名1

●DATA DIVISIONの指定

01 一意名1.
  02 データ名A  PIC X(8) VALUE 'BEGIN   '.
  02 データ名B  PIC X(5).

(2) 機能

グローバルトランザクションを,CBLDCTRS('BEGIN ')を実行するCUPのプロセスから開始します。

CBLDCTRS('BEGIN ')は,CBLDCRPS('OPEN ')を実行したあとに発行してください。

CBLDCTRS('BEGIN ')を実行してから,トランザクションの同期点(コミットの要求)までが一つのグローバルトランザクションとなります。

また,グローバルトランザクション中では,CBLDCTRS('BEGIN ')を重複して発行できません(SPPでのCBLDCTRS('BEGIN ')を含みます)。発行した場合はエラーリターンします。

SPPのトランザクション属性は,ユーザサービス定義のatomic_updateの指定に従います。

(3) UAPで値を設定するデータ領域

(4) 値が返されるデータ領域

(5) ステータスコード

ステータスコード意味
00000正常終了しました。
02501要求コード(データ名A)に指定した値が間違っています。
02502誤ったコンテクスト(例 すでにトランザクション内にいる)からプログラムを発行しています。
または,次の条件が重なった環境下から関数を呼び出しています。
  • クライアント環境定義DCUTOKEYを指定しています。
  • rapサーバとの常設コネクションが確立中です。
02504メモリ不足が発生しました。
02506ネットワーク障害が発生しました。
02507CBLDCTRS('BEGIN ')の処理時間で時間切れ(タイムアウト)が発生しました。
02510クライアント拡張サービスが起動されていません。システムサービス構成定義clt_confの指定が正しいか見直してください。または,トランザクショナルRPC実行プロセスが起動されていません。クライアントサービス定義clt_trn_confの指定が正しいか見直してしてください。
02515OpenTP1が起動されていません。
02517トランザクションプロセス内でメモリ不足が発生しました。
02518システムエラーが発生しました。
02542CUP実行プロセス側から常設コネクションが解放されました。
02544データ名Cに指定したクライアントIDはCBLDCCLS('CLTIN '),またはCBLDCCLS('EXCLTIN ')で受け取ったクライアントIDと異なっています。
02545サーバのトランザクション処理に負荷が掛かり過ぎているため,トランザクションを開始できません。
このステータスコードが戻った場合は,再び実行すれば成功する可能性が高いので,再実行してください。
02547指定したポート番号は使用されています。または,OSが自動的に割り当てるポート番号が不足しています。
03406リソースマネジャ(RM)でエラーが発生しました。トランザクションは発生できませんでした。
03407トランザクションサービスでエラーが発生したので,トランザクションを開始できませんでした。
このステータスコードが戻った場合は,再び実行すれば成功する可能性が高いので,再び実行してください。