データ オブジェクトではランタイム変数を使用して、動作や選択条件を動的に変更できます。
クエリ データ オブジェクトの場合、SQL クエリでランタイム変数を使用できます。 前提条件として、[変数]リスト内にこれらのランタイム変数を定義します。 そのリストにはデフォルトのクエリ変数が含まれます。独自の変数を追加することもできます。
たとえば、ユーザのリストを表示する SQL クエリに基づいたレポートを考えてみます。 データ オブジェクトは、姓の最初の文字を示すために Last_Name 値をランタイム変数として使用できます。 データ オブジェクトのユーザには、Last_Name 値の入力を要求するプロンプトが表示されます。 文字列タイプの %Last_Name% という名前のランタイム変数を SQL ステートメントで使用できます。 この変数を使用して、ユーザが入力した値で始まるユーザ レコードに結果を制限します。 以下の SQL ステートメントにはサンプル クエリが用意されています。
SELECT first_name,middle_name,last_name FROM ca_contact WHERE (ca_contact.last_name like '%Last_Name%%')
注: ユーザには、SQL クエリ内のランタイム変数の入力のみが要求されます。
プラグイン データ オブジェクトの場合、名前と値のペアとしてランタイム変数を Java クラスに渡すことができます。 前提条件として、Java レポート プラグイン クラスがプラグイン データ オブジェクトの名前と値のペアを受け取ることを確認します。
たとえば、com.ca.usm.reporting.Plugins.RequestFulfillmentReport プラグイン クラスを考えてみます。 このプラグイン クラスは、START_DATE という名前の日付タイプのパラメータを受け取ります。 そのため、START_DATE は、このプラグイン クラスを使用するデータ オブジェクトで必要です。 このような場合は、以下のいずれかの操作を実行します。
以下の目的で、コンテキストに応じたシステム変数をランタイム変数と組み合わせて使用する
コンテキストに応じたシステム変数を以下に示します。
|
名前 |
変数 |
|
現在の日付 |
%TODAY% |
|
前の日 |
%TODAY%-Days(1) |
|
次の日 |
%TODAY%+Days(1) |
|
月の最初の日 |
%START_OF_CURRENT_MONTH% |
|
月の最終日 |
%END_OF_CURRENT_MONTH% |
|
年の最初の日 |
%START_OF_CURRENT_YEAR% |
|
年の最終日 |
%END_OF_CURRENT_YEAR% |
|
ユーザ ドメイン(ビジネス ユニット) |
%USER_DOMAIN% |
|
ユーザ ID |
%USER_ID% |
クエリ データ オブジェクトで使用するカスタム ランタイム変数を定義できます。 たとえば、ドロップダウン変数であるクエリ ランタイム変数を追加するとします。
クエリ ランタイム変数を追加する方法
メイン メニューの左のメニューで[データ オブジェクト]が選択された状態で、[レポート ビルダ]ページが表示されます。
ページは、ユーザのアクション(データ オブジェクトの作成または編集)に合わせて変化します。
[ランタイム変数の作成]または[ランタイム変数の編集]ダイアログ ボックスが表示されます。
カタログ システムにより変数定義が保存されます。
クエリ データ オブジェクトの SQL クエリで変数を使用できます。 ユーザがデータ オブジェクトを実行するときに、値を入力するように要求されます。
注: ドロップダウン変数であるクエリ ランタイム変数を追加する場合、対象のドロップダウン リスト内の値の数は、1000 までに限られます。 レポート クエリが 1000 を超える値を返した場合、1000 より多い値はシステムによって切り捨てられます。 したがって、ドロップダウン リストにはその値が表示されません。 必要に応じて、ドロップダウン リストに表示される値の数を 1000 より大きい値に増やすことができます。 詳細については、「Implementation Guide」を参照してください。
|
Copyright © 2013 CA.
All rights reserved.
|
|