前へ
前へ
 
次へ
次へ

レポート・テンプレート

レポート列テンプレートによって、SQL問合せによって戻される1行の結果を制御できます。このタイプのテンプレートは、行全体ではなく、セルを定義します。

各レポート・テンプレートでは、#1#、#2#、#3#などの構文を使用して列名を識別します。#ENAME##EMPNO#などの列名の置換構文を使用して、列に名前を付けることもできます。 アプリケーションのどのアイテムもテンプレート内で参照できます。 たとえば、テンプレートのABC.というアイテムを参照するには、置換文字列&ABC.を正確に含めます。ABC.の実際の値は、ABCという名前のアプリケーションのアイテムを編集するエンド・ユーザーによって提供されます。

トピック:

汎用列テンプレートおよび名前付き列テンプレートについて

Oracle Application Expressには、次の2種類のレポート・テンプレートが含まれています。

汎用列テンプレート

汎用列テンプレートは、列の外観を1回定義することによって、レポートの外観を決定します。その後、この外観は、レポート定義に指定された列の数に基づいて、必要なだけ繰り返されます。このタイプのテンプレートを使用できるのは、行および列が標準的な構造のレポートに限られます。条件を使用すると、このタイプのテンプレートでレポートに追加のスタイルを適用できます。

次の例では、各列で特定のスタイルを使用する方法を示します。

<td class="tabledata" align="#ALIGN#">#COLUMN_VALUE#</td>

この例では、ページ・テンプレートにクラスtabledataを含むCSSが存在することを想定しています。また、この例では、置換文字列#ALIGN#および#COLUMN_VALUE#を使用しています。実際にこのレポートを実行すると、これらの置換文字列は、SQL問合せの結果によって生成された値に置換されます。

問合せの選択リストに式を使用する場合は、列の別名を作成して実行時エラーを回避することをお薦めします。たとえば、次のような問合せを考えてみます。

SELECT ename, (sal + comm) * 12 FROM emp

問合せをリライトして、次のように列に別名を付けることができます。

SELECT ename, (sal + comm) * 12 yearly_comp FROM emp

名前付き列テンプレート

名前付き列テンプレートを使用すると、より柔軟にレポートを設計できます。ただし、名前付きテンプレートは名前で列を参照するため、それらの列を基にしたレポートでのみ使用されます。次に例を示します。

<tr><td>#ENAME#</td><td>#SAL#</td></tr>

名前付き列テンプレートは自由度の高いものですが、問合せごとに新しいテンプレートを作成する必要がある場合があります。位置表記を含めることもできます。次の例では、HTMLおよび置換文字列を使用する方法を示します。

<tr><td>#ENAME#</td><td>#SAL#</td></tr>

<tr><td>#1#</td><td>#2#</td></tr>

汎用列テンプレートのレポート列テンプレート属性

ここでは、汎用列テンプレートのレポート・テンプレートの編集・ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。

レポート・テンプレート

「テンプレート名」は、テンプレートの名前を示します。「テンプレート・タイプ」には、テンプレートのタイプを指定します。名前付き列テンプレートは、テンプレートの列名を参照します。汎用列テンプレートは、テンプレートの#COLUMN_VALUE#置換文字列を参照します。

「テーマ」は、テンプレートが関連付けられているテーマを示します。「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。テンプレートに翻訳が必要なテキスト文字列が含まれていることを示すには、「翻訳可能」チェック・ボックスを使用します。

テンプレート・サブスクリプション

カレント・アプリケーションに既存のテンプレートを適用するには、「テンプレートのサブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。

マスター・テンプレートの新しいコピーをロードするには、「テンプレートのリフレッシュ」をクリックします。

行の前

「行の前」では、レポート・テンプレートの最初に1回表示するHTMLを入力します。HTML表は、一般的に、次のようにこの属性を使用して開始します。

<table>

構文#1##2##3#を使用して列ヘッダーを指定できます。次に例を示します。

<th>#1#</th><th>#2#</th><th>#3#</th>

置換文字列#top_pagination#を含めることによって、レポートの上部にページ区切りを含めることができます。この置換文字列は、開始タグ<tr>で始まり、閉じタグ</tr>で終わるHTMLを生成します。たとえば、表の開始タグと#TOP_PAGINATION#置換文字列を含めるには、次のように入力します。

<table>#TOP_PAGINATION#

