Oracle® Fusion Middleware Oracle Reportsレポート作成のためのユーザーズ・ガイド 11gリリース2 (11.1.2) B70752-02 |
|
![]() 前へ |
![]() 次へ |
この項のトピックは、第1.2.2項「Webレポートについて」で説明した基本的な概念に基づいています。
関連項目
JavaServer Pages (JSP)テクノロジは、Sun社のJavaサーブレット・テクノロジの拡張機能で、Webページ上に動的コンテンツを表示するための簡単なプログラミング手段を提供します。JSPは、Webまたはアプリケーション・サーバーで実行される埋込みのJavaソース・コードを持つHTMLページです。HTMLはWebブラウザに表示されるページ・レイアウトを提供し、Javaはビジネス・ロジックを提供します。
JSPでは、静的なページの表示と動的なコンテンツの生成が分離されています。JSPでは、動的なアプリケーション・ロジックが静的なHTMLコンテンツから完全に切り離されているため、Javaプログラミングの経験があまりないWebページ・デザイナや経験のないWebページ・デザイナでも、単純にHTMLタグまたはXMLタグを使用して、コンテンツの生成に影響を与えることなくJSPページの外観を変更し、動的に生成されるWebページを設計およびフォーマットできます。JSP固有のタグまたはJavaベースのスクリプレットは、ページに動的なコンテンツを生成するコンポーネントをコールするために使用します。
JSPの拡張子は.jsp
です。この拡張子によって、ページをJSPコンテナで処理する必要があることがWebサーバーに指定されます。JSPコンテナはJSPタグおよびスクリプトレットを解析し、JSPをコンパイルしてJavaサーブレットを作成し、実行します。これにより必要なコンテンツが生成され、結果がHTMLページまたはXMLページとしてブラウザに返されます。
JSPは、一般的にインターネットまたは企業のイントラネット経由で、ブラウザベースのクライアントからアクセスおよび実行できます。JSPアプリケーションは、従来のクライアント/サーバー・アプリケーションと次の点で異なります。
幅広い種類のクライアント・マシンとブラウザで実行できます。
Thinクライアントで実行できるため、クライアント・マシンのリソース消費が軽減されます。
より多くの同時ユーザーに対応できます。
インストールおよび保守に必要な作業が少なくなります。
JSPが初めてコールされるときは、Javaサーブレット・クラスにコンパイルされ、Web Serverのメモリーに格納されます。それはメモリーに格納されるため、同じページへのコールは2回目以降速くなり、その結果、HTTPリクエストごとに新しいプロセスを起動するという、従来のCommon Gateway Interface (CGI)プログラムで見られたパフォーマンス上の制限が回避されます。
JSPテクノロジに関するその他のバックグラウンド情報は、Oracle Technology Network (OTN)(http://www.oracle.com/technetwork/java/index.html
)を参照してください。
Oracle Reportsでは、Oracle Reports Builderを使用して取得する情報でWebページを拡張できるように、基盤テクノロジとしてJavaServer Pages (JSP)がサポートされます。
Oracle Reportsでは、データ・モデルを使用して取得したデータをJSPにより既存のWebページに埋め込み、JSPベースのWebレポートを作成します。JSPレポートは新規作成することも、既存のレポートをJSPレポートとして保存することもできます。新しく作成するレポートは、デフォルトでJSPレポートとして保存されます。レポートをJSPとして保存する場合の利点は、JSPがテキスト・ファイルのため、バイナリの.rdf
フォーマットなどに比べて簡単に編集できる点です。レポートをJSPファイルとして保存すると、そのデータ・モデルがXMLタグを使用して埋め込まれます。現在、レポート全体をXMLタグを使用して定義することも、XMLファイルとして保存することもできます。
Oracle ReportsのカスタムJSPタグを使用すると、既存のJSPファイルにレポート・ブロックやグラフを簡単に追加できます。これらのタグをテンプレートとして使用すれば、JSPベースのWebレポートに、独自のデータドリブンJavaコンポーネントを構築して挿入できます。JSPでは、レポート・ブロックをカプセル化しているHTMLまたはXMLコードの編集に加えて、本体と属性を変更、追加または削除することで、JSP自体でレポート・ブロックを編集することもできます。
レポート・エディタのWebソース・ビューには、HTMLタグ、XMLタグおよびJSPタグを含むWebレポートのソース・コードが表示されます。
デフォルトで、Oracle Reports Builderで作成した新規のJSPには、次の情報が含まれます。
<%@ page contentType="text/html;charset=ISO-8859-1" %>
JSPをOracle Reports Builder以外で作成する場合は、必ず同様のエンコーディング情報を含める必要があります。
Oracle Reportsの以前のリリースでは、ペーパーベースのレポートに追加できるWebリンクが導入されました。このリンクは、ペーパー・レポートをWebブラウザまたはPDFビューアで表示するときにアクティブになります。JSPレポートでは、ハイパーリンクは手動で作成し、ハイパーリンクでデータ値を置換する必要がある場合は、そのデータ値をrw:field
JSPタグで指定する必要があります。次に例を示します。
<a href="http://hostname:port/path/rwservlet?report=department.jsp&p_deptno=<rw:field
id="F_Deptno" src="Deptno"/>"> <rw:field id="F_Deptno" src="Deptno">10</rw:field> </a>
JSPベースのWebレポートの文字コード(EUC-JPなど)が、NLS_LANG環境変数の文字セット部分(JA16SJISなど)と異なる場合、次のエラーが表示されます。
JSPファイルを実行する場合
REP-6106
またはREP-6104
: javax.servlet.jsp.JspException(マルチバイト)
REP-0495 問合せをトークン化できません。(シングルバイト)
Oracle Reports Builderを使用してJSPファイルを起動したとき:
REP-0069 Internal ErrorまたはREP-6106
この問題に対処するには、JSPベースのWebレポートの文字コードが、Oracle Reports BuilderのNLS_LANG
環境変数の文字セット部分に対応するIANAエンコーディングに一致することを確認する必要があります。
次に例を示します。
JSPベースのWebレポート・エンコーディング:
<%@ page contentType="text/html;charset=EUC-JP" %>
<META http-equiv="Content-Type" content="text/html;charset=EUC-JP">
このJSPファイルは文字セット(EUC-JP
)でエンコードする必要があります。
Oracle Reports Builderのエンコーディング:
NLS_LANG=JAPANESE_JAPAN.JA16EUC
この例では、JSPベースのWebレポートのエンコーディング(EUC-JP
)が、Oracle Reports BuilderのNLS_LANG
の文字セット部分、つまりJA16EUC
と一致しています。
Oracle Reportsでは、Webレポートのテンプレートはデフォルトで西欧文字コード用に構成されています。他の言語に関しては、<Meta>
タグのcharset
属性と<%@page%>
ページ・ディレクティブの両方を使用して、すべてのJSPファイルに文字コードを指定できます。
適切な文字コードをJSPファイルに動的に関連付けるには、次の変更を行います。
rw*.html
ファイルおよびblank_template.jsp
ファイルを次のように編集します。
ページ・ディレクティブを次のように変更します。
<%@ page contentType="text/html;charset=
yourIANAencoding
" %>
前述のオプションの意味は次のとおりです。
yourIANAencoding
は、NLS_LANG
変数のNLS_CHARACTERSET
部分に対応するIANAエンコーディング名です。
<Head>
タグ内の<Meta>
タグを次のように変更します。
<meta http-equiv="Content-Type" content="text/html;charset=
yourIANAencoding
" />
template.xsl
(ORACLE_HOME
/reports/templates/
)ファイルを次のように編集します。
<xsl:output>
タグを次のように変更します。
<xsl:output
method="jsp"
indent="yes"
encoding="yourIANAencoding
"
/>
前述のオプションの意味は次のとおりです。
yourIANAencoding
は、NLS_LANG
変数のNLS_CHARACTERSET
部分に対応するIANAエンコーディング名です。
次のページ・ディレクティブをファイルに追加します。
<%@ page contentType="text/html;charset=yourIANAencoding" %>
タグ内の<META>
タグを追加または変更します。
<meta http-equiv="Content-Type" content="text/html;charset=yourIANAencoding" />
前述のオプションの意味は次のとおりです。
yourIANAencoding
は、NLS_LANG
変数のNLS_CHARACTERSET
部分に対応するIANAエンコーディング名です。
関連項目
Oracle Reportsのオンライン・ヘルプのリファレンスに関する項にあるOracle Reports JSPタグとOracle Reports XMLタグに関するトピックを参照してください。
JSPベースのWebレポートをプレビューするには、ツールバーの「Webレイアウトを実行」ボタンをクリックするか、「プログラム」→「Webレイアウトを実行」を選択して、Webソースを実行します。Reports Builderによって、Webレポートがデフォルトのブラウザに表示されます。
注意: デフォルトのブラウザとしてNetscape 7.0を使用し、ブラウザにレポートが表示されない場合は、レジストリ・キー |
この機能を使用するために、Reports Serverを構成する必要はありません。Oracle Reports Builderは、スタンドアロンのOracle WebLogic Serverを使用して、レポートのWebレイアウトを生成します。
ドキュメント・ルート
デフォルトでは、Oracle Reports Builderのドキュメント・ルート・ディレクトリは次のようになります。
$DOMAIN_HOME/servers/<MANAGED_SERVER_NAME>/stage/reports/reports/web.war/
これは、Oracle Reports Builderの構成ファイル(rwbuilder.conf
)内で、次のように構成できます。
<webLayout
docroot="DOMAIN_HOME/servers/<MANAGED_SERVER_NAME>/stage/reports/reports/web.war/"/>
エンド・ユーザーは、この構成可能なdocroot
をコマンドラインからWEBSERVER_DOCROOT
コマンドライン・キーワードを使用して変更することもできます。JSPがイメージやスタイル・シートなどの外部ファイルに依存している場合は、それらをdocroot
ディレクトリにコピーする必要があります。docroot
は、Reportsアプリケーションがデプロイされている任意のOracle WebLogic Serverコンポーネントの$DOMAIN_HOME/servers/<MANAGED_SERVER_NAME>/stage/reports/reports/web.war/
ディレクトリをポイントする必要があります。
Webサーバー・ポート
デフォルトでは、OHSポートはWebサーバー・ポートと見なされます。これは、Oracle Reports Builderの構成ファイル(rwbuilder.conf
)内で、次のように構成できます。
<webLayout port="ohs_port"/>
エンド・ユーザーは、この構成可能なportパラメータをコマンドラインからWEBSERVER_PORT
コマンドライン・キーワードを使用して変更できます。
使用に関する注意
生成されたファイル名にある桁数の大きな数字は、単に一意のIDで特に意味はありません(たとえば、emp012345678.jsp
)。
docrootディレクトリに作成された一時ファイルは、Oracle Reports Builderの終了時にクリーン・アップされます。
関連項目
このトピックでは、ペーパーベースのレポートに追加できるWebリンクについて説明します。このリンクは、レポートをHTMLファイルに生成しWebブラウザで表示するときにアクティブになります。
多くの場合、Webリンクはオブジェクトのプロパティ・インスペクタで定義できます。実行時の動的リンクは、リンク値に列名とフィールド名を指定することで作成できます。条件付き設定など、さらに複雑なWebリンクを実装する必要がある場合は、PL/SQLおよびOracle Reports Builderのビルトイン・パッケージ・プロシージャSRW.SET_ATTRを使用して、リンクを指定する必要があります。
HTMLフォーマットのレポート出力には、次の種類のWebリンクを含めることができます。
同じレポート内でのオブジェクトから他のオブジェクトへのリンク、またはオブジェクトから別のHTMLやPDFドキュメントへのリンク(第2.2.5項「ハイパーリンクについて」を参照)。
Webリンクの参照先を示す識別子(第2.2.7項「ハイパーリンクの宛先について」を参照)。参照先には、レポート・レイアウト内にある印刷可能な任意のオブジェクト(フィールド、ボイラープレート、枠など)を指定できます。
関連するオブジェクトにリンクしているマスターHTMLドキュメントのフレーム内の文字列(第2.2.8項「ブックマークについて」を参照)。ブックマークは、レポート・レイアウト内にある印刷可能な任意のオブジェクト(フィールド、ボイラープレート、枠など)に関連付けることができます。フォーマット済のレポートで、ブックマークをクリックすると、ウィンドウの上部に関連オブジェクトが表示されます。
イメージ・リソースを指定するURL。URLは、ブラウザでHTML出力を表示するときにイメージを挿入できるように、Web Serverで使用可能なものにする必要があります。
指定した宛先にグラフの領域をリンクするハイパーリンク。
さらに、エスケープを使用する次のヘッダーおよびフッターを追加して、HTMLタグをペーパーベースのレポートに追加することができます。
HTMLドキュメントの先頭にロゴまたはいくつかの標準リンクを挿入するためのドキュメント・ヘッダー(レポート前値)(第2.2.10項「前および後のエスケープについて」を参照)。
HTMLドキュメントの特定のページまたはすべてのページの先頭にロゴまたはいくつかの標準リンクを挿入するためのページ・ヘッダー(ページ前値)。
HTMLドキュメントの特定のページまたはすべてのページの最後にロゴまたはいくつかの標準リンクを挿入するためのページ・フッター(ページ後値)。
HTMLパラメータ・フォームのヘッダーにロゴまたはいくつかの標準リンクを挿入するためのパラメータ・フォーム・ヘッダー(フォーム前値)。
HTMLパラメータ・フォームのフッターにロゴまたはいくつかの標準リンクを挿入するためのパラメータ・フォーム・フッター(フォーム後値)。
このトピックでは、ペーパーベースのレポートに追加できるWebリンクについて説明します。このリンクは、レポートをPDFファイルに生成しPDFビューアで表示するときにアクティブになります。
PDFフォーマットのレポート出力には、次の種類のWebリンクを含めることができます。
同じレポート内でのオブジェクトから他のオブジェクトへのリンク、またはオブジェクトから別のHTMLやPDFドキュメントへのリンク(第2.2.5項「ハイパーリンクについて」を参照)。
Webリンクの参照先を示す識別子(第2.2.7項「ハイパーリンクの宛先について」を参照)。参照先には、レポート・レイアウト内にある印刷可能な任意のオブジェクト(フィールド、ボイラープレート、枠など)を指定できます。
関連するオブジェクトにリンクしているPDFビューアのブックマーク領域の文字列(第2.2.8項「ブックマークについて」を参照)。ブックマークは、レポート・レイアウト内にある印刷可能な任意のオブジェクト(フィールド、ボイラープレート、枠など)に関連付けることができます。フォーマット済のレポートで、ブックマークをクリックすると、ウィンドウの上部に関連オブジェクトが表示されます。
クリックしたときにコマンドを実行するリンク(第2.2.9項「アプリケーション・コマンドライン・リンクについて」を参照)。コマンドは、レポート・レイアウト内にある印刷可能な任意のオブジェクト(フィールド、ボイラープレート、枠など)に関連付けることができます。フォーマット済のレポートで、オブジェクトをクリックすると、関連付けられているコマンドが実行されます。
指定した宛先にグラフの領域をリンクするハイパーリンク。
多くの場合、Webリンクはオブジェクトのプロパティ・インスペクタで定義できます。実行時の動的リンクは、リンク値に列名とフィールド名を指定することで作成できます。条件付き設定など、さらに複雑なWebリンクを実装する必要がある場合は、PL/SQLを使用してリンクを指定する必要があります。
ハイパーリンクは、次のいずれかの宛先へのハイパーテキスト・リンクを指定するオブジェクトの属性です。
同じレポート内にあり、ハイパーリンクの宛先で識別されているオブジェクト
同じマシンまたはリモートのWeb Serverにある他のHTMLドキュメントやPDFドキュメント
「追加のハイパーリンク属性」プロパティを設定すると、ハイパーリンクに適用するHTMLを追加指定できます。
関連項目
グラフ・ハイパーリンクは、グラフの領域からWebレポート内の指定の場所へのアクティブ・リンクです。エンド・ユーザーは、Web (JSPベース、あるいはペーパーベースのPDFまたはHTML)にレポートを表示し、グラフの1つ以上の領域をクリックして、別のリンク情報にドリルダウンできます。
関連項目
ハイパーリンクの宛先は、ハイパーテキスト・リンクの宛先を識別するオブジェクトの属性です。
関連項目
ブックマークは、オブジェクトへのリンクとなる文字列を指定するオブジェクトの属性です。
関連項目
第4.6.10.1.10項「プロパティ・インスペクタを使用したブックマークの作成」
(PDF出力のみ)アプリケーション・コマンドライン・リンクは、オブジェクトがクリックされたときに実行するコマンドラインを指定するオブジェクトの属性です。
制限
アプリケーション・コマンドライン・リンクに関連付けられているオブジェクトを、さらにWebリンクのソース(ハイパーリンク)にすることはできません。
関連項目
ページ前値には、ドキュメントの特定のページまたはすべてのページの先頭に配置する任意のテキスト、グラフィックまたはHTMLコマンドを指定します。
ページ後値には、ドキュメントの特定のページまたはすべてのページの最後に配置する任意のテキスト、グラフィックまたはHTMLコマンドを指定します。
フォーム前値には、HTMLパラメータ・フォームの上部に配置する任意のテキスト、グラフィックまたはHTMLコマンドを指定します。
フォーム後値には、HTMLパラメータ・フォームの下部に配置する任意のテキスト、グラフィックまたはHTMLコマンドを指定します。
制限
After Reportエスケープでは(第2.2.10項「前および後のエスケープについて」を参照)、HTMLコマンドを本体の外側に追加しても、スプレッドシート出力でのレポートの生成時、HTMLコマンドは出力に適切に書き込まれますが、反映はされません。次に例を示します。
</body><table><tr><td><B>太字になるテキスト</B></td><tr></table> </html>
本体タグを閉じる前にHTMLコマンドを追加すると、スプレッドシート出力でのレポートの生成時にタグが正しく反映されます。次に例を示します。
<table><tr><td><B>太字になるテキスト</B></td><tr></table></body></html>
スプレッドシート出力の詳細は、第2.8.13項「拡張スプレッドシート出力について」を参照してください。
関連項目
第4.6.10.1.1項「プロパティ・インスペクタを使用したHTMLドキュメント・ヘッダーの作成」
第4.6.10.2.1項「PL/SQLを使用したHTMLドキュメント・ヘッダーの作成」
第4.6.10.1.2項「プロパティ・インスペクタを使用したHTMLドキュメント・フッターの作成」
第4.6.10.2.2項「PL/SQLを使用したHTMLドキュメント・フッターの作成」
第4.6.10.1.3項「プロパティ・インスペクタを使用したHTMLページ・ヘッダーの作成」
第4.6.10.2.3項「PL/SQLを使用したHTMLページ・ヘッダーの作成」
第4.6.10.1.4項「プロパティ・インスペクタを使用したHTMLページ・フッターの作成」
第4.6.10.2.4項「PL/SQLを使用したHTMLページ・フッターの作成」
第4.6.10.1.5項「プロパティ・インスペクタを使用したHTMLパラメータ・フォーム・ヘッダーの作成」
第4.6.10.2.5項「PL/SQLを使用したHTMLパラメータ・フォーム・ヘッダーの作成」
スタイル・シート(またはカスケード・スタイル・シート)は、HTMLドキュメントの書式をきわめて柔軟に設定できるようにするHTMLの拡張書式です。スタイル・シートをサポートすることで、HTMLドキュメントで次のことが可能になります。
任意のフォント・サイズまたはフォント・スタイル
オーバーラップしたオブジェクト
任意のカラーと幅を持つ水平線、垂直線および四角形
ページ上でのオブジェクトの厳密な配置
ページ番号付け
Webブラウザからの印刷
インライン・イメージ・マップ
つまり、レポートをHTMLCSSドキュメントとしてフォーマットしたときに、レポート内の高度な書式がそのまま保持されます。スタイル・シートで拡張されていないHTMLドキュメントでは、基本的なテキスト書式とインポートされたイメージのみが表示されます。スタイル・シートでは、高度にフォーマットされたテキストのイメージは、同等のスタイル、カラーおよびフォントを持つテキスト・オブジェクトに置換されます。テキスト・オブジェクトとイメージ・オブジェクトは、オーバーラップさせて配置できます。すべてのテキストは完全に検索可能で、ダウンロードするイメージも少なくてすみます。
スタイル・シートを利用したHTMLドキュメントを表示するには、スタイル・シートをサポートしているブラウザが必要です。
HTMLCSS出力での外部スタイル・シートの使用方法
現在、どの企業のWebサイトでも、Webページ全体で企業のルック・アンド・フィールを実現するためにスタイル・シートが使用されています。外部スタイル・シートは、Webページが参照するカスケード・スタイル・シート(CSS)ファイルです。エンド・ユーザーは通常、Webサイト上のページで使用されているものと同じスタイルをWebレポートに適用することを望みます。
以前のリリースでは、スタイル・シートやユーザー定義のスタイルをレポートに適用する場合、HTMLCSS出力を手動で編集する必要がありました。
HTMLCSS出力用のユーザー定義スタイルおよびスタイル・シートを、Oracle Reports Builderを使用して指定できます。これらのスタイルを、レポート、枠、繰返し枠、テキスト、フィールドおよびファイル・リンクの各オブジェクトに適用するには、新しいプロパティである「スタイル・シート」、「CSSクラス名」およびCSS IDを使用します(これらのプロパティの詳細は、Oracle Reportsオンライン・ヘルプを参照)。生成されるHTMLCSS出力にはスタイル・シートへのリンクが含まれ、ユーザー定義のスタイルがオブジェクトに適用されます。
制限
次の要素は、HTMLのスタイル・シート拡張ではサポートされません。
楕円、円弧、多角形、折れ線、対角線
丸い四角形(単純な四角形として表現されます)
矢印線
破線、オブジェクトの境界線
関連項目