Oracle® Fusion Middleware Oracle Reportsレポート作成のためのユーザーズ・ガイド 12c (12.2.1.1) E79319-01 |
|
前へ |
次へ |
B_SALESREPおよびB_ALL2のテキストは、それぞれ特定の従業員にのみ該当します。したがって、各テキストを表示するかどうかを決定する条件を適用する必要があります。また、オブジェクト(B_SALESREP、B_ALL2など)が印刷されないときは、その下のオブジェクト(B_ALL2、B_ALL3など)がレイアウトで上に移動する必要があります。そうしないと、表示されないオブジェクトがある従業員のレポート出力には、大きな空白ができます。この問題を解決するには、テキスト・オブジェクトをアンカーで連動します。
縮小アンカーを作成するには:
ペーパー・レイアウト・ビューで、ツール・パレットの「アンカー」ツールをクリックします。
B_SALESREP (2番目のテキスト・オブジェクト)の左上隅の線をクリックして、B_ALL(最初のテキスト・オブジェクト)の左上隅までドラッグします。ダブルクリックして、新しいアンカー・オブジェクトを作成します。
「ツール」→「プロパティ・インスペクタ」を選択して、アンカー・オブジェクトのプロパティ・インスペクタを表示します。
「子の枠の割合(%)」プロパティと「親の枠の割合(%)」プロパティを「0」に設定します。
「垂直方向に縮小」プロパティを「はい」に設定します。
レポート・エディタのタイトル・バーをクリックして、再度アクティブなウィンドウにします。
前述の手順を繰り返しますが、今度はB_ALL2の左上隅からB_SALESREPの左上隅にドラッグします。
再度、前述の手順を繰り返しますが、今度はB_ALL3の左上隅からB_ALL2の左上隅にドラッグします。
フォーマット・トリガーを作成するには:
ペーパー・レイアウト・ビューで、「B_SALESREP」をダブルクリックしてプロパティ・インスペクタを表示し、次のプロパティを設定します。
「拡張レイアウト」で、「フォーマット・トリガー」プロパティ・フィールドをダブルクリックし、PL/SQLエディタを表示します。
PL/SQLエディタで、テンプレートを使用して次のPL/SQLコードを入力します。
function B_SalesrepFormatTrigger return boolean is begin if :comm >= 500 then return(TRUE); else return(FALSE); end if; end;
このボイラープレートは、コミッションが$500より多い従業員のレターにのみ印刷されます。
前述の手順を繰り返しますが、今度はB_ALL2に対して次のPL/SQLを入力します。
function B_ALL2FormatTrigger return boolean is begin if ((:comm < 500) or (:comm is null)) then return(TRUE); else return(FALSE); end if; end;
このロジックによって、B_SALESREPが印刷されないレターにのみB_ALL2が印刷されます。
レポートをコンパイルして保存し、実行します。ディナーへの招待があるフォーム・レターと感謝のメッセージがあるフォーム・レターがあることを確認します。
ヒント: 特定の宛先タイプでこのレポートをプレビューするには、ペーパー・デザイン・ビューで「ファイル」→「プレビュー・フォーマット」を選択して、宛先タイプを選択します。このレポート出力では、画面表示フォントではなくプリンタ・フォントと同じように表示されるので、印刷されたレポートの外観(行の折返しなど)を確認しやすくなります。また、条件付きフォーム・レター・レポートを冒頭の図のように便箋に印刷するときは、レイアウトの作成時に、レターのテキストが便箋全体のデザインに合うようにレターヘッドの位置なども考慮する必要があります。 |