コミット (COMMIT)
| 実行可能場所: すべての環境 (*ALL) スレッド・セーフ: はい |
パラメーター 例 エラー・メッセージ |
コミット(COMMIT)コマンドは,現行のトランザクションを完了し,コマンドを出したプログラムに対応するコミットメント定義に新しいコミットメント境界を設定するために使用されます。
コミットメント制御開始(STRCMTCTL)コマンドは,COMMITコマンドが出される前に,コミットメント定義を設定するために最初に出されなければなりません。そうでない場合には,メッセージが送られます。
COMMITコマンドが出されると,最後のコミットメント境界が開始された後でコミットメント定義のコミットメント制御のもとで資源に対して行われた保留中のすべての変更が永続的なものになります。この一連の変更に関連するコミットメントIDを指定することができます。ジャーナルに関連したファイルまたはAPIコミットメント資源がコミットメント制御のもとにある場合には,コミットメントIDが各ジャーナルのコミットされた変更(CM)ジャーナル項目に入れられます。
コミットメントIDは,活動化グループの終了時,ジョブの終了時,またはIPL(初期プログラム・ロード)の処理時に更新する必要がある場合には,通知オブジェクトの更新時にもシステムによって使用されます。
コミットが出された時に資源がコミットメント定義のコミットメント制御のもとにない場合には,エラーは起こりません。コミットメント定義のコミットメント制御のもとでオープンされたファイルに対して保留されているすべてのレコード・ロックは,コミットが出された時に解放されます。トランザクションの実行中に,資源が作成または変更された時に獲得されたオブジェクト・レベルのコミットメント制御資源のロックは,コミットが出された時に解放されます。
COMMITコマンドの詳細はIBM I INFORMATION CENTER (HTTP://WWW.IBM.COM/SYSTEMS/I/INFOCENTER/)の「コミットメント制御」トピック・コレクションにあります。
| 上 |
コミット識別 (CMTID)
コミットメント境界によってコミットされる1グループの変更を識別するために使用されるテキストを指定します。システムの異常障害が起こった場合,あるいはジョブがコミットされていない変更またはゼロ以外の完了コードで終了した場合には,このテキストはIPL処理中にSTRCMTCTLコマンドのNFYOBJパラメーターに指定されたオブジェクトに入れられます。
- *NONE
- このコミットメント境界でコミットされるトランザクションを識別するために,テキストは使用されません。
- *LUWID
- このコミットメント境界によってコミットしている変更グループを識別するためには,作業論理単位識別名およびこの作業論理単位の省略時のジャーナル名が使用されます。
- '記述'
- このコミットメント境界でコミットされている変更グループを識別するために,アポストロフィで囲まれた最大3000文字を指定します。
| 上 |
例
COMMIT CMTID('ACCOUNT #123456 CHANGES END')
このコマンドは,コマンドを出したプログラムに関連したコミットメント定義に対してこの時点で行われたすべての変更がコミットされることを指定します。コミットメント識別コードは,'ACCOUNT #123456 CHANGES END'であり,活動化グループの終了時,ジョブの終了時,またはIPLの処理時に更新する必要がある場合に,通知オブジェクトの更新時にシステムによって使用されることがあります。
| 上 |
エラー・メッセージ
*ESCAPE メッセージ
- CPF5030
- メンバー&4で部分的な損傷がある。
- CPF509F
- 入出力エラーの後でジョブが正常に接続された。
- CPF5104
- メッセージ&7に取り消し応答を受け取った。
- CPF511D
- 理由コード&1でパラメーター保全性エラーが起こった。
- CPF5134
- メンバー&4に対する要求の処理は認可されていない。
- CPF5149
- プログラム装置またはライブラリー&3のファイル&2のメンバー&4の操作が正しくない。
- CPF5168
- &2のファイル&1のメンバー&3をオープンすることができない。
- CPF5169
- &3のDDMファイル&2への入出力(I/O)を完了することができなかった。
- CPF5173
- バッファー中の&6レコードが正しくない。
- CPF5235
- メンバー&4の項目はジャーナル処理されなかった。
- CPF5257
- ライブラリー&3ファイル&2の装置またはメンバー&4に障害がある。
- CPF5272
- レコードはメンバー&4に追加されなかった。
- CPF83DB
- コミット操作の結果ロールバックとなった。
- CPF83D0
- コミットメント操作は使用できない。
- CPF83E1
- 制約違反のためにコミット操作が正常に実行されなかった。
- CPF83E2
- ロールバック操作が必要である。
- CPF835F
- コミットまたはロールバック操作が正常に実行されなかった。
- CPF8350
- コミットメントの定義が見つからない。
- CPF8363
- コミット操作が正常に実行されなかった。
- CPF8367
- コミットメント制御操作を実行できない。
- CPF9203
- DDMターゲット・システムから受け取った応答&1は予期されていなかった。
- CPF9255
- コミットメント制御操作が正常に実行されなかった。
*STATUS メッセージ
- CPF5001
- ライブラリー&3にファイル&2の終わりが検出された。
- CPF83E6
- コミットメント制御操作が進行中の再同期化とともに完了した。
*NOTIFY メッセージ
- CPF5018
- メンバー&4が最大サイズとなっている。増分を使用することはできません。
- CPF502A
- メンバー&4で可変長レコード・エラー。
- CPF502B
- トリガー・プログラムでエラーが起こった。
- CPF502D
- メンバー&4で参照制約違反。
- CPF502E
- メンバー&4の参照制約を妥当性検査することができない。
- CPF502F
- メンバー&4に対する検査制約違反。
- CPF5026
- メンバー&4に重複キーを使用することはできない。
- CPF5029
- メンバー&4でデータ・マッピング・エラー。
- CPF503A
- メンバー&4で参照制約違反。
- CPF503B
- メンバー&4にレコードを挿入または更新することができない。
- CPF503F
- メンバー&4で区画キー・エラー。
- CPF5030
- メンバー&4で部分的な損傷がある。
- CPF5033
- メンバー&4で選択/除外エラー。
- CPF5034
- アクセス・パスでキーが重複しています。
- CPF5079
- コミットメント制御の資源の限界を超えている。
- CPF5084
- メンバー&4に重複キーを使用することはできない。
- CPF5085
- 基礎になっているメンバー&4のアクセス・パスでキーが重複している。
- CPF5090
- 固有アクセス・パスの問題のためにメンバー&4を更新することができない。
- CPF5097
- メンバー&4でキー・マッピング・エラー。
| 上 |