commit()

システム関数 SysLib.commit は、最終コミット以降にデータベース、MQSeries® メッセージ・キュー、および CICS® リカバリー可能ファイルに対して加えられた更新を保管します。生成された Java™ プログラムまたはラッパーは、リモートの CICS ベース COBOL プログラムによって行われた更新内容も保管します (CICS リカバリー可能ファイルへの更新も含みます)。ただし、リモート COBOL プログラムの呼び出しに、『callLink エレメントの luwControl』で説明されているようなクライアント制御の作業単位が含まれる場合に限ります。

システム関数 SysLib.commit は、最終コミット以降にデータベース、および MQSeries メッセージ・キューに対して加えられた更新を保管します。生成された Java プログラムまたはラッパーは、リモートの CICS ベース COBOL プログラムによって行われた更新内容も保管します (CICS リカバリー可能ファイルへの更新も含みます)。ただし、リモート COBOL プログラムの呼び出しに、『callLink エレメントの luwControl』で説明されているようなクライアント制御の作業単位が含まれる場合に限ります。

  SysLib.commit( )

たいていの場合、EGL は、リカバリー可能なマネージャーに順番に適用されるシングル・フェーズ・コミットを実行します。ただし、CICS for z/OS® では、SysLib.commit の結果は、すべてのリソース・マネージャーに適用される 2 フェーズ・コミットを実行する CICS SYNCPOINT となります。

SysLib.commit により、ファイルまたはデータベースのスキャン位置と更新ロックが解放されます。 ただし、データベースへのアクセス時に cursorWithHold オプションが使用されると、COBOL プログラムに対して例外が有効になります。この例外の詳細については、『prepare』と『open』を参照してください。

MQ レコードで SysLib.commit を使用する場合は、以下の事項が適用されます。

パフォーマンスを強化するには、不必要に SysLib.commit を使用しないようにします。暗黙的なコミットがいつ実行されるかについて詳しくは『作業論理単位』を参照してください。

CICS for z/OS に関する特別な考慮事項

リモート呼び出しされたバッチ・プログラム (呼び出し側プログラムと異なるシステムに常駐するプログラム) で SysLib.commit を起動できます。 eci_no_extend を指定した場合、コミットは成功します。eci_extend が指定された場合は、ランタイム・エラー・メッセージが出され、invreq でコミットが失敗します。

iSeries COBOL に関する特別な考慮事項

プログラムが SQL ステートメントを発行した場合、SysLib.commit によって SQL COMMIT WORK が実行されます。プログラムが SQL 要求を発行していない場合、SysLib.commit によって iSeries™ COMMIT コマンドと同等のコマンドが実行されます。

  sysLib.commit();
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
(C) Copyright IBM Japan 2005.