システム関数 sysLib.commit は、最終コミット以降にデータベース、MQSeries® メッセージ・キュー、および CICS® リカバリー可能ファイルに対して加えられた更新を保管します。 生成された Java™ プログラムまたはラッパーは、リモートの CICS ベース COBOL プログラムによって行われた更新内容も保管します (CICS リカバリー可能ファイルへの更新も含みます)。ただし、リモート COBOL プログラムの呼び出しに、『callLink エレメントの luwControl』で説明されているようなクライアント制御の作業単位が含まれる場合に限ります。
システム関数 sysLib.commit は、最終コミット以降にデータベース、および MQSeries メッセージ・キューに対して加えられた更新を保管します。 生成された Java プログラムまたはラッパーは、リモートの CICS ベース COBOL プログラムによって行われた更新内容も保管します (CICS リカバリー可能ファイルへの更新も含みます)。ただし、リモート COBOL プログラムの呼び出しに、『callLink エレメントの luwControl』で説明されているようなクライアント制御の作業単位が含まれる場合に限ります。
たいていの場合、EGL は、リカバリー可能なマネージャーに順番に適用されるシングル・フェーズ・コミットを実行します。ただし、CICS for z/OS® では、sysLib.commit によって、すべてのリソース・マネージャーに適用される 2 フェーズ・コミットを実行する CICS SYNCPOINT が実行されます。
sysLib.commit により、ファイルまたはデータベースのスキャン位置と更 新ロックが解放されます。ただし、データベースへのアクセス時に cursorWithHold オプショ ンが使用されると、COBOL プログラムでは例外が有効になります。この例外の詳細について は、『prepare』と『open』を参照してください。
MQ レコードとともに sysLib.commit を使用する場合は、以下の点に注意してください。
パフォーマンスを拡張するには、不必要に sysLib.commit を使用しないようにします。 暗黙的なコミットがいつ実行されるかについて詳しくは『作業論理単位』を参照してください。
リモート呼び出しされたバッチ・プログラム (呼び出し側プログラムと異なるシステムに常駐するプログラム) で sysLib.commit を起動できます。 eci_no_extend を指定した場合、コミットは成功します。eci_extend が指定された場合は、ランタイム・エラー・メッセージが出され、invreq でコミットが失敗します。
プログラムが SQL ステートメントを発行した場合、sysLib.commit によって SQL COMMIT WORK が実行されます。プログラムが SQL 要求を発行していない場合、sysLib.commit によって iSeries™ COMMIT コマンドと同等のコマンドが実行されます。