また、置換文字列 #CSV_LINK#を使用すると、ほぼすべてのスプレッドシート・プログラムと互換性があるカンマ区切り値(CSV)形式にレポートをエクスポートできるようになります。

列ヘッダー

「列ヘッダー・テンプレート」を使用して、各列ヘッダーのセルに色を追加します。この属性のテキストには、セルのヘッダー・テキストをカラー化する位置を指定する必要があります。次に例を示します。

 <th #ALIGNMENT#>#COLUMN_HEADER#</th>

列ヘッダーを使用しない場合は、次のように入力します。

OMIT

この属性を使用しない場合は、Application Expressエンジンによって、デフォルトの列ヘッダー・テンプレートが適用されます。

各行の前

「各行の前」では、レポートのすべての列の前に表示するテキストを入力します。この属性は、新しいHTML行を開始するために使用します。「各行の前」では、次の置換文字列をサポートします。

  • #ROWNUM#

    この置換文字列は、現行の行を指定するために使用します。

  • #COLCOUNT#

    この置換文字列は、列の数を指定するために使用します。

  • #HIGHLIGHT_ROW#

    この置換文字列は、ハイライトされた行の数を指定するために使用します。

テンプレート

列テンプレートは、各列の外観を定義します。最大4つの列テンプレートを定義できます。各テンプレートは、条件付きにできます。たとえば、偶数行と奇数行に異なる背景色を指定したり、PL/SQLで定義した条件に一致する行をハイライトできます。

各列テンプレートでは、各列の外観を定義します。表「列テンプレートの置換文字列」に、列テンプレートでサポートされる置換文字列を示します。

列テンプレートの置換文字列

置換文字列 説明

#ALIGNMENT#

列の位置合せを指定します。ユーザーが指定します。

#COLCOUNT#

列数のカウントを定義します。

#COLNUM#

現在の列番号を定義します。

#COLUMN_HEADER#

列ヘッダーを定義します。

#COLUMN_VALUE#

列の値に置換されます。

#ROWNUM#

現在の行番号を指定します。


次に例を示します。

<td> #ALIGNMENT#>#COLUMN_VALUE#</td>

実際にこのレポートを実行すると、これらの置換文字列は、SQL問合せの結果によって生成された値に置換されます。

条件を作成すると、指定した条件に一致するかどうかによって列の表示が異なるレポートを作成できます。条件付きで使用される列テンプレートを指定するには、列テンプレートの条件リストから条件タイプを選択します。有効な値は、次のとおりです。

  • PL/SQL式に基づく使用: その行のデータに基づき、条件付きで列を書式化します。

  • 偶数行で使用: 偶数行を条件付きで書式化します。

  • 奇数行で使用: 奇数行を条件付きで書式化します。

「PL/SQL式に基づく使用」を選択する場合は、次に列テンプレートの式フィールドでPL/SQL式を入力します。たとえば、次の式で値が2000より大きい場合、その値を太字で表示します。

#SAL# > 2000

置換文字列#ROWNUM#を使用することもできます。次に例を示します。

#ROWNUM# > 2000

各行の後

「各行の後」には、レポートを表示する際にすべての列の後に表示するHTMLを入力します。多くの場合、この属性は、HTML表の行を閉じるために使用されます。次に例を示します。

</tr>

行の後

行の後」を使用して、最後の行の後に表示するテキストを指定します。HTML表のタグは、一般的に、この属性を使用して閉じます。次に例を示します。

</table>

「行の後」属性は、次の置換文字列をサポートします。

  • #PAGINATION#

    ページ区切り属性で置換されます。

  • #COLCOUNT#

    実行時に、レポートで定義された列数に置換されます。

行選択

チェックした行のバックグラウンド・カラー」を使用して、行セレクタが選択されている場合のレポート行の背景色を制御します。「カレント行のバックグラウンド・カラー」を使用して、ユーザーがその行の上にマウスを移動した場合のレポート行の背景色を制御します。

ページ区切りサブテンプレート

ページ区切りのサブテンプレートのセクションには、ページ区切りテンプレート、次のページ・テンプレート、前のページ・テンプレート、次のセット・テンプレート、および前のテンプレートを編集する属性が含まれています。ページ区切りサブテンプレートは、置換文字列#PAGINATION_NEXT##PAGINATION_NEXT_SET##PAGINATION_PREVIOUS#および#PAGINATION_PREVIOUS_SET#をサポートしています。表「ページ区切りサブテンプレート属性」に、これらのテンプレートについて示します。

