Magicによるデータビューの準備処理

Magicエンジン > タスクデータビュー

Magic エンジンがタスクの実行を開始すると、エンジンはタスクのデータビューを構成するレコードの範囲条件をチェックします。このチェックに通過したレコードに対してだけ、[タスク前]が実行されます。このチェックは、次のようにして行われます。

  1. まず、エンジンは、メインソースやリンクテーブルから[カラム]コマンドや、[変数]コマンドや[パラメータ]コマンドで定義された項目を検索し、これらを論理レコードの中に含めます。

  2. 次に、タスクの[範囲]式と、[データビュー]エディタに表示されている順に項目の[範囲:最小]と[範囲:最大]の設定を評価します。範囲の評価結果は、データビューに含まれるレコードの範囲を絞り込みます。実行時にユーザが入力したデータによって、更に表示を絞り込むことができます。SQLテーブルから作成されたデータビューの場合は、DBのWhere句によって絞り込み条件を追加することができます。

  3. タスクの[ソート]テーブルでソートが設定されている場合、Magic エンジンは、タスクの実行に先立ち、[ソート]テーブルに指定されたデータ項目の値に従って、昇順あるいは降順にメインソースのレコードをソートします。ここでは、範囲条件に合致したレコードだけがソートの対象になります。実行モードでソート機能を有効にすると、エンドユーザがデータビューのソート条件を設定することもできます。

注意:

埋め込みSQL タスクの場合、Magic エンジンは「SQL コマンド」で定義されているSQL 文をRDBMS に送って実行させ、結果として得られた一連のレコードをメインソースとして、タスクの処理を行います。この場合、上記のMagicエンジンによるデータビューの準備は全て割愛され、すぐに準備処理以降の処理が実行されます。埋め込みSQL タスクにおいては、SQL文によって作成されたデータビューの項目は実項目ではなく、変数項目となります。Magic では、実項目は[データ]リポジトリ中に定義されているテーブルの定義を基にして認識されますが、SQL 文が定義されている時には、テーブルの定義が[テーブル]リポジトリ中に存在しないからです。

参照