パラメータの使用
広範囲のエンドユーザに提供する HTML ページを作成する際は、単一の HTML ページにパラメータ (変数) を使用する方法が適しています。たとえば、地域のパラメータを含めておくと、実行時に各エンドユーザがそれぞれ所属する地域を選択することができます。これにより、パフォーマンスが向上し、ユーザが無関係のデータをスクロールする手間が省けるとともに、開発者が複数のページを作成する必要がなくなります。
パラメータ値と入力コントロールは、値の動的または静的リストで作成することができます。
- 動的リストには、リクエストの実行時に特定のデータソースから値が取得されます。データソースから取得される値は常に最新です。
- 静的リストには、事前に指定した値が表示されます。静的リストの値は、手動で変更しない限り変更されません。
- ActiveAnalytic Document コントロールには、ActiveAnalytic Document メニュー項目と同一の Active ReportAnalytic Document 値が表示されます。
注意:ActiveAnalytic Document コントロールは、レイアウト内のどのパラメータとも関連付けることはできません。このタイプのコントロールは、レイアウト内の Active ReportAnalytic Document にのみ関連付けることができます。
- TOC コントロールリストを使用すると、HTML キャンバスでレポートに目次および Web ビューアを統合することができます。
注意:TOC コントロールは、レイアウト内のどのパラメータとも関連付けることはできません。このタイプのコントロールは、レイアウト内の特定の入力コントロールにのみ関連付けることができます。
パラメータタブでの作業
[パラメータ] タブを使用して、パラメータ値と入力コントロールの作成および変更、パラメータの条件のカスタマイズを行えます。また、パラメータをコントロールにバインドしたり、コントロール間に連鎖を設定したりすることもできます。[パラメータ] タブは、次のコンポーネントで構成されます。
- 入力コントロールオブジェクト
入力コントロールオブジェクトを選択して、そのコントロールの設定を表示、編集することができます。
- [デザイン] 表示で入力コントロールを作成すると、[パラメータ] タブでバインドパラメータを作成するよう要求されます。
- 新規パラメータに入力コントロールを設定したときに挿入された入力コントロールを編集します。
- ページ上の他の入力コントロールと関連しない自動実行コントロールは、仮想コントロールとも呼ばれ、デザイン時にのみ [パラメータ] タブからアクセスできます。これらは破線の六角形で表示されます。
- 新規パラメータの追加
[パラメータ] タブで任意の位置を右クリックし、新規パラメータを追加することができます。
注意:パラメータを手動で追加した場合、未バインドのパラメータが作成されます。
- オブジェクトの手動整列
[パラメータ] タブでパラメータを移動すると、[プロパティ] パネルの [ドキュメント] セクション下で、[[パラメータ] タブ:自動整列] プロパティが自動的に [いいえ] に設定されます。この場合、[パラメータ] タブから別のタブに切り替えた後、再び [パラメータ] タブに戻った際に、パラメータの移動後の位置が保持されます。
[パラメータ] タブでパラメータおよびコントロールの順序を手動で変更すると、[[パラメータ] タブ:自動整列] プロパティが自動的に [いいえ] に設定されます。この場合、[パラメータ] タブから別のタブに切り替えた後、再び [パラメータ] タブに戻った際に、ユーザが手動で移動したオブジェクトの位置が保持されます。また、[WebFOCUS App Studio オプション] ダイアログボックスの [HTML ページ] タブで、デフォルト設定で選択されている [オブジェクトの自動整列] オプションが上書きされます。
ユーザが手動で移動したオブジェクトの位置を元に戻し、[パラメータ] タブ上のオブジェクトに自動整列機能を適用するには、[[パラメータ] タブ:自動整列] プロパティ値を [はい] に設定します。
[App Studio オプション] ダイアログボックスの [オブジェクトの自動整列] オプション値を継承するには、[[パラメータ] タブ:自動整列] プロパティの値を [<設定しない>] に設定します。
[[パラメータ] タブ:自動整列] プロパティは、[プロパティ] パネル [ドキュメント] セクション下にあります。このプロパティにアクセスするには、パネル上部のドロップダウンリストから [DOCUMENT] を選択する必要があります。
[パラメータ] タブでオブジェクトを選択すると、そのオブジェクトのプロパティが [プロパティ] パネルに自動的に表示されます。[プロパティ] パネル上部のドロップダウンリストからパラメータオブジェクトを選択すると、そのオブジェクトが [パラメータ] タブで選択された状態になります。
- 未解決パラメータのリフレッシュ
[パラメータ] タブでは、すべてのパラメータが 2 分ごとに解析され、パラメータに未解決のものがないかどうかが確認されます。存在する場合は、周囲の領域が赤色で表示されます。未解決のパラメータを必要に応じて確認する場合は、右クリックして [未解決項目のリフレッシュ] を選択します。
- コントロールとパラメータのバインド
[パラメータ] タブで、入力コントロールとパラメータのバインドの設定と解除が行えます。
パラメータにコントロールをバインドしたり、パラメータをコントロールにバインドしたりすることができます。
- コントロールにパラメータをバインドすると、そのパラメータはコントロールに入力される「入力パラメータ」になります。[パラメータ] タブで、パラメータオブジェクトをコントロールオブジェクトにドラッグすることができます。
- パラメータにコントロールをバインドすると、そのパラメータに値が入力されます。[パラメータ] タブで、コントロールオブジェクトをパラメータオブジェクトにドラッグすることができます。
- 複数のコントロールの連鎖
連鎖を設定すると、連鎖内で前のコントロールで選択した値に基づいて、コントロールに値が入力されます。静的コントロールおよび動的コントロールに連鎖を設定することや、連鎖の一部へのリンクの設定と解除、連鎖内のリンクの設定、条件の作成が可能です。[パラメータ] タブでは、連鎖はコントロールオブジェクトを接続する線として表示されます。連鎖のリンクの矢じり部分をクリックすると、[設定] パネルで、連鎖のプロパティや条件の設定と変更を行うことができます。
注意:連鎖は、パラメータではなく、コントロールにのみ適用されます。
未バインドパラメータの追加
未バインドパラメータは、他のページで使用するパラメータ値を送信する場合に役立ちます。新しいパラメータをコントロールにバインドして入力パラメータを作成したり、コントロールをパラメータにバインドすることもできます。
新規未バインドパラメータを追加するには
新規パラメータを追加するには、次の手順を実行します。
- 手順
- [パラメータ] タブの任意の位置を右クリックし、[パラメータの追加] を選択します。
パラメータ値の情報を入力します。オプションには、[単一選択]、[複数選択 OR]、[複数選択 AND] があります。
- 単一値を使用する場合は、[単一選択] を選択します。
注意:新規パラメータを追加する際は、デフォルト設定で [単一選択] が選択されます。
- [表示値] に、単一の変数に割り当てる値を入力します。
- [名前] テキストボックスにパラメータ名を入力するか、デフォルトの名前を使用します。
- 必要に応じて、[フォーマット] テキストボックスを使用して、「A20」や「D12.1」など、パラメータのフォーマットを定義します。
このテキストボックスをブランクのままにしておくと、値フィールドには文字フォーマットが自動的に適用されます。
- 複数選択値を使用する場合は、[複数選択 OR] または [複数選択 AND] を選択します。
[値]、[画面]、[選択済み] 列が表示されます。
- [新規作成] ボタンをクリックして、静的な値の一覧を入力します。
- [値] 列に、選択したパラメータに渡す値を入力します。
- [画面] 列に、コントロール内でパラメータ値としてユーザに表示するテキストを入力します。
- [選択済み] 列で、デフォルト値として表示する値のチェックをオンにします。複数の値を選択することができます。
この手順を繰り返して、必要な値をすべてリストに追加します。
- 必要に応じて、値を選択した後、[削除] ボタンをクリックして値を削除したり、上下の矢印を使用して値の順序を変更したりします。
- パラメータ値を変更するには、[パラメータ] タブでパラメータを右クリックし、[設定] を選択します。
ヒント:[標準] ツールバーの [元に戻す] ボタンと [やり直し] ボタンを使用することもできます。[元に戻す]、[やり直し]では、[設定] パネル全体が、1 つの操作として処理されます。
- 必要に応じて、コントロールをパラメータにバインドすることで、コントロールにパラメータ値が自動的に挿入されるよう設定することもできます。パラメータ名オブジェクトの中央を選択し、そのパラメータをコントロールオブジェクトの中央にドラッグします。
- 必要に応じて、新しいパラメータをコントロールにバインドして、入力パラメータを作成します。コントロールオブジェクトの中央を選択し、そのコントロールオブジェクトをパラメータオブジェクトの中央にドラッグします。
プロシジャに未バインドパラメータを関連付けるには
次の手順では、プロシジャに未バインドパラメータを関連付ける方法について説明します。一例として、この手順ではレポートに見出しを追加します。
- 手順
- 新しい HTML ページを作成します。
- [リクエストとデータソース] パネルで [新規作成] ドロップダウン矢印をクリックし、[外部リクエスト]、[WebFOCUS プロシジャ][外部リクエスト]、[WebFOCUS InfoAssist を使用した Db2 WebQuery for i プロシジャ] を順に選択します。
- 任意のプロシジャ (単純なプロシジャまたはパラメータ化されたプロシジャ) を選択します。
注意:この例ではレポートを使用します。
- キャンバスにフレームを挿入します。
- [タスクとアニメーション] パネルで [load] タスクを選択します。
- [リクエスト/アクション] セクションの矢印をクリックして [リクエストの実行] を選択し、使用するプロシジャを選択します。
- [ターゲットのタイプ] として [フレーム] を選択します。
- [ターゲットフレーム] ドロップダウンリストから、挿入済みのフレームを選択します。
- [リクエストとデータソース] パネルで、[現在のページで作成されたパラメータ] を右クリックし、[新規パラメータ] を選択します。
注意:新しい未バインドパラメータを作成することもできます。詳細は、「新規未バインドパラメータを追加するには」を参照してください。
- [パラメータ] タブに移動し、[Parameter1] パラメータを [未バインドパラメータ] ボックスの外側にドラッグします。
- [Parameter1] パラメータを選択し、[設定] パネルで [フォーマット] テキストボックスに「A20」と入力します。
- 下図のように、[適用先] ボックスで、関連付けるプロシジャのチェックをオンにします。
- [表示値] テキストボックスに文字値を入力します。
- プロシジャを開きます。
- [レポート] タブの [レポート] グループで、[見出し/脚注] オプションを使用してレポート見出しを追加します。
- [レポート見出し] テキストボックスに「&Parameter1」と入力します。
- HTML ページを実行します。
Parameter1 の [設定] パネルで入力した値がレポート見出しに表示されます。
値の静的リスト作成
静的値リストを作成する場合、次のオプションのいずれかを選択することができます。
- 無視値の追加
- 全値の追加
- "選択なし" 値の追加
- プロシジャ値の使用
- 外部ファイルの値の使用
- ReportLibrary の値の使用
- ReportLibrary の値の使用 (バージョンを含む)
これらのオプションが [値] リストに追加された場合、表示テキストをカスタマイズすることはできますが、値の変更はできなくなります。
未バインド静的パラメータ、入力静的パラメータ (コントロールにバインドされたパラメータ)、静的パラメータにバインドされたコントロールを作成することができます。
設定パネル (入力静的パラメータおよび未バインドコントロール)
[設定] パネルは、[パラメータ] タブで静的パラメータを作成または編集する際に表示されます。
このオプションは、静的値のタイプによっては利用できないことがあります。
[データタイプ] として [静的] を選択した場合、[設定] パネルには、次の項目とオプションが表示されます。
値の取得元として、[静的]、[動的]、[Active Report][Analytic Document]、[TOC] のいずれかを選択します。
静的 提供された静的なパラメータのリストを使用します。静的な値のリストは、レポートキャンバスで作成することもできます。
静的リストに対して指定した値のリストです。
値 選択したパラメータに渡される値です。
画面 コントロール内の値をユーザに提示する際のテキストです。
選択済み デフォルト値として表示する値です。複数選択のコントロールでは、複数の値を選択することができます。
新規作成 新しい値を作成します。
削除 リストから値を削除します。
上へ移動 選択した値をリストの上部に移動します。
下へ移動 選択した値をリストの下部に移動します。
このオプションを選択すると、パラメータに実際のデータではなく表示値が送信されます。
このオプションを選択すると、コントロールにプロシジャ名が挿入されます。これにより、値を選択したときに、そのプロシジャが実行されます。[値] 列にはプロシジャ名がそのまま表示され、この値を編集することはできません。[画面] 列の値は編集することができます。
設定パネル (未バインドのパラメータ)
[設定] パネルは、[パラメータ] タブで静的パラメータを作成または編集する際に表示されます。
このオプションは、静的値のタイプによっては利用できないことがあります。
単一選択で未バインドパラメータを追加する場合、[設定] パネルには、次の項目とオプションが表示されます。新規パラメータを追加する際は、デフォルト設定で [単一選択] が選択されます。
パラメータに割り当てるデフォルト名です。必要に応じて、パラメータの新しい名前を入力することができます。
[フォーマット] テキストボックスで、「A20」、「D12.2」など、パラメータのフォーマットを定義します。
このテキストボックスの入力は、オプションです。このテキストボックスをブランクのままにしておくと、値フィールドには文字フォーマットが自動的に適用されます。
パラメータに割り当てる選択済みの値を入力します。
静的リストに対して指定した値のリストです。
値 選択したパラメータに渡される値です。
画面 コントロール内の値をユーザに提示する際のテキストです。
選択済み デフォルト値として表示する値です。複数選択のコントロールでは、複数の値を選択することができます。
新規作成 新しい値を作成します。
削除 リストから値を削除します。
上へ移動 選択した値をリストの上部に移動します。
下へ移動 選択した値をリストの下部に移動します。
設定パネル (バインド済みパラメータ)
[設定] パネルは、[パラメータ] タブでバインド済みパラメータを選択した際に表示されます。 パラメータの [設定] パネルは、読み取り専用です。このパネルには、バインドされたコントロールの値が表示されます。
[設定] パネルには、読み取り専用として次の値が表示されます。
静的パラメータデータの値として選択された値を表示します。
静的パラメータの値を表示します。
新しい静的な値を追加するには
未バインド静的パラメータ、入力静的パラメータ (コントロールにバインドされたパラメータ)、静的パラメータにバインドされたコントロールを作成することができます。
- 手順
- 新しいパラメータを作成します。
- [パラメータ] タブの任意の位置を右クリックし、[パラメータの追加] を選択します。
- [設定] パネルで、パラメータ値の情報を入力します。オプションには、[単一選択]、[複数選択 OR]、[複数選択 AND] があります。
- 単一値を使用する場合は、[単一選択] を選択します。
新規パラメータを追加する際は、デフォルト設定で [単一選択] が選択されます。
- [表示値] に、単一の変数に割り当てる値を入力します。
- [名前] テキストボックスにパラメータ名を入力するか、デフォルトの名前を使用します。
- 必要に応じて、[フォーマット] テキストボックスを使用して、「A20」や「D12.1」など、パラメータのフォーマットを定義します。
このテキストボックスをブランクのままにしておくと、値フィールドには文字フォーマットが自動的に適用されます。
- 複数選択値を使用する場合は、[複数選択 OR] または [複数選択 AND] を選択します。
[値]、[画面]、[選択済み] 列が表示されます。
- [新規作成] ボタンをクリックして、静的な値の一覧を入力します。
- [値] 列に、選択したパラメータに渡す値を入力します。
- [画面] 列に、コントロール内でパラメータ値としてユーザに表示するテキストを入力します。
- [選択済み] 列で、デフォルト値として表示する値のチェックをオンにします。複数の値を選択することができます。
この手順を繰り返して、必要な値をすべてリストに追加します。
- 必要に応じて、値を選択した後、[削除] ボタンをクリックして値を削除したり、上下の矢印を使用して値の順序を変更したりします。
未バインドの静的パラメータは、他のページで使用するパラメータ値を送信する場合に役立ちます。新しいパラメータをコントロールにバインドして入力パラメータを作成したり、コントロールをパラメータにバインドすることもできます。
- 新規パラメータをコントロールにバインドします。
新規パラメータをコントロールにバインドすると、入力パラメータが作成されます。入力パラメータは、コントロールにバインドされた静的パラメータです。パラメータ値はコントロールに入力されます。
- [デザイン] タブを選択し、入力コントロールを作成します。たとえば、リストボックスやドロップダウンリストを挿入します。
- [パラメータ] タブをクリックします。
選択したコントロールの [設定] パネルが表示されます。
- パラメータ名オブジェクトの中央を選択し、そのパラメータをコントロールオブジェクトの中央にドラッグします。
- パラメータのバインドを解除するには、矢じり部分を選択して右クリックし、[バインディングの解除] を選択します。
- パラメータにバインドされたコントロールを作成します。
静的値でコントロールを作成し、コントロールをパラメータにバインドすると、パラメータにコントロール値が入力されます。
- HTML キャンバスでコントロールを選択します。
マウスポインタが十字カーソルに変わります。
- 十字カーソルをドラッグしてコントロールオブジェクトを作成し、必要なサイズに調整します。
- [パラメータ] タブをクリックします。
選択したコントロールの [設定] パネルが表示されます。
- [データタイプ] として [静的] を選択します。
[静的] がデフォルト設定で選択されています。
- コントロールのパラメータ値を作成します。
- [値] テキストボックスに、コントロールに渡す値を入力します。
- [画面] テキストボックスに、コントロールに表示する静的パラメータ値を入力します。
- [選択済み] 列で、デフォルト値として表示する値のチェックをオンにします。複数の値を選択することができます。
この手順を繰り返して、必要な値をすべてリストに追加します。
- 必要に応じて、値を選択した後、[削除] ボタンをクリックして値を削除したり、上下の矢印を使用して値の順序を変更したりします。
- 新しいコントロールをパラメータにバインドします。コントロールオブジェクトの中央を選択し、そのコントロールオブジェクトをパラメータオブジェクトの中央にドラッグします。
- コントロールのバインドを解除するには、矢じり部分を選択して右クリックし、[バインディングの解除] を選択します。
- デフォルトのコントロールタイプを変更するには、コントロールオブジェクトを右クリックし、[コントロールタイプの設定] を選択します。
オプションには、[カレンダー]、[チェックボックス]、[ドロップダウンリスト]、[非表示]、[リストボックス]、[ラジオボタン]、[テキスト領域]、[テキストボックス]、[シングルソースツリーコントロール]、[マルチソースツリーコントロール] があります。
- HTML キャンバスでコントロールを選択します。
- 静的値を変更するには、[パラメータ] タブでコントロールまたはパラメータを右クリックし、[設定] を選択します。
レポートキャンバスからの静的フィールド値の追加
新しい静的値を追加する代わりに、[変数エディタ] ダイアログボックスで作成した静的値パラメータをインポートすることができます。パラメータ値として、データ値を指定してデータを制限することや、フィールド名を指定してレポートのフィールドを選択することができます。レポートキャンバスでは、両方のタイプの静的リストを作成することができます。この例では、HTML キャンバスおよびレポートキャンバスを使用して、レポートにフィールド値を提供する方法について説明します。
この例では、WebFOCUS App Studio に付属の CAR マスターファイル (car.mas) を使用します。
-
HTML キャンバスで、新しいレポートを挿入します。
マウスポインタが十字カーソルに変わります。
- 十字カーソルをドラッグしてレポートオブジェクトを作成し、必要なサイズに調整します。
- レポートオブジェクトをダブルクリックします。
[開く] ダイアログボックスが表示されます。
- [car.mas] マスターファイルを選択し、[OK] をクリックします。
レポートキャンバスが開きます。
- オブジェクトインスペクタで [変数] を展開し、[レポート変数] を右クリックして [新規レポート変数フィールド] を選択します。
[変数エディタ] ダイアログボックスが開きます。
- [名前] テキストボックスと [メッセージ] テキストボックスに、「SORTVAR」と入力し、[変数タイプ] は [単一選択] のままにします。
- [受容リスト] セクションから [静的リスト] を選択します。
- [データコンテキスト] エリアのフィールドで、[COUNTRY] と [BODYTYPE] をダブルクリックします。
静的受容リストにフィールドが追加されます。
- [OK] をクリックし、変数を保存します。
- 2 つ目の変数を作成します。
- [レポート変数] を右クリックし、[新規レポート変数フィールド] を選択します。
[変数エディタ] ダイアログボックスが開きます。
- [名前] テキストボックスと [メッセージ] テキストボックスに、「MEASURES」と入力します。
- [変数タイプ] ドロップダウンリストから [複数 AND] を選択します。
- [受容リスト] セクションから [静的リスト] を選択します。
- [データコンテキスト] エリアのフィールドで、[CAR]、[DEALER_COST]、[RETAIL_COST]、[SALES] をダブルクリックします。
静的受容リストにフィールドが追加されます。
- [OK] をクリックし、変数を保存します。
- [レポート変数] を右クリックし、[新規レポート変数フィールド] を選択します。
- オブジェクトインスペクタの [レポート変数] 下で、[&SORTVAR] と [&MEASURES] をダブルクリックします。
レポートに変数が追加されます。
- [&SORTVAR] をクリックし、リボンの [フィールドタイプ] グループから [BY] を選択します。
注意:レポートでパラメータを BY フィールドとして使用する場合、そのパラメータは単一選択変数タイプにする必要があります。
- レポートを保存して閉じます。
HTML キャンバスに戻ります。パラメータ付きのレポートを追加するため、[新規パラメータ] ダイアログボックスが表示されます。
- [新規パラメータ] ダイアログボックスで、次の手順を実行します。
- [MEASURES] の [コントロールタイプ] ドロップダウンリストから、[ダブルリストコントロール] を選択します。
- [パラメータグループ化オプション] ドロップダウンリストから、[フォームを作成しない] を選択します。
- [OK] をクリックし、[新規パラメータ] ダイアログボックスを閉じます。
レポートと、それに関連付けられたパラメータが、静的フィールド値として追加されます。レイアウト内のコントロールは、配置やサイズを再調整することができます。
- レイアウトを保存して実行します。
静的フィールド値 (BY フィールドと、関連するメジャー (MEASURE) フィールド) を選択し、レポートを実行します。
無視値を追加するには
[無視値の追加] オプションは、実行時に _FOC_NULL をサーバに送信します。通常は、複雑なアプリケーションに使用します。[無視値の追加] オプションは、[複数選択 OR]、[複数選択 AND] パラメータで使用可能です。
- 手順
- HTML キャンバスで、コントロールを使用してレポートにパラメータ値を追加します。
パラメータを含むレポートを出力するには、レポートの実行時に値を選択する必要があります。
- [パラメータ] タブをクリックします。
各コントロールに関連付けられたパラメータは、[パラメータ] タブで制御することができます。コントロールのプロパティは、[プロパティ] タブで制御することができます。
- [パラメータ] タブで、複数選択コントロールオブジェクトを選択します。
[設定] パネルが開きます。
- 静的な値のドロップダウンリストから、[無視値の追加] を選択します。
- レポートのパラメータ値に実際のデータではなく表示値を送信する場合は、[表示値を送信する] を選択します。
- [設定] パネルを閉じます。
- HTML ページを実行し、[すべて無視] の値を選択してパラメータ値を無視します。
注意:プロシジャに _FOC_NULL を送信すると、プロシジャでその変数を使用する句はすべて無視されます。
全値を追加するには
[全値の追加] オプションは、JavaScript を使用して実行時にパラメータリスト内のすべての値をサーバに送信します。[全値の追加] オプションは、[複数選択 OR]、[複数選択 AND] パラメータで使用可能です。
[全値の追加] オプションは、ダブルリストコントロールでは使用することができません。
- 手順
- HTML キャンバスで、コントロールを使用してレポートにパラメータ値を追加します。
- [パラメータ] タブをクリックします。
- [パラメータ] タブで、複数選択コントロールオブジェクトを選択します。
[設定] パネルが開きます。
- 静的な値のドロップダウンリストから、[全値の追加] を選択します。
- レポートのパラメータ値に実際のデータではなく表示値を送信する場合は、[表示値を送信する] を選択します。
- HTML ページを実行し、[すべて選択] パラメータ値をクリックして、すべてのパラメータ値を表示します。
プロシジャ値を使用するには
[プロシジャ値の使用] オプションは、デフォルト設定で選択されています。このオプションを使用すると、静的リストに、プロシジャで定義済みのフィールド名が挿入されます。[プロシジャ値の使用] オプションは、[複数選択 OR] および [複数選択 AND] の静的パラメータを使用する場合、およびレポートキャンバスから静的フィールド値を追加する場合に使用できます。
- 手順
- HTML キャンバスで、コントロールを使用してレポートにパラメータ値を追加します。
- [パラメータ] タブをクリックします。
- [パラメータ] タブで、複数選択コントロールオブジェクトを選択します。
[設定] パネルが開きます。
- 静的な値のドロップダウンリストから、[プロシジャ値の使用] を選択します。
プロシジャで定義済みのフィールド名が [設定] パネルに表示されます。
- レポートのパラメータ値に実際のデータではなく表示値を送信する場合は、[表示値を送信する] を選択します。
- HTML ページを実行し、プロシジャからのパラメータ値を選択します。
外部ファイルの値をインポートするには
このオプションを使用すると、ローカルの外部ファイルを使用してパラメータに値を入力することができます。外部ファイルから値をインポートするオプションは、[複数選択 OR]、[複数選択 AND] 静的パラメータで利用することができます。
- 手順
- HTML キャンバスで、コントロールを使用してレポートにパラメータ値を追加します。
- [パラメータ] タブをクリックします。
- [パラメータ] タブで、複数選択コントロールオブジェクトを選択します。
[設定] パネルが開きます。
- ローカルマシンからテキストファイルを選択し、[開く] をクリックします。
外部ファイルとして、1 行に 1 つの値が記述されたファイル、またはカンマ区切りで 1 行に 2 つの値が記述されたファイルを使用することができます。
たとえば、「BOS」がデータ値で「Boston」を表示値とすることができます。
インポートした値は、[パラメータ] タブの [静的な値] グループボックスにロードされます。
テキストファイルの行の値が 1 つの場合は、その値が戻り値と表示値の両方に挿入されます。
- HTML ページを実行して、選択したパラメータに対してインポートした値が表示されることを確認します。
値の動的リスト作成
プロシジャのパラメータが、選択されたコントロールに関連付けられている場合、動的な値はデフォルト設定で選択されます。動的リストには、リクエストの実行時に特定のデータソースから値が取得されます。
設定パネル (動的値)
[設定] パネルは、[パラメータ] タブで動的パラメータを作成または編集する際に表示されます。
[データタイプ] として [動的] を選択した場合、[設定] パネルには、次の項目とオプションが表示されます。
値の取得元として、[静的]、[動的]、[Active Report][Analytic Document]、[TOC] のいずれかを選択します。
[動的] を選択した場合、リクエストの実行時に、選択したデータソースから取得された値のリストが使用されます。マスターファイルに ACCEPT 句を使用してプロシジャ内に変数パラメータを作成する場合、これがデフォルト値です。
値の取得元となるデータソースです。[データタイプ] として [動的] を選択した場合は、これがデフォルト値です。
呼び出される既存プロシジャです。
[パラメータ] タブの [設定] パネルで、外部プロシジャを直接変更することもできます。リクエストを変更する場合、外部プロシジャを保存して元のリクエストを上書きすることができます。
値の取得元となるデータソースです。
値の取得元となるデータソースのフィールドです。
コントロール内でパラメータ値としてユーザに表示するテキストです。
[値フィールド] と [表示フィールド] の間には関係が必要です。[表示フィールド] は、[値フィールド] の記述的なテキストです。
[ソート] をクリックすると、動的リストコントロールの値表示ソート順を設定することができます。このオプションは、各コントロールをそれ以外とは別個にソートする場合に役立ちます。
デフォルト設定で、リクエストにより、動的表示値がリクエストの縦方向 (BY) のソートフィールドから取得されます。結果は値フィールドに基づいて値表示されます。
[ソート] を有効した場合、[設定] パネルの [値フィールド] または [表示フィールド] で選択したフィールドを基準に表示値をソートすることができます。デフォルト設定では、[値] が選択されています。
[ソート] が有効のときは、[昇順]、[降順] のソート順を選択することができます。デフォルト設定では、[昇順] が選択されています。
コントロールの値がプロシジャまたは HTML ページであることを示します。[タスクとアニメーション] パネルの [プロシジャ/HTML 名の使用] リクエストオプションを使用してタスクを作成し、コントロールで選択したファイルを実行することができます。
レポートの値の動的リストを作成する場合、入力コントロールから、重複する値を除外することができます。
データソースのすべての値を選択するためのオプションをコントロールに追加します。右側に表示されたテキストボックスの「すべて」という語句を、その他のテキストに変更することもできます。
注意:動的リストに値が 1 つしか含まれない場合、"すべて" オプションはコントロールに表示されません。
最初にページをロードする際に、連鎖にすべてのコントロールを入力する代わりに、コントロールを 1 つずつ入力して、パフォーマンスを最適化します。["選択なし" オプションの追加] を選択すると、コントロールの入力を、必要に応じて行うことができます。
HTML ページに動的パラメータを追加する場合は、プロシジャ経由で入力コントロールによりデータが取得されます。このオプションを選択すると、選択入力コントロールの実行時データをキャッシュすることができます。この設定のデフォルト値はオフです。
この設定は、[WebFOCUS App Studio オプション] ダイアログボックスの [HTML ページ] タブで設定された [デフォルトキャッシュオプション] を上書きします
データソースから取得するフィールド値の個数を指定します。フィールドの個数は、右側のメニューで選択します。
このオプションを選択すると、2 つのコントロールから 3 つ目のコントロールに連鎖が設定された場合に、3 つ目のコントロールに入力されるデータとして、最後に選択された値のみが使用されます。
このオプションを選択すると、パラメータに実際のデータではなく表示値が送信されます。
プロシジャの実行時にデフォルト値として表示する値を入力します。
設定パネル (バインド済みパラメータ)
[設定] パネルは、[パラメータ] タブでバインド済みパラメータを選択した際に表示されます。 パラメータの [設定] パネルは、読み取り専用です。このパネルには、バインドされたコントロールの値が表示されます。
[設定] パネルには、読み取り専用として次の値が表示されます。
パラメータのデータソースとして選択されたマスターファイルが表示されます。
動的パラメータデータの値フィールドが表示されます。
動的パラメータの表示フィールドが表示されます。
複数選択 OR また AND の動的パラメータが存在する場合、OR または AND が表示されます。
変数に割り当て済みの表示値が存在する場合、その値をが表示されます。
動的値を作成するには
パラメータにバインドされた動的コントロールを作成することができます。動的値でコントロールを作成し、コントロールをパラメータにバインドすると、パラメータにコントロール値が入力されます。
- 手順
- HTML キャンバスの [デザイン] 表示で、[コントロール] タブの [コントロール] グループからコントロールを選択します。たとえば、リストボックスやドロップダウンリストを挿入します。
マウスポインタが十字カーソルに変わります。
- 十字カーソルをドラッグしてコントロールオブジェクトを作成し、必要なサイズに調整します。
- [パラメータ] タブをクリックします。
[設定] パネルが開きます。
- [データタイプ] として [動的] を選択します。
動的値のオプションが表示されます。
- コントロールの動的値を作成します。
- デフォルトプロシジャを使用する場合は、次の手順を実行して動的値を指定します。
- [データソース] ドロップダウンリスト横の [...] (参照) ボタンをクリックします。
[データソースの選択] ダイアログボックスが表示されます。
- マスターファイル名を選択し、[OK] をクリックします。
- [値フィールド] 横の [...] (参照) ボタンをクリックします。
選択したマスターファイルのフィールド名でオブジェクトインスペクタが開きます。
- フィールド名をダブルクリックして [値フィールド] に追加します。
ヒント:オブジェクトインスペクタアイコンを使用してフィールドを選択し、オブジェクトインスペクタを閉じることもできます。緑のアイコンは「OK」、赤のアイコンは「キャンセル」を示します。値をダブルクリックすると、ボタンを使用しなくても、その値が選択され、ダイアログボックスが閉じます。Esc キーを押すと、ボタンを使用しなくてもダイアログボックスの選択内容がキャンセルされます。
選択したフィールドは自動的に [表示フィールド] に追加されます。
- 必要に応じて、[表示フィールド] の [...] (参照) ボタンをクリックして、[表示フィールド] に異なるフィールド名を選択することができます。オブジェクトインスペクタアイコンを使用してフィールドを選択し、オブジェクトインスペクタを閉じることもできます。
- [データソース] ドロップダウンリスト横の [...] (参照) ボタンをクリックします。
- 外部プロシジャを使用する場合は、次の手順を実行し、動的値を指定します。
- [外部プロシジャ (リクエストパネル)] を選択します。
- [リクエスト] ドロップダウンリストからプロシジャを選択します。
- [値フィールド] および [表示フィールド] の [...] (参照) ボタンをクリックして、別のフィールド名を選択することができます。
ヒント:オブジェクトインスペクタアイコンを使用してフィールドを選択し、オブジェクトインスペクタを閉じることもできます。緑のアイコンは「OK」、赤のアイコンは「キャンセル」を示します。値をダブルクリックすると、ボタンを使用しなくても、その値が選択され、ダイアログボックスが閉じます。Esc キーを押すと、ボタンを使用しなくてもダイアログボックスの選択内容がキャンセルされます。
外部プロシジャのパラメータ名のみが選択可能です。
- デフォルトプロシジャを使用する場合は、次の手順を実行して動的値を指定します。
- 必要に応じて、[ソート] オプションをクリックし、動的リストコントロールの表示値のソート順オプションを有効にして、選択することができます。
- 必要に応じて、[重複する値を確認] を選択し、実行時に入力コントロールから重複値エントリをすべて削除します。
- 必要に応じて、["すべて" オプションを追加する] を選択して、すべてのデータソース値をコントロールに使用する機能を追加することができます。
- 必要に応じて、["選択なし" オプションの追加] を選択し、最初にページをロードする際に、連鎖にすべてのコントロールを入力する代わりに、コントロールを 1 つずつ入力して、パフォーマンスを最適化します。
- 必要に応じて、[実行データをキャッシュ] を選択し、選択した入力コントロールの実行時データをキャッシュすることができます。
- 必要に応じて、[戻り値を制限する] のチェックをオンにして、右側に表示されたボックスにデータソースから取得するフィールド値の個数を入力します。
- 新しいコントロールをパラメータにバインドします。コントロールオブジェクトの中央を選択し、そのコントロールオブジェクトをパラメータオブジェクトの中央にドラッグします。
- コントロールのバインドを解除するには、矢じり部分を選択して右クリックし、[バインディングの解除] を選択します。
- デフォルトのコントロールタイプを変更するには、コントロールオブジェクトを右クリックし、[コントロールタイプの設定] を選択します。
オプションには、[カレンダー]、[チェックボックス]、[ドロップダウンリスト]、[非表示]、[リストボックス]、[ラジオボタン]、[テキスト領域]、[テキストボックス]、[シングルソースツリーコントロール]、[マルチソースツリーコントロール] があります。
- 動的値を変更するには、コントロールを右クリックして [設定] を選択し、変更を加えます。
フィルタを追加して動的パラメータを作成するには
- 手順
- [デザイン] 表示でレポートまたはグラフに動的パラメータを作成するには、レポートオブジェクトまたはグラフオブジェクトを右クリックし、コンテキストメニューから [フィルタの追加] を選択します。
[フィルタのオプション] ダイアログボックスが表示されます。
- パラメータとして使用するフィールド、[複数選択] のオプションをそれぞれ選択し、[OK] をクリックします。
[新規パラメータ] ダイアログボックスが表示されます。
このダイアログボックスでパラメータのコントロールタイプを選択することも、[パラメータ] タブの [設定] パネルを使用して後からコントロールタイプを調整することもできます。
[新規パラメータ] ダイアログボックスが表示されない場合は、[HTML ページ] タブで [[新規パラメータ] ダイアログボックスを表示] のチェックがオンになっていることを確認してください。[HTML ページ] タブにアクセスするには、[アプリケーション] メニューから [オプション] を選択して [WebFOCUS App Studio オプション] ダイアログボックスを開きます。[WebFOCUS App Studio オプション] ダイアログボックスで、[HTML ページ] タブをクリックします。
- [OK] をクリックし、[新規パラメータ] ダイアログボックスを閉じます。
- レポートオブジェクトの上部にフィルタが表示されます。
レポートに追加するパラメータごとに、この手順を繰り返します。
動的値リストをソートするには
このオプションは、各コントロールをそれ以外とは別個にソートする場合に役立ちます。
注意:ソートオプションが選択されていない場合、リクエストはそのリクエスト内の BY ソートフィールドを取得し、結果には、値フィールドに基づく表示値が表示されます。デフォルト設定では、ソートオプションは選択されていません。
- 手順
- [パラメータ] タブで、動的コントロールを選択します。
[設定] パネルが開きます。
- [ソート] のチェックをオンにして、ソートオプションを有効にします。
このコントロールの [ソート項目] および [ソート順] を選択することができます。
- [ソート項目] のオプションを選択します。
- [値] を選択すると、フィールドは [値] のフィールド名でソートされます。[ソート項目] では、これがデフォルト設定で選択されています。
- [表示] を選択すると、フィールドは [表示] のフィールド名でソートされます。
- [ソート順] のオプションを選択します。
- [昇順] を選択すると、値は小さい順にソートされます。[ソート順] では、これがデフォルト設定で選択されています。
- [降順] を選択すると、値は大きい順にソートされます。
- HTML ページを実行し、ソート結果を確認します。
重複する値を確認するには
レポートの値の動的リストを作成する場合、入力コントロールから、重複する値を除外することができます。これは、構造化データソースを使用しない独自のプロシジャを使用する場合に役立ちます。
[重複する値を確認] オプションは、デフォルト設定では無効になっています。
- 手順
- HTML キャンバスで、値の動的リストを含む入力コントロールを作成します。
- 入力コントロールを選択し、[パラメータ] タブをクリックします。
選択した入力コントロールの [設定] パネルが開きます。
- [重複する値を確認] のチェックをオンにします。
[重複する値を確認] オプションは、入力コントロールで値の動的リストを作成する場合にのみ有効になります。
- HTML ページを保存して実行します。
入力コントロールにより、重複する値のエントリが除外されます。
カスタムプロシジャによる動的値の取得
動的パラメータ値の取得方法をカスタマイズすることができます。カスタムプロシジャを使用することで、WebFOCUS 言語を使用して一時的な HOLD ファイルやフィルタ設定などを利用することができます。これにより、大規模なデータソースや、特別な方法で取得する必要のあるデータソースが複数存在する場合に、HTML キャンバスの統合処理が向上します。プロシジャは、次の条件を満たす必要があります。
- プロシジャは、リストに挿入されるパラメータ値ごとに名前と値の組み合わせを返す必要があります。最初の値は、ユーザが [実行] ボタンをクリックしたときにコントロールに渡される実行値です。2 つ目の値は、コントロールに表示される表示値です。これらの 2 つの値には異なる値を指定することもできます。
- プロシジャは、この 2 つのデータ値を XML フォーマット (PCHOLD FORMAT XML) の単一データ行で返す必要があります。
注意:このオプションおよびデータソースの取得方法は、同一プロシジャ内の異なるパラメータで使用することができます。
連鎖コントロールでは、キャッシュが有効な場合または無効な場合で、次の 2 つのオプションを使用することができます。
- デフォルト設定では、キャッシュは有効になっていません。各パラメータコントロールをそれぞれのプロシジャにマッピングした上で、開発者がフィルタまたは WHERE 条件を記述して、コントロールの階層にフィルタを正しく設定する必要があります。
- パラメータ値に対してキャッシュが有効になっている場合は、単一プロシジャを使用して、連鎖変数のコントロールにデータを格納できます。この場合は、HTML キャンバスが WHERE 条件を記述します。
- [戻り値を制限する] は適用されません。連鎖を使用する場合、フィルタは生成されません。これは、HTML キャンバスが、値を挿入するためのリクエストを作成しないためです。
単一値の動的パラメータ値の取得
以下は、実行値と表示値に同一の値を使用した例を示しています。
TABLE FILE GGSALES PRINT DST.PRODUCT BY PRODUCT ON TABLE SET HOLDLIST PRINTONLY ON TABLE PCHOLD FORMAT XML END
XML 出力は次のとおりです。
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <fxf version="1.0" data="hold">
- <report records="4317" lines="10" columns="2" rows="10">
<target format="" version="" type="" destination="HOLD" />
- <column_desc>
<col colnum="c0" fieldname="PRODUCT" alias="E01" datatype="char"
width="16" focus_format="A16" description="Product name"
accept="" help_message="" title="Product" within="" property=""
reference="" valign="left" />
<col colnum="c1" fieldname="PRODUCT" alias="E02" datatype="char"
width="16" focus_format="A16" description="Product name"
accept="" help_message="" title="Product" within="" property=""
reference="" valign="left" />
</column_desc>
- <table>
- <tr linetype="data" linenum="1">
<td colnum="c0">Biscotti</td>
<td colnum="c1">Biscotti</td>
</tr>
- <tr linetype="data" linenum="2">
<td colnum="c0">Capuccino</td>
<td colnum="c1">Capuccino</td>
</tr>
- <tr linetype="data" linenum="3">
<td colnum="c0">Coffee Grinder</td>
<td colnum="c1">Coffee Grinder</td>
</tr>
- <tr linetype="data" linenum="4">
<td colnum="c0">Coffee Pot</td>
<td colnum="c1">Coffee Pot</td>
</tr>
2 つの値の動的パラメータ値の取得
以下は、実行値と表示値に 2 つの異なるフィールド値を使用した例を示しています。この場合、表示値には PRODUCT (製品の説明)、実行値には PCD (製品コード) が使用されています。
TABLE FILE GGSALES PRINT DST.PRODUCT BY PCD ON TABLE SET HOLDLIST PRINTONLY ON TABLE PCHOLD FORMAT XML END
XML 出力は次のとおりです。
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <fxf version="1.0" data="hold">
- <report records="4317" lines="10" columns="2" rows="10">
<target format="" version="" type="" destination="HOLD" />
- <column_desc>
<col colnum="c0" fieldname="PCD" alias="E01" datatype="char"
width="4" focus_format="A04"
description="Product Identification code (for sale)" accept=""
help_message="" title="Product ID" within=""
property="" reference="" valign="left" />
<col colnum="c1" fieldname="PRODUCT" alias="E02" datatype="char"
width="16" focus_format="A16"
description="Product name" accept="" help_message=""
title="Product" within="" property="" reference=""
valign="left" />
</column_desc>
- <table>
- <tr linetype="data" linenum="1">
<td colnum="c0">C141</td>
<td colnum="c1">Espresso</td>
</tr>
- <tr linetype="data" linenum="2">
<td colnum="c0">C142</td>
<td colnum="c1">Latte</td>
</tr>
- <tr linetype="data" linenum="3">
<td colnum="c0">C144</td>
<td colnum="c1">Capuccino</td>
</tr>
注意:この WebFOCUS 構文どおりにプロシジャを記述する必要はありませんが、結果は 1 行あたり 2 つの値を持つ XML フォーマットにする必要があります。
キャッシュ無効時の連鎖変数値取得
次のプロシジャでは、REGION、ST、CITY の 3 つのパラメータが使用されています。キャッシュが無効になっているため、各パラメータコントロールをそれぞれのプロシジャにマッピングする必要があります。
プロシジャ 1 (REGION)
TABLE FILE GGSALES PRINT DST.REGION BY REGION ON TABLE SET HOLDLIST PRINTONLY ON TABLE PCHOLD FORMAT XML END
プロシジャ 2 (ST)
TABLE FILE GGSALES PRINT DST.ST BY ST WHERE REGION EQ '®ION'; ON TABLE SET HOLDLIST PRINTONLY ON TABLE PCHOLD FORMAT XML END
プロシジャ 3 (CITY)
TABLE FILE GGSALES PRINT DST.CITY BY CITY WHERE REGION EQ '®ION'; WHERE ST EQ '&ST'; ON TABLE SET HOLDLIST PRINTONLY ON TABLE PCHOLD FORMAT XML END
キャッシュ有効時の連鎖変数値取得
次の例では、キャッシュが有効になっているため、単一プロシジャを使用してコントロールの値を挿入します。
TABLE FILE GGSALES PRINT DST.REGION DST.ST DST.CITY BY REGION BY ST BY CITY ON TABLE SET HOLDLIST PRINTONLY ON TABLE PCHOLD FORMAT XML END
XML 出力は次のとおりです。
- <table>
- <tr linetype="data" linenum="1">
<td colnum="c0">Midwest</td>
<td colnum="c1">IL</td>
<td colnum="c2">Chicago</td>
<td colnum="c3">Midwest</td>
<td colnum="c4">IL</td>
<td colnum="c5">Chicago</td>
</tr>
フィールドへの動的値の自動挿入
動的パラメータの名前がデータソース内の対応するフィールド名と一致している場合、HTML キャンバスは、そのパラメータのフィールド名を自動的に挿入します。
デフォルト設定では、TABLE FILE コマンドまたは GRAPH FILE コマンドで指定した最初のデータソースに基づいてデータソースが挿入されます。データタイプとして [動的] を選択した場合、[パラメータ] タブの [設定] パネルの [値フィールド] および [表示フィールド] には、データソースフィールドが挿入されます。これにより、パラメータ名がフィールド名に一致している場合、すぐに実行可能なレイアウトレポートが生成されます。
フィールドへの動的パラメータ値の自動挿入
HTML キャンバスのプッシュボタンコントロールから次のレポートリクエストが呼び出された場合、[パラメータ] タブの [PRODUCT] パラメータの [設定] パネルには、動的に取得された PRODUCT フィールドの値が動的に挿入されます。
TABLE FILE GGSALES SUM UNITS BY PRODUCT WHERE ( PRODUCT EQ '&PRODUCT.Product:.' ); END
静的または動的パラメータ値リストの作成
静的または動的な値リストを作成する場合、すべての値を値リストに追加し、その表示値をパラメータに送信することができます。
開発者は、["すべて" オプションを追加する] 機能を使用して、すべての値を自動的に値リストに追加することができます。この機能を使用すると、次のことが実行されます。
- 動的パラメータの場合、この機能は FOC_NONE の値を WebFOCUS Reporting Server に送信して、パラメータをすべて無視するようにサーバに指示します。パラメータを無視すると、データソースのすべての値が返されます。
- 静的パラメータの場合、この機能は通常、JavaScript を使用してリストに表示されたすべての値を返します。これにより、ユーザがリスト内のすべての値を手動で選択する必要がなくなります。この機能を静的パラメータに使用する場合は、次のオプションを選択することができます。
- 無視値の追加 - このオプションは、実行時に FOC_NONE をサーバに送信し、パラメータをすべて無視するようにサーバに指示します。通常、複雑なアプリケーションに使用します。
- 全値の追加 - このオプションは、実行時に JavaScript を使用して、コントロールリスト内のすべての値をサーバに送信します。[全値の追加] オプションは、[複数選択 OR] 変数タイプを選択した場合にのみ使用します。
[データタイプ] として [動的] または [Active Report][Analytic Document] を使用する場合は、プロシジャの実行時にデフォルト値として表示する値を入力することができます。
注意:[パラメータ] タブに新しい未バインドパラメータを追加する際に選択値を入力することもできます。
静的および動的コントロールの表示値を送信するには
- 手順
- HTML キャンバスで、パラメータを含むレポートをインポートまたは作成します。
パラメータを含むレポートをインポートする際に、[新規パラメータ] ダイアログボックスが表示され、コントロールタイプを作成するよう要求されます。
HTML キャンバスにレポートおよびコントロールが追加されます。
- パラメータ選択時の表示値を送信するには、[デザイン] 表示でコントロールオブジェクト (例、listboxn) を選択し、[パラメータ] タブをクリックします。
- [設定] パネルに移動します。
注意:[設定] パネルで使用可能なオプションは、作成中の値のタイプ (静的または動的) に応じて異なります。
- 値の静的リストの場合、[設定] パネルには、[値]、[画面]、[選択済み] 列が表示されます。
- [値] テキストボックスに、コントロールに渡す値を入力します。
- [画面] テキストボックスに、コントロールに表示する静的パラメータ値を入力します。
- [選択済み] 列で、デフォルト値として表示する値のチェックをオンにします。複数の値を選択することができます。
この手順を繰り返して、必要な値をすべてリストに追加します。
- [表示値を送信する] を選択します。
ヒント:[画面] 列の値は、レポートキャンバスの [変数エディタ] ダイアログボックスで更新することもできます。
- 必要に応じて、値を選択した後、[削除] ボタンをクリックして値を削除したり、上下の矢印を使用して値の順序を変更したりします。
- [デザイン] タブをクリックして、HTML キャンバスのコントロールオブジェクトに表示値を表示します。
- 値の動的リストの場合、[設定] パネルには、[値フィールド] と [表示フィールド] テキストボックスが表示されます。
- [リクエストとデータソース] パネルにリクエストを追加します。
- [外部プロシジャ (リクエストパネル)] を選択します。
- [リクエスト] ドロップダウンリストからプロシジャを選択します。
- [値フィールド] の [...] (参照) ボタンをクリックします。
選択したマスターファイルのフィールド名でオブジェクトインスペクタが開きます。
- フィールド名をダブルクリックして [値フィールド] に追加します。
選択したフィールドは自動的に [表示フィールド] およびデフォルトプロシジャのソースコードに追加されます。
- 必要に応じて、[表示フィールド] の [...] (参照) ボタンをクリックして、[表示フィールド] に異なるフィールド名を選択することができます。
- 必要に応じて、["すべて" オプションを追加する] を選択して、パラメータ値リストにすべての値を自動的に追加することができます。
- 必要に応じて、["選択なし" オプションの追加] を選択し、最初にページをロードする際に、連鎖にすべてのコントロールを入力する代わりに、コントロールを 1 つずつ入力して、パフォーマンスを最適化します。
- [表示値を送信する] を選択します。
[表示値を送信する] を選択した場合、&Variable は、実際の値ではなく、表示値を取得します。
- 必要に応じて、レポートに見出しを追加して、表示値を表示することもできます。HTML キャンバスでレポートをダブルクリックし、レポートを開いて編集します。
レポートキャンバスでレポートが開きます。
- レポート見出しまたはレポート脚注に「&Variable_TEXT」を追加します。
注意:レポートプロシジャに &Variable_TEXT が使用されている場合、[表示値を送信する] が選択されているかどうかに関係なく、このテキスト変数が常に送信されます。
見出しとして「Display Value: &STCD_TEXT」と入力します。ここで、店舗コード STCD は変数名です。
ヒント:この操作は、データソースから実際の値を追加する場合とは異なります。その場合は、変数名をクリックするとレポート見出しに <STCD が追加されます。
- レポートを保存して閉じた後、HTML キャンバスに戻ります。
テキスト変数 (&Variable_TEXT) を作成する場合、この変数のコントロールタイプは不要のため、HTML キャンバスに戻る際に、コントロールタイプの設定は要求されません。
- HTML ページを実行します。
- パラメータを選択し、レポートを実行します。
レポート見出しに表示値が表示されます。
注意:レポートプロシジャに &Variable_TEXT が使用されている場合、[表示値を送信する] が選択されているかどうかに関係なく、このテキスト変数が常に送信されます。
プロシジャ名を値として使用するには
[プロシジャ/HTML ファイルの値を使用] オプションを使用すると、コントロールにプロシジャ名または HTML ファイル名が挿入されます。プロシジャ名をクリックすると、そのプロシジャが実行されます。
- 手順
- HTML ページを作成し、リストボックス、プッシュボタン、レポートを追加します。
注意:この手順ではリストボックスを使用していますが、[プロシジャ/HTML ファイルの値を使用] オプションは、ダブルリスト、ドロップダウンリスト、ラジオボタン、チェックボックスのコントロールでも使用することができます。
- リストボックスを選択して、[設定] パネルを開きます。
注意:[設定] パネルが開かない場合は、[ユーティリティ] タブの [表示] グループで [設定] のチェックをオンにします。
- [データタイプ] として [静的] を選択します。
- [設定] パネルの下部で、[プロシジャ/HTML ファイルの値を使用] のチェックをオンにします。
- [新規作成] ドロップダウンリストから [プロシジャ/HTML ファイルの値を使用] を選択し、[ファイルを開く] ダイアログボックスを開きます。ディレクトリからプロシジャを選択します。
注意:[ファイルを開く] ダイアログボックスで複数のプロシジャを選択することで、[設定] パネルに複数のプロシジャ名を追加することができます。
- [設定] パネルにプロシジャを追加した後、表示された値をダブルクリックして (選択されていない場合)、プロシジャ値の表示名を編集します。
- [タスクとアニメーション] パネルを開きます。
- 作成済みレポートフレーム内のコントロールから選択されたプロシジャを開くためのハイパーリンクを作成します。
- [リスト] エリアで [新規作成] ボタンをクリックし、[task1] を作成します。[トリガ ID] リストで [button1] オブジェクトを選択します。[リクエスト/アクション] リストから、[プロシジャ/HTML 名の使用] を選択します。
このオプションは、[設定] パネルの [プロシジャ/HTML ファイルの値を使用] オプションに同期しています。このオプションを使用すると、ハイパーリンクには単一値ではなく、プロシジャ全体が指定されます。このオプションは、HTML ページのコントロールで [プロシジャ/HTML ファイルの値を使用] オプションが使用されている場合にのみ使用可能になります。
- [listbox1] を選択します。
使用するコントロールが異なれば、選択するソースも異なります。たとえば、combobox1、customselect1、radio1、checkbox1 になります。
- [ターゲットのタイプ] ドロップダウンリストから [フレーム] を選択します。
プロシジャを新しいウィンドウで開く場合は、ターゲットとして [新規ウィンドウ] を選択することもできます。
- [ターゲットフレーム] ドロップダウンリストから [report1] を選択します。
- [リスト] エリアで [新規作成] ボタンをクリックし、[task1] を作成します。[トリガ ID] リストで [button1] オブジェクトを選択します。[リクエスト/アクション] リストから、[プロシジャ/HTML 名の使用] を選択します。
- ページを実行します。
- リストボックスからプロシジャを選択し、ボタンをクリックします。
レポートが実行されます。
表示値をデフォルト値として使用するには
[データタイプ] として [動的] または [Active Report][Analytic Document] を使用する場合は、プロシジャの実行時にデフォルト値として表示する値を入力することができます。
動的プロンプト値を含むプロシジャ (.fex) をインポートすると、データソースから取得された値が入力ボックスに自動的に挿入されます。表示値がデータソースに使用される場合は、デフォルト設定でその値が選択されます。表示値がデータソースに使用されない場合は、入力した値は無視され、データソースから取得された最初の値が選択されます。
- 手順
- パラメータを含むレポートを作成またはインポートします。
HTML キャンバスにレポートおよびコントロールが追加されます。
- 選択した値をデフォルト値として使用するには、[デザイン] 表示でコントロールオブジェクト (例、listboxn) を選択し、[パラメータ] 表示タブをクリックします。
[設定] パネルが開きます。
注意:[設定] パネルで使用可能なオプションは、作成中の値のタイプ (静的または動的) に応じて異なります。
- 値の動的リストの場合、[設定] パネルには、[値フィールド] と [表示フィールド] テキストボックスが表示されます。
- デフォルトプロシジャを使用する場合は、次の手順を実行し、動的値を指定します。
- [デフォルト] を選択します。
- [データソース] テキストボックス横の [...] (参照) ボタンをクリックします。
[データソースの選択] ダイアログボックスが表示されます。
- マスターファイル名を選択し、[OK] をクリックします。
- [値フィールド] 横の [...] (参照) ボタンをクリックします。
選択したマスターファイルのフィールド名でオブジェクトインスペクタが開きます。
- フィールド名をダブルクリックして [値フィールド] に追加します。
選択したフィールドは自動的に [表示フィールド] に追加されます。
- 必要に応じて、[表示フィールド] の [...] (参照) ボタンをクリックして、[表示フィールド] に異なるフィールド名を選択することができます。
- 必要に応じて、["すべて" オプションを追加する] を選択して、パラメータ値リストにすべての値を自動的に追加することができます。
- 必要に応じて、["選択なし" オプションの追加] を選択し、最初にページをロードする際に、連鎖にすべてのコントロールを入力する代わりに、コントロールを 1 つずつ入力して、パフォーマンスを最適化します。
- [表示値] テキストボックスに、データソースに格納されているパラメータ値を正確に入力します。
パラメータ値には、大文字と小文字の区別があります。
- 必要に応じて、複数の値を入力することができます。その場合は、区切り文字としてセミコロン (;) を使用します。たとえば、「CT;GA」のように入力します。
[表示値] に複数の値を入力するには、セミコロン (;) またはカンマ (,) を使用することができます。また、カンマやセミコロンが埋め込まれたデータ値を使用することもできます。これらの埋め込み文字を使用する場合は、テキストボックス内のすべての値を二重引用符 (") で囲む必要があります。以下はその例です。
ENGLAND;ITALY
ENGLAND,ITALY
“ENGLAND”,”IT,ALY”
上記の最後の例では、一方の値にのみ埋め込みカンマ (,) が使用されていますが、この場合でも両方の値を二重引用符 (") で囲む必要があります。
- 外部プロシジャを使用する場合は、次の手順を実行し、動的値を指定します。
- [外部プロシジャ (リクエストパネル)] を選択します。
- [リクエスト] ドロップダウンリストからプロシジャを選択します。
- [値フィールド] と [表示フィールド] の [...] (参照) ボタンをクリックしてフィールド名を選択するか、フィールド名を直接入力します。
注意:外部プロシジャのパラメータ名のみが選択可能です。
- 必要に応じて、["すべて" オプションを追加する] を選択して、パラメータ値リストにすべての値を自動的に追加することができます。
- [表示値] テキストボックスに、データソースに格納されているパラメータ値を正確に入力します。
パラメータ値には、大文字と小文字の区別があります。
- 必要に応じて、複数の値を入力することができます。その場合は、区切り文字としてセミコロン (;) を使用します。たとえば、「CT;GA」のように入力します。
[表示値] に複数の値を入力するには、セミコロン (;) またはカンマ (,) を使用することができます。また、カンマやセミコロンが埋め込まれたデータ値を使用することもできます。これらの埋め込み文字を使用する場合は、テキストボックス内のすべての値を二重引用符 (") で囲む必要があります。以下はその例です。
ENGLAND;ITALY
ENGLAND,ITALY
“ENGLAND”,”IT,ALY”
上記の最後の例では、一方の値にのみ埋め込みカンマ (,) が使用されていますが、この場合でも両方の値を二重引用符 (") で囲む必要があります。
- デフォルトプロシジャを使用する場合は、次の手順を実行し、動的値を指定します。
- [Active Report][Analytic Document] を選択した場合は、[設定] パネルに [利用可能な Active ReportAnalytic Document]、[メニューオプションタイプ]、[共通フィールド] ボックスが表示されます。
- [利用可能な Active ReportAnalytic Document] リストから 1 つまたは複数の Active ReportAnalytic Document を選択します。選択したレポートは、レイアウト内で Active ReportAnalytic Document コントロールとバインドされます。
Active ReportAnalytic Document を選択した場合、[設定] パネルの [Active ReportAnalytic Document のリフレッシュ] がデフォルト設定で有効になります。
- ActiveAnalytic Document フォームコントロールの各メニューオプションタイプを選択して、フィールドをソート、フィルタ、表示、選択したり、バインドされた Active ReportAnalytic Document およびその Active ReportAnalytic Document に同期されたレポートおよびグラフオブジェクトの外観スタイルを変更したりします。
- 必要に応じて、["すべて" オプションを追加する] を選択して、パラメータ値リストにすべての値を自動的に追加することができます。
- [表示値] テキストボックスに、データソースに格納されているパラメータ値を正確に入力します。
パラメータ値には、大文字と小文字の区別があります。
- 必要に応じて、複数の値を入力することができます。その場合は、区切り文字としてセミコロンを使用します。たとえば、「CT;GA」のように入力します。
[表示値] に複数の値を入力するには、セミコロン (;) またはカンマ (,) を使用することができます。また、カンマやセミコロンが埋め込まれたデータ値を使用することもできます。これらの埋め込み文字を使用する場合は、テキストボックス内のすべての値を二重引用符 (") で囲む必要があります。以下はその例です。
ENGLAND;ITALY
ENGLAND,ITALY
“ENGLAND”,”IT,ALY”
上記の最後の例では、一方の値にのみ埋め込みカンマ (,) が使用されていますが、この場合でも両方の値を二重引用符 (") で囲む必要があります。
- [利用可能な Active ReportAnalytic Document] リストから 1 つまたは複数の Active ReportAnalytic Document を選択します。選択したレポートは、レイアウト内で Active ReportAnalytic Document コントロールとバインドされます。
- 単一選択の未バインドパラメータの場合は、[設定] パネルに [選択値] 入力フィールドが表示されます。
- [表示値] テキストボックスに、データソースに格納されているパラメータ値を正確に入力します。
パラメータ値には、大文字と小文字の区別があります。
- 必要に応じて、複数の値を入力することができます。その場合は、区切り文字としてセミコロンを使用します。たとえば、「CT;GA」のように入力します。
[表示値] に複数の値を入力するには、セミコロン (;) またはカンマ (,) を使用することができます。また、カンマやセミコロンが埋め込まれたデータ値を使用することもできます。これらの埋め込み文字を使用する場合は、テキストボックス内のすべての値を二重引用符 (") で囲む必要があります。以下はその例です。
ENGLAND;ITALY
ENGLAND,ITALY
“ENGLAND”,”IT,ALY”
上記の最後の例では、一方の値にのみ埋め込みカンマ (,) が使用されていますが、この場合でも両方の値を二重引用符 (") で囲む必要があります。
単一選択パラメータであっても、複数値が指定、選択されます。
- [表示値] テキストボックスに、データソースに格納されているパラメータ値を正確に入力します。
- [実行] ボタンをクリックし、選択した値のパラメータを使用してレポートを実行します。
レポートが表示されます。
選択値がデータソースから取得可能な場合は、その値がパラメータリストに自動的に選択 (ハイライト) された状態で表示されます。
表示値がレポート出力に使用されない場合は、入力した値は無視され、データソースから取得された最初の値が表示されます。
プロパティパネルでのプロパティのパラメータ化
[プロパティ] パネルでは、HTML ページ上のすべてのオブジェクトのプロパティをパラメータ化することができます。これにより、変数に値を追加し、その変数を WebFOCUS App Studio の対応するプロパティ設定に渡すことで、HTML ページの動作制御が可能になります。
値を渡すには、!IBI.AMP.VarName 変数を使用するか、URL コールを使用します。
プロパティパネルでプロパティをパラメータ化するには
次の手順では、[プロパティ] パネルでプロパティをパラメータ化する方法について説明します。この方法では、!IBI.AMP.VarName 変数および HTML ページへのプロシジャコールを使用します。
- 手順
- 環境ツリーでフォルダを右クリックし、[新規作成]、[HTML/ドキュメント] を順に選択して、新しい HTML ページを作成します。
- [コンポーネント] タブの [一般要素] グループで [プッシュボタン] をクリックし、キャンバス上にボタンを描画します。
- [コントロール] タブの [ツリー] ドロップダウン矢印をクリックして [マルチソースツリーコントロール] オプションを選択し、キャンバス上にコントロールを描画します。
- [リクエストとデータソース] パネルで [新規作成] ドロップダウン矢印をクリックし、[データソースの追加] を選択します。
- [ibisamp] ディレクトリに移動し、マスターファイルを選択します。たとえば、[movies.mas] を選択します。
- HTML キャンバス上のボタンコンポーネントを選択します。
- [プロパティ] パネルで、次の手順を実行します。
- [色] プロパティのテキストボックスに「!IBI.AMP.MYCOLOR;」と入力します。
- [背景色] プロパティのテキストボックスに「!IBI.AMP.BCOLOR;」と入力します。
下図は、[プロパティ] パネルの [色] および [背景色] プロパティを示しています。
- キャンバス上のマルチソースツリーコントロールを選択します。[プロパティ] パネルの [テキスト方向] プロパティのテキストボックスに「!IBI.AMP.DIRECTION;」と入力します。
下図は、[プロパティ] パネルの [テキスト方向] プロパティを示しています。
- 下図のように、[設定] パネルで [値フィールド] テキストボックス横の [...] (参照) ボタンをクリックし、[TITLE] をダブルクリックします。
- HTML ページを保存し、キャンバスを閉じます。
- 環境ツリーでアプリケーションフォルダ (例、baseapp) を右クリックし、[新規作成]、[プロシジャ] を順に選択します。
- 次のコードを入力します。
-DEFAULT &DIRECTION='rtl'; -DEFAULT &MYCOLOR='RED'; -DEFAULT &BCOLOR='BLUE';
- [プロシジャビュー] パネルで [コメント] を右クリックし、[新規作成]、[HTML フォーム]、[参照] を順に選択します。
- 参照する HTML ページをダブルクリックします。
- プロシジャを閉じ、ファイルを保存します。
- 環境ツリーで、作成したプロシジャを右クリックし、[実行] を選択します。
下図のようにページが開き、指定されたデフォルト値が表示されます。
- [実行] アイコンをクリックします。
出力結果では、背景色が青色、ボタンテキストが赤色、映画のタイトルが右揃えで表示されます。
- 下図のように、[フィルタパネルの表示] アイコンをクリックします。
- 下図のように、方向を [ltr] (左から右)、背景色を [YELLOW] (黄色) に変更します。
- [実行] アイコンをクリックします。下図のように、出力結果では、ボタンの背景色が黄色、映画のタイトルが左揃えで表示されます。
注意:別の方法として、ブラウザのアドレスバーに URL を入力することで、[プロパティ] パネルのプロパティをパラメータ化することもできます。以下はその例です。
http://host:port/app_directory/htmfilename.htm?bcolor=red
この例の注意点は次のとおりです。
- [プロパティ] パネルでこのパラメータ値に対応するパラメータ &Varname (例、&bcolor) を追加しておく必要があります。
- bcolor は背景色を表します。