ページ区切りサブテンプレート属性

ページ区切りサブテンプレート属性 説明

ページ区切りテンプレート

ページ区切りサブテンプレート全体に適用します。次に例を示します。

<span class="instructiontext">#TEXT#</span>

置換文字列#TEXT#を使用して、ページ区切りサブテンプレートを表示する場所を指定します。

個々のアイテムを変更するには、その他のページ区切りサブテンプレート属性を使用します。

次のページ・テンプレート

ページ区切りサブテンプレートの「次のページ」部分を表示する方法を変更するHTMLを入力します。次に例を示します。

<a href="#LINK#">next</a>

前のページ・テンプレート

ページ区切りサブテンプレートの「前のページ」部分を表示する方法を変更するHTMLを入力します。次に例を示します。

<a href="#LINK#">previous</a>

次のセット・テンプレート

ページ区切りサブテンプレートの「次のセット」部分を表示する方法を変更するHTMLを入力します。次に例を示します。

<a href="#LINK#">next set</a>

前のセット・テンプレート

ページ区切りサブテンプレートの「前の設定」部分を表示する方法を変更するHTMLを入力します。次に例を示します。

<a href="#LINK#">previous set</a>

コメント

この属性を使用して、このコンポーネントに関するコメントを記録します。

名前付き列テンプレートのレポート列テンプレート属性

ここでは、名前付き列テンプレートのレポート・テンプレートの編集ページの特定のセクションについて説明します。ページの各セクションにアクセスするには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックします。ページの上部でボタンを選択すると、選択したセクションが表示され、その他すべてのセクションは一時的に非表示になります。ページの全セクションを表示するには、「すべて表示」をクリックします。

名前

「テンプレート名」は、テンプレートの名前を示します。「テンプレート・タイプ」には、テンプレートのタイプを指定します。名前付き列テンプレートは、テンプレートの列名を参照します。汎用列テンプレートは、テンプレートの#COLUMN_VALUE#置換文字列を参照します。

「テーマ」は、テンプレートが関連付けられているテーマを示します。テンプレートに翻訳が必要なテキスト文字列が含まれていることを示すには、「翻訳可能」チェック・ボックスを使用します。「テンプレート・クラス」は、そのテンプレートに固有の用途を示します。新しいテーマに切り替えると、あるテーマのすべてのテンプレートは、別のテーマの対応するテンプレートにマップされます。アプリケーション・ビルダーは、テンプレート・クラスの割当てによってこのテンプレート・マッピングを行います。

サブスクリプション

カレント・アプリケーションに既存のテンプレートを適用するには、「サブスクリプション」を使用します。既存のテンプレートを選択すると、ユーザーはそのテンプレートのサブスクライバになります。

マスター・テンプレートの新しいコピーをロードするには、「リフレッシュ」をクリックします。

テンプレート

行テンプレートは、各行の外観を定義します。最大4つの行テンプレートを定義できます。各テンプレートは、条件付きにできます。

各行テンプレートでは、各行の外観を定義します。行テンプレートは、表「行テンプレートの置換文字列」に示される置換文字列をサポートします。

行テンプレートの置換文字列

置換文字列 説明

#ALIGNMENT#

行の位置合せを指定します。ユーザーが指定します。

#COLCOUNT#

列数のカウントを定義します。

#COLNUM#

現在の列番号を定義します。

#COLUMN_HEADER#

列ヘッダーを定義します。

#COLUMN_VALUE#

列の値に置換されます。

#ROWNUM#

現在の行番号を指定します。


条件を作成すると、指定した条件に一致するかどうかによって行の表示が異なるレポートを作成できます。条件付きで使用される行テンプレートを指定するには、列テンプレートの条件リストから条件タイプを選択します。有効な値は、次のとおりです。

  • PL/SQL式に基づく使用: その行のデータに基づき、条件付きで列を書式化します。

  • 偶数行で使用: 偶数行を条件付きで書式化します。

  • 奇数行で使用: 奇数行を条件付きで書式化します。

「PL/SQL式に基づく使用」を選択する場合は、次に列テンプレートの式フィールドでPL/SQL式を入力します。たとえば、次の式で値が2000より大きい場合、その値を太字で表示します。

