ナビゲーションに戻る

グループ バージョンの使い方

次の各トピックでは、バージョン番号の概要とバージョンの使い方について、開発者向けに説明します。

グループを作成するたびに、バージョン番号が生成されてグループ結果テーブルに保存されます。以下のいずれかが、前回グループを実行したときから変更されている場合、新しいバージョン番号が自動的に生成され、結果テーブルが更新されます。

  • グループ定義

  • クエリー定義

  • グループ作成に使用した全てのパラメータ (有効日付きの職務データを使用する場合など)

このトピックを読む前に、「グループ ビルド機能を導入したアプリケーション プログラムまたはバッチ プログラムの作成」を参照してください。

アプリケーションにグループ ビルドを導入するには、以下の 2 つの方法があります。

  • デフォルトの開発者クエリーを使用する方法

    デフォルトの開発者クエリーでは、デフォルトのグループ結果テーブルを使用します。

  • ユーザー独自のクエリーを作成する方法

    ユーザー独自のクエリーを使用する場合、ユーザー独自のグループ結果テーブルを使用してパラメータやフィールドを追加定義できます。

ただし、ユーザー独自のグループ結果テーブルはデフォルトの開発者クエリーでも使用できます。また、デフォルトのグループ結果テーブルをユーザー独自のクエリーで使用することもできます。この場合、クエリーで選択されるフィールドがデフォルトのグループ結果テーブルの構造と一致していることが前提となります。

このため、グループを前回実行した後で以下のいずれかが変更された場合、そのグループは再作成され、バージョン番号が変更されます。

  • 開発者によって追加されたクエリー定義

  • グループ結果テーブル

注: GB_EXEC ("Y") をコールすると、バージョン採番機能をバイパスできます。その後、コールされるたびにグループは再作成されます。

注: 開発者クエリーまたはユーザー クエリーを使用する際には、GB_QRY_LINK_VIEW が JOB レコードに基づいていることに注意してください。グループ ビルドにより SQL が生成されるときには、GB_QRY_LINK_VIEW を参照している全ての箇所がシステムによって JOB レコードで置き換えられます。この処理の後、右辺と左辺のレコード フィールドが同じである行については、グループ ビルドは SQL 生成の際にその行を処理しません。

たとえば、クエリーで GB_QRY_LINK_VIEW.EFFDT <= JOB.EFFDT という条件があり、グループ ビルドによりその条件が JOB.EFFDT <= JOB.EFFDT で置き換えられるとします。次に、左側の REC.FIELD と右側の REC.FIELD が同じなので、この行は削除されます。このため、クエリー回数がグループ ビルドから返されたものと異なる場合があります。