2011-10-17 5 views
4

私は相対的なAPEXのnoobです。APEXでフォームを作成してインタラクティブレポートのクエリに変数を設定する

私は10gR2データベースに対してAPEX 4.0を実行しています。

いくつかの入力(開始と終了の2つの日付フィールドと、さらにフィルタリングするためのテキストフィールド)と、入力変数をプルするときに機能する動的レポートを作成するクエリを作成しました。 :START_DATE、:END_DATE、:OFFICE)を静的な値で置き換えます。

レポートにヒットしたときにユーザーに表示される結果をフィルタリングするために、クエリで使用するためにこれらの値を動的レポートページに送信するフォームを作成します。

私はこれの良いステップバイステップの例を見つけるのは大したことはありません。私は2つの日付ピッカーとLOV選択ドロップダウンで空白のページを作成しましたが、その値を動的レポートに最もよく変換する方法が不明です。

誰かがこれについて適切なドキュメントで私を指摘できますか?

答えて

9

次のことをするApex 4.1を使用して開発されたが、離れて、いくつかの化粧品から原則は同じである必要があります変わりました。

データは、標準scott.empスキーマから得られます。

概要

これは1ページで、ユーザーがEMPNOと\または入社日を入力することができます。別のページに次のレポートを押された提出

enter image description here

が表示されます。どのように動作

enter image description here

私は三つの項目を作成した1ページの

表示されます。テキスト項目はP1_EMPNOおよびP1_HIREDATEと呼ばれます。ボタンのアクションは、1ページにまだ

「ページを送信」以下の値を持つブランチを作成することです:

enter image description here

このブランチは(まだ開発されている)2ページに移動しますページ1の値でページ2の項目の値を設定します。

新しいページを作成します。この例では、ページ2を参照します。2ページ

は、次のクエリを使用して、新しいインタラクティブなレポートを作成します。

select e.* 
from emp e 

次はレポートと同じ領域に2つのテキストアイテムを作成し、これらを呼び出す:P2_EMPNOと:P2_HIREDATEを。開発中にこれらのアイテムを表示して、正しい値がページに渡されていることがわかります。レポートに満足すれば、いつでも非表示に設定できます。

は最後に

enter image description here

アプリケーションを実行ページ1から供給された値を使用する対話型のレポートで使用されるクエリを修正します。

+0

もちろん、あなたのパラメータと同じページにレポートがあるときに分岐する必要はありませんが、私はページ2の項目を持つ必要はないと思いますアイテムを表示します(そうでなければ、それらを変更しようとしますが、送信なしでは何も起こりません)。単にp2からp1_hiredateを参照することができます。私は(IRF2_EMPNOのような)IRフィルターを設定できませんでしたが、(作業領域atmにアクセスできない)と思っていますか? – Tom

+0

@Tom:コメントありがとう、いつも感謝しています。フィールド2のページが表示される理由を明確にするために私の答えを編集しました。 –

+0

Ian:これを実装しようとしましたが、失敗しました。 2ページ目の変数は、ブランチで設定できる「項目」として設定されていないようです。インタラクティブなレポートのソースに名前を付けて、設定可能なアイテムに設定する以外に必要なことはありますか? – Rob

1

クエリのページ項目を参照する必要があります。つまり、クエリがセッション状態を取得する前にページを送信する必要があります。小さなパラメータフォームを提供するときに行うことは、ボタンを上に置くことです(つまり、「クエリ」というラベルが付けられています)。これは送信を行います。

レポートでは、アイテムを参照することができます。たとえば、あなたが2つの項目P1_DATE_STARTP1_DATE_ENDを持っている場合、クエリは次のようになります。

SELECT firstname, lastname, job 
    FROM employees 
WHERE employment_start BETWEEN to_date(:P1_DATE_START) AND to_date(:P1_DATE_END); 
関連する問題