Oracle XML Publisherユーザーズ・ガイド リリース11i B25754-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
この章では、次のトピックについて説明します。
XMLパブリッシャの共通ユーザー・インタフェース文書ビューワ、つまり共通リージョンは、Oracle Applicationsフレームワーク(OAF)共有リージョンです。文書ビューワは、スタンドアロン・ページとして実行するか、またはアプリケーション・フロー内に統合できます。文書ビューワは、パラメータ・セットを受け入れて出力インラインをレンダリングするか、これをエクスポートします。
Oracle Applicationsフレームワークでのアプリケーション開発の詳細は、OracleMetaLinkのNote 269138.1『Oracle Applications Framework Developer's Guide』を参照してください。コンポーネントの再利用の詳細は、第2章「OA Framework Essentials」を参照してください。
ビューワ・リージョンは、パラメータ・セットとともにコールされます。これらのパラメータの値により、リージョンのレンダリング方法が決定されます。
パラメータ | 説明 |
---|---|
p_DataSource | (必須)次のXMLデータ・ソース・タイプがサポートされています。
これらのタイプは、xdo.oa.common.DocumentHelperクラスで定義されます。 データ・ソースのタイプに応じて、追加パラメータが必要となる場合があります。これらのパラメータについては、次の項で説明します。 |
p_TemplateCode | (オプション)NULLに設定した場合、UIにより、p_DataSourceCodeパラメータに基づいて、使用可能なテンプレートからテンプレートを選択するリストが提供されます。このリージョンに使用するテンプレートを指定するには、「テンプレート・コード」を入力します。テンプレートはテンプレート・マネージャに存在する必要があります。例: AR_CustomerListing |
p_TemplateAppsShortName | p_TemplateCodeがNULLでない場合は必須です。テンプレート・マネージャでテンプレートの割当て先となるアプリケーションの短縮名を入力します。例: AR |
p_Locale | (オプション)NULLの場合、UIにより、選択したテンプレートについて使用可能なロケールを選択できるリストが提供されます。デフォルトのテンプレート・ロケールを選択するには、「Default」という値を入力します。 |
p_OutputType | (オプション)NULLの場合、UIにより、選択したテンプレートについて使用可能な出力タイプを選択できるリストが提供されます。有効な出力タイプは、テンプレート・タイプに応じて、RTF、PDF、EXCELおよびHTMLがあります。 |
p_XDORegionHeight | XDO共通リージョン・ウィンドウの高さをパーセントで表したものです。例: 60% |
次のパラメータは、パラメータp_DataSourceがDocumentHelper.DATA_SOURCE_TYPE_REQUEST_IDである場合に必要です。このモードを使用すると、ビューワによりコンカレント要求出力がレンダリングされます。
パラメータ | 説明 |
---|---|
p_RequestId | コンカレント要求IDを入力します。 |
次のパラメータは、パラメータp_DataSourceがDocumentHelper.DATA_SOURCE_TYPE_FILEである場合に必要です。
パラメータ | 説明 |
---|---|
p_DataSourceCode | テンプレート・マネージャ・リポジトリからDataSourceCodeを入力します。例: AR_CUSTOM_LISTING |
p_DataSourceAppsShortName | データ・ソース定義に対するアプリケーション短縮名を入力します。例: AR |
p_AbsolutePath | XMLデータ・ファイルの絶対パスを入力します。 |
次のパラメータは、パラメータp_DataSourceがDocumentHelper.DATA_SOURCE_TYPE_BLOBである場合に必要です。
パラメータ | 説明 |
---|---|
p_DataSourceCode | テンプレート・マネージャ・リポジトリからDataSourceCodeを入力します。例: AR_CUSTOM_LISTING |
p_DataSourceAppsShortName | データ・ソース定義に対するアプリケーション短縮名を入力します。例: AR |
XML_DATA_FILE | XMLデータ・ファイルが格納されたBLOBDomainを入力します。 |
次のパラメータは、パラメータp_DataSourceがDocumentHelper.DATA_SOURCE_TYPE_DOCUMENTである場合に必要です。
パラメータ | 説明 |
---|---|
p_AbsolutePath | 文書ファイルの絶対パスを入力します。 |
p_DocumentType | 正しいコンテンツ・タイプを決定する文書タイプを入力します。有効な値は、PDF、RTF、EXCEL、HTMLです。 |
この項では、OAフレームワーク・アプリケーションにおける共通リージョン文書ビューワの実装について説明します。
次の図では、「顧客リスト」レポートのコピーを示しています。このページには2つのリージョンがあります。上部のパラメータ・リージョンでは、パラメータ・セットを受け入れます。下部の出力リージョンでは、レポート出力をレンダリングするためにoracle.apps.xdo.oa.common.DocumentViewerRn.xmlが拡張されます。
XMLパブリッシャのサポートされる形式(EXCEL、HTML、PDF、RTF)に出力をエクスポートするには、「エクスポート」ボタンを使用します。
この図に示す「顧客リスト」のコントローラ・コードは次のとおりです。
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processRequest(pageContext, webBean);
pageContext.putParameter("p_DataSource",DocumentHelper.DATA_SOURCE_TYPE_BLOB);
pageContext.putParameter("p_DataSourceCode","CUST_LISTING");
pageContext.putParameter("p_DataSourceAppsShortName","XDO");
pageContext.putParameter("p_XDORegionHeight","55%");
}
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processFormRequest(pageContext, webBean);
OAApplicationModule am = pageContext.getApplicationModule(webBean);
if (pageContext.getParameter("Go") != null)
{
String customerNameLow = pageContext.getParameter("CustomerNameLow");
String customerNameHigh = pageContext.getParameter("CustomerNameHigh");
String customerNoLow = pageContext.getParameter("CustomerNoLow");
String customerNoHigh = pageContext.getParameter("CustomerNoHigh");
String orderBy = pageContext.getParameter("OrderBy");
Serializable[] tcParameter = {customerNameLow,
customerNameHigh,
customerNoLow,
customerNoHigh,
orderBy};
BlobDomain result = (BlobDomain) am.invokeMethod("getXMLData",tcParameter);
pageContext.putSessionValueDirect("XML_DATA_BLOB", result);
}
この実装では、リージョンが固定テンプレート「Customer_Listing」および「デフォルト」ロケールによりレンダリングされています。このリージョンについては「フォーマット」リストのみがレンダリングされています。
このオプションのコントローラ・コードは次のとおりです。
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processRequest(pageContext, webBean);
pageContext.putParameter("p_DataSource",DocumentHelper.DATA_SOURCE_TYPE_BLOB);
pageContext.putParameter("p_DataSourceCode","CUST_LISTING");
pageContext.putParameter("p_DataSourceAppsShortName","XDO");
pageContext.putParameter("p_XDORegionHeight","55%");
pageContext.putParameter("p_TemplateCode","Customer_Listing");
pageContext.putParameter("p_TemplateAppsShortName","XDO");
pageContext.putParameter("p_Locale","Default");
}
XMLパブリッシャの共通リージョンは、oracle.apps.xdo.oa.common.DocumentHelper.java APIに基づいています。このAPIには、文書をレンダリングおよびエクスポートする公開メソッド・セットが含まれます。XDO共通リージョンの外部でDocumentHelper.javaを使用することもできます。
次の機能を実行するためのメソッドについて、以降に説明します。
出力URLの戻し
文書のエクスポート
このメソッドによりURLが戻され、このURLはOAHTML Beanに関連付けて文書出力をレンダリングできます。
public static String getOutputURL(
OAPageContext pageContext,
String appShortName,
String templateCode,
InputStream inputStream,
String outputType,
Properties properties,
String language,
String territory)
このメソッドのサンプル実装は次のとおりです。
String redirectURL = DocumentHelper.getOutputURL(pageContext,
appShortName,
templateCode,
dataInputStream,
outputType,
properties,
language,
territory );
OAHTMLWebBean outRegion = (OAHTMLWebBean)createWebBean(pageContext, HTML_WEB_BEAN, null, "IFRAME");
outRegion.setHTMLAttributeValue("src",redirectURL);
outRegion.setHTMLAttributeValue("width", "100%");
outRegion.setHTMLAttributeValue("height"", "60%");
outRegion.setHTMLAttributeValue("title ",templateCode);
outRegion.setHTMLAttributeValue("name ",templateCode);
pageContext.getPageLayoutBean().addIndexedChild(outRegion);
このメソッドは、文書をエクスポートするための「発行」ボタンなど、任意のイベントからコールできます。
public static void exportDocument(
OAPageContext pageContext,
String appShortName,
String templateCode,
String language,
String territory,
InputStream inputStream,
String outputType,
Properties properties)