#SAL# > 2000

置換文字列#ROWNUM#を使用することもできます。次に例を示します。

#ROWNUM# > 2000

列見出し

各列ヘッダーのセルに色を追加するには、このテンプレートを使用します。この属性のテキストには、セルのヘッダー・テキストをカラー化する位置を指定する必要があります。「列ヘッダー・テンプレート」を入力しない場合は、デフォルトの列ヘッダー・テンプレートが適用されます。列ヘッダーを使用しない場合は、OMITを入力します。次に例を示します。

 <th #ALIGNMENT#>#COLUMN_HEADER#</th>

最初の前および最後の後のテキスト

「行の前」では、レポート・テンプレートの最初に1回表示するHTMLを入力します。HTML表は、一般的に、次のようにこの属性を使用して開始します。

<table>

構文#1##2##3#を使用して列ヘッダーを指定できます。次に例を示します。

<th>#1#</th><th>#2#</th><th>#3#</th>

置換文字列#top_pagination#を含めることによって、レポートの上部にページ区切りを含めることができます。この置換文字列は、開始タグ<tr>で始まり、閉じタグ</tr>で終わるHTMLを生成します。たとえば、表の開始タグと#TOP_PAGINATION#置換文字列を含めるには、次のように入力します。

<table>#TOP_PAGINATION#

また、置換文字列#CSV_LINK#を使用すると、ほぼすべてのスプレッドシート・プログラムと互換性があるCSVフォーマットにレポートをエクスポートできるようになります。

行の後」を使用して、最後の行の後に表示するテキストを指定します。HTML表のタグは、一般的に、この属性を使用して閉じます。次に例を示します。

</table>

「行の後」属性は、次の置換文字列をサポートします。

  • #PAGINATION#

    ページ区切り属性で置換されます。

  • #COLCOUNT#

    実行時に、レポートで定義された列数に置換されます。

ページ区切り

「ページ区切り」セクションには、ページ区切りテンプレート、次のページ・テンプレート、前のページ・テンプレート、次のセット・テンプレート、および前のテンプレートを編集する属性が含まれています。ページ区切りサブテンプレートは、置換文字列#PAGINATION_NEXT##PAGINATION_NEXT_SET##PAGINATION_PREVIOUS#および#PAGINATION_PREVIOUS_SET#をサポートしています。表「ページ区切りサブテンプレート属性」に、これらのテンプレートについて示します。

ページ区切りサブテンプレート属性

ページ区切りサブテンプレート属性 説明

ページ区切りテンプレート

ページ区切りサブテンプレート全体に適用します。次に例を示します。

<span class="instructiontext">#TEXT#</span>

置換文字列#TEXT#を使用して、ページ区切りサブテンプレートを表示する場所を指定します。

個々のアイテムを変更するには、その他のページ区切りサブテンプレート属性を使用します。

次のページ・テンプレート

ページ区切りサブテンプレートの「次のページ」部分を表示する方法を変更するHTMLを入力します。次に例を示します。

<a href="#LINK#">next</a>

前のページ・テンプレート

ページ区切りサブテンプレートの「前のページ」部分を表示する方法を変更するHTMLを入力します。次に例を示します。

<a href="#LINK#">previous</a>

次のセット・テンプレート

ページ区切りサブテンプレートの「次のセット」部分を表示する方法を変更するHTMLを入力します。次に例を示します。

<a href="#LINK#">next set</a>

前のセット・テンプレート

ページ区切りサブテンプレートの「前の設定」部分を表示する方法を変更するHTMLを入力します。次に例を示します。

<a href="#LINK#">previous set</a>

コメント

この属性を使用して、このコンポーネントに関するコメントを記録します。

テンプレートでのJavaScriptの使用について

JavaScriptを使用すると、データベース内の値に応じてHTMLを条件付きで表示できます。次の例では、GROUP_DESC問合せ列がNULLでない場合にのみHTML行が表示されます。

<script language="javascript">
IF ( "#GROUP_DESC#" != "" )
document.writeln( "<TR>;
<TD BGCOLOR=#336699>;</TD>
</TR>
</TR>
<TD>#GROUP_DESC#</TD>
                </TR>" );
        </TR>" );


参照:

  • レポート・テンプレートの編集ページ固有のセクションを使用する方法については、オンライン・ヘルプを参照してください。

  • 「リージョンの理解」