Oracle® Fusion Middleware

Oracle ADFデスクトップ統合によるアプリケーションの開発

12c (12.1.2)

E48098-01(原本部品番号:E23244-01)

2013年6月

Oracle ADFデスクトップ統合の開発者向けのドキュメント。Fusion Webアプリケーションによって提供される機能をデスクトップ・アプリケーションに拡張する方法について説明します。

Oracle Fusion Middleware Oracle ADFデスクトップ統合によるアプリケーションの開発 12c (12.1.2)

E48098-01

Copyright © 2013, Oracle and/or its affiliates.All rights reserved.

原本著者: Himanshu Marathe

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、このソフトウェアまたはハードウェアを安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXはThe Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

このガイドで説明する新機能

- 12c (12.1.2)の新機能および変更機能

- このドキュメントにおける12c (12.1.2)に関するその他の大きな変更

1 ADFデスクトップ統合の概要

- 1.1 ADFデスクトップ統合について

- 1.2 ADFデスクトップとMicrosoft Excelの統合の概要

- 1.2.1 統合Excelワークブックの作成の概要

- 1.2.2 ExcelとFusion Webアプリケーションを統合する利点

2 ADFデスクトップ統合のサンプル・アプリケーションの概要

- 2.1 ADFデスクトップ統合のSummitサンプル・アプリケーションについて

- 2.2 ADFデスクトップ統合のSummitサンプル・アプリケーションの設定と実行

- 2.3 ADFデスクトップ統合のSummitサンプル・アプリケーションのFusion Webアプリケーションの概要

- 2.3.1 ADFデスクトップ統合のSummitサンプル・アプリケーションのFusion Webアプリケーションについて

- 2.3.2 統合Excelワークブックのダウンロード

- 2.4 ADFデスクトップ統合のSummitサンプル・アプリケーションの統合Excelワークブックの概要

- 2.4.1 統合ExcelワークブックからのFusion Webアプリケーションへのログオン

- 2.4.2 データ行のダウンロード

- 2.4.3 ワークブックの顧客および倉庫情報の変更

- 2.4.4 Fusion Webアプリケーションへの変更済の情報のアップロード

3 開発環境の設定

- 3.1 開発環境の設定について

- 3.2 必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア

- 3.3 ADFデスクトップ統合と協働するExcelの構成

- 3.4 ADFデスクトップ統合のインストール

- 3.4.1 ADFデスクトップ統合の設定方法

- 3.5 ADFデスクトップ統合の削除

- 3.6 ADFデスクトップ統合のアップグレード

- 3.6.1 統合Excelワークブックを最新バージョンのADFデスクトップ統合に移行する方法

- 3.7 旧バージョンのADFデスクトップ統合との統合Excelワークブックの使用

- 3.8 複数のインスタンスのJDeveloperを持つシステムでのADFデスクトップ統合の使用

4 統合Excelワークブックの準備

- 4.1 統合Excelワークブックの準備について

- 4.2 Fusion Webアプリケーションへの統合Excelワークブックの追加

- 4.2.1 Fusion Webアプリケーションへの統合Excelワークブックの追加方法

- 4.2.2 新しい統合Excelワークブックの構成方法

- 4.2.3 統合Excelワークブックにワークシートを追加する方法

- 4.2.4 ADFデスクトップ統合に対応するFusion WebアプリケーションをJDeveloperからデプロイする際の処理

- 4.2.4.1 Fusion WebアプリケーションのOracle WebLogic Serverへのデプロイ

- 4.3 統合Excelワークブックのページ定義ファイルの使用

- 4.3.1 ADFデスクトップ統合ページ定義ファイルの作成方法

- 4.3.2 ページ定義ファイル作成時の処理

- 4.3.3 Excelワークブックへのページ定義ファイルのリロード方法

- 4.3.4 統合Excelワークブック内のページ定義ファイルに関する留意事項

- 4.4 ADFデスクトップ統合の手動による有効化

- 4.4.1 ADFデスクトップ統合を手動でFusion Webアプリケーションに追加する方法

- 4.4.2 既存のワークブック内でADFデスクトップ統合を有効化する方法

- 4.4.3 新しい統合Excelワークブックの手動による構成方法

- 4.4.4 ADFデスクトップ統合をJDeveloperプロジェクトに追加する際の処理

- 4.4.5 ADFライブラリWebアプリケーション・サポートの追加

5 開発ツールの使用

- 5.1 開発ツールについて

- 5.1.1 ADFデスクトップ統合開発ツールのユース・ケースと例

- 5.1.2 ADFデスクトップ統合開発ツールの追加機能

- 5.2 デザイナ・リボン・タブ

- 5.3 ADFデスクトップ統合デザイナの作業ウィンドウ

- 5.4 バインディング・パレットの使用

- 5.5 コンポーネント・パレットの使用

- 5.6 プロパティ・インスペクタの使用

- 5.7 バインディングIDピッカーの使用

- 5.8 式ビルダーの使用

- 5.9 Webページ・ピッカーの使用

- 5.10 ファイル・システム・フォルダ・ピッカーの使用

- 5.11 ページ定義ピッカーの使用

- 5.12 コレクション・エディタの使用

- 5.13 セルのコンテキスト・メニューの使用

- 5.14 ADFデスクトップ統合コンポーネントの削除

- 5.15 Excelワークブック統合メタデータのエクスポートおよびインポート

- 5.15.1 ワークブック統合メタデータのエクスポート方法

- 5.15.2 ワークブック統合メタデータのインポート方法

- 5.15.3 Excelワークブック統合メタデータのエクスポートおよびインポートに関する留意事項

6 ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用

- 6.1 ADFデスクトップ統合フォーム・タイプ・コンポーネントについて

- 6.1.1 ADFデスクトップ統合フォーム・タイプ・コンポーネントのユース・ケースと例

- 6.1.2 ADFデスクトップ統合フォーム・タイプ・コンポーネントの追加機能

- 6.2 ADFボタン・コンポーネントの挿入

- 6.3 ADFラベル・コンポーネントの挿入

- 6.4 ADF入力テキスト・コンポーネントの挿入

- 6.5 ADF出力テキスト・コンポーネントの挿入

- 6.6 ADF値リスト・コンポーネントの挿入

- 6.7 ADFコンポーネントのマネージドBeanからの出力の表示

- 6.7.1 マネージドBeanからの出力の表示方法

- 6.7.2 実行時の処理: ADFコンポーネントによるマネージドBeanからの出力の表示

- 6.8 コンポーネント内での連結または計算されたデータの表示

- 6.8.1 計算されたデータを表示するようにコンポーネントを構成する方法

- 6.9 ナビゲーション・ボタンの使用

7 ADFデスクトップ統合表タイプ・コンポーネントの使用

- 7.1 ADFデスクトップ統合表タイプ・コンポーネントについて

- 7.1.1 ADFデスクトップ統合表タイプ・コンポーネントのユース・ケースと例

- 7.1.2 表タイプ・コンポーネントの追加機能

- 7.2 ADF表コンポーネントのページ定義の要件

- 7.3 ExcelワークシートへのADF表コンポーネントの挿入

- 7.3.1 ADF表コンポーネントの挿入方法

- 7.3.2 ADF表コンポーネントへの列の追加方法

- 7.4 ADF表コンポーネントにデータをダウンロードするためのOracle ADFコンポーネントの構成

- 7.4.1 ADF表コンポーネントにデータをダウンロードするためのADFコンポーネントの構成方法

- 7.4.2 実行時の処理: ADF表コンポーネントによるデータのダウンロード

- 7.5 ADF表コンポーネントに保留中の挿入行としてデータをダウンロードするためのワークシートの構成

- 7.5.1 実行時の処理: Downloadアクションの起動

- 7.5.2 保留中の挿入に対するSTATUS_INITIALIZED行の使用

- 7.5.3 DownloadForInsertアクションに関する留意事項

- 7.6 既存データを更新するためのADF表コンポーネントの構成

- 7.6.1 データを更新するためのADF表コンポーネントの構成方法

- 7.6.2 実行時の処理: ADF表コンポーネントでのデータ更新

- 7.7 データを挿入するためのADF表コンポーネントの構成

- 7.7.1 ビュー・オブジェクトの操作を使用してデータを挿入するためのADF表コンポーネントの構成方法

- 7.8 ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成

- 7.8.1 ADF表コンポーネントからデータをアップロードするためのADFコンポーネントの構成方法

- 7.8.2 実行時の処理: ADF表コンポーネントによるデータのアップロード

- 7.8.3 実行時の処理: アップロード中のReadOnly EL式の評価

- 7.8.4 実行時の処理: アップロードの失敗

- 7.8.5 カスタムのアップロード・ダイアログの作成方法

- 7.8.6 実行時の処理: カスタム・アップロード・ダイアログ

- 7.9 UploadAllOrNothingアクションを使用して変更をアップロードするためのADF表コンポーネントの構成

- 7.9.1 UploadAllOrNothingアクションを使用するためのADFコンポーネントの構成方法

- 7.9.2 実行時の処理: UploadAllOrNothingアクションの起動

- 7.9.3 UploadAllOrNothingアクションを使用してアップロードできる変更済データの量の制限

- 7.10 Fusion Webアプリケーションで行を削除するためのADF表コンポーネントの構成

- 7.10.1 Fusion Webアプリケーションで行を削除するためのADF表コンポーネントの構成方法

- 7.10.2 実行時の処理: Fusion Webアプリケーション内でのADF表コンポーネントによる行の削除

- 7.11 ADF表コンポーネントでのバッチ処理

- 7.11.1 ADF表コンポーネントのバッチ・オプションの構成方法

- 7.11.2 ADF表コンポーネントでの行のフラグ付け

- 7.11.3 データのアップロード中のエラーのトラブルシューティング

- 7.12 ADF表コンポーネント内の特殊な列

- 7.13 ADF表コンポーネントのキー列の構成

- 7.13.1 キー列の構成方法

- 7.13.2 設計時のキー列の手動による追加方法

- 7.14 ADF表コンポーネント列での値リストの作成

- 7.14.1 ADF表コンポーネント列での値リストの作成方法

- 7.14.2 実行時の処理: ADF表列による値リストのレンダリング

- 7.15 ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加

- 7.16 ADF表コンポーネントへの動的な列の追加

- 7.16.1 動的な列の構成方法

- 7.16.2 実行時の処理: 動的な列でのデータのダウンロードまたはアップロード

- 7.16.3 動的な列のヘッダー・ラベルの指定方法

- 7.16.4 属性データ・タイプに基づいた動的な列のスタイルの指定方法

- 7.17 ADF読取り専用表コンポーネントの作成

- 7.17.1 ADF読取り専用表コンポーネントの作成方法

- 7.17.2 ADF読取り専用表コンポーネントへの手動による列の追加方法

- 7.18 表タイプ・コンポーネントがダウンロードする行数の制限

- 7.18.1 コンポーネントがダウンロードする行数の制限方法

- 7.18.2 実行時の処理: RowLimitプロパティのしくみ

- 7.19 ADF表コンポーネントでのキャッシュされた属性値のクリア

- 7.19.1 ADF表コンポーネントでのキャッシュされた属性値のクリア方法

- 7.19.2 実行時の処理: ADF表コンポーネントによる値のキャッシュ

- 7.20 ADF表コンポーネントでの変更の追跡

- 7.21 読取り専用プロパティのEL式の評価

- 7.21.1 実行時の処理: データのダウンロード時のEL式の評価

- 7.21.2 実行時の処理: データのアップロードまたは変更のトラッキング時のEL式の評価

- 7.21.3 データのアップロードまたは変更のトラッキング時のEL式の評価に関する留意事項

- 7.22 明示的なワークシート設定アクションの使用

- 7.22.1 明示的なワークシート設定アクションの構成方法

- 7.22.2 明示的なワークシート設定アクションに関する留意事項

8 統合Excelワークブックへの対話性の追加

- 8.1 統合Excelワークブックへの対話性の追加について

- 8.1.1 統合Excelワークブックへの対話性の追加のユース・ケースと例

- 8.1.2 統合Excelワークブックへの対話性の追加の追加機能

- 8.2 アクション・セットの使用

- 8.2.1 アクション・セット内のメソッド・アクション・バインディングの起動方法

- 8.2.2 アクション・セット内のコンポーネント・アクションの起動方法

- 8.2.3 コンポーネント・アクションを起動するアクション・セットに関する留意事項

- 8.2.3.1 アクション・セットの検証による正しいコンポーネント・アクションの起動

- 8.2.3.2 切断されたワークブックでのアクション・セットの起動

- 8.2.4 ワークシート・イベントからアクション・セットを起動する方法

- 8.2.5 アクション・セットの実行中にステータス・メッセージを表示する方法

- 8.2.6 実行時の処理: アクション・セットによるステータス・メッセージの表示

- 8.2.7 進捗バーに関する留意事項

- 8.2.8 アクション・セットの起動後にアラートを発信する方法

- 8.2.9 実行時の処理: アクション・セットによるアラート発信

- 8.2.10 アクション・セットのエラー処理の構成方法

- 8.2.11 アクション・セット内の確認アクションの起動方法

- 8.2.12 実行時の処理: アクション・セットによる確認の提供

- 8.3 実行時リボン・タブの構成

- 8.3.1 実行時リボン・タブのワークブック・コマンド・ボタンの構成方法

- 8.3.2 実行時リボン・タブのワークシート・コマンド・ボタンの構成方法

- 8.4 Fusion WebアプリケーションからのWebページの表示

- 8.4.1 ポップアップ・ダイアログでのWebページの表示方法

- 8.4.2 ADFデスクトップ統合の実行時作業ウィンドウでのWebページの表示方法

- 8.4.3 Fusion Webアプリケーションからのページ表示に関する留意事項

- 8.4.3.1 統合ExcelワークブックとFusion Webアプリケーションの同期

- 8.4.3.2 統合ExcelワークシートとFusion Webアプリケーション・ページ間のデータ・コントロール・フレームの共有

- 8.4.3.3 ADFデスクトップ統合フレーム共有に対するFusion Webアプリケーションの構成

- 8.5 ADF表の列へのカスタム・ポップアップ・ピッカー・ダイアログの追加

- 8.6 統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成

- 8.6.1 統合Excelワークブックの検索フォームの作成方法

- 8.6.2 統合ExcelワークブックのWebページを使用した検索フォームの作成方法

- 8.7 統合Excelワークブックでのフォームの作成

- 8.8 統合Excelワークブックでの依存値リストの作成

- 8.8.1 Excelワークシートでの依存値リストの作成方法

- 8.8.2 実行時の処理: Excelワークシートによる依存値リストのレンダリング

- 8.8.3 ADF表コンポーネント列での依存値リストの作成方法

- 8.8.4 実行時の処理: ADF表コンポーネント列による依存値リストのレンダリング

- 8.8.5 ExcelワークシートおよびADF表コンポーネント列での依存値リストの作成

- 8.8.6 実行時の処理: ExcelワークシートとADF表コンポーネント列による依存値リストのレンダリング

- 8.9 Excel式を生成するためのEL式の使用

- 8.9.1 EL式を使用してハイパーリンクを表示する際のセルの構成方法

- 8.9.2 実行時の処理: EL式を使用したセルによるハイパーリンクの表示

- 8.10 統合Excelワークブックでの計算済セルの使用

- 8.10.1 表タイプ・コンポーネント列の合計の計算方法

- 8.10.2 実行時の処理: Excelによる表タイプ・コンポーネント列の合計計算

- 8.11 統合Excelワークブックでのマクロの使用

9 統合Excelワークブックの外観の構成

- 9.1 統合Excelワークブックの外観の構成について

- 9.1.1 統合Excelワークブック構成のユース・ケースと例

- 9.1.2 統合Excelワークブックの外観の構成の追加機能

- 9.2 スタイルの使用

- 9.2.1 ADFデスクトップ統合により事前定義されたスタイル

- 9.2.2 Excelの日付形式とMicrosoft Windowsの地域と言語のオプション

- 9.2.3 Oracle ADFコンポーネントへのスタイルの適用方法

- 9.2.4 実行時の処理: ADFコンポーネントへのスタイルの適用

- 9.3 EL式を使用した動的なスタイルの適用

- 9.3.1 実行時の処理: EL式の評価

- 9.3.2 実行時にスタイルを適用するEL式の記述方法

- 9.3.3 スタイルを適用するEL式に関する留意事項

- 9.4 統合Excelワークブックでのラベルの使用

- 9.4.1 リソース・バンドルからの文字列キーの値の取得

- 9.4.2 属性コントロール・ヒントの値の取得

- 9.4.3 統合ExcelワークブックがLabelプロパティをどのように評価するか

- 9.5 操作性を向上するスタイルの使用

- 9.5.1 使い勝手を向上するADFラベル・コンポーネントの使用

- 9.5.2 統合Excelワークブック内の読取り専用プロパティに関する留意事項

- 9.6 統合Excelワークブックのブランディング

- 9.6.1 統合Excelワークブックのブランディング方法

- 9.6.2 実行時の処理: BrandingItemsプロパティ・グループ

- 9.7 ワークシート保護の使用

- 9.7.1 ワークシート保護を有効化する方法

- 9.7.2 実行時の処理: Lockedプロパティのしくみ

- 9.7.3 ワークシートの保護に関する留意事項

10 統合Excelワークブックの国際化

- 10.1 統合Excelワークブックの国際化について

- 10.1.1 統合Excelワークブックの国際化のユース・ケースと例

- 10.1.2 統合Excelワークブックの国際化の追加機能

- 10.2 統合Excelワークブックでのリソース・バンドルの使用

- 10.2.1 統合Excelワークブックでのリソース・バンドルの登録方法

- 10.2.2 構成不可能なリソースの上書き方法

- 10.2.3 実行時の処理: 構成不可能なリソースの上書き

- 10.2.4 リソース・バンドルに関する留意事項

- 10.2.4.1 リソース・バンドルのタイプ

- 10.2.4.2 統合Excelワークブックのリソース・バンドルのキャッシング

- 10.2.4.3 リソース・バンドルのEL式の構文

- 10.3 ADFデスクトップ統合でのローカライズ

- 10.3.1 サーバー・サイドのロケール設定を上書きするためのFusion Webアプリケーションの構成

- 10.3.1.1 ユーザー・プリファレンス・ハンドラの作成方法

- 10.3.1.2 ユーザー・プリファレンス・ハンドラの登録方法

11 統合Excelワークブックの保護

- 11.1 統合Excelワークブックの保護について

- 11.1.1 統合Excelワークブックの保護のユース・ケースと例

- 11.1.2 安全なFusion Webアプリケーションにおける統合Excelワークブックの追加機能

- 11.2 Excelワークブック・ユーザーの認証

- 11.2.1 実行時の処理: Loginメソッドの起動

- 11.2.2 実行時の処理: Logoutメソッドの起動

- 11.3 統合Excelワークブックのメタデータの整合性チェック

- 11.3.1 ワークブックIDのリセット方法

- 11.3.2 メタデータ改ざんチェックを実行する際の実行時の処理

- 11.4 統合Excelワークブックの保護に関する留意事項

- 11.5 Excelワークブック・ユーザーの認可

- 11.5.1 ADFデスクトップ統合が無効になったワークシートについての留意事項

12 統合Excelワークブックへの検証の追加

- 12.1 統合Excelワークブックへの検証の追加について

- 12.1.1 統合Excelワークブックの検証のユース・ケースと例

- 12.1.2 統合Excelワークブックへの検証の追加の追加機能

- 12.2 統合Excelワークブックのサーバー・サイド検証の追加

- 12.3 統合Excelワークブックのクライアント・サイド検証の追加

- 12.4 統合Excelワークブックでレポートされるエラー

- 12.4.1 EL式を使用してレポートされるエラー

- 12.4.2 コンポーネント・アクションを使用してレポートされるエラー

- 12.5 ADF表コンポーネントでの行ごとのステータスの追加

- 12.6 統合Excelワークブックでのエラー・メッセージへの詳細の追加

- 12.7 ワークブックからデータをアップロードする際のデータ競合の処理

- 12.7.1 データをアップロードする際のデータ競合を処理するためのワークブックの構成

- 12.7.2 実行時の処理: データ競合の処理

13 統合Excelワークブックのテスト

- 13.1 統合Excelワークブックのテストについて

- 13.1.1 統合Excelワークブックのテストのユース・ケースと例

- 13.1.2 統合Excelワークブックのテストの追加機能

- 13.2 Fusion Webアプリケーションのテスト

- 13.3 統合Excelワークブックの構成の検証

- 13.3.1 統合Excelワークブックの構成の検証方法

- 13.3.2 統合Excelワークブックの構成を検証する際の実行時の処理

- 13.3.3 検証の失敗の修正方法

- 13.3.4 統合Excelワークブックの構成の失敗を実行時にログに記録する方法

- 13.4 統合Excelワークブックのテスト

- 13.5 サーバーのpingテストの実行

14 統合Excelワークブックのデプロイ

- 14.1 統合Excelワークブックのデプロイについて

- 14.1.1 統合Excelワークブックのデプロイのユース・ケースと例

- 14.1.2 統合Excelワークブックのデプロイの追加機能

- 14.2 エンド・ユーザーによるADFデスクトップ統合の使用を可能にする

- 14.3 統合Excelワークブックの公開

- 14.3.1 統合ExcelワークブックをExcelから公開する方法

- 14.3.2 コマンドライン公開ツールを使用して統合Excelワークブックを公開する方法

- 14.3.3 統合Excelワークブックを公開する際の実行時の処理

- 14.4 Fusion Webアプリケーションによる公開済ワークブックのデプロイ

- 14.4.1実行時の処理: 公開されたワークブックのデプロイ

- 14.5 Fusion Webアプリケーション・ページからワークブックにパラメータ値を渡す

- 14.5.1 パラメータを渡すためにFusion Webアプリケーションのページを構成する方法

- 14.5.2 ワークシートでパラメータを受け取るようにページ定義ファイルを構成する方法

- 14.5.3 統合Excelワークブックでパラメータのプロパティを構成する方法

- 14.5.4 実行時の処理: Fusion Webアプリケーションから統合Excelワークブックへのパラメータの引渡し

15 切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用

- 15.1 切断されたワークブックについて

- 15.1.1 切断されたワークブックのユース・ケースと例

- 15.1.2 切断されたワークブックの追加機能

- 15.2 セッション間のサーバー・データ・コンテキストのリストア

- 15.2.1 サーバー・データ・コンテキストをリストアするための統合Excelワークブックの構成方法

- 15.2.2 実行時の処理: 統合Excelワークブックによるサーバー・データ・コンテキストのリストア

- 15.3 統合Excelワークブックでの静的情報のキャッシュ

- 15.4 切断されたモードで使用するための値リストのキャッシング

A ADFデスクトップ統合コンポーネントのプロパティとアクション

- A.1 ADFデスクトップ統合で頻繁に使用するプロパティ

- A.2 ADF入力テキスト・コンポーネントのプロパティ

- A.3 ADF出力テキスト・コンポーネントのプロパティ

- A.4 ADFラベル・コンポーネントのプロパティ

- A.5 ADF値リスト・コンポーネントのプロパティ

- A.6 TreeNodeListサブコンポーネントのプロパティ

- A.7 ModelDrivenColumnComponentサブコンポーネントのプロパティ

- A.8 ADFボタン・コンポーネントのプロパティ

- A.9 ADF表コンポーネントのプロパティとアクション

- A.9.1 ADF表コンポーネントのプロパティ

- A.9.2 ADF表コンポーネント列のプロパティ

- A.9.3 ADF表コンポーネントのアクション

- A.10 ADF読取り専用表コンポーネントのプロパティおよびアクション

- A.11 アクション・セットのプロパティ

- A.11.1 確認アクションのプロパティ

- A.11.2 ダイアログ・アクションのプロパティ

- A.12 ワークブックのアクションとプロパティ

- A.13 ワークシートのアクションとプロパティ

B ADFデスクトップ統合のEL式

- B.1 EL式を作成するガイドライン

- B.2 ADFデスクトップ統合コンポーネントのEL構文

- B.3 ADFデスクトップ統合の属性コントロールのヒント

C 統合Excelワークブックのトラブルシューティング

- C.1 Fusion WebアプリケーションがADFデスクトップ統合をサポートするかどうかの検証

- C.2 統合Excelワークブックのエンドユーザー認証の検証

- C.3 統合Excelワークブックのログ・ファイルの生成

- C.3.1 サーバー・サイド・ロギングの概要

- C.3.2 クライアント・サイド・ロギングの概要

- C.3.2.1 ADFデスクトップ統合でログを保存するための構成方法

- C.3.2.2 ADFデスクトップ統合の構成ファイルの概要

- C.3.2.3 ユーザー環境変数を使用したロギングの構成方法

- C.3.2.4 adfdi-commonオブジェクトに関する留意事項

- C.4 ADFデスクトップ統合の一般的なエラー・メッセージと問題

D Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定

- D.1 ADFデスクトップ統合サーブレットの構成

- D.2 ADFデスクトップ統合Excelダウンロード・フィルタの構成

- D.3 デプロイメント・ディスクリプタ・ファイルの例

E オーバーライド可能なリソースの文字列キー

F ADFデスクトップ統合でサポートされるJavaのデータ型

G ADFデスクトップ統合モデルAPIの使用

- G.1 一時行オブジェクトの概要

- G.2 ADFデスクトップ統合モデルAPIの概要

- G.2.1 JDeveloperプロジェクトへのADFデスクトップ統合モデルAPIライブラリの追加方法

- G.3 ADFデスクトップ統合モデルAPIのクラスおよびメソッド

- G.3.1 oracle.adf.desktopintegration.model.ModelHelperクラス

- G.3.1.1 getAdfdiTempChildRowメソッド

- G.3.1.2 getAdfdiTempRowForViewメソッド

- G.3.1.3 getChildViewDefメソッド

H エンド・ユーザーのアクション

- H.1 ADFデスクトップ統合のランタイム・エディションのインストール、アップグレードおよび削除

- H.1.1 ADFデスクトップ統合のランタイム・エディションのインストール方法

- H.1.2 ADFデスクトップ統合のランタイム・エディションの削除方法

- H.1.3 ローカル・システムのADFデスクトップ統合のランタイム・エディションのアップグレード方法

- H.2 統合されていないExcelワークシートからのデータのインポート

- H.3 個人情報の削除

- H.4 実行時の統合Excelワークブックの編集

- H.5 実行時の統合Excelワークブックの制限

- H.6 統合Excelワークブックの使用

- H.6.1 統合ExcelワークブックのADF表コンポーネントに行を挿入する方法

- H.6.2 統合ExcelワークブックのADF表のデータをソートする方法

- H.6.3 統合ExcelワークブックのADF表の行を削除する方法

- H.7 タイムゾーン変換の処理

はじめに

『Oracle ADFデスクトップ統合によるアプリケーションの開発』にようこそ。

対象読者

このマニュアルは、デスクトップ・アプリケーションを構成してOracle Application Development Framework (Oracle ADF)と統合するエンタープライズ開発者を対象としています。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docaccを参照してください。

Oracleサポートへのアクセス

Oracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細は、http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info、聴覚に障害があるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

関連ドキュメント

詳細は、次のOracleドキュメントを参照してください。

- 『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』

- 『Oracle ADF FacesによるWebユーザー・インタフェースの開発』

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、ユーザーが選択するオプションなどのgraphical user interface要素(メニューやメニュー項目、ボタン、タブ、ダイアログ・コントロールなど)を示します。

イタリック

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、言語や構文の要素、ディレクトリおよびファイル名、URL、画面に表示されるテキスト、または入力するテキストを示します。

このガイドで説明する新機能

次の各トピックでは、ADFデスクトップ統合の新機能と変更機能およびこのガイドで説明する主な変更について紹介し、追加情報へのリンクを示します。このドキュメントは、以前の『Oracle Application Development Frameworkデスクトップ統合開発者ガイド』の新しいエディションです。

このリリースでOracle JDeveloperおよびOracle Application Development Framework (Oracle ADF)に加えられた変更については、Oracle Technology Networkで新機能に関するページ(http://www.oracle.com/technetwork/developer-tools/jdev/documentation/index.htm)を参照してください。

12c (12.1.2)の新機能および変更機能

Oracle ADFデスクトップ統合12c (12.1.2)には、このドキュメントで説明する次の新規および変更された開発機能が含まれています。

- 主要なWindowsオペレーティング・システムとしてWindows 7を使用するために、すべての手順と画像が更新されています。

- ADFデスクトップ統合のSummitサンプル・アプリケーションを使用するために、すべてのデモ例と画像が更新されています。

- 管理者関連の一部のコンテンツが、Oracle ADFアプリケーションの管理に移行されています。

- システム要件とインストール手順が更新されています。3.4項「ADFデスクトップ統合のインストール」を参照してください。

- JDeveloperで統合Excelワークブックをプロジェクトに追加します。4.2項「Fusion Webアプリケーションへの統合Excelワークブックの追加」を参照してください。

- ADFデスクトップ統合のページ定義ファイルを作成および構成します。4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

- コンポーネントをバインディング・パレットおよびコンポーネント・パレットからドラッグ・アンド・ドロップします。5.4項「バインディング・パレットの使用」および5.5項「コンポーネント・パレットの使用」を参照してください。

- ダブルクリックしてコンポーネントを編集します。5.6項「プロパティ・インスペクタの使用」を参照してください。

- Excelワークブック統合メタデータをエクスポートおよびインポートします。5.15項「Excelワークブック統合メタデータのエクスポートおよびインポート」を参照してください。

- マージされたセルにコンポーネントを挿入します。6.1項「ADFデスクトップ統合フォーム・タイプ・コンポーネントについて」を参照してください。

- 新規アクションUploadAllOrNothing。このアクションは、変更された(または新規)行で失敗がない場合に行をコミットできるようにします。7.9項「UploadAllOrNothingアクションを使用して変更をアップロードするためのADF表コンポーネントの構成」を参照してください。

- 新機能の明示的なワークシート設定アクション。このアクションは、クライアントがバインディング・コンテナ・メタデータを取得する前に、ユーザーがデータ(またはバインディング・コンテナ)をカスタマイズできるようにします。7.22項「明示的なワークシート設定アクションの使用」を参照してください。

- ComponentActionの新規プロパティDetailStatusMessage。8.2.2項「アクション・セット内のコンポーネント・アクションの起動方法」。

- ステータスが表示される進捗バー。8.2.5項「アクション・セットの実行中にステータス・メッセージを表示する方法」と8.2.7項「進捗バーに関する留意事項」を参照してください。

- ADFデスクトップ統合のページ定義によるワークシートの認可。11.5項「Excelワークブック・ユーザーの認可」を参照してください。

- タイムゾーンの変更を追跡し検出します。H.7項「タイムゾーン変換の処理」を参照してください。

このドキュメントにおける12c (12.1.2)に関するその他の大きな変更

12c (12.1.2)に関するこのドキュメントは、いくつかの方法で更新され、修正情報の追加と明確化が行われています。さらに、各項で次の重要な変更または追加が行われています。

- 章に、ユース・ケースと例に関する項が追加されています。

- 章の「概要」項はすべて「...について」に変更されています。

- 旧バージョンまたは新バージョンのADFデスクトップ統合に統合されているワークブックを使用する際の移行に関する情報を追加するために、3.6.1項「統合Excelワークブックを最新バージョンのADFデスクトップ統合に移行する方法」が更新されています。

- 旧バージョンのADFデスクトップ統合を実行するシステム上で新バージョンのADFデスクトップ統合によって作成または更新されたワークブックの互換性を説明するために、3.7項「旧バージョンのADFデスクトップ統合との統合Excelワークブックの使用」が更新されています。

- 統合Excelワークブックからコンポーネントを削除する方法を説明するために、項が1つ追加されています。5.14項「ADFデスクトップ統合コンポーネントの削除」を参照してください。

- 次の目的のために、第7章「ADFデスクトップ統合表タイプ・コンポーネントの使用」の様々な項が改訂されています。

- 表コンポーネントはマージされたセルに挿入できない、および幅の広い表(列の多い表)によりパフォーマンスが低下するという情報を追加。7.3項「ExcelワークシートへのADF表コンポーネントの挿入」を参照してください。

- 1つ以上のstatus_initialized行をイテレータで作成するカスタム・メソッド・アクションの追加。7.5項「ADF表コンポーネントに保留中の挿入行としてデータをダウンロードするためのワークシートの構成」を参照してください。

- DownloadFlaggedRowsアクションは挿入された行に適用されないという情報の追加。7.11.2項「ADF表コンポーネントでの行のフラグ付け」を参照してください。

- ADF読取り専用表の最初の列には表コンポーネントにより使用される重要なデータが含まれるが、このデータの削除は許可されていないという情報の追加。7.17項「ADF読取り専用表コンポーネントの作成」を参照してください。

- データをダウンロードおよびアップロードする際に、読取り専用プロパティのEL式が評価される方法を説明する項が1つ追加されています。7.21項「読取り専用プロパティのEL式の評価」を参照してください。

- 次の目的のために、8項「統合Excelワークブックへの対話性の追加」の様々な項が改訂されています。

- CancelButtonLabel、OKButtonLabelまたはPromptプロパティが空の場合に、そのデフォルト値を示す。8.2.12項「実行時の処理: アクション・セットによる確認の提供」を参照してください。

- ツールバーのリボン・コントロールはすべての開いている統合ワークブックで共有されるという注記を追加。8.3.2項「実行時リボン・タブのワークシート・コマンド・ボタンの構成方法」を参照してください。

- Dialogアクションで表示されるWebページは、ローカルのInternet Explorerインストールを利用する.NET Webブラウザ・コントロールを使用してレンダリングされるという情報を追加。8.4.3項「Fusion Webアプリケーションからのページ表示に関する留意事項」を参照してください。

- Excel式内の評価後のEL式は255文字を超えてはいけないことを示す注記を追加。8.9項「Excel式を生成するためのEL式の使用」を参照してください。

- リソース・バンドル・クラスの登録時にファイル拡張子を含めないことを示す情報を追加するために、10.2.1項「統合Excelワークブックでのリソース・バンドルの登録方法」が更新されています。

- 明確化を行うために、次の項が改訂されています。

- 11.1項「統合Excelワークブックのセキュリティの概要」

- 13.2項「Fusion Webアプリケーションのテスト」

- 13.4項「統合Excelワークブックのテスト」

- adfdi-excel-runtime-client-installer.zipファイルのパスを更新するために、14.2項「エンド・ユーザーがADFデスクトップ統合を使用できるようにするための処理」が更新されています。

- ワークブック公開後の実行時の動作を説明するために、14.4項「公開したワークブックをFusion Webアプリケーションとともにデプロイする方法」が更新されています。

- 新しい属性を追加するために、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」の表A-1、表A-9、表A-11、表A-14、表A-15、表A-15、表A-19が更新されています。

- エラー・メッセージを追加するために、C.4項「ADFデスクトップ統合の一般的なエラー・メッセージと問題」が更新されています。

- ADFデスクトップ統合のランタイム・エディションのセットアップ・ファイルが展開されるディレクトリの完全修飾パスの制限を追加するために、H.1項「ADFデスクトップ統合のランタイム・エディションのインストール、アップグレードおよび削除」が改訂されています。

- ローカル・システムでADFデスクトップ統合のランタイム・エディションをアップグレードする方法を説明するために、項が1つ追加されています。H.1.3項「ローカル・システムのADFデスクトップ統合のランタイム・エディションのアップグレード方法」を参照してください。

1 ADFデスクトップ統合の概要

この章では、ADFデスクトップ統合について紹介し、フレームワークの概要を示します。また、Microsoft ExcelをFusion Webアプリケーションと統合する利点についても説明します。

この章の内容は次のとおりです。

- 1.1項「ADFデスクトップ統合について」

- 1.2項「ADFデスクトップとMicrosoft Excelの統合の概要」

1.1 ADFデスクトップ統合について

Fusion Webアプリケーションのエンド・ユーザーの多くは、Microsoft Excelなどのデスクトップ・アプリケーションを使用して、Webアプリケーションでも使用される情報を管理します。ADFデスクトップ統合には、Oracle Application Development Framework (Oracle ADF)開発者が、Fusion Webアプリケーションによって提供される機能をデスクトップ・アプリケーションに拡張するためのフレームワークが備わっています。これによって、エンド・ユーザーは企業のネットワークから切断されている間もOracle ADFの機能を使用できます。また、エンド・ユーザーは、複雑な計算や大量のデータのアップロードといった情報管理業務を簡単かつスムーズに実行するために、使い慣れたExcelのユーザー・インタフェースが備わっているADFデスクトップ統合を好む傾向があります。

ADFデスクトップ統合は、Oracle ADFアーキテクチャの一部です。Oracle ADFアーキテクチャの詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のOracle ADFアーキテクチャに関する項を参照してください。

図1-1は、ADFデスクトップ統合のアーキテクチャを示します。これは次のコンポーネントから構成されます。

- ADFデスクトップ統合

- ADFデスクトップ統合のリモート・サーブレット

- ADFモデル・レイヤー

図1-1 ADFデスクトップ統合のアーキテクチャ

ADFデスクトップ統合の詳細は、次のURLにあるOracle Technology Network (OTN)のADFデスクトップ統合のページを参照してください。

http://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.html

1.2 ADFデスクトップとMicrosoft Excelの統合の概要

ADFデスクトップ統合では現在、Microsoft Excel 2007およびそれ以降の他のバージョンのMicrosoft Excelとの統合をサポートしています。

注意:

このガイドでは、Fusion Webアプリケーションと統合するExcelワークブックを示す用語として、統合Excelワークブックを使用します。これは、Fusion Webアプリケーションと統合されていなかったり、Oracle ADFの機能を使用して構成されていないワークブックと区別するためでもあります。

1.2.1 統合Excelワークブックの作成の概要

統合Excelワークブックの作成は、表1-1の手順を実行します。

表1-1 統合Excelワークブックを作成する手順

使用ツール

プロセス

JDeveloper

- Fusion Webアプリケーションを作成します。
Fusion Webアプリケーションの作成に関する詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発を参照してください。

- Microsoft Excelで必要な要素を公開するデータ・コントロールを追加します。

- Excelで使用するOracle ADFバインディングを公開するページ定義ファイルを作成します。
詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

Excel

- Oracle ADF機能で構成するExcelワークブックを作成します。
詳細は、4.2項「Fusion Webアプリケーションへの統合Excelワークブックの追加」を参照してください。

- ページ定義ファイルで公開したOracle ADFバインディングと、ADFデスクトップ統合で提供されるOracle ADFコンポーネントを使用して、Excelワークブックを構成します。
詳細は、次の項と章を参照してください。

- 第5章「開発ツールの使用」
この章では、Oracle ADF機能でExcelワークブックを構成するための、ADFデスクトップ統合で提供されるツールの概要を示します。

- 第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」
この章では、ExcelワークシートへのADFデスクトップ統合フォーム・タイプ・コンポーネントの挿入方法と、実行時の動作を決定するプロパティの構成について説明します。

- 第7章「ADFデスクトップ統合表タイプ・コンポーネントの使用」
この章では、ADF表コンポーネントおよび読取り専用表コンポーネントを使用して、Fusion Webアプリケーションによりホストされるデータの表示および編集の手段をエンド・ユーザーに提供する方法について説明します。

- 第12章「統合Excelワークブックへの検証の追加」
この章では、統合Excelワークブックへの検証の追加方法について説明します。

- 統合されたExcelワークブックをテストします。
詳細は、第13章「統合Excelワークブックのテスト」を参照してください。

- Fusion WebアプリケーションとExcelワークブックの統合が完了すると、エンド・ユーザーが使用できるようにこの統合をデプロイします。
このタスクの詳細は、第14章「統合Excelワークブックのデプロイ」を参照してください。

1.2.2 ExcelとFusion Webアプリケーションを統合する利点

Microsoft ExcelワークブックとFusion Webアプリケーションとの統合によって、次の利点が得られます。

- エンド・ユーザーは、使い慣れたデスクトップ・インタフェース(Microsoft Excel)から、Fusion Webアプリケーションがホストするデータや機能にアクセスできます。

- エンド・ユーザーは、Fusion Webアプリケーションに接続していないときでも、そのアプリケーションがホストするデータにアクセスできます。データをダウンロードするには、ユーザーはFusion Webアプリケーションにログオンする必要があります。データをExcelワークブックにダウンロードすると、Fusion Webアプリケーションとの接続が切断されているときでもデータを変更できます。

- 大容量のデータのエントリや更新が、スプレッドシート・スタイルのインタフェースから簡単に行えます。

- エンド・ユーザーは、マクロや計算といったネイティブのExcel機能を使用できます。

2 ADFデスクトップ統合のサンプル・アプリケーションの概要

この章では、ADFデスクトップ統合Summitサンプル・アプリケーションの概要を説明します。ADFデスクトップ統合のSummitサンプル・アプリケーションには、サンプルのFusion Webアプリケーションと統合されたいくつかのMicrosoft Excelワークブックが含まれています。

この章の内容は次のとおりです。

- 2.1項「ADFデスクトップ統合のSummitサンプル・アプリケーションについて」

- 2.2項「ADFデスクトップ統合のSummitサンプル・アプリケーションの設定と実行」

- 2.3項「ADFデスクトップ統合のSummitサンプル・アプリケーションのFusion Webアプリケーションの概要」

- 2.4項「ADFデスクトップ統合のSummitサンプル・アプリケーションの統合Excelワークブックの概要」

2.1 ADFデスクトップ統合のSummitサンプル・アプリケーションについて

ADFデスクトップ統合のSummitサンプル・アプリケーションは、ADFデスクトップ統合の主な機能を説明する、サンプルのデモンストレーションのセットです。各サンプルには、開発者ガイドでも確認することができる、特定の機能が含まれています。サンプルはすべて同じ基礎となるデータベース・スキーマを使用します。これにより簡単にソース・コードにアクセスでき、スタンドアロン方式で実行時の動作を経験できます。

2.2 ADFデスクトップ統合のSummitサンプル・アプリケーションの設定と実行

ADFデスクトップ統合のSummitサンプル・アプリケーションをダウンロードおよび実行する前に、第3章「開発環境の設定」での説明のとおり開発環境を設定します。

ADFデスクトップ統合のSummitサンプル・アプリケーションをダウンロードするには:

1. Oracle JDeveloper Release 12cをダウンロードおよびインストールします。詳細は、Oracle JDeveloperのインストールに関する項を参照してください。

2. Oracle Technology Networkから、ADFデスクトップ統合のSummitサンプル・アプリケーションのZIPファイル(SummitADF_DI1212.zip)をダウンロードします。

http://www.oracle.com/pls/topic/lookup?ctx=E26099_01&id=jdevcodesamples

3. SummitADF_Schema1212.zipファイルをダウンロードし、Summit ADFスキーマをインストールします。詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のSummit ADFスキーマのインストール方法に関する項を参照してください。

4. ADFデスクトップ統合をインストールします。詳細は3.4項「ADFデスクトップ統合のインストール」を参照してください。

注意:

旧バージョンのADFデスクトップ統合がシステムにインストールされている場合、3.6項「ADFデスクトップ統合のアップグレード」の説明に従って、ADFデスクトップ統合をアップグレードします。

ADFデスクトップ統合のSummitサンプル・アプリケーションを実行するには:

1. SummitADF_DI1212.zipファイルの内容のローカル・ディレクトリに展開します。

2. JDeveloperでSummitADFdi.jwsファイルを開きます。
このファイルはSummit_ADFDIディレクトリにあります。

3. 「アプリケーション」ウィンドウで、Modelプロジェクトをクリックして展開します。

4. 「モデル」→「アプリケーション・ソース」→「oracle.summitdi.model」→Model.jpxファイルを開きます。

5. 「一般」タブで「接続」グループを展開し、「追加」アイコンをクリックして、データベース接続を作成します。

6. 「データベース接続の作成」ダイアログで、表2-1のように各自の環境に合せて接続情報を追加します。

表2-1 ADFデスクトップ統合のSummitサンプル・アプリケーションのデータベース接続プロパティ

プロパティ

説明

ユーザー名

summit_adf

パスワード

summit_adf

ホスト名

データベースのホスト名。

例:

localhost

JDBCポート

データベースのポート。

例:

1521

SID

データベースのSID。

例:

ORCLまたはXE

「接続テスト」をクリックして接続を確認し、「OK」をクリックしてダイアログを閉じます。

7. Model.jpxファイルを保存します。

8. Modelプロジェクトを右クリックして、Model.jprのリビルドを選択します。

9. ViewControllerプロジェクトを展開して、「Webコンテンツ」→MainPage.jsfを選択します。

10. MainPage.jsfを右クリックして、「実行」を選択します。

2.3 ADFデスクトップ統合のSummitサンプル・アプリケーションのFusion Webアプリケーションの概要

ADFデスクトップ統合のSummitサンプル・アプリケーションのFusion Webアプリケーションにより、エンド・ユーザーは統合Excelワークブックをダウンロードできます。

2.3.1 ADFデスクトップ統合のSummitサンプル・アプリケーションのFusion Webアプリケーションについて

エンド・ユーザーがJDeveloperでADFデスクトップ統合のSummitサンプル・アプリケーションを実行すると、デフォルトのブラウザでアプリケーションのホーム・ページが開きます。エンド・ユーザーは、ホーム・ページから様々な統合Excelワークブックをダウンロードできます。

図2-1 ADFデスクトップ統合のSummitサンプル・アプリケーションのホーム・ページ

2.3.2 統合Excelワークブックのダウンロード

ADFデスクトップ統合のSummitサンプル・アプリケーションでは、異なる要件を満たすために、様々な統合Excelワークブックが提供されます。エンド・ユーザーは、スライダ・コントロールを使用して、または使用可能なデモのドロップダウン・リストから、様々なワークブックをナビゲートおよびダウンロードできます。

表2-2に、メニュー・オプションと、ダウンロードされる統合Excelワークブックを示します。

表2-2 ADFデスクトップ統合のSummitサンプル・アプリケーションの統合Excelワークブック

メニュー・オプション

説明

編集可能表サンプル

EditCusotmers.xlsxワークブックをダウンロードします。

ナビゲーション・フォーム・サンプル

EditCusotmers.xlsxワークブックをダウンロードします。

Webピッカー使用の編集可能表

EditableCusotmerSearch.xlsxワークブックをダウンロードします。

フォームおよび表の場所のクイック変更

WarehouseLocations.xlsxワークブックをダウンロードします。

2.4 ADFデスクトップ統合のSummitサンプル・アプリケーションの統合Excelワークブックの概要

ADFデスクトップ統合のSummitサンプル・アプリケーションには、EditCustomers.xlsx、EditWarehouses.xlsx、EditCustomerSearch.xlsxおよびWarehouseLocations.xlsx統合Excelワークブックが用意されています。

EditCustomers.xlsxワークブックではエンド・ユーザーは次のことができます。

- 表形式で顧客データをダウンロードおよび表示

- ワークブックの情報を変更およびアップロード

- データの複数の行をアップロード

EditWarehouses.xlsxワークブックではエンド・ユーザーは次のことができます。

- ナビゲーション形式で倉庫データをダウンロードおよび表示

- ワークブックの倉庫情報を変更およびアップロード

- ユーザーが別のレコードに移動するとすぐに更新された情報がアップロードされます。

EditCustomerSearch.xlsxワークブックではエンド・ユーザーは次のことができます。

- 表形式で顧客データをダウンロードおよび表示

- 国別に顧客をフィルタ

WarehouseLocations.xlsxワークブックではエンド・ユーザーは次のことができます。

- 表形式で倉庫データとその場所をダウンロードおよび表示

- すべての倉庫の地域を変更およびアップロード

- 更新された情報をアップロード

この章の次の項では、ワークブックの機能の詳細な情報と実装の詳細への参照を提供します。

2.4.1 統合ExcelワークブックからのFusion Webアプリケーションへのログオン

実行時に、ADFデスクトップ統合のSummitサンプル・アプリケーションの統合Excelワークブックは、エンド・ユーザーがFusion Webアプリケーションにログオンするのに使用できる、Excelのリボン・タブをレンダリングします。図2-2は、EditWarehouses.xlsxワークブックのリボンにある実行時のWarehousesタブを示しています。

図2-2 実行時のWarehousesタブ

2.4.2 データ行のダウンロード

EditCustomers.xlsxワークブックなどの一部のワークブックでは、ADF表コンポーネントを使用して、Fusion Webアプリケーションからダウンロードされた情報をホストします。このコンポーネントを使用して、エンド・ユーザーは行を編集し、変更した行をFusion Webアプリケーションにアップロードできます。

次の項では、ダウンロード機能の実装方法の詳細を説明します。

- Fusion Webアプリケーションに統合するそれぞれのワークシートには、関連するページ定義ファイルが必要です。
たとえば、EditCustomers.xlsxワークブックのCustomersワークシートは、ページ定義ファイルExcelCustomers.xmlページ定義ファイルと関連付けられています。JDeveloperで、「アプリケーション」ウィンドウの次のノードを展開して、このファイルを表示します。

ViewController > 「アプリケーション・ソース」 > oracle.summitdi.view > pageDefs

ページ定義ファイルの構成方法の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

- ADF表コンポーネントDownloadアクションは、Fusion Webアプリケーションからワークシートにデータをダウンロードします。このアクションを起動する方法の詳細は、7.4項「ADF表コンポーネントにデータをダウンロードするためのOracle ADFコンポーネントの構成」を参照してください。

- EditCustomers.xlsxワークブックでは、ワークシートStartupイベントはADF表コンポーネントDownloadアクションを含むアクション・セットを起動します。ワークシート・イベントの構成の詳細は、8.2.4項「ワークシート・イベントからアクション・セットを起動する方法」を参照してください。

2.4.3 ワークブックの顧客および倉庫情報の変更

EditCustomers.xlsxおよびEditWarehouses.xlsxワークブックを使用して、エンド・ユーザーは、ADF表コンポーネントおよびフォーム・コンポーネントによりFusion Webアプリケーションからダウンロードされた顧客および倉庫情報を編集できます。UpdateComponentプロパティが構成されている実行時ADF表コンポーネントの列を使用して、エンド・ユーザーは値を変更したり、変更をFusion Webアプリケーションにアップロードできます。たとえば、エンド・ユーザーはEditCustomers.xlsxのName、PhoneおよびAddress列に表示される値を変更できます。

StatusやChangedなど他の列は、ADF表コンポーネントに表示されて、アップロード操作や変更された列のステータス情報を提供します。

次の項では、この機能の実装方法の詳細を説明します。

- ADF表コンポーネントの挿入の詳細は、7.3項「ExcelワークシートへのADF表コンポーネントの挿入」を参照してください。

- Excel式の使用の詳細は、8.10項「統合Excelワークブックでの計算済セルの使用」を参照してください。

- StatusやChangedなど特殊な列の詳細は、7.12項「ADF表コンポーネント内の特殊な列」を参照してください。

2.4.4 Fusion Webアプリケーションへの変更済の情報のアップロード

統合ワークブックを使用すると、エンド・ユーザーはADF表コンポーネントの変更済データをFusion Webアプリケーションにアップロードできます。アクション・セットが、ADF表コンポーネントのUploadアクションを起動する実行時「アップロード」ボタン用に構成されています。この機能の実装の詳細は、7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」を参照してください。

3 開発環境の設定

この章では、ExcelワークブックとFusion Webアプリケーションを統合するために開発環境を設定する方法、ADFデスクトップ統合のアップグレードと削除を行う方法、およびVisual Studio tools for Microsoft Officeをローカライズする方法について説明します。

この章の内容は次のとおりです。

- 3.1項「開発環境の設定について」

- 3.2項「必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア」

- 3.3項「ADFデスクトップ統合と協働するExcelの構成」

- 3.4項「ADFデスクトップ統合のインストール」

- 3.5項「ADFデスクトップ統合の削除」

- 3.6項「ADFデスクトップ統合のアップグレード」

- 3.7項「旧バージョンのADFデスクトップ統合との統合Excelワークブックの使用」

- 3.8項「複数のインスタンスのJDeveloperを持つシステムでのADFデスクトップ統合の使用」

3.1 開発環境の設定について

開発環境を設定するには、正しいバージョンのJDeveloper、Microsoft OfficeおよびMicrosoft Internet Explorerがインストールされている必要があります。詳細は3.2項「必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア」を参照してください。

必要なソフトウェアがあることを確認した後、次の作業を行って開発環境の設定を完了してください。

- ADFデスクトップ統合からMicrosoft Excelへのアクセスを許可

- ADFデスクトップ統合のインストール

注意:

このガイドの手順では、Windows 7オペレーティング・システムおよびMicrosoft Excel 2007を使用していることを想定しています。他のエディションのWindowsおよびExcelでは手順が異なることがある点に注意してください。

3.2 必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア

ExcelワークブックとFusion Webアプリケーションの統合を開始する前に、必要なOracle ADFモジュールとサード・パーティ製ソフトウェアをインストールして構成する必要があります。

- Oracle JDeveloper
最新リリースのJDeveloperをインストールします。ADF デスクトップ統合は、JDeveloperの機能として入手可能です。

- Microsoft Windows
Microsoft Windowsオペレーティング・システムは、Fusion Webアプリケーションと統合するExcelワークブックの開発とデプロイメントを支援します。サポートされているWindowsのバージョンの詳細は、OTNの「Oracle JDeveloperおよびApplication Development Frameworkの証明書情報」のページを参照してください。

http://www.oracle.com/technetwork/developer-tools/jdev/index-091111.html

- Microsoft Excel
ADFデスクトップ統合は、Fusion Webアプリケーションと次のタイプのExcelワークブックとの統合をサポートしています。

- Excelワークブック
Excelワークブックのデフォルトの形式は、Excel XMLベースのファイル形式(.xlsx)です。

- Excelマクロが有効なワークブック
この形式(.xlsm)のワークブックは、Excel XMLベースのファイル形式を使用し、VBAマクロ・コードを格納できます。

ADFデスクトップ統合は、他のExcelファイル形式の使用をサポートしていません。サポートされているExcelのバージョンの詳細は、OTNの「Oracle JDeveloperおよびApplication Development Frameworkの証明書情報」のページを参照してください。

http://www.oracle.com/technetwork/developer-tools/jdev/index-091111.html

注意:

Microsoft Excel 2003またはそれ以前のバージョンのMicrosoft Excelはサポートされていません。

- Internet Explorer
ADFデスクトップ統合の一部の機能は、Microsoft .NET FrameworkのWebブラウザのコントロールを使用します。このブラウザのコントロールが正しく機能するかどうかは、ローカルInternet Explorerのインストールに依存します。

ADFデスクトップ統合は、Internet Explorerを使用してExcel内にWebページをレンダリングします。システムに別のブラウザがインストールされていたり、デフォルト・ブラウザとして設定されていても関係ありません。

- アプリケーション・サーバー
ADFデスクトップ統合を使用して開発されたアプリケーションのデプロイに使用可能なアプリケーション・サーバーの詳細は、OTNの「Oracle JDeveloperおよびApplication Development Frameworkの証明書情報」を参照してください。

http://www.oracle.com/technetwork/developer-tools/jdev/index-091111.html

3.3 ADFデスクトップ統合と協働するExcelの構成

ADFデスクトップ統合からMicrosoft Excelにアクセスできるようにするには、Microsoft Excelの設定を構成する必要があります。この手順は一度だけ実行するだけで済みます。

Excelで統合Excelワークブックを実行可能にするには:

1. Excelを開きます。

2. 「Microsoft Office」ボタンをクリックして、「Excelオプション」を選択します。

3. 「Excelオプション」ダイアログで、Trust Centerタブを選択し、「Trust Centerの設定」をクリックします。

4. Trust Centerダイアログで、マクロ設定タブを選択し、図3-1に示すようにVBAプロジェクト・オブジェクト・モデルに対するアクセスを信頼チェック・ボックスをクリックします。

図3-1 Excelのトラスト・センター・ダイアログ

5. 「OK」をクリックします。

Fusion Webアプリケーションと統合されたExcelワークブックの保護の詳細は、第11章「統合Excelワークブックの保護」を参照してください。

3.4 ADFデスクトップ統合のインストール

ADFデスクトップ統合の設定ツールを実行する際は、次のリストにあるソフトウェアがフレームワークをインストールするシステム上にインストールされているかどうかが検証されます。ソフトウェアのこれらのピースのうちインストールされていないものがあれば、設定ツールは自動的にダウンロードして、指定した順番にインストールします。

1. Windows Installer 3.1

2. Microsoft .NET Framework
Microsoft .NET Framework 4は、Microsoft .NET Frameworkをターゲットに開発されるアプリケーションの実行に必要な実行時ファイルおよび関連ファイルを提供します。フレームワークはhttp://www.microsoft.com/download/からダウンロードできます。

注意:

- Microsoft .NET FrameworkのClient Profileエディションは、ADFデスクトップ統合を実行するには不十分なので、ダウンロードしないでください。

- Microsoft .NET Frameworkのインストールには、インストールするシステムの再起動が必要な場合があります。再起動の後、設定ツールからインストールを完了するように推奨されます。

3. Microsoft Visual Studio 2010 Tools for Office Runtime
Microsoft OfficeシステムのVSTOソリューションを実行するには、Microsoft Visual Studio 2010 Tools for Office Runtime(バージョン4)が必要です。Microsoft Visual Studio 2010 Tools for Office Runtimeはhttp://www.microsoft.com/download/からダウンロードできます。

4. ADFデスクトップ統合のアドイン
ADFデスクトップ統合のアドインはJDeveloperから、またはMW_HOME\jdeveloper\adfdiの設定ツールからインストールできます。ADFデスクトップ統合の設定方法の詳細は、3.4.1項「ADFデスクトップ統合の設定方法」を参照してください。

ADFデスクトップ統合のインストールは、現在のWindowsユーザー・プロファイルに対して固有である点に注意してください。システム上に複数のWindowsユーザー・プロファイルがあり、特定のユーザー・プロファイルからADFデスクトップ統合Excelワークブックを使用する場合は、それぞれのユーザー・プログラムファイルにログインしてADFデスクトップ統合のアドインをインストールする必要があります。詳細は、3.4.1項「ADFデスクトップ統合の設定方法」を参照してください。

3.4.1 ADFデスクトップ統合の設定方法

ADFデスクトップ統合のアドインには、デザイナ・エディションとランタイム・エディションの2つがあります。統合Excelワークブックを作成してテストするにはデザイナ・エディションを、エンド・ユーザーがADFデスクトップ統合および統合Excelワークブックを使用できるようにするにはランタイム・エディションをそれぞれ使用します。

注意:

同じシステムに両方のエディションのADFデスクトップ統合をインストールしないでください。

ADFデスクトップ統合のアドインをインストールするために管理者権限は必要ありませんが、追加のソフトウェアのダウンロードとインストールを試行するインストーラを実行するための管理者権限が必要となることがあります。また、Internet Explorerのプロキシ設定が、*.microsoft.comへのアクセスを許可するように構成されているかも確認してください。これは、インストーラが足りない前提条件のソフトウェアをMicrosoftのWebサイトから自動的にダウンロードしようとするためです。

デフォルトではインストーラは英語で実行されます。『Oracle ADFアプリケーションの管理』のADFデスクトップ統合インストーラのローカライズに関する項の手順に従って、表示される言語を変更できます。

始める前に:

ADFデスクトップ統合の要件について理解しておくと役立ちます。詳細は3.4項「ADFデスクトップ統合のインストール」を参照してください。

デザイナ・エディションのADFデスクトップ統合をインストールするには:

1. JDeveloperを開きます。

2. 「ツール」メニューから、図3-2に示すように「ADFデスクトップ統合のインストール」を選択します。

図3-2 JDeveloperの「ツール」メニュー

注意:

ADFデスクトップ統合のインストール・メニュー・オプションは、JDeveloperのWindowsインストールでのみ使用可能です。

3. ダイアログ・ボックスに表示される手順に従い、必要なコンポーネントを正しくインストールします。
インストール処理中にエラーが発生した場合、旧バージョンのADFデスクトップ統合を削除したかどうか確認してください。詳細は3.5項「ADFデスクトップ統合の削除」を参照してください。

4. プロンプトが表示された場合は「はい」をクリックしてシステムを再起動し、ADFデスクトップ統合の設定を完了します。

ヒント:

デザイナ・エディションのADFデスクトップ統合は、MW_HOME\jdeveloper\adfdi\bin\excel\addin\designerディレクトリで使用可能なsetup.exeを実行してもインストールできます。

システム上にJDeveloperのインスタンスが複数あったり、既存のADFデスクトップ統合のアドインのインスタンスがある場合、インストールの手順を実行する前に3.8項「複数のインスタンスのJDeveloperを持つシステムでのADFデスクトップ統合の使用」の情報を確認してください。

ADFデスクトップ統合のランタイム・エディションをインストールする場合は、H.1項「ADFデスクトップ統合のランタイム・エディションのインストール、アップグレードおよび削除」を参照してください。

3.5 ADFデスクトップ統合の削除

ADFデスクトップ統合のアドインを設定したシステムから削除するには、Microsoft Windowsのコントロール パネルを使用します。ADFデスクトップ統合を削除した後は、ADFデスクトップ統合を再インストールしないかぎり、このシステム上で統合Excelワークブックを使用できなくなります。

ADFデスクトップ統合のアドインを削除するには:

1. Windowsの「スタート」ボタンをクリックして、「コントロール パネル」を選択します。

2. 「コントロール パネル」で、「プログラムと機能」を選択して開きます。

3. 「プログラムのアンインストールまたは変更」ウィンドウで Oracle ADFデスクトップ統合のExcel用アドインのエントリを選択して「アンインストール」をクリックします。

注意:

複数のユーザー・プログラムファイルにADFデスクトップ統合をインストールした場合、各ユーザー・プログラムファイルから削除する必要があります。

3.6 ADFデスクトップ統合のアップグレード

旧バージョンのADFデスクトップ統合を使用している場合、最新バージョンにアップグレードする必要があります。

ADFデスクトップ統合のアドインをアップグレードするには:

1. 旧バージョンのADFデスクトップ統合をアンインストールします。
詳細は3.5項「ADFデスクトップ統合の削除」を参照してください。

2. 最新バージョンのOracle JDeveloperをダウンロードしてインストールします。

3. 新しいバージョンのADFデスクトップ統合をインストールします。
詳細は3.4項「ADFデスクトップ統合のインストール」を参照してください。

注意:

旧バージョンのADFデスクトップ統合をアンインストールしないと、新しいインストーラが古いインストーラとまったく同じ場所にある場合を除いてエラーが発生します。

3.6.1 統合Excelワークブックを最新バージョンのADFデスクトップ統合に移行する方法

ADFデスクトップ統合のアドインをアップグレードした後で統合Excelワークブックを開くと、ワークブックのADFデスクトップ統合のバージョン情報が検出され、クライアント・システムにインストールされたバージョンと比較されます。必要な場合は、統合ワークブックの構成をクライアントにインストールしたバージョンにアップグレードするように求められます。

注意:

古いADFデスクトップ統合クライアント(バージョンX)を使用して作成した統合Excelワークブックは、新しいバージョンのADFデスクトップ統合クライアント(バージョンX+1)が実行するシステムで移行する必要はありませんが、新しいクライアント(バージョンX+1)で使用されて保存された統合Excelワークブックは、古いクライアント(バージョンX)では動作しない可能性があります。

統合Excelワークブックがインストール済のADFデスクトップ統合クライアントと互換性がない場合、ワークブックを開くとメッセージが表示されます。そのような場合、新しいワークブックと対話するには、ADFデスクトップ統合クライアントの新しいバージョンをインストールする必要があります。

バージョン11.1.1.3.0以前のADFデスクトップ統合クライアントを使用して作成した統合Excelワークブックを移行している場合、アクションを確認する「ワークブックの移行」ダイアログが表示されます。

始める前に:

ADFデスクトップ統合のアップグレードについて理解しておくと役立ちます。詳細は3.6項「ADFデスクトップ統合のアップグレード」を参照してください。

アップグレード後に統合Excelワークブックを移行するには:

1. 統合Excelワークブックを開きます。
「ワークブックの移行」ダイアログにより、図3-3に示すようにワークブックを最新バージョンのADFデスクトップ統合に移行するよう求められます。

図3-3 ワークブックの移行ダイアログ

統合Excelワークブックを開いて複数のMicrosoft Office Customization Installerエラー・メッセージが表示される場合、メッセージを無視して処理を続行してください。このエラー・メッセージは、ADFデスクトップ統合が旧バージョンの情報を、Excelが検出してエラーを報告するより先にワークブックから削除できないために表示されます。

2. 「はい」をクリックして、ワークブックを移行します。ADFデスクトップ統合の移行プロセスにより、ワークブックが閉じられて再び開き、最新バージョンのADFデスクトップ統合で使用する準備が完了します。

3.7 旧バージョンのADFデスクトップ統合との統合Excelワークブックの使用

旧バージョンのADFデスクトップ統合が実行するシステムで、新しいバージョンのADFデスクトップ統合により、作成または最後に更新されたワークブックを開くと、ワークブックがインストール済のクライアント・バージョンと互換性がない場合に、エラー・メッセージが表示されます。統合ワークブックおよびインストール済ADFデスクトップ統合クライアントは、Oracleリリース番号の最初の要素が異なる場合には互換性がありません。たとえば、ADFデスクトップ統合クライアントのバージョン12.1.2を使用して作成された統合ワークブックは、バージョン11.1.1.7.0からのクライアントとは互換性がありません。

ヒント:

インストール済クライアントと統合ワークブックのリリース番号を確認するには、「ADFデスクトップ統合について」ダイアログ・ボックスの「バージョン」タブの「ADFデスクトップ統合」および「バージョン別に編集されたワークブック」エントリの値を調べます。

実行時、ADFデスクトップ統合は互換性のないワークブックを無視します。そのワークブック内のデータは削除できませんが、ADFデスクトップ統合はワークブックを非統合ワークブックとして扱い、次の機能が影響を受けます。

- ADFデスクトップ統合はワークブック・イベント(ActivateやStartupなど)に応答しません

- ADFボタン・コンポーネントはイベントに応答しません

- ワークシート・コマンド・ボタンはExcelリボンに表示されません

設計モードまたはテスト・モードでは、ワークブックは予期したとおりに機能し続けますが、不明な例外や機能の問題が通知される場合があります。

3.8 複数のインスタンスのJDeveloperを持つシステムでのADFデスクトップ統合の使用

あるシステムにインストール可能なADFデスクトップ統合は1つのみです。デフォルトでは、JDeveloperをインストールする際にADFデスクトップ統合はMW_HOME\jdeveloper\adfdiに抽出されます。異なるディレクトリにインストールされた別のバージョンのJDeveloperに移動する場合、旧バージョンのADFデスクトップ統合を削除する必要があります。詳細は3.5項「ADFデスクトップ統合の削除」を参照してください。それから、3.4項「ADFデスクトップ統合のインストール」の説明に従って、新しいバージョンのJDeveloperによりADFデスクトップ統合を設定し、ADFデスクトップ統合のJDeveloperとの整合性を保つ必要があります。

または、JDeveloperのインストールとは関係のないディレクトリでADFデスクトップ統合と設定することも可能です。この方法では、新しいバージョンに移行する前にADFデスクトップ統合を削除する必要がなくなります。

別のディレクトリでADFデスクトップ統合を設定するには:

1. JDeveloperのインストール用ディレクトリとは関係のないディレクトリを作成します。たとえば、次のようなディレクトリを作成します。
D:\adfdi-excel-setup

2. 新しいバージョンのJDeveloperに移行する際、次のディレクトリの内容をコピーします。
MW_HOME\jdeveloper\adfdi\bin\excel\addin\designer

コピー先:

D:\adfdi-excel-setup

MW_HOMEはミドルウェア・ホーム・ディレクトリです。

3. D:\adfdi-excel-setupにあるsetup.exeツールを実行します。

4. setup.exeのダイアログ・ボックスに表示される説明に従って、新しいバージョンのADFデスクトップ統合を設定します。

5. プロンプトが表示された場合は「はい」をクリックしてシステムを再起動し、ADFデスクトップ統合の設定を完了します。

警告:

ADFデスクトップ統合をインストールした後は、設定ファイルをコピーしたディレクトリを削除しないでください。システムからADFデスクトップ統合を削除した後は、これらのファイルを削除できます。

4 統合Excelワークブックの準備

この章では、ADFデスクトップ統合を使用してExcelワークブックを準備してFusion Webアプリケーションと統合する方法、統合Excelワークブックのページ定義ファイルを使用する方法、既存のワークブックをFusion Webアプリケーションと統合する場合にADFデスクトップ統合を手動で有効にする方法について説明します。

この章の内容は次のとおりです。

- 4.1項「統合Excelワークブックの準備について」

- 4.2項「Fusion Webアプリケーションへの統合Excelワークブックの追加」

- 4.3項「統合Excelワークブックのページ定義ファイルの使用」

- 4.4項「ADFデスクトップ統合の手動による有効化」

4.1 統合Excelワークブックの準備について

この章(およびこのガイド全体)では、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発の説明に従って、適切に機能するFusion Webアプリケーションが開発されていることを前提としています。

Fusion Webアプリケーションの開発後、この章で説明するタスクを実行して、統合ExcelワークブックとFusion Webアプリケーションを構成します。このガイドのそれ以降の章では、統合ワークブックとOracle ADF機能の構成や実行時に必要となる機能を提供するOracle ADFコンポーネントの追加など、高度な機能を構成する手順を説明します。

注意:

開始する前に、デザイナ・エディションのADFデスクトップ統合をインストールしたことを確認してください。ADFデスクトップ統合のエディションの詳細は、3.4項「ADFデスクトップ統合のインストール」を参照してください。

4.2 Fusion Webアプリケーションへの統合Excelワークブックの追加

Fusion Webアプリケーションは、統合Excelワークブックをプロジェクトに追加する際にADFデスクトップ統合に対して自動的に有効化されます。統合Excelワークブックを使用して、ADFコンポーネントとADFデータ・バインディングを追加できます。

4.2.1 Fusion Webアプリケーションへの統合Excelワークブックの追加方法

統合Excelワークブックを追加するには、JDeveloperでFusion Webアプリケーションを開いて、「新規ギャラリ」からのプロジェクトにExcelワークブックを追加します。

始める前に:

ADFデスクトップ統合をFusion Webアプリケーションに追加する方法を理解しておくと役立ちます。詳細は、4.2項「Fusion Webアプリケーションへの統合Excelワークブックの追加」を参照してください。

JDeveloper内で統合Excelワークブックを追加するには:

1. JDeveloperでFusion Webアプリケーションを開きます。

2. 「アプリケーション」ウィンドウで、新しい統合Excelワークブックを追加するViewControllerのようなユーザー・インタフェース・プロジェクトを選択します。

3. 「ファイル」メニューから、「新規」→「ギャラリから」を選択します。

4. 「新規ギャラリ」で、「クライアント層」を展開して「ADFデスクトップ統合」を選択し、続いて「Microsoft Excelワークブック」を選択して「OK」をクリックします。
図4-1は、「新規ギャラリ」と「ADFデスクトップ統合」カテゴリおよび「Microsoft Excelワークブック」オプションを示します。

図4-1 新規ギャラリ - Microsoft Excelワークブック

「OK」をクリックします。

5. 必要があれば「ADFデスクトップ統合対応Excelワークブックの作成」ダイアログで、ワークブックのファイル名とその場所を編集します。
デフォルトでは、統合Excelワークブックは、選択されたプロジェクトの<PROJECT_HOME>\src\excelディレクトリにadfdi-workbook.xlsxとして保存されます。ワークブックはどこにでも保存できますが、Fusion Webアプリケーションの他のファイルとともに保存する必要があります。

6. 「OK」をクリックします。

JDeveloperは統合ExcelワークブックをFusion Webアプリケーションに追加して、ADFデスクトップ統合に対してプロジェクトを自動的に有効化します。図4-2は「アプリケーション」ウィンドウのViewControllerプロジェクトを示しています。

図4-2 「アプリケーション」ウィンドウのadfdi-workbook.xlsx

4.2.2 新しい統合Excelワークブックの構成方法

統合Excelワークブックを追加したら、それを構成する必要があります。

始める前に:

統合ExcelワークブックをFusion Webアプリケーションに追加する方法を理解しておくと役立ちます。詳細は、4.2項「Fusion Webアプリケーションへの統合Excelワークブックの追加」を参照してください。

新しい統合Excelワークブックを構成するには:

1. 統合Excelワークブックを開きます。

- Fusion Webアプリケーションの他のファイルとともにワークブックを保存した場合、図4-3に示すように「ページ定義」ダイアログが自動的に表示されます。

図4-3 ページ定義ダイアログ

「ページ定義」ダイアログでアクティブなワークシートのページ定義ファイルを選択して、「OK」をクリックします。

- ワークブックを別の場所に保存した場合、4.4.3項「新しい統合Excelワークブックの手動による構成方法」の説明に従ってワークブックを構成してください。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークブック・プロパティの編集」ダイアログで、ワークブックをカスタマイズする際に設計モードとテスト・モードを切り替えられるように、次のプロパティの値を設定または確認します。

- ApplicationHomeFolder
このプロパティの値は、JDeveloperアプリケーション・ワークスペース(.jws)のルート・ディレクトリの絶対パスに相当します。ワークブックがJDeveloperアプリケーションのワークスペース内にある場合、ApplicationHomeFolderワークブック・プロパティの値は自動的に割り当てられます。

注意:

アプリケーション・ディレクトリを移動した後にExcelファイルを開く場合、ApplicationHomeFolderプロパティの値が正しいパスを反映していることを確認してください。

- Project
このプロパティの値は、JDeveloperアプリケーション・ワークスペースのJDeveloperプロジェクト(.jpr)の名前に相当します。プロジェクトを変更するには、参照(...)アイコンをクリックして、JDeveloperアプリケーション・ワークスペースで定義されたプロジェクトをリストする「プロジェクト」ダイアログからプロジェクトを選択します。

デフォルトでは、ProjectはExcelドキュメントを含むプロジェクト名に設定されます。ADFデスクトップ統合は、ApplicationHomeFolderの値として指定された使用可能なプロジェクト名をapplication_name.jwsからロードします。

- WebAppRoot
このプロパティの値を、Fusion Webアプリケーションを統合するWebコンテキスト・ルートの完全修飾URLに設定します。完全修飾されたURLは次の形式になります。

http://<hostname>:<portnumber>/context-root

JDeveloperでは、「プロジェクト・プロパティ」ダイアログの「Java EEアプリケーション」ページでWebコンテキスト・ルート(context-root)を指定します。図4-4に、JDeveloperのADFデスクトップ統合のSummitサンプル・アプリケーションおよび統合Excelワークブックに使用されるコンテキスト・ルートを示します。

図4-4 JDeveloperと統合ExcelワークブックのWebコンテキスト・ルートの設定

図4-5に示すように、完全修飾URLは、ADFデスクトップ統合のSummitサンプル・アプリケーションを使用してシステムにテスト環境を設定する場合に、次のようになります。

http://localhost:7101/summit

図4-5 ADFデスクトップ統合のSummitサンプル・アプリケーションのブラウザでのホーム・ページ

Fusion WebアプリケーションがオンラインでADFデスクトップ統合がサポートされているかを確認する方法の詳細は、C.1項「Fusion WebアプリケーションがADFデスクトップ統合をサポートするかどうかの検証」を参照してください。

ExcelファイルをセキュアなFusion Webアプリケーションと統合する場合、WebAppRootの値を入力する際にhttpsプロトコルを使用する必要があります。Fusion Webアプリケーションの保護の詳細は、WebLogicセキュリティ・サービスによるアプリケーションの開発を参照してください。

- WebPagesFolder
このプロパティの値を、Fusion WebアプリケーションのWebページを含むディレクトリに設定します。ディレクトリ・パスは、ApplicationHomeFolderの値の相対パスになります。たとえば、EditCustomers-DT.xlsxワークブックでは、WebPagesFolderはViewController\public_htmlに設定されます。

図4-6は、ADFデスクトップ統合のEditCustomers-DT.xlsxワークブックのSummitサンプル・アプリケーションの「ワークブック・プロパティの編集」ダイアログでのワークブック・プロパティの例を示しています。

図4-6 「ワークブック・プロパティの編集」ダイアログ

4. 「OK」をクリックします。

注意:

手順1では、選択されたページ定義ファイルの完全修飾パスが259文字を超える場合、「ワークブック・プロパティ」ダイアログが閉じられるときに警告メッセージが表示され、「ページ定義」はロードされません。

5. Excelのワークブックを保存します。

4.2.3 統合Excelワークブックにワークシートを追加する方法

Oracle ADFの機能を使用するには、それぞれのワークシートをページ定義ファイルに関連付けます。ワークシートを統合Excelワークブックに追加する際に、ページ定義ファイルをワークシートに関連付けます。統合Excelワークブックの複数のワークシートをFusion Webアプリケーションに統合できます。統合Excelワークブックの各ワークシートに異なるページ定義ファイルを使用してください。

始める前に:

統合ExcelワークブックをFusion Webアプリケーションに追加する方法を理解しておくと役立ちます。詳細は、4.2項「Fusion Webアプリケーションへの統合Excelワークブックの追加」を参照してください。

ページ定義ファイルとExcelワークシートを関連付けるには:

1. Excelワークブックが設計モードにある間に、Excelリボンの「ホーム」タブをクリックし、「セル」グループで「挿入」→「シートの挿入」を選択します。

2. 「ページ定義の選択」ダイアログ・ボックスで、ページ定義ファイルを選択します。
これにより、ADFデスクトップ統合の作業ウィンドウのバインディング・パレットに、ページ定義ファイルに含まれるバインディングが移入されます。これで、Oracle ADF機能を使用してワークシートを構成できます。

注意:

新しいワークシートを挿入した後に統合Excelワークブックを実行して「プログラミングによる Visual Basic プロジェクトへのアクセスは信頼性に欠けます」というエラー・メッセージが表示される場合、Excelオプションで「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」チェック・ボックスを有効にします。詳細は、3.3項「ADFデスクトップ統合と協働するExcelの構成」を参照してください。

4.2.4 ADFデスクトップ統合に対応するFusion WebアプリケーションをJDeveloperからデプロイする際の処理

ADFデスクトップ統合が有効になっているFusion WebアプリケーションをJDeveloperからデプロイする際は、ADFデスクトップ統合の共有ライブラリへの参照が適切なディスクリプタ・ファイルに追加されます。ADFデスクトップ統合のモデルAPIライブラリまたはADFデスクトップ統合ランタイム・ライブラリを参照する複数のプロジェクトを含むすべてのFusion Webアプリケーションについて、プラットフォームに依存しないADFデスクトップ統合モデルAPIの共有ライブラリへの参照がデプロイメント中に追加されます。

ADFデスクトップ統合ランタイム・ライブラリへの参照を含むすべてのWebアプリケーション・モジュール(WAR)プロジェクトの場合は、プラットフォームに依存しないADFデスクトップ統合ランタイム共有ライブラリへの参照がデプロイメント中に追加されます。

4.2.4.1 Fusion WebアプリケーションのOracle WebLogic Serverへのデプロイ

Oracle WebLogicサーバーにFusion Webアプリケーションをデプロイする際は、次の処理が実行されます。

- デプロイされるアプリケーションEARファイルのMETA-INF/weblogic-application.xmlファイルに、oracle.adf.desktopintegration.modelへのライブラリ参照が含まれます。
例:

<library-ref>
<library-name>oracle.adf.desktopintegration.model</library-name>
</library-ref>

共有ライブラリは、oracle.adf.desktopintegration.model.earのMW_HOME/oracle_common/modules/oracle.adf.desktopintegration.model_12.1.2に配信されます。

- デプロイされるWebアプリケーションWARファイルのWEB-INF/weblogic.xmlファイルに、oracle.adf.desktopintegrationへのライブラリ参照が含まれます。
例:

<library-ref>
<library-name>oracle.adf.desktopintegration</library-name>
</library-ref>

共有ライブラリは、oracle.adf.desktopintegration.warのMW_HOME/oracle_common/modules/oracle.adf.desktopintegration_12.1.2に配信されます。

4.3 統合Excelワークブックのページ定義ファイルの使用

ページ定義ファイルは、実行時にOracle ADFコンポーネントにデータを移入するバインディングを定義します。また、このデータに使用する操作やアクションを定義するアクション・バインディングおよびメソッド・アクション・バインディングも参照します。ページ定義ファイルは、Fusion Webアプリケーションと統合するExcelワークシートごとに個別に定義する必要があります。統合Excelワークブックには、ページ定義ファイルを参照しないワークシートを含めることができます。

ADFデスクトップ統合のタスク・ウィンドウには、ADFデスクトップ統合がバインディング・パレットでサポートしているバインディングのみが表示されます。ページ定義ファイルがADFデスクトップ統合がサポートしないバインディング(グラフ・バインディングなど)を参照する場合、それは表示されません。

表4-1は、ADFデスクトップ統合モジュールがサポートするバインディング・タイプの一覧および説明です。

表4-1 ADFデスクトップ統合コンポーネントのバインディングの要件

ADFデスクトップ統合コンポーネント

サポートされているバインディング

追加の説明

ADF入力テキスト

属性バインディング

ADF出力テキスト

属性バインディング

ADFラベル

属性とリスト・バインディング

このADFデスクトップ統合コンポーネントは、コントロール・バインディングのラベル・プロパティを使用します。

ADF値リスト

リスト・バインディング

ツリー・ノード・リスト

ツリー・バインディング属性とリスト・バインディング

ツリー・バインディング属性はモデル・ドリブンのリストに関連付けられている必要があります。

ADFボタン

各種

ADFデスクトップ統合のADFボタン・コンポーネントは、アクション・セットを起動できます。アクション・セットは、アクション・バインディング、メソッド・アクション・バインディング、ADFデスクトップ統合内のコンポーネントにより公開されるアクションを参照できます。アクション・セットの詳細は、8.2項「アクション・セットの使用」を参照してください。

ADF読取り専用表

ツリー・バインディング

ADF表

ツリー・バインディング

ADFデスクトップ統合内のコンポーネントが使用するバインディングの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。

ページ定義ファイルの要素と属性の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のpageNamePageDef.xmlに関する項を参照してください。

Fusion WebアプリケーションのADFデータ・バインディングとページ定義ファイルの詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のFusion WebアプリケーションでのADFモデルの使用に関する項を参照してください。

4.3.1 ADFデスクトップ統合ページ定義ファイルの作成方法

JDeveloperプロジェクトで公開するOracle ADFバインディングを決定するページ定義ファイルを、作成および構成します。

始める前に:

ページ定義ファイルについて理解しておくと役立ちます。詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

ADFデスクトップ統合ページ定義ファイルを作成するには:

1. JDeveloperでFusion Webアプリケーションを開きます。

2. 「アプリケーション」ウィンドウで、ページ定義ファイルを追加するViewControllerのようなユーザー・インタフェース・プロジェクトを選択します。

3. 「ファイル」メニューから、「新規」→「ギャラリから」を選択します。

4. 「新規ギャラリ」で、「クライアント層」を展開して「ADFデスクトップ統合」を選択し、続いて「ADFデスクトップ統合ページ定義」を選択して「OK」をクリックします。
図4-7は、「新規ギャラリ」と「ADFデスクトップ統合」カテゴリおよび「ADFデスクトップ統合ページ定義」オプションを示します。

図4-7 新規ギャラリ - ADFデスクトップ統合ページ定義

「OK」をクリックします。

5. ADFデスクトップ統合ページ定義の作成ダイアログで、必要に応じて、ページ定義ファイル名を編集します。

6. 「OK」をクリックします。

JDeveloperはページ定義をFusion Webアプリケーションに追加して、新しいページ定義のエディタを開きます。図4-8は、「アプリケーション」ウィンドウでのViewControllerプロジェクトと新しいページ定義を示しています。

図4-8 「アプリケーション」ウィンドウのadfdiPageDefn.xml

ページ定義ファイルの使用の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のページ定義ファイルの使用に関する項を参照してください。

4.3.2 ページ定義ファイル作成時の処理

JDeveloperは、4.3.1項「ADFデスクトップ統合ページ定義ファイルの作成方法」の手順を使用して最初にページ定義ファイルをJDeveloperプロジェクトに追加する際に、DataBindings.cpxファイルを作成します。

DataBindings.cpxファイルは、Fusion Webアプリケーションのバインディング・コンテキストを定義し、実行時に作成されるOracle ADFバインディングの元の構成を提供します。このファイルの使用の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のDataBindings.cpxファイルの使用に関する項を参照してください。このファイルの要素と属性の詳細は、同ガイドのDataBindings.cpxに関する項にあります。

4.3.3 Excelワークブックへのページ定義ファイルのリロード方法

JDeveloperデスクトップ統合プロジェクトで、Excelワークシートに関連付けられたページ定義ファイルに変更を加える場合、JDeveloperデスクトップ統合プロジェクトをリビルドして、Excelワークシートにページ定義ファイルをリロードし、ADFデスクトップ統合のタスク・ウィンドウに変更が表示されるか確認します。4.2.2項「新しい統合Excelワークブックの構成方法」の説明に従って、ページ定義ファイルを選択する際にそれをExcelワークシートに関連付けます。

「Oracle ADF」タブには、すべてのページ定義ファイルをExcelワークブックにリロードするボタンがあります。

ページ定義ファイルに変更を加えた後にJDeveloperデスクトップ統合プロジェクトをリビルドせずにアプリケーションを再起動すると、統合Excelワークブックを設計モードからランタイムに切り替えるときに、エラーが発生することがあります。次に例を示します。

- ページ定義ファイルの要素を削除した場合

- リビルドせずにFusion Webアプリケーションを再起動した場合

- 統合Excelワークブックにページ定義ファイルをリロードしない場合

前述の場合にワークブックをテスト・モードに切り替えようとすると、次のようなエラー・メッセージが表示されることがあります。

[ADFDI-05530] unable to initialize worksheet: MyWorksheet
[ADFDI-05517] unable to find control MyBindingThatWasRemoved

始める前に:

ページ定義ファイルについて理解しておくと役立ちます。詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

Excelワークブックにページ定義ファイルをリロードするには:

1. 更新したページ定義ファイルをJDeveloperを保存したことを確認してください。

2. Excelワークブックで、 「Oracle ADF」タブのコンポーネント・グループのバインディングのリフレッシュ・ボタンをクリックします。
バインディングのリフレッシュ・ボタンの詳細は、5.1項「開発ツールについて」を参照してください。

ページ定義ファイルをリロードした後、ワークシートのADFデスクトップ統合の作業ウィンドウに、Fusion Webアプリケーションの関連ページのものと同じバインディングが表示されます。たとえば、図4-9はExcelCustomersPageDef.xmlページ定義ファイルのバインディングと、EditCustomers-DT.xlsxワークブックのワークシートにある同じバインディングを示します。

図4-9 JDeveloperと統合Excelワークブックのページ定義ファイル

4.3.4 統合Excelワークブック内のページ定義ファイルに関する留意事項

ADFデスクトップ統合プロジェクトのページ定義ファイルについて、次の点に注意してください。

- 複数のExcelワークシートの統合: Excelワークブックの複数のワークシートをFusion Webアプリケーションと統合できます。4.2.3項「統合Excelワークブックにワークシートを追加する方法」の説明に従って、ページ定義ファイルをそれぞれのワークシートに関連付けます。

- ページ定義ファイルのEL式: 次の構文を使用して、ページ定義ファイルでEL式を記述してください。

Dynamic (${})

EL式の記述に構文Deferred (#{})を使用しないでください。この構文を使用したEL式は、使用できないADF Facesコンテキストにアクセスしようとするため、エラーを生成します。

注意:

入力テキスト・コンポーネントなど、統合ExcelワークブックのADFデスクトップ統合コンポーネントに記述するEL式では、Deferred (#{})構文を使用する必要があります。

4.4 ADFデスクトップ統合の手動による有効化

統合Excelワークブックを追加せずにFusion WebアプリケーションでADFデスクトップ統合を有効化するには、ADFデスクトップ統合機能を手動で追加する必要があります。

4.4.1 ADFデスクトップ統合を手動でFusion Webアプリケーションに追加する方法

JDeveloperの「プロジェクト・プロパティ」ダイアログを使用して、プロジェクトの機能リストにADFデスクトップ統合を追加します。

始める前に:

ADFデスクトップ統合をFusion Webアプリケーションに追加する方法を理解しておくと役立ちます。詳細は4.4項「ADFデスクトップ統合の手動による有効化」を参照してください。

プロジェクトにADFデスクトップ統合を手動で追加するには:

1. JDeveloperでプロジェクトを開きます。

2. 「アプリケーション」ウィンドウで、ADFデスクトップ統合を追加するプロジェクトを右クリックして、「プロジェクト・プロパティ」を選択します。
アプリケーションでFusion Web Application (ADF)アプリケーション・テンプレートを使用する場合、ViewControllerなどのユーザー・インタフェース・プロジェクトを選択します。アプリケーションで別のアプリケーション・テンプレートを使用する場合は、そのWebアプリケーションに対応するプロジェクトを選択してください。

3. 「プロジェクト・プロパティ」ダイアログで、「機能」を選択して、使用可能な機能のリストを表示します。

4. 「機能の追加」をクリックします。

5. 「機能の追加」ダイアログで、「ADFデスクトップ統合」機能を選択して、図4-10に示すように「選択されたもの」リストに追加します。

図4-10 機能の追加ダイアログ

6. 「OK」をクリックして、「機能の追加」ダイアログを閉じます。

7. 「OK」をクリックして「プロジェクト・プロパティ」ダイアログを閉じます。

ADFデスクトップ統合を追加する際の処理の詳細は、4.4.4項「ADFデスクトップ統合をJDeveloperプロジェクトに追加する際の処理」を参照してください。

注意:

EARファイルやJARファイルを介してADFライブラリ・ファイルを追加し、統合Excelワークブックを分散する予定があれば、「ADFライブラリWebアプリケーション・サポート」をプロジェクトに追加してください。詳細は4.4.5項「ADFライブラリWebアプリケーション・サポートの追加」を参照してください。

4.4.2 既存のワークブック内でADFデスクトップ統合を有効化する方法

既存のワークブックをADFデスクトップ統合が有効化されたFusion Webアプリケーションに統合するには、そのワークブックでADFデスクトップ統合を手動で有効にする必要があります。Fusion Webとの統合のために変換できるExcelワークブックのファイル形式の詳細は、3.2項「必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア」を参照してください。

始める前に:

統合ExcelワークブックをFusion Webアプリケーションに追加する方法を理解しておくと役立ちます。詳細は4.4項「ADFデスクトップ統合の手動による有効化」を参照してください。

既存のExcelワークブックでADFデスクトップ統合を有効にするには:

1. Excelでワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. ワークブックの有効化ダイアログで、図4-11に示すように「はい」をクリックします。

図4-11 ワークブックの有効化ダイアログ

ADFデスクトップ統合がワークブックを準備して、ADFデスクトップ統合のデザイナの作業ウィンドウを表示し、「フォルダの参照」ダイアログが開きます。詳細は、4.4.3項「新しい統合Excelワークブックの手動による構成方法」を参照してください。

4. ワークブックを保存します。

Fusion Webアプリケーションと統合するExcelワークブックはどこにでも保存できますが、Fusion Webアプリケーションの他のファイルとともに保存するメリットがいくつかあります。たとえば、次のようなものです。

- ワークブックのソースの管理

- Webページからのワークブックのダウンロードの円滑化

- 最初にワークブックを開いたときに表示されるファイル・システム・フォルダ・ピッカーは、ワークブックを保存する場所をデフォルトとします。

たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションは統合するExcelワークブックを次のサブディレクトリに保存します。

Summit_HOME\ViewController\src\oracle\summitdi\excel

ここで、Summit_HOMEはADFデスクトップ統合のSummitサンプル・アプリケーションのソース・ファイルを保存するルート・ディレクトリです。

4.4.3 新しい統合Excelワークブックの手動による構成方法

ワークブックでADFデスクトップ統合を手動で有効にした後、それを構成する必要があります。

始める前に:

統合ExcelワークブックをFusion Webアプリケーションに追加する方法を理解しておくと役立ちます。詳細は4.4項「ADFデスクトップ統合の手動による有効化」を参照してください。

新しい統合Excelワークブックを手動で構成するには:

1. 統合Excelワークブックを開きます。
図4-12に示すように、「フォルダの参照」ダイアログが自動的に表示されます。

図4-12 フォルダの参照ダイアログ

「フォルダの参照」ダイアログを使用して、JDeveloperアプリケーションのホーム・ディレクトリを選択します。一般的なJDeveloperのプロジェクトでは、JDeveloperアプリケーションのホーム・ディレクトリにapplication_name.jwsファイルが保存されます。選択した値がApplicationHomeFolderワークブックのプロパティに割り当てられます。

注意:

ワークブックがJDeveloperアプリケーションのワークスペース内にある場合、「フォルダの参照」ダイアログは表示されません。この場合、ApplicationHomeFolderワークブックのプロパティの値は、自動的に割り当てられます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークブック・プロパティの編集」ダイアログで、4.2.2項「新しい統合Excelワークブックの構成方法」の手順3で説明したプロパティを構成します。

4. 「OK」をクリックします。

5. 「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。

6. 「ワークシート・プロパティの編集」ダイアログで、「ページ定義」入力フィールドの横にある参照(...)アイコンをクリックし、図4-13に示す「ページ定義」ダイアログからページ定義ファイルを選択します。

図4-13 ページ定義ダイアログ

7. 「OK」をクリックします。
作業ウィンドウに、ADFデスクトップ統合とともにExcelのワークシートが表示されます。手順6で選択したページ定義ファイルのバインディングが、「バインディング」タブに表示されます。

8. Excelのワークブックを保存します。

デフォルトでは、新しいExcelワークブックとADFデスクトップ統合を準備するときは、ワークブックが保護されていないFusion Webアプリケーションと統合されることを想定します。ワークブックを保護されたFusion Webアプリケーションと統合する場合は、第11章「統合Excelワークブックの保護」を参照してください。

4.4.4 ADFデスクトップ統合をJDeveloperプロジェクトに追加する際の処理

ADFデスクトップ統合の機能をプロジェクトに追加する際、次のイベントが発生します。

- プロジェクトでは、ADFデスクトップ統合のランタイム・ライブラリが追加されます。このライブラリは、そのクラスパスで次の.jarファイルを参照します。

- adf-desktop-integration.jar

- adf-desktop-integration-model-api.jar

- resourcebundle.jar

- プロジェクトのデプロイメント・ディスクリプタ(web.xml)は、次のエントリを含むように変更されます。

- ADFバインディング・フィルタ(adfBindings)

- adfdiRemoteという名前のサーブレット

注意:

adfdiRemoteのservlet-mapping要素のurl-pattern属性値は、表A-18にあるRemoteServletPathワークブックのプロパティの値と一致する必要があります。

- adfdiExcelDownloadという名前のフィルタ

- ExcelファイルのMIMEマッピング(.xlsxと.xlsm)

前述のリストは完全なものではありません。ADFデスクトップ統合をプロジェクトに追加すると、web.xmlに他の変更が加えられます。web.xmlの一部のエントリは、このファイルにまだ表示されない場合にのみ追加される点に注意してください。

4.4.5 ADFライブラリWebアプリケーション・サポートの追加

統合ワークブックをADFライブラリ・ファイルに追加して分散する予定があれば、ADFライブラリWebアプリケーションのサポートをFusion Webアプリケーションに追加します。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の再利用可能なADFコンポーネントのADFライブラリへのパッケージ化に関する項を参照してください。

web.xmlファイルでフィルタおよびフィルタ・マッピング情報を更新する際には、Fusion Webアプリケーションから統合Excelワークブックをダウンロードできるように、adfdiExcelDownloadフィルタ・エントリの下にADFライブラリWebアプリケーション・サポート(<filter-name>ADFLibraryFilter</filter-name>)が表示されるようにしてください。

図4-14は、JDeveloperのweb.xmlの概要エディタの「フィルタ」タブを示します。

図4-14 web.xmlのフィルタ・タブ

図4-15に示すように、include-extension-list初期化パラメータを更新して、Excelファイル拡張子(.xlsxおよび.xlsmなど)を追加する必要もあります。

図4-15 include-extension-listパラメータを使用するADFLibraryFilter

web.xmlの詳細は、付録D「Webアプリケーション・デプロイメント・ディスクリプタのADFデスクトップ統合設定」を参照してください。

5 開発ツールの使用

この章では、ADFデスクトップ統合により提供される開発ツール(バインディング・パレット、コンポーネント・パレット、プロパティ・インスペクタ、式ビルダーなど)の使用方法を説明します。ADFデスクトップ統合がExcelリボン内で公開する開発環境の概要を説明します。

この章の内容は次のとおりです。

- 5.1項「開発ツールについて」

- 5.2項「デザイナ・リボン・タブ」

- 5.3項「ADFデスクトップ統合デザイナの作業ウィンドウ」

- 5.4項「バインディング・パレットの使用」

- 5.5項「コンポーネント・パレットの使用」

- 5.6項「プロパティ・インスペクタの使用」

- 5.7項「バインディングIDピッカーの使用」

- 5.8項「式ビルダーの使用」

- 5.9項「Webページ・ピッカーの使用」

- 5.10項「ファイル・システム・フォルダ・ピッカーの使用」

- 5.11項「ページ定義ピッカーの使用」

- 5.12項「コレクション・エディタの使用」

- 5.13項「セルのコンテキスト・メニューの使用」

- 5.14項「ADFデスクトップ統合コンポーネントの削除」

- 5.15項「Excelワークブック統合メタデータのエクスポートおよびインポート」

5.1 開発ツールについて

ADFデスクトップ統合には、Oracle ADF機能にアクセスできるようにExcelワークブックを構成するためのツールがいくつか用意されています。これらのツールを使用して、ワークブックおよび対応するワークシートを、統合ExcelワークブックのFusion Webアプリケーションからのデータを表示および編集するように構成します。ツールは「Oracle ADF」タブおよびADFデスクトップ統合デザイナのタスク・ペインで使用できます。

ADFデスクトップ統合の開発ツールには、次のツールが含まれます。図5-1はこれらを示します。

- バインディング・パレット

- コンポーネント・パレット

- プロパティ・インスペクタ

- バインディングIDピッカー

- 式ビルダー

- Webページ・ピッカー

- ファイル・システム・フォルダ・ピッカー

- ページ定義ピッカー

- コレクション・エディタ

図5-1 ADFデスクトップ統合の開発ツール

ADFデスクトップ統合には設計モードとテスト・モードの2つのモードがあり、Excelワークブックを構成する際に使用できます。

設計モードでは、Oracle ADFで提供されるツールをExcelで使用して、統合Excelワークブックを設計および構成します。テスト・モードでは、エンド・ユーザーが公開された統合Excelワークブックで見るのと同じようにして、設計モードで行う変更を表示およびテストできます。

5.1.1 ADFデスクトップ統合開発ツールのユース・ケースと例

開発ツールを使用して、統合Excelワークブックを構成および設計します。たとえば、図5-2に示すように、EditCustomers-DT.xlsxでは、バインディング・パレットからCustomersバインディングを使用して、バインドされたADF表コンポーネントが統合Excelワークブックに挿入されます。

図5-2 ADFデスクトップ統合のコンポーネントとバインディング

ADFボタンやADFラベルなど他のADFデスクトップ統合コンポーネントは、コンポーネント・パレットから挿入され、プロパティ・インスペクタと式ビルダーを使用して構成されます。

5.1.2 ADFデスクトップ統合開発ツールの追加機能

必要なコンポーネントを追加して作業を構成した後で、ワークブックの外観の変更やローカライズなど、追加の機能が必要となることがあります。使用可能な他の機能へのリンクは次のとおりです。

- ローカライズ: Fusion Webアプリケーションでの国際化およびローカライズの処理の一部として、統合Excelワークブックをカスタマイズできます。詳細は、第10章「統合Excelワークブックの国際化」を参照してください。

- スタイル: 事前定義済のExcelのスタイルをいくつか使用して、コンポーネントの表示を構成できます。詳細は、9.2項「スタイルの使用」を参照してください。

- EL式: EL式をADFデスクトップ統合コンポーネントとともに使用できます。詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。

5.2 デザイナ・リボン・タブ

統合ワークブックやワークシート・プロパティの構成、Oracle ADFコンポーネントの挿入およびそれらのプロパティの編集、テスト・モードでのワークブックの実行、ワークブックの公開など、様々なタスクで「Oracle ADF」タブ(デザイナ・リボン・タブとも呼ばれます)を使用します。「Oracle ADF」タブ(図5-3)には、設計モードで様々なボタンが用意されています。

図5-3 設計モードの「Oracle ADF」タブ

ヒント:

「Oracle ADF」タブにキーボードからアクセスするには、[Alt]+Cを押します。[Alt]キーを再度押して、「Oracle ADF」タブ・コマンド・ボタンのショートカット・キーを表示します。

「Oracle ADF」タブのボタンを使用して、表5-1に示すアクションを起動できます。

表5-1 「Oracle ADF」タブのオプション

グループ

クリックするボタン

アクション

ボタンが使用可能なモード

ワークブック

「ワークブック・プロパティの編集」ダイアログを表示して、統合Excelワークブックのプロパティを閲覧および編集します。

このボタンは、ADFデスクトップ統合を統合Excel以外のワークブックで有効にするときにも使用します。

設計

ワークブック

「ワークシート・プロパティの編集」ダイアログを表示して、現在のワークシートのプロパティを閲覧および編集します。

設計

ワークブック

統合Excelワークブックのバージョンとプロパティ情報を提供する、「ADFデスクトップ統合について」ダイアログを開きます。

このボタンは、ADFデスクトップ統合のインストール後は統合Excel以外のワークブックでも使用可能です。

設計、テスト

ワークブック

「ワークブック定義に名前を付けて保存」ダイアログを開き、現在のワークブック定義を.xmlファイルとしてエクスポートします。

設計

ワークブック

「インポートするワークブック定義ファイルの選択」ダイアログを開き、保存された.xmlファイルからワークブック統合メタデータをインポートします。

設計

ADFコンポーネント

選択したセルに挿入可能なOracle ADFコンポーネントのドロップダウン・リストを表示します。

設計

ADFコンポーネント

選択したコンポーネントのコンポーネント・プロパティを閲覧および編集する「プロパティ・インスペクタ」ウィンドウを表示します。

設計

ADFコンポーネント

選択したコンポーネントをExcelワークシートから削除します。

設計

ADFコンポーネント

- 統合Excelワークブックのワークブック・プロパティが参照するアプリケーション・ワークスペース・ファイル(.jws)およびプロジェクト・ファイル(.jpr)をリロードします。

- アクティブな統合Excelワークブックで使用されるページ定義ファイルからすべての情報をリフレッシュします。

JDeveloperのページ定義ファイルに加えたすべての変更が、Excelワークブックで使用可能になります。詳細は、4.3.3項「Excelワークブックへのページ定義ファイルのリロード方法」を参照してください。

設計

テスト

Excelワークブックの構成をADFデスクトップ統合の検証ルールに対して検証します。

ワークブックの検証の詳細は、13.3項「統合Excelワークブックの構成の検証」を参照してください。

設計

テスト

Excelワークブックを設計モードからテスト・モードに切り替えます。このボタンは、設計モードの場合のみアクティブになります。

設計

テスト

Excelワークブックをテスト・モードから設計モードに切り替えます。このボタンは、テスト・モードの場合のみアクティブになります。

設計モードとテスト・モードの切替えの詳細は、13.4項「統合Excelワークブックのテスト」を参照してください。

テスト

ロギング

クライアント・サイドのログ・エントリを確認するダイアログを表示します。詳細は、C.3.2項「クライアント・サイド・ロギングの概要」を参照してください。

設計、テスト

ロギング

クライアント・サイド・ログ出力レベルを選択する出力レベルの設定ダイアログを表示します。詳細は、C.3.2項「クライアント・サイド・ロギングの概要」を参照してください。

設計、テスト

ロギング

クライアント・サイド・ログ出力ファイルとして機能する新しい一時ロギング・リスナーを作成します。詳細は、C.3.2項「クライアント・サイド・ロギングの概要」を参照してください。

設計、テスト

ロギング

ADFデスクトップ統合の構成ファイルをリロードします。詳細は、C.3.2項「クライアント・サイド・ロギングの概要」を参照してください。

設計、テスト

公開

ExcelワークブックとFusion Webアプリケーションの統合を完了した後に、Excelワークブックを公開します。

統合されたExcelワークブックの公開の詳細は、第14章「統合Excelワークブックのデプロイ」を参照してください。

設計

ヒント:

すばやく簡単にアクセスするには、Excelのクイック アクセス ツール バーに「Oracle ADF」タブ・ボタンを追加できます。

5.3 ADFデスクトップ統合デザイナの作業ウィンドウ

ADFデスクトップ統合デザイナの作業ウィンドウの開発ツールは、バインディング・パレットとコンポーネント・パレットの2つのパレットにまとめられています。ADFデスクトップ統合デザイナの作業ウィンドウのバインディング・パレットを使用して、事前定義済のバインディングを統合Excelワークブックに挿入します。ADFデスクトップ統合は、選択したバインディングを参照するOracle ADFコンポーネントを挿入し、Oracle ADFコンポーネントのプロパティに適切な値を移入します。同様に、コンポーネント・パレットを使用して、Oracle ADFコンポーネントを統合Excelワークブックに挿入します。図5-4に、ADFデスクトップ統合デザイナの作業ウィンドウを示します。

図5-4 ADFデスクトップ統合デザイナの作業ウィンドウ

ADFデスクトップ統合デザイナの作業ウィンドウは、「Oracle ADF」タブのワークブックおよびADFコンポーネント・グループの右下にあるランチャ・ボタン(図5-5では赤線の枠で強調表示されている)から起動します。

図5-5 ADFデスクトップ統合デザイナの作業ウィンドウのランチャ・ボタン

表5-2は、作業ウィンドウに表示されるビュー・タブおよびリンクの一覧と各項目の簡単な説明です。

表5-2 ADFデスクトップ統合デザイナの作業ウィンドウの概要

作業ウィンドウのUI要素

説明

ワークブック・プロパティ

クリックすると、「ワークブック・プロパティの編集」ダイアログが表示されます。このダイアログでは、ワークブック全体に影響するプロパティを表示、編集できます。たとえば、ページ定義ファイルへのディレクトリ・パスを参照するプロパティ、Fusion WebアプリケーションのURLなどがあります。

ワークシート・プロパティ

クリックすると、「ワークシート・プロパティの編集」ダイアログが表示されます。このダイアログでは、アクティブなワークシートに固有のプロパティを表示、編集できます。たとえば、ワークシートに関連付けるページ定義ファイルのファイル名などです。

情報

クリックすると、「情報」ダイアログが表示されます。このダイアログは、統合Excelワークブックのトラブルシューティングで役に立ちそうなバージョンやプロパティの情報を提供します。たとえば、統合ExcelワークブックをサポートするMicrosoft .NETおよびOracle ADFフレームワークの基底にある情報などです。

5.4 バインディング・パレットの使用

バインディング・パレットには、Excelワークシートに挿入できるOracle ADFバインディングが表示されます。現在のExcelワークシートのページ定義ファイルによって、バインディング・パレットに表示されるOracle ADFバインディングが決まります。図5-6に、Oracle ADFバインディングが移入された、ADFデスクトップ統合デザイナの作業ウィンドウのバインディング・パレットを示します。バインディング・パレットには統合Excelワークブックで使用できないバインディングは表示されないため、ここに表示されるバインディングは、JDeveloperに表示されるページ定義ファイル内のバインディングとは異なることがあります。

図5-6 ADFデスクトップ統合デザイナの作業ウィンドウのOracle ADFバインディング・パレット

バインディングを挿入するには、設計モードでバインディング・パレットを使用します。バインディングを挿入しようとする際、ADFデスクトップ統合は選択したバインディングを参照するOracle ADFコンポーネントを挿入します。また、ADFデスクトップ統合もOracle ADFコンポーネントのプロパティに適切な値を移入します。たとえば、図5-6に示すようにCommit (action)のようなバインディングを挿入する場合、Oracle ADFボタン・コンポーネントのプロパティ・インスペクタが表示されます。このOracle ADFボタン・コンポーネントには、ClickActionSetにCommitアクション・バインディングの起動を含む値が指定されています。

Oracle ADFバインディングを挿入するには、Excelワークシート内のバインディングを参照する、Oracle ADFコンポーネントを配置するセルを選択し、次のいずれかの方法でバインディングを挿入します。

- 挿入するOracle ADFコントロール・バインディングをダブルクリックします。

- 挿入するバインディングを選択し、それを目的のセルにドラッグします。

- コントロール・バインディングを選択して、ADFデスクトップ統合デザイナの作業ウィンドウでバインディングの挿入をクリックします。
挿入しようとしているバインディングに関連するOracle ADFコンポーネントのプロパティ・インスペクタが表示されます。場合によっては、複数のOracle ADFコンポーネントをバインディングと関連付けることが可能なOracle ADFコンポーネントのリストから、Oracle ADFコンポーネントを1つ選択するよう求められることがあります。リストからOracle ADFコンポーネントを1つ選択すると、プロパティ・インスペクタが表示されます。

ADF入力テキスト、ADF出力テキストまたはADFラベルなどのOracle ADFコンポーネントを選択すると、バインディング名がValueプロパティに割り当てられます。ADFボタンまたはADFリボン・コマンドなどのOracle ADFコンポーネントを選択すると、バインディング名がLabelプロパティに割り当てられます。ADF表またはADF読取り専用表などのOracle ADFコンポーネントを選択すると、バインディング名がTreeIDプロパティに割り当てられます。

5.5 コンポーネント・パレットの使用

コンポーネント・パレットには、Excelワークシートに挿入できるADFデスクトップ統合コンポーネントが表示されます。図5-7に、ADFデスクトップ統合デザイナの作業ウィンドウで表示されるコンポーネント・パレットを示します。

図5-7 ADFデスクトップ統合デザイナの作業ウィンドウのOracle ADFコンポーネント・パレット

Oracle ADFコンポーネントを挿入するには、設計モードでコンポーネント・パレットを使用します。まず、Excelワークシート内でOracle ADFコンポーネントを配置するセルを選択し、次のいずれかの方法でOracle ADFコンポーネントを挿入します。

- 挿入するOracle ADFコンポーネントをダブルクリックします。

- 挿入するコンポーネントを選択し、それを目的のセルにドラッグします。

- コンポーネントを選択して、ADFデスクトップ統合デザイナの作業ウィンドウでコンポーネントの挿入をクリックします。

前述のすべての場合で、Oracle ADFコンポーネントのプロパティ・インスペクタが表示されます。プロパティ・インスペクタを使用して、Excelワークシートへの挿入を完了する前にコンポーネントに値を指定します。

注意:

ADFデスクトップ統合コンポーネントは、「Oracle ADF」タブのコンポーネントの挿入ドロップダウン・リストからも使用できます。

5.6 プロパティ・インスペクタの使用

プロパティ・インスペクタは、Oracle ADFバインディング、Oracle ADFコンポーネント、ExcelワークシートまたはExcelワークブックのプロパティを表示および編集できるダイアログです。プロパティ・インスペクタは次のいずれかの方法で開くことができます。

- コンポーネントまたはバインディングを選択し、「Oracle ADF」タブで「プロパティの編集」アイコンをクリックします。

- コンポーネントまたはバインディングを選択し、右クリックして「ADFコンポーネント・プロパティの編集」を選択します。

- コンポーネントまたはバインディングをダブルクリックします。
ADF表またはADF読取り専用表の適切なインスペクタを開くには、表の部分の任意のセルをダブルクリックします。

注意:

「ADFボタン」は右クリックまたはダブルクリックのアクションをサポートしていないので、ボタンをクリックして適切なインスペクタ・ダイアログを開きます。

ExcelワークシートにOracle ADFバインディングまたはコンポーネントを挿入した後にも、プロパティ・インスペクタが自動的に表示されます。図5-8に、Oracle ADFボタン・コンポーネントのプロパティを表示および編集できるプロパティ・インスペクタを示します。

設計時には、コンポーネントが表示されるExcelのセルを編集することにより、特定のOracle ADFコンポーネントの主要なプロパティを編集できます。たとえば、ADF LabelコンポーネントおよびADF Input TextコンポーネントのValueプロパティの編集は、セルに表示された値を編集すれば実行できます。

注意:

プロパティ・インスペクタは、プロパティまたはプロパティの組合せに入力した値が有効かどうかの検証は実行しません。無効な値があると、実行時にエラーが発生します。実行時のエラーを回避するには、プロパティ・インスペクタでプロパティに有効な値を指定してください。

プロパティは、アルファベット順、またはカテゴリ(動作、データなど)別にグループ化されたリストで表示できます。表5-3は、プロパティ・インスペクタでのプロパティの表示を変更するときに使用可能なボタンを示します。

表5-3 プロパティ・インスペクタでのプロパティ表示を構成するボタン

ボタン

説明

このボタンを使用すると、プロパティがカテゴリに応じて表示されます。

このボタンを使用すると、プロパティがアルファベット順に表示されます。

図5-8のプロパティ・インスペクタには、カテゴリ別にグループ化されたプロパティが表示されています。

図5-8 ADFボタン・コンポーネントのプロパティ・インスペクタ・ウィンドウ

5.7 バインディングIDピッカーの使用

バインディングIDピッカーは、実行時のOracle ADFコンポーネントの動作を構成するために、設計時にOracle ADFバインディングを選択できるダイアログです。バインディングIDピッカーは、「プロパティ・インスペクタ」から起動します。また、バインディングIDピッカーはOracle ADFコンポーネントのプロパティが受け入れるバインディングのタイプに基づいて、表示されるOracle ADFバインディングをフィルタ処理します。たとえば、ADFボタンのSuccessActionIDボタン・コンポーネントは、アクション・バインディングのみをサポートします。したがって、図5-9に示すように、バインディングIDピッカーは、ページ定義ファイルのバインディングをフィルタ処理して、アクション・バインディングのみが表示されるようにします。

図5-9 バインディングIDピッカー

ADFデスクトップ統合コンポーネントのプロパティ、およびそれらがサポートするバインディングの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。

5.8 式ビルダーの使用

式ビルダーを使用して、Excelワークブックでの実行時のコンポーネントの動作を構成する式言語(EL)または式を記述します。式ビルダーは、EL式をサポートするコンポーネント・プロパティのプロパティ・インスペクタから起動します。たとえば、図5-10のプロパティLabelはEL式をサポートするため、このプロパティの値を設定する式ビルダーを起動できます。

記述するEL式内のバインディングを参照できます。式ビルダーではバインディングのフィルタ処理は行われません。ページ定義ファイルが公開するすべてのバインディングが表示されます。それぞれのADFデスクトップ統合がサポートするバインディングのタイプの詳細は、表4-1を参照してください。

「式」ボックスに式を追加するには、項目を選択して「式に挿入」をクリックします。また、項目をダブルクリックして、「式」ボックスに追加することもできます。表5-4は、式ビルダーで使用可能なフォルダを示します。

図5-10 式ビルダー

表5-4 式ビルダーのフォルダ

フォルダ名

説明

バインディング

現在のワークシートのページ定義からADFデスクトップ統合でサポートされるバインディングの一覧を表示します。

コンポーネント

現在のワークシートで使用可能なADFコンポーネントを一覧表示します。

リソース

Workbook.Resourcesで登録されたリソース・バンドル、ならびに内蔵のリソース・バンドル_ADFDIres.を一覧表示します。

スタイル

現在のワークブックに定義されたすべてのExcelのスタイルを一覧表示します。詳細は、9.2項「スタイルの使用」を参照してください。

ワークブック

Workbook.Parametersで定義されているパラメータを一覧表示します。

ワークシート

errors式を一覧表示します。

Excel関数

ADFデスクトップ統合で使用可能なサンプルのExcel関数を一覧表示します。詳細はExcelのドキュメントを参照してください。

式ビルダーの使用の詳細は、9.3項「EL式を使用した動的なスタイルの適用」を参照してください。 ADFデスクトップ統合のEL式の構文と、これらの式を記述するガイドラインの詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。

5.9 Webページ・ピッカーの使用

Webページ・ピッカーを使用して、Fusion WebアプリケーションからWebページを選択します。実行時にOracle ADFコンポーネント(Oracle ADFボタン・コンポーネントなど)によって、そのOracle ADFコンポーネントに関連付けられているWebページを起動できます。

Webページ・ピッカーは、アクション・コレクタ・エディタで設定されたアクションにDialogアクションを追加するときに起動できます。図5-11に示すように、Webページ・ピッカーを使用して、DialogアクションのPageプロパティにWebページを指定します。

図5-11 Webページ・ピッカーのダイアログ

統合ExcelワークブックでのWebページの表示の詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

5.10 ファイル・システム・フォルダ・ピッカーの使用

ファイル・システム・フォルダ・ピッカーを使用して、Windowsファイル・システム内を移動し、フォルダを選択できます。このピッカーを使用して、次のワークブックのプロパティの値を指定します。

- ApplicationHomeFolder

- WebPagesFolder

初めてExcelワークブックを開くときにピッカーが表示され、前述のプロパティの値を設定できます。初めてExcelワークブックを開くときに設定するプロパティの詳細は、4.2.2項「新しい統合Excelワークブックの構成方法」を参照してください。

図5-12に、ワークブックのプロパティApplicationHomeFolderの値を選択するファイル・システム・フォルダ・ピッカーを示します。

図5-12 ファイル・システム・フォルダ・ピッカー

5.11 ページ定義ピッカーの使用

ページ定義ピッカーを使用して、ページ定義ファイルのページ定義IDを選択し、ファイルをワークシートに関連付けます。ピッカーは、統合Excelワークブックで初めてワークシートを有効にしたときに表示されます。また、図5-13に示すように、ワークシートのプロパティPageDefinitionの値を設定する際にも起動できます。

図5-13 ページ定義ピッカー

ページ定義ファイルの詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

5.12 コレクション・エディタの使用

ADFデスクトップ統合では、コレクション・エディタを使用してコレクション内の要素のプロパティを管理します。コレクション・エディタのタイトル・バーに表示されるタイトルは、コレクション・エディタにより構成可能な対象を示します。コレクション・エディタのタイトルの例としては、CachedAttributesの編集、列の編集、アクションの編集などがあります。これらのコレクション・エディタを使用して、キャッシュされたデータ、ADF表コンポーネントの表列、アクション・セットのアクションのコレクションを構成できます。図5-14は、コレクション・エディタを示しています。

図5-14 コレクション・エディタ

ヒント:

アクションの編集ダイアログに追加する各要素の「注釈」フィールドで、説明を記述してください。記述する説明はMembersリスト・ビューに表示されます。記述する説明によっては、ADFデスクトップ統合が生成するデフォルトのエントリよりも意味をなす場合があります。

5.13 セルのコンテキスト・メニューの使用

設計時にADFコンポーネントを使用する際、コンポーネントのいずれかのセルを右クリックすると、コンポーネントを編集または削除するメニュー・オプションを表示できます。一部のキーボードには、コンテキスト・メニューを起動するキーがあります。このキーを使用しても、編集および削除のメニュー・オプションが表示されます。図5-15は、ADF出力テキスト・コンポーネントのコンテキスト・メニュー・オプションを示します。

図5-15 ADF出力テキスト・コンポーネントのコンテキスト・メニュー・オプション

セッション中は、キーボードのコンテキスト・メニュー・キーか、マウスの右クリック・ボタンを使用する必要があります。マウスの右クリックとコンテキスト・メニュー・キーを両方とも使用すると、メニュー・オプションが予期したように表示されない場合があります。コンテキスト・メニュー・オプションは、セルの範囲を選択してからコンテキスト・メニューを起動した場合には表示されません。

5.14 ADFデスクトップ統合コンポーネントの削除

設計時に、「削除」リボン・コマンド、または「ADFコンポーネントの削除」コンテキスト・メニュー・オプション(図5-15参照)を使用して、挿入したADFデスクトップ統合コンポーネント(またはバインディング)を統合ワークブックから削除できます。

コンポーネントを削除する場合、図5-16に示すように、ADFデスクトップ統合では、アクションを確認するよう求められます。

図5-16 ADFデスクトップ統合コンポーネントの削除

コンポーネントのアンカーとなるセルの範囲を選択(図5-17参照)、または[Ctrl]キーを使用して個別のコンポーネントのセルを選択し、「削除」リボン・ボタンをクリックすることにより、複数のコンポーネントを削除することもできます。

図5-17 複数のADFデスクトップ統合コンポーネントの削除

コンポーネントの削除時には、次のことに注意してください。

- コンポーネントの元のセルが選択されている場合、キーボードの[Delete]キーを使用して1つのコンポーネントを削除することもできます。
キーボードの[Delete]キーを使用して表コンポーネントを削除することはできません。「削除」リボン・コマンドを使用してください。

- 複数のセルがあるコンポーネント(表コンポーネントまたはマージされたセルのコンポーネントなど)を削除するには、コンポーネント全体を選択する必要はありません。選択した範囲がコンポーネントのセルと交差すれば削除されます。

- 選択した中に1つまたは複数のADFデスクトップ統合コンポーネントが含まれている場合、ワークブックのセルを削除またはクリアできません。必ず「削除」リボン・コマンドを使用してADFデスクトップ統合コンポーネントを削除します。

- ADFデスクトップ統合のコンテキスト・メニュー・オプションは、コンテキスト・メニューが起動されたときに複数のセルが選択されている場合には使用できません。

5.15 Excelワークブック統合メタデータのエクスポートおよびインポート

ワークブック定義として知られるワークブック統合メタデータは、指定のワークブックを特定のFusion Webアプリケーションに統合する方法を示す一連の情報です。コンポーネントの配置と構成、およびワークブック・レベルとワークシート・レベルのプロパティが含まれています。ワークブック統合メタデータは、Oracle ADFによって定義されます。Excelに元からあるワークブックの設定は含まれません。

Excelワークブック統合メタデータを、指定した名前と場所のXMLファイルにエクスポートできます。XMLファイルには、ワークブックの各ワークシートの子要素、リモート・サーブレットの相対パスのようなリソースなどが含まれます。エクスポートされたXMLファイルを使用すると、次のアクションを実行できます。

- Fusion Webアプリケーションに統合されるExcelワークブックの編集または分析。

- XMLエディタを使用した、ワークシートとワークブックの間のコンポーネントのコピーまたは移動。

- ボタン間またはイベント間のアクション・セット定義のコピー。

- グローバルな検索および置換操作の実行。

- 表コンポーネントの列の素早い再配置またはコピー。

5.15.1 ワークブック統合メタデータのエクスポート方法

次の手順では、統合ExcelワークブックからXML構成メタデータをエクスポートする方法を説明します。

始める前に:

ワークブック統合メタデータを理解しておくと役立ちます。詳細は、5.15項「Excelワークブック統合メタデータのエクスポートおよびインポート」を参照してください。

統合Excelワークブックからワークブック統合メタデータをエクスポートするには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブで、「エクスポート」をクリックします。
「ワークブック定義に名前を付けて保存」ダイアログ・ボックスが開きます。

3. エクスポートされたメタデータを格納するXMLファイルの名前と場所を指定し、「保存」をクリックします。ADFデスクトップ統合によって、ワークブック定義が指定されたファイルに書き込まれます。

4. 「ワークブック・メタデータのエクスポート」ダイアログで、「OK」をクリックしてエクスポート・プロセスを完了します。

注意:

エクスポートされたXMLファイルには、名前付きスタイル、名前付き範囲、セル・プロパティ、バインドなしセル内のコンテンツなど、ネイティブなExcel設定は含まれません。

ワークブックの公開によっても、ワークブック定義がエクスポートされます。ワークブックの公開の詳細は、14.3項「統合Excelワークブックの公開」を参照してください。

ワークブック定義をエクスポートしたら、JDeveloperなどのXMLエディタでXMLファイルを編集できます。図5-18は、JDeveloperでのEditCustomers-DT.xlsxのワークブック定義を示しています。JDeveloperでワークブック定義ファイルを編集する際、JDeveloperはワークブック定義スキーマと照らしあわせて変更を自動的に検証します。後で問題の回避に役立つ警告も表示します。

図5-18 JDeveloperでのワークブック定義の編集

5.15.2 ワークブック統合メタデータのインポート方法

編集後は、統合メタデータを空の統合ワークブックにインポートして、ソースの統合Excelワークブックのコピーを作成できます。メタデータをインポートする前に、ADFデスクトップ統合で空のワークブックを有効にする必要があります。

次の手順では、統合ExcelワークブックにXML構成メタデータをインポートする方法を説明します。

始める前に:

ワークブック統合メタデータを理解しておくと役立ちます。詳細は、5.15項「Excelワークブック統合メタデータのエクスポートおよびインポート」を参照してください。

XMLファイルから統合メタデータをインポートする前に、XMLコードが適切に形成されているかどうか、XMLファイルにルート要素が含まれているかどうかなど、基本的なXML検証を実行します。ワークブック定義は、ワークブック定義のエクスポート元のワークブックにインポートすることも、新しいワークブックにインポートすることもできます。

統合Excelワークブックにワークブック統合メタデータをインポートするには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブで、「インポート」をクリックします。
「インポートするワークブック定義ファイルの選択」ダイアログ・ボックスが表示されます。

3. ワークブック統合メタデータを格納するXMLファイルを選択し、「開く」をクリックします。

4. 「ワークブック・メタデータのインポート」ダイアログで、「OK」をクリックしてインポート・プロセスを完了します。

ワークブック定義内の変更は、統合Excelワークブックに自動的に表示されます。

たとえば図5-19は、ワークブック定義ファイルでEdit Customers New Workbookに変更されたワークブックのブランド値を示しています。

図5-19 ワークブック定義内のブランド値の編集

図5-20は、ワークブック定義のインポート後に、「ワークブック・プロパティの編集」ダイアログで変更されたワークブックのブランド値を示しています。

図5-20 「ワークブック・プロパティの編集」ダイアログで更新されたブランド値

5.15.3 Excelワークブック統合メタデータのエクスポートおよびインポートに関する留意事項

ワークブック統合メタデータのXMLファイルでは、adfdi-workbook-definition.xsd XMLスキーマ・ドキュメントが使用されます。このドキュメントでは、XMLネームスペースがhttp://xmlns.oracle.com/adf/desktopintegration/workbookと定義されています。スキーマは、ADFデスクトップ統合アドインによりJDeveloperに統合されます。スキーマのコピーは、<MW_HOME>\jdeveloper\adfdi\etc\adfdi-workbook-definition.xsdにあります。MW_HOMEは、ミドルウェア・ホーム・ディレクトリです。

ワークブック統合メタデータのインポート中は、次の点に注意してください。

- インポート・プロセスが開始されると、XMLファイルのスキーマ・バージョン番号(<workbook>のschema-version属性)が、インストールされているADFデスクトップ統合クライアントのスキーマ・バージョン番号と比較されます。
両方の値が一致すると、ワークブック統合メタデータがワークブックにインポートされます。XMLファイルのスキーマ・バージョンがインストールされているクライアントのスキーマ・バージョンより小さい場合は、インストールされているクライアントのスキーマを使用するためにXMLファイルが移行されます。ファイルの移行中はプロンプトは表示されませんが、ログは維持されます。XMLファイルのスキーマ・バージョンがインストールされているクライアントのスキーマ・バージョンより大きい場合は、インポート・プロセスが失敗し、エラー・メッセージが表示されます。

- スキーマ・バージョンの検証後に、インストールされているクライアントのスキーマと照らしあわせて、インポートされたXMLファイルが検証されます。検証に失敗すると、検証失敗の詳細情報が記録され、エラーがユーザーに報告され、インポート・プロセスが中止されます。スキーマの検証に成功すると、インポート・プロセスが続行します。

- インポートされたXMLファイルに要素がない場合は、統合Excelワークブックで要素のデフォルト値が使用されます。

- 既存のすべてのワークシートとコンポーネントのメタデータは、インポート前に削除されます。

- インポートされたワークシートの名前が統合ワークブック内の既存のワークシートの名前と一致する場合は、そのワークシートが使用されます。それ以外の場合は、新しいワークシートが作成されます。

- 統合Excelワークブックの統合されていないすべてのワークシートは、インポートによる影響は受けません。

- インポートされたコンポーネントに有効な元情報がない場合は、インポート・プロセスは、そのコンポーネントをターゲット統合ワークシート内の最初の未使用行に配置しようとします。

- XMLファイルがインポートされたら、統合ExcelワークブックのワークブックIDがXMLファイルのワークブックIDに置換されます。XMLファイルにワークブックIDが存在しない場合は、新しいIDが生成されます。

6 ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用

この章では、エンド・ユーザーがFusion Webアクションから取得したデータを管理できるようにするためにADFデスクトップ統合に用意されているコンポーネント(ボタン、ラベル、入力テキスト、出力テキスト、値リストなど)を挿入および構成する方法について説明します。また、Excel式を使用してこれらのコンポーネント内で計算されたデータを表示する方法についても説明します。

この章の内容は次のとおりです。

- 6.1項「ADFデスクトップ統合フォーム・タイプ・コンポーネントについて」

- 6.2項「ADFボタン・コンポーネントの挿入」

- 6.3項「ADFラベル・コンポーネントの挿入」

- 6.4項「ADF入力テキスト・コンポーネントの挿入」

- 6.5項「ADF出力テキスト・コンポーネントの挿入」

- 6.6項「ADF値リスト・コンポーネントの挿入」

- 6.7項「ADFコンポーネントのマネージドBeanからの出力の表示」

- 6.8項「コンポーネント内での連結または計算されたデータの表示」

- 6.9項「ナビゲーション・ボタンの使用」

6.1 ADFデスクトップ統合フォーム・タイプ・コンポーネントについて

ADFデスクトップ統合フォーム・タイプ・コンポーネントを使用すると、エンド・ユーザーが統合ExcelワークブックのFusion Webアプリケーションから取得したデータを管理できるようになります。5.5項「コンポーネント・パレットの使用」にあるとおり、コンポーネント・パレットのADFフォーム・コンポーネントを公開するのではなく、ADFデスクトップ統合は次のコンポーネントを使用して、統合Excelワークブックでフォーム・タイプ機能を作成します。

- ADF入力テキスト

- ADF出力テキスト

- ADFラベル

- ADF値リスト

- ADFボタン

図6-1は、これらのコンポーネントを示します。

図6-1 ADFデスクトップ統合フォーム・タイプ・コンポーネント

フォーム・コンポーネントやバインディングをマージされたセルに挿入、またはフォーム・コンポーネントやバインディングの挿入後にセルをマージすることはできますが、複数のフォーム・コンポーネントをマージされたセルに挿入、または異なるフォーム・コンポーネントがあるセルをマージすることはできません。

コンポーネントをマージされたセルに挿入する前に、次のことに注意してください。

- ドラッグ・アンド・ドロップ機能は、コンポーネントのマージされたセルへの挿入ではサポートされません。

- コンポーネント・セルを、上または左にある空白ではないセルとマージしないでください。2つ以上のセルがマージされる場合、Excelでは最も左上のセルのデータおよびスタイルが保持され、残りのセルのデータは破棄されます。そのため、コンポーネント・セルを、上または左にある空白ではないセルとマージすると、コンポーネント・データが上書きされることになります。

- 値またはバインディングがない空のコンポーネント・セルを、上または左の空白のセルと、マージしないでください。空のコンポーネント・セルを、上または左にある空白のセルとマージすると、コンポーネント・セルのスタイルが上書きされることになります。

- ADFボタンは、マージされたエリア全体まで自動的に拡張されません。必要に応じて、ボタンのPositionおよびLowerRightCornerプロパティを編集してサイズを変更できます。

6.1.1 ADFデスクトップ統合フォーム・タイプ・コンポーネントのユース・ケースと例

ADFデスクトップ統合フォーム・タイプ・コンポーネントは、ユーザーの入力やFusion Webアプリケーションからの出力用に統合Excelワークブックでフォームをビルドするときに使用されます。図6-2に示すように、EditWarehouses-DT.xlsxのナビゲーション・フォームに使用されるフォーム・タイプ・コンポーネントにより、エンド・ユーザーはデータを容易にナビゲートおよび更新できます。

図6-2 ADFデスクトップ統合フォーム・タイプ・コンポーネントを使用したナビゲーション・フォーム

6.1.2 ADFデスクトップ統合フォーム・タイプ・コンポーネントの追加機能

ワークシートにコンポーネントを追加した後、イベントやエンド・ユーザーのアクションに対する応答など、機能を追加しなければならないことがあります。フォーム・コンポーネントで使用可能な他の機能へのリンクは次のとおりです。

- マネージドBeanからの出力の表示: ADFラベル・コンポーネントまたはADF出力テキスト・コンポーネントを使用して、マネージドBeanからの出力を表示できます。詳細は、6.7項「ADFコンポーネントのマネージドBeanからの出力の表示」を参照してください。

- スタイル: 事前定義済のExcelのスタイルをいくつか使用して、フォーム・タイプ・コンポーネントの表示を構成できます。詳細は、9.2項「スタイルの使用」を参照してください。

- EL式: EL式をフォーム・タイプ・コンポーネントとともに使用できます。詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。

6.2 ADFボタン・コンポーネントの挿入

ADFボタン・コンポーネントは、実行時にExcelワークシートのボタンをレンダリングします。エンド・ユーザーはこのボタンをクリックして、ClickActionSetプロパティ・グループで指定される1つ以上のアクションを起動します。

LowerRightCornerプロパティおよびPositionプロパティは、実行時にExcelワークシートでボタンが占有する領域を決定します。

図6-3に、ADFボタン・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ボタンのプロパティ・インスペクタが最前面に表示されています。エンド・ユーザーが実行時にこのボタンをクリックすると、ClickActionSetで指定された配列のアクションが起動します。

図6-3 設計モードのADFボタン・コンポーネント

ADFボタン・コンポーネントのプロパティの詳細は、付録A.8「ADFボタン・コンポーネントのプロパティ」を参照してください。

ADFボタン・コンポーネントを挿入するには:

1. 統合Excelワークブックを開きます。

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADFボタン」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADFボタン」を選択します。

4. プロパティ・インスペクタで、コンポーネントが実行時に起動するアクションと、コンポーネントの外観、設計およびレイアウトを決定するプロパティを構成します。表6-1は、値を指定する必要のあるプロパティの概要および追加情報へのリンクを示します。

図6-1 ADFボタン・コンポーネントのプロパティ

プロパティ

指定する内容

Label

ADFボタン・コンポーネントの目的を示すために実行時にラベルに解決される文字列またはEL式。ボタン・ラベルのデフォルトはアクション・バインディングIDです。

EL式(使用される場合)は、resリソース・バンドルの文字列キーを参照します。リソース・バンドルの詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。統合Excelワークブックでのラベルの使用の詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

ラベルにアンパサンド文字(&)を含めるには、&&を使用します。1つの&文字は特殊文字として機能し、ラベルには表示されません。

ClickActionSet

ClickActionSetのActions配列で、エンド・ユーザーがADFボタン・コンポーネントをクリックしたときに起動する1つ以上のアクションを指定します。アクション・セットの詳細は、8.2項「アクション・セットの使用」を参照してください。

5. 「OK」をクリックします。
図6-4は、実行時のADFボタン・コンポーネント(赤線の枠内)の例を示します。

図6-4 実行時のADFボタン・コンポーネント

注意:

- Excelワークシートのビュー・モードをページ・レイアウトまたはページ・ブレーク・モードに変更した場合、ADFボタン・コンポーネントは予期しない位置にレンダリングされる可能性があります。ボタンを元の位置でレンダリングするために、ワークブックを保存せずに通常モードに戻り、統合Excelワークブックを実行して停止する必要があります。

- コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。

- ADFボタン・コンポーネントは100%ズームの状態でのみアクティブであり、エンド・ユーザーが統合Excelワークシートでズームインやズームアウトすると無効になります。

- コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は5.14項「ADFデスクトップ統合コンポーネントの削除」を参照してください。

ヒント:

設計モードでは、ボタンにフォーカスがある場合に、ボタンをクリックしたりスペースバーを押してプロパティ・インスペクタを開くことができます。右クリックして表示されるコンテキスト・メニューは、ボタンでは無効です。

統合Excelワークブックにナビゲーション・ボタンを追加して前または次のレコードに移動するには、6.9項「ナビゲーション・ボタンの使用」を参照してください。

6.3 ADFラベル・コンポーネントの挿入

ADFラベル・コンポーネントは、静的な文字列値を表示するために、アクティブなワークシートに挿入できるコンポーネントです。プロパティ・インスペクタのLabelの入力フィールドに値を指定するか、式ビルダーを起動して、実行時に文字列に解決されるEL式を記述します。取得される文字列は、リソース・バンドルまたはエンティティあるいはビュー・オブジェクトの属性コントロールのヒント内で定義できます。たとえば、次のEL式は実行時にCountryId属性のラベルの値に解決されます。

#{bindings.CountryId.label}

ADFラベル・コンポーネントや他のOracle ADFコンポーネントでLabelプロパティに指定する値は、Oracle ADFコンポーネントをホストするワークシートが初期化(初めて開く)されるときに評価されます。

プロパティ・インスペクタを使用して、スタイルや位置などのコンポーネントのプロパティをワークシートで構成できます。

図6-5に、ADFラベル・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADFラベル・コンポーネントは、実行時にCountryId属性のラベルに解決されるEL式を参照します。

図6-5 設計モードのADFラベル・コンポーネント

ADFラベル・コンポーネントを挿入するには:

1. 統合Excelワークブックを開きます。

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADFラベル」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADFラベル」を選択します。

4. プロパティ・インスペクタで、コンポーネントの外観、設計およびレイアウトを決定するプロパティを構成します。

5. 「OK」をクリックします。

図6-6は、実行時のADFラベル・コンポーネント(赤線の枠内)の例を示します。

図6-6 実行時のADFラベル・コンポーネント

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。

コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は5.14項「ADFデスクトップ統合コンポーネントの削除」を参照してください。

統合Excelワークブックでのラベルの使用の詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

6.4 ADF入力テキスト・コンポーネントの挿入

ADF入力テキスト・コンポーネントは、コンポーネント・パレットを使用して、アクティブなワークシートに挿入できるコンポーネントです。コンポーネントの挿入時、ワークシートのアクティブなセルには、ワークシートDownSyncアクションが起動された後のコンポーネントのバインディングの現在の値が表示されます。エンド・ユーザーは実行時にこの値を編集できます。ワークシートUpSyncアクションを構成して、エンド・ユーザーが値に加える変更をFusion WebアプリケーションおよびCommitアクション・バインディングに送信して、Fusion Webアプリケーションで変更をコミットします。

ユーザーがプロパティ・インスペクタを使用してワークシートのセル(DoubleClickActionSetプロパティ)をダブルクリックすると、位置やスタイル、動作といったコンポーネントのプロパティの多くを構成できます。DoubleClickActionSetの詳細は、8.2項「アクション・セットの使用」を参照してください。

ADF表コンポーネントは、ADF表コンポーネントの列のInsertComponentプロパティまたはUpdateComponentプロパティの値を設定すると、このコンポーネントをサブコンポーネントとして起動できます。このコンテキストでは、ADF入力テキスト・コンポーネントによって、エンド・ユーザーはADF表コンポーネントにデータを入力できるようになります。詳細は、7.7項「データを挿入するためのADF表コンポーネントの構成」を参照してください。

図6-7に、ADF入力テキスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF入力テキスト・コンポーネントは、ADFデスクトップ統合のSummitサンプル・アプリケーションのCity属性バインディングへバインドされます。ユーザーは、このコンポーネントに市の名前を入力します。

図6-7 設計モードのADF入力テキスト・コンポーネント

ADF入力テキスト・コンポーネントを挿入するには:

1. 統合Excelワークブックを開きます。

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADF入力テキスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADF入力テキスト」を選択します。

4. プロパティ・インスペクタで、コンポーネントの外観、レイアウトおよび動作を決定するプロパティを構成します。表6-2は、値を指定する必要のあるいくつかのプロパティの概要を示します。このコンポーネントの他のプロパティの詳細は、A.2項「ADF入力テキスト・コンポーネントのプロパティ」を参照してください。

表6-2 ADF入力テキストのプロパティ

プロパティ

指定する内容

InputText.Value

コンポーネントが参照するバインディングを決定するValueプロパティのEL式。

InputText.ReadOnly

エンド・ユーザーが加える変更がアップロードされるようにFalseに解決されるEL式。コンポーネントで変更を無視する場合は、Trueに解決されるEL式を記述してください。デフォルト値はFalseです。

5. 「OK」をクリックします。

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。

コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は5.14項「ADFデスクトップ統合コンポーネントの削除」を参照してください。

図6-8は、実行時のADF入力テキスト・コンポーネント(赤線の枠内)の例を示します。

図6-8 実行時のADF入力テキスト・コンポーネント

6.5 ADF出力テキスト・コンポーネントの挿入

ADF出力テキスト・コンポーネントは、コンポーネント・パレットを使用して、アクティブなワークシートに挿入できるコンポーネントです。コンポーネントの挿入時、ワークシートのアクティブなセルには、ワークシートDownSyncアクションを起動した後のコンポーネントのバインディングの現在の値が表示されます。コンポーネントにより表示される値は読取り専用です。エンド・ユーザーがセルの値に加える変更で、コンポーネントを配置するものは、変更がFusion Webアプリケーションに送信される際に無視されます。

また、このコンポーネントはADF表コンポーネントおよびADF読取り表コンポーネントのサブコンポーネントとして機能することができます。ADF表コンポーネントおよびADF読取り専用コンポーネントの列は、ADF出力テキスト・コンポーネントを使用するように構成できます。

スタイル、セルをダブルクリックしたときの動作(DoubleClickActionSetプロパティ)および位置など、コンポーネントの様々なプロパティを、プロパティ・インスペクタを使用してワークシートで構成できます。

図6-9に、ADF出力テキスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。

図6-9 設計モードのADF出力テキスト・コンポーネント

ADF出力テキスト・コンポーネントを挿入するには:

1. 統合Excelワークブックを開きます。

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADF出力テキスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADF出力テキスト」を選択します。

4. プロパティ・インスペクタで、コンポーネントの外観、レイアウトおよび動作を決定するプロパティを構成します。
たとえば、ADF出力テキスト・コンポーネントが何を参照するかを決定するために、ValueプロパティにEL式を記述または指定する必要があります。ADF出力テキスト・コンポーネントのプロパティに指定する値の詳細は、A.3項「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。

5. 「OK」をクリックします。

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。

コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は5.14項「ADFデスクトップ統合コンポーネントの削除」を参照してください。

図6-10は、実行時のADF出力テキスト・コンポーネント(赤線の枠内)の例を示します。

図6-10 実行時のADF出力テキスト・コンポーネント

6.6 ADF値リスト・コンポーネントの挿入

ADF値リスト・コンポーネントは、実行時にExcelワークシートのセルにドロップダウン・メニューを表示するコンポーネントです。実行時に最大250の値が表示されます。値リスト・コンポーネントは、Excelワークシートのセルに挿入できます。

ListIDプロパティの値を指定する必要があります。ListIDプロパティは、ワークブックDownSyncアクションを起動した後で実行時にドロップダウン・メニューに値リストを移入するリスト・バインディングを参照します。

図6-11に、ADF値リスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF値リスト・コンポーネントは、実行時にExcelワークシートのドロップダウン・メニューに値を移入するリスト・バインディング(RegionId)を参照します。

注意:

- ADF表コンポーネントの列のドロップダウン・メニューは、TableColumn配列のInsertComponentプロパティの値を指定する際に、TreeNodeListまたはModelDrivenColumnComponentを作成するサブコンポーネントとして選択すれば表示できます。詳細は、7.14項「ADF表コンポーネント列での値リストの作成」を参照してください。

- 日付値を使用するADF値リスト・コンポーネントはサポートされていません。

図6-11 ADF値リスト・コンポーネント

ADF値リスト・コンポーネントを挿入するには:

1. 統合Excelワークブックを開きます。

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADF値リスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストからADF値リストを選択します。

4. ListIDプロパティの入力フィールドの横にある参照(...)アイコンをクリックしてバインディングIDピッカーを起動し、ページ定義ファイルで公開されたリスト・バインディングを選択します。

5. プロパティ・インスペクタで、コンポーネントの外観、設計およびレイアウトを決定する他のプロパティを構成します。ADF値リスト・コンポーネントのプロパティの詳細は、A.5項「ADF値リスト・コンポーネントのプロパティ」を参照してください。

6. 「OK」をクリックします。

注意:

- コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。
コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は5.14項「ADFデスクトップ統合コンポーネントの削除」を参照してください。

- Excelフォームは、フォームのバインド・イテレータに行が存在しないと予想される場合は、モデルドリブン・リスト・バインディングを使用するADF値リスト・コンポーネントを使用するように構成できません。解決策として、かわりに動的なリスト・バインディングを使用するように、ADF値リスト・コンポーネントを構成できます。

6.7 ADFコンポーネントのマネージドBeanからの出力の表示

ADFコンポーネントを構成して、マネージドBeanからの出力をFusion Webアプリケーションで表示できます。Fusion WebアプリケーションでマネージドBeanを使用する方法の詳細は、Oracleアプリケーション開発フレームワークを使用したFusion Webアプリケーションの開発のFusion WebアプリケーションのマネージドBeanの使用に関する項を参照してください。統合Excelワークブック内のマネージドBeanはEL式を通じて参照します。Excelワークシートに関連付けるページ定義ファイルにメソッド・アクション・バインディングを追加して、マネージドBeanの値を取得し、それを属性バインディングに割り当てます。EL式を使用して、実行時に属性バインディングの値を取得します。

6.7.1 マネージドBeanからの出力の表示方法

EL式は、EL式をサポートするプロパティ(Labelプロパティなど)に記述します。

始める前に:

マネージドBeanに関する知識が役立つ場合があります。詳細は、6.7項「ADFコンポーネントのマネージドBeanからの出力の表示」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、6.1.2項「ADFデスクトップ統合フォーム・タイプ・コンポーネントの追加機能」を参照してください。

マネージドBeanからの出力を表示するには:

1. 統合Excelワークブックを開きます。

2. マネージドBeanからの出力を表示するADFコンポーネントを選択し、そのプロパティ・インスペクタを開きます。
図6-12に、ADFラベル・コンポーネントが、アクション・バインディングにより移入された値を持つ属性バインディングからの出力を表示するように構成されている例を示します。

図6-12 実行時にマネージドBeanからの出力を表示するADFラベル・コンポーネント

3. 実行時にマネージドBeanからの出力を取得するEL式を記述します。
図6-12の例は、resリソース・バンドルからの文字列キー(excel.connectionPrefix)の値とloggedInUser属性バインディングの値を取得するEL式を示します。この属性バインディングは、マネージドBeanからの出力を参照します。

4. 「OK」をクリックします。

6.7.2 実行時の処理: ADFコンポーネントによるマネージドBeanからの出力の表示

メソッド・アクション・バインディングは、マネージドBeanからの値を取得して属性バインディングに移入します。記述するEL式は、属性バインディングからの値を取得し、出力を表示するように構成したADFコンポーネントを通じてそれをエンド・ユーザーに表示します。たとえば、図6-13に示す設計モードのADFラベル・コンポーネントは、実行時に次のような文字列を表示します。

Connected as sking

図6-13 実行時のマネージドBeanからの出力

図6-13では、skingは統合Excelワークブックを介してFusion Webアプリケーションにログオンしているユーザーのユーザー名です。

6.8 コンポーネント内での連結または計算されたデータの表示

ADFデスクトップ統合モジュールは、コンポーネント内で、1つのコンポーネントにより、計算または複数のバインディング式の連結に基づいたデータを表示可能なEL式をサポートしています。

6.8.1 計算されたデータを表示するようにコンポーネントを構成する方法

EL式は、入力テキストまたは出力テキスト・コンポーネントのValueプロパティに対して記述します。

図6-14に、ADF出力テキスト・コンポーネントが2つのフィールド、List PriceおよびCost Price間のマージンを表示するように構成されているEL式の例を示します。

図6-14 計算されたデータを表示するADF出力テキスト・コンポーネント

始める前に:

ADFコンポーネント内での連結または計算されたデータの表示方法を理解しておくと役立ちます。詳細は、6.8項「コンポーネント内での連結または計算されたデータの表示」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、6.1.2項「ADFデスクトップ統合フォーム・タイプ・コンポーネントの追加機能」を参照してください。

計算されたデータを表示するEL式を作成するには

1. 統合Excelワークブックを開きます。

2. 計算されたデータを表示する、ADF入力テキストまたはADF出力テキストのコンポーネントを選択します。

3. プロパティ・インスペクタを開き、Valueプロパティの参照(...)アイコンをクリックします。

4. 2つ以上の式から出力を取得するEL式を記述します。
図6-1は、2つのフィールド、List PriceとCost Priceの値の差異を計算し、それをCost Price列の値で割ってマージンを生成するEL式を示しています。

例6-1 計算されたデータ用のEL式

=(("#{row.bindings.ListPrice.inputValue}"-"#{row.bindings.CostPrice.inputValue}")/"#{row.bindings.CostPrice.inputValue}")

5. 「OK」をクリックします。

EL式の詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。

注意:

ADF入力テキスト・コンポーネントのValueプロパティに式が含まれる場合、ReadOnlyプロパティの値に関係なく、ADF入力テキスト・コンポーネントは実行時に読取り専用となります。

6.9 ナビゲーション・ボタンの使用

図6-15に示すような、あるレコードから別のレコードに移動するためのナビゲーション・ボタン(次、前へ、最初へ、最後)を作成できます。別のレコードに移動する前にエンド・ユーザーがレコードのデータを変更した場合、それらの変更を保存するか、または無視するかを選択できます。

図6-15 統合Excelワークブックのナビゲーション・ボタン

別のレコードに移動する前に変更を保存し、次の順序でボタンのアクション・セットを定義するには:

1. Worksheet.UpSync

2. Commit

3. ナビゲーション・アクション(例: 「次」)

4. Worksheet.DownSync

注意:

アクション・セットからCommitアクションを省略すると、複数のレコードに対する保留中のすべての変更は、エンド・ユーザーのWebアプリケーション・セッションが終了するときに失われます。

別のレコードに移動する前に変更を無視し、次の順序でボタンのアクション・セットを定義するには:

1. ナビゲーション・アクション(例: 「次」)

2. Worksheet.DownSync

注意:

変更を無視するボタン・アクションを定義する場合、別のレコードに移動する前に変更を保存することはエンド・ユーザーの役割となります。

7 ADFデスクトップ統合表タイプ・コンポーネントの使用

この章では、ADFデスクトップ統合により提供される表タイプ・コンポーネント、その構成方法と使用方法、Fusion Webアプリケーションからデータをダウンロードする方法、統合Excelワークブックで表タイプ・コンポーネントからデータ行の挿入、更新、削除を行う方法、変更内容の追跡方法、表タイプ・コンポーネントで特殊な列を構成する方法、および表タイプ・コンポーネントを使用して実行できるその他のタスクについて説明します。

この章の内容は次のとおりです。

- 7.1項「ADFデスクトップ統合表タイプ・コンポーネントについて」

- 7.2項「ADF表コンポーネントのページ定義の要件」

- 7.3項「ExcelワークシートへのADF表コンポーネントの挿入」

- 7.4項「ADF表コンポーネントにデータをダウンロードするためのOracle ADFコンポーネントの構成」

- 7.5項「ADF表コンポーネントに保留中の挿入行としてデータをダウンロードするためのワークシートの構成」

- 7.6項「既存データを更新するためのADF表コンポーネントの構成」

- 7.7項「データを挿入するためのADF表コンポーネントの構成」

- 7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」

- 7.9項「UploadAllOrNothingアクションを使用して変更をアップロードするためのADF表コンポーネントの構成」

- 7.10項「Fusion Webアプリケーションで行を削除するためのADF表コンポーネントの構成」

- 7.11項「ADF表コンポーネントでのバッチ処理」

- 7.12項「ADF表コンポーネントの特殊な列」

- 7.13項「ADF表コンポーネントのキー列の構成」

- 7.14項「ADF表コンポーネント列での値リストの作成」

- 7.15項「ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加」

- 7.16項「ADF表コンポーネントへの動的な列の追加」

- 7.17項「ADF読取り専用表コンポーネントの作成」

- 7.18項「表タイプ・コンポーネントがダウンロードする行数の制限」

- 7.19項「ADF表コンポーネントでのキャッシュされた属性値のクリア」

- 7.20項「ADF表コンポーネントでの変更の追跡」

- 7.21項「読取り専用プロパティのEL式の評価」

- 7.22項「明示的なワークシート設定アクションの使用」

7.1 ADFデスクトップ統合表タイプ・コンポーネントについて

ADFデスクトップ統合には、構造化データを表示するための次の表タイプ・コンポーネントがあります。

- ADF表コンポーネント

- ADF読取り専用表コンポーネント

ADF表コンポーネントとADF読取り専用表コンポーネントは、エンド・ユーザーにデータ行をダウンロードおよびアップロードする機能を提供します。また、ADF表コンポーネントは、エンド・ユーザーがダウンロードしたデータの編集や削除、新しいデータ行の挿入を行えるようにします。図7-1は、ADF表コンポーネントとADF読取り専用表コンポーネントを示します。

図7-1 ADFデスクトップ統合表タイプ・コンポーネント

それぞれのADF表コンポーネントには、「キー」列が1つ含まれています。「キー」列には、ADFデスクトップ統合で表が正しく機能するために使用される重要な情報が含まれるため、削除しないでください。「キー」列を削除したり、「キー」列のセルを変更すると、エラーおよびデータ破損が発生します。キー列の詳細は、7.13項「ADF表コンポーネントのキー列の構成」を参照してください。

これらの表タイプ・コンポーネントとともに使用可能な他のADFデスクトップ統合コンポーネントの詳細は、第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」を参照してください。

7.1.1 ADFデスクトップ統合表タイプ・コンポーネントのユース・ケースと例

表は、構造化された情報を表示するときに使用されます。たとえば、表7-2は、ADFデスクトップ統合のSummitサンプル・アプリケーションのADF表コンポーネントと、それぞれのFusion Webアプリケーションからダウンロードされたデータを示します。

図7-2 ADF表コンポーネントとダウンロードされたデータ

7.1.2 表タイプ・コンポーネントの追加機能

統合Excelワークブックに表コンポーネントを追加した後、表を構成するために追加機能が必要になることがあります。表コンポーネントで使用可能な他の機能へのリンクは次のとおりです。

- 変更の追跡: 表コンポーネントで変更の追跡を可能にします。詳細は、7.20項「ADF表コンポーネントでの変更の追跡」を参照してください。

- 依存値リスト: 表コンポーネントに依存値リスト・コンポーネントを追加できます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

- スタイル: 事前定義済のExcelのスタイルをいくつか使用して、フォーム・タイプ・コンポーネントの表示を構成できます。詳細は、9.2項「スタイルの使用」を参照してください。

- EL式: EL式を表タイプ・コンポーネントとともに使用できます。詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。

7.2 ADF表コンポーネントのページ定義の要件

ADF表コンポーネントは、ADFデスクトップ統合が公開するOracle ADFコンポーネントの1つです。これは、ADFデスクトップ統合デザイナの作業ウィンドウのコンポーネント・パレットに表示されます。Excelワークシートに挿入された後は、次の操作が可能です。

- 読取り専用

- 挿入専用

- 更新専用

- 挿入と更新

ADF表コンポーネントに固有のページ定義ファイルの要件の詳細は、次の項を参照してください。

エンド・ユーザーにデータ・エントリ機能を提供するようADF表コンポーネントを構成するには、Excelワークシートの基礎となるページ定義ファイルにADFバインディングをあらかじめ構成しておく必要があります。統合Excelワークブックのページ定義ファイルの要件の概要は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

ADF表コンポーネント作成のためにページ定義ファイルを作成する際に、次のコントロール・バインディングを公開します。

- 目的の属性バインディングを公開するツリー・バインディング。ADFデスクトップ統合では、ViewObjectに対してScrollableアクセス・モードのみがサポートされています。他のアクセス・モードはサポートされていません。

- ADF表コンポーネントのRowActionsおよびBatchOptionsプロパティ・グループの値を構成する場合は、メソッド・アクション・バインディングとアクション・バインディング。これらのプロパティ・グループに値を設定する手順の例には、次のものがあります。

- 7.3項「ExcelワークシートへのADF表コンポーネントの挿入」

- 7.7項「データを挿入するためのADF表コンポーネントの構成」

- 7.5項「ADF表コンポーネントに保留中の挿入行としてデータをダウンロードするためのワークシートの構成」

注意:

前述のリストは完全なものではありません。

- (オプション)レコード・アクション・バインディングを更新します。

注意:

Excelはバインディングのフラット・リストを表示して、イテレータは表示されないため、異なるイテレータの属性にはわかりやすい名前を使用します。

図7-3に、ページ定義ファイルExcelCustomers.xmlに含まれるバインディングを示します。このページ定義ファイルは、関連付けられているExcelワークシートでのADF表コンポーネントの使用をサポートします。

図7-3 ADF表コンポーネントの使用をサポートするADFバインディング

7.3 ExcelワークシートへのADF表コンポーネントの挿入

ページ定義ファイルを正しく構成した後、ADF表コンポーネントをワークシートに挿入してプロパティを構成し、必要な機能を使用可能にできます。ADF表コンポーネントを使用して、データ行のダウンロード、編集、アップロードを行うことができます。

7.3.1 ADF表コンポーネントの挿入方法

ADFデスクトップ統合デザイナの作業ウィンドウからADF表コンポーネントを挿入できます。

始める前に:

ADF表コンポーネントについて理解しておくと役立ちます。詳細は、7.3項「ExcelワークシートへのADF表コンポーネントの挿入」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ExcelワークシートへADF表コンポーネントを挿入するには:

1. 統合Excelワークブックを開きます。

2. ADF表コンポーネントを挿入するExcelワークシートのセルを選択します。
ADF表コンポーネントへの挿入の際、2つの表のデータが実行時に重複しないことと、選択したセルがマージされたセルでないことを確認する必要があります。

3. ADFデスクトップ統合デザイナの作業ウィンドウのバインディング・パレットで、使用するツリー・バインディングを選択して、バインディングの挿入をクリックします。
選択内容に基づいて、「コンポーネントの選択」ダイアログまたはコンポーネントの挿入ダイアログが表示されます。

4. 表示されたダイアログで、「ADF表」を選択して「OK」をクリックします。

注意:

- または、コンポーネント・パレットまたは「Oracle ADF」タブを使用しても、ADF表コンポーネントを挿入できます。「ADF表」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADF表」を選択します。コンポーネント・パレットまたは「Oracle ADF」タブを使用して表コンポーネントを作成する場合は、実行時にコンポーネントに表示されるそれぞれの列を手動で追加する必要があります。

- ADF表コンポーネントはマージされたセルに挿入できません。

- Insert Bindingを使用してADF表コンポーネントを挿入する場合は、すべての列に対してデフォルトでInputTextがサブコンポーネント・タイプとして定義されます。
列で異なるサブコンポーネント・タイプを使用する場合は、ADF表プロパティ・インスペクタを開き(ADF表コンポーネントの任意のセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリック)、Columnsプロパティの参照(...)アイコンをクリックします。「列の編集」ダイアログで列を選択し、UpdateComponentプロパティの参照(...)アイコンをクリックします。「コンポーネントの選択」ダイアログで、目的のサブコンポーネント・タイプを選択し、バインディングおよび他のプロパティを確認して、「OK」をクリックします。

5. 図7-4に示すように、プロパティ・インスペクタを使用してADF表コンポーネントのプロパティを構成します。

図7-4 ADF表プロパティ・インスペクタ

6. ツリー・バインディングに関連付けられたイテレータの各行を一意に識別する属性のバインディング式を指定します。バインディングのイテレータが行のキーをサポートする場合、UniqueAttributeプロパティは空白のままにしても問題ありません。

7. 表7-1の説明に従って、ADF表コンポーネントのBatchOptionsプロパティを構成します。

表7-1 ADF表コンポーネントのBatchOptionsプロパティ

設定するプロパティ

設定する値

CommitBatchActionID

ページ定義ファイルで公開されたCommitアクション・バインディング。

8. オプションで、RowLimitグループ・プロパティを構成し、ADF表コンポーネントがダウンロード可能な行数を決定します。
詳細は、7.18項「表タイプ・コンポーネントがダウンロードする行数の制限」を参照してください。

9. 「OK」をクリックします。

図7-5は、設計モードでのEditCustomers-DT.xlsxにおけるADF表コンポーネントを示しています。

図7-5 設計モードのADF表コンポーネント

図7-6は、実行時のEditCustomers-DT.xlsxにおけるADF表コンポーネントを示しています。

図7-6 実行時のADF表コンポーネント

ADF表コンポーネントに設定可能なプロパティの詳細は、A.9項「ADF表コンポーネントのプロパティとアクション」を参照してください。

表コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は5.14項「ADFデスクトップ統合コンポーネントの削除」を参照してください。

7.3.2 ADF表コンポーネントへの列の追加方法

統合ExcelワークブックのワークシートにADF表コンポーネントを挿入した後、ツリー・バインディングで使用できない列を追加したい場合があります。たとえば、Excel式によって計算される値を表示する列を追加する場合です。

始める前に:

ADF表コンポーネントについて理解しておくと役立ちます。詳細は、7.3項「ExcelワークシートへのADF表コンポーネントの挿入」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネントに列を追加するには:

1. 統合Excelワークブックを開きます。

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 「コンポーネントの編集: ADF表」ダイアログで、Columnsプロパティの参照(...)アイコンをクリックします。
「列の編集」ダイアログが表示され、選択したADF表コンポーネントのすべての列が一覧表示されます。

4. 「追加」をクリックして、新しい列を追加します。新しい列が、Membersリストの末尾に挿入されます。列を特定の位置に移動するには、列を選択して「上」と「下へ」の配列キーを使用します。

5. ダイアログの右側ウィンドウにある新しい列のプロパティを構成します。

6. 「OK」をクリックします。

注意:

手順4の説明に従って新しい列を移動していない場合、新しい列は表の最後の列として表示されます。

ADFデスクトップ統合では、ADF表コンポーネントに追加可能な列の数に制限はありません。使用するExcelのバージョンでサポートされている列の数だけ追加できます。ただし、表の幅が非常に広い場合、パフォーマンスと操作性が低下することが報告されています。このような状況が発生した場合は、まず表の列数を減らしてみてから、パフォーマンス低下の他の理由を診断してください。

7.4 ADF表コンポーネントにデータをダウンロードするためのOracle ADFコンポーネントの構成

ワークシートにADF表コンポーネントを追加した後は、ADF表コンポーネントがFusion Webアプリケーションからデータをダウンロードするように、コンポーネントおよびそれをホストするワークシートを構成できます。これを実行するには、ワークシート・リボン・コマンドなどのOracle ADFコンポーネントを構成して、アクション・セットを起動します。起動されるアクション・セットには、起動されるアクションの中からADF表コンポーネントDownloadアクションを含める必要があります。

ADF表コンポーネントやADF読取り専用コンポーネントに含まれる行数は、Fusion Webからダウンロードする行数に基づいて増減します。Excelが表タイプ・コンポーネントがダウンロードするデータを受け入れるために行を挿入するときに、複製する場合を除いて、表タイプ・コンポーネントの左右には何も配置しないでください。実行時に表タイプ・コンポーネントに対して位置が維持されるため、表タイプ・コンポーネントの上下には他のコンポーネントを配置できます。エンド・ユーザーが実行時にADF表コンポーネントに新しいデータ行を挿入する場合は、ADF表コンポーネントをホストするExcelワークシートに行全体を挿入する必要があります。

7.4.1 ADF表コンポーネントにデータをダウンロードするためのADFコンポーネントの構成方法

Oracle ADFコンポーネント、ワークシート・リボン・ボタン、ワークシート・イベントを構成して、ADF表コンポーネントDownloadアクションを起動するアクション・セットを起動します。

始める前に:

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADFコンポーネントを構成してデータをADF表データ・コンポーネントにダウンロードする方法を理解しておくと役立ちます。詳細は、7.4項「ADF表コンポーネントにデータをダウンロードするためのOracle ADFコンポーネントの構成」を参照してください。

ADFコンポーネントを構成してADF表コンポーネントにデータをダウンロードするには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブで、「ワークシート・プロパティ」ボタンをクリックし、リボン・コマンドを追加します。ワークシートにリボン・コマンドを追加する方法の詳細は、8.3.1項「実行時リボン・タブのワークブック・コマンド・ボタンの構成方法」を参照してください。

注意:

リボン・コマンドを追加するかわりに、実行時にアクション・セットを起動するように、ワークシート・イベントまたはOracle ADFコンポーネント(たとえばボタン)を構成できます。

3. アクションの編集ダイアログを開き、アクション・セットを構成します。アクション・セットの起動の詳細は、8.2項「アクション・セットの使用」を参照してください。

4. ADF表コンポーネントDownloadアクションを、実行時にアクション・セットにより起動されるアクションのリストに追加します。Downloadはコンポーネント・アクションです。
ADF表コンポーネントDownloadアクションは、ADF表コンポーネントTreeIDプロパティにより参照されるバインディングの現在の状態をダウンロードします。ダウンロードの前にこのバインディングの状態が最新であることを確認するため、アクション・セットがADF表コンポーネントDownloadアクションを起動する前にバインディングをリフレッシュする問合せアクションを追加します。

図7-7は、EditCustomers-DT.xlsxワークブックの「アクションの編集」ダイアログを示しています。ここでは、ワークシート・イベントStartupにより起動されるアクション・セットが構成されます。

図7-7 ADF表コンポーネントにデータをダウンロードするアクション・セット

5. 「OK」をクリックします。

7.4.2 実行時の処理: ADF表コンポーネントによるデータのダウンロード

エンド・ユーザーは、構成されたアクション・セットを起動します。アクション・セットは、指定されたアクションのリストを順に起動します。これには、ADF表コンポーネントのDownloadアクションを起動するアクションが含まれます。起動時に、Downloadアクションは、ADF表コンポーネントTreeIDプロパティにより参照されるツリー・バインディングからすべての行をダウンロードします。

実行時にDownloadアクションが起動される場合は、次の重要な点に注意してください。

- Downloadアクションの起動時に、変更済とマークされた行が存在すると、エンド・ユーザーはアクションを確認して続行するように求められます(図7-8を参照)。エンド・ユーザーが「いいえ」を選択すると、アクションとアクション・セットはエラーなしで中止されます。

- 既存のすべてのExcel行がExcelの表から削除されます。

- ステータス列からすべてのメッセージが消去されます。

図7-8 データをADF表にダウンロードする前の確認プロンプト

アクションによりダウンロードされる行数は、ADF表コンポーネントでRowLimitグループ・プロパティに設定された値によって異なります。詳細は、7.18項「表タイプ・コンポーネントがダウンロードする行数の制限」を参照してください。

注意:

ワークシートに適用されたフィルタ条件はDownloadアクションの前に自動的にクリアされます。

7.5 ADF表コンポーネントに保留中の挿入行としてデータをダウンロードするためのワークシートの構成

保留中の挿入行は、アップロード時に、新しいデータ行としてイテレータに挿入されるデータのあるワークシートの表の行です。たとえば、エンド・ユーザーが、右クリックのコンテキスト・メニューにある「挿入」オプションを使用して表に新しい行を作成する場合、新しい行は保留中の挿入行として扱われ、アップロード時にイテレータに挿入されます。

保留中の更新行は、アップロード時に、イテレータの既存のデータを更新するデータのあるワークシートの表の行です。たとえば、ツリー・バインディングのイテレータにデータベースから取得した行が含まれている場合、その行がADF表にダウンロードされると、その行は保留中の更新行として扱われます。エンド・ユーザーがこれらの行を変更しアップロードすると、イテレータ内の既存の行はADF表の行の新しい値で更新されます。

大部分の場合、ツリー・バインディングのイテレータ内の行は保留中の更新行としてADF表にダウンロードされます。一部の行を保留中の挿入としてダウンロードする場合は、これらの行の状態をSTATUS_INITIALIZEDに設定する必要があります。行の状態をSTATUS_INITIALIZEDに設定する方法の詳細は、Oracle Fusion Middleware Oracle ADFモデルJava APIリファレンスのsetNewRowStateメソッドを参照してください。

保留中の挿入行と保留中の更新行には次の違いがあります。

- 保留中の挿入行には、ADF表コンポーネントの各列に関連付けられた挿入コンポーネントに対するEL式の値が移入されるのに対し、保留中の更新行には、ADF表コンポーネントの各列に関連付けられた更新コンポーネントに対するEL式の値が移入されます。

- 保留中の挿入行の検証時に、EL式#{components.componentID.currentRowMode}はInsertを返します。これに対し、保留中の更新行の場合は、同じEL式がUpdateを返します。
EL式#{components.componentID.currentRowMode}のcomponentID部分は、ADF表コンポーネントのIDを参照します。

7.5.1 実行時の処理: Downloadアクションの起動

Downloadアクションが起動されると、そのアクションはイテレータ内のすべての行の状態を確認します。状態がSTATUS_INITIALIZEDの行は保留中の挿入行として表にダウンロードされ、他の状態の行は保留中の更新行としてダウンロードされます。

7.5.2 保留中の挿入に対するSTATUS_INITIALIZED行の使用

STATUS_INITIALIZED行を使用して、保留中の挿入行の一部の属性またはすべての属性の値を事前移入できます。STATUS_INITIALIZED行は検証されないため、Downloadアクションが起動される前に、STATUS_INITIALIZED行の一部を移入し、その行をイテレータに挿入するアクションを構成できます。Downloadアクションはこの行を保留中の挿入行として扱うため、事前移入された行に基づいて新しい行を挿入できます。

保留中の挿入のアップロード後に、STATUS_NEW行がイテレータに挿入されますが、元のSTATUS_INITIALIZED行は削除されません。必要に応じて、STATUS_INITIALIZED行を削除する別のアクションを構成できます。たとえば、次の操作でアクション・セットを構成できます。

1. STATUS_INITIALIZED行を作成します。

2. Downloadアクションを実行します。

3. STATUS_INITIALIZED行を消去します。

注意:

InsertRowEnabledがFalseに設定されている場合、アップロードの実行時に、ダウンロードされたSTATUS_INITIALIZED行への変更は無視されます。

7.5.3 DownloadForInsertアクションに関する留意事項

ADFデスクトップ統合は、DownloadForInsertと呼ばれる表アクションもサポートしています。DownloadForInsertは現在サポートされていないアクションであり、Downloadアクションと置き換えることができます。DownloadForInsertは、以前のリリースと同様に、引き続き使用できます。Downloadとの主な違いは、DownloadForInsertはイテレータにあるSTATUS_INITIALIZED状態の行のみを考慮する点です。

7.6 既存データを更新するためのADF表コンポーネントの構成

ADF表コンポーネントを追加すると、デフォルトでエンド・ユーザーが既存のデータを編集できるようになりますが、新しいデータ行の追加や既存のデータ行の削除はできません。

7.6.1 データを更新するためのADF表コンポーネントの構成方法

エンド・ユーザーが既存のデータを編集できるようにしながら、データ行の追加や削除を制限する場合、追加の構成は必要ありません。表7-2や図7-9に示すように、ADF表コンポーネントのRowActionプロパティが設定されていることを確認してください。

表7-2 ADF表コンポーネントのRowActionプロパティ

プロパティ

値

InsertRowEnabled

False

DeleteRowEnabled

False

UpdateRowEnabled

True

図7-9 データを更新するためのADF表のRowActionプロパティ

7.6.2 実行時の処理: ADF表コンポーネントでのデータ更新

エンド・ユーザーが行のデータを変更すると、ADFデスクトップ統合によりその行にマークが付けられ、上向きの三角形が_ADF_ChangedColumn列の行に表示されます。既存のデータを更新した後、エンド・ユーザーはアップロード処理を開始して変更を保存します。ADF表コンポーネントのアップロード処理の詳細は、7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」を参照してください。

Excelは、統合ワークブックで変更された行を、行ごとにではなくバッチ処理でアップロードします。バッチをアップロードするときのバッチのサイズとADF表コンポーネントが起動するアクションを構成できます。バッチ処理の詳細は、7.11項「ADF表コンポーネントでのバッチ処理」を参照してください。

ADF表コンポーネントに設定可能なプロパティの詳細は、A.9項「ADF表コンポーネントのプロパティとアクション」を参照してください。

注意:

ワークシートに適用されたフィルタ条件は、Uploadアクションの前に自動的にクリアされます。

7.7 データを挿入するためのADF表コンポーネントの構成

ADF表コンポーネントの第一の目的は、データを入力および編集し、Fusion Webアプリケーションにサービスを提供するデータベースにアップロードできるインタフェースをエンド・ユーザーに提供することです。この目的を達成するには、データ・コントロールのメソッドを公開し、ページ定義ファイルでアクション・バインディングを作成して、ExcelワークシートがホストするADF表コンポーネントのプロパティを設定する必要があります。この機能が正常に動作するには、Excelの行全体を挿入する必要がある点に注意してください。

7.7.1 ビュー・オブジェクトの操作を使用してデータを挿入するためのADF表コンポーネントの構成方法

エンド・ユーザーがADF表コンポーネントで行う変更をADF表コンポーネントのUploadアクションを起動してコミットするには、ADF表コンポーネントのプロパティをいくつか構成する必要があります。

始める前に:

ADF表コンポーネントを構成してデータを挿入する方法を理解しておくと役立ちます。詳細は、7.7項「データを挿入するためのADF表コンポーネントの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ビュー・オブジェクトの操作を使用してデータを挿入するためにADF表コンポーネントを構成するには:

1. JDeveloperでプロジェクトを開きます。

2. プロジェクトがない場合は、CreateInsertとCommitアクション・バインディングを、ADF表コンポーネントをホストするExcelワークシートに関連付けられたページ定義ファイルに追加します。
詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」と7.2項「ADF表コンポーネントのページ定義の要件」を参照してください。

3. 統合Excelワークブックを開きます。

4. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

5. コンポーネントの編集: ADF表ダイアログで、表7-3に示すようにADF表コンポーネントのRowActionsプロパティを構成します。

表7-3 ADF表コンポーネントのRowActionsプロパティ

設定するプロパティ

設定する値

InsertRowEnabled

True

InsertBeforeRowActionID

ページ定義ファイルで公開されたCreateInsertアクション・バインディング。

InsertRowsAfterUploadEnabled

True(以前にアップロードされたことがあるかどうかに関係なく、挿入された行を再びアップロードする場合)。デフォルトでは、このプロパティはFalseに設定されます。

InsertRowEnabledがFalseに設定されている場合、このプロパティは無視されます。

6. 表7-4の説明に従って、ADF表コンポーネントのBatchOptionsプロパティを構成します。

表7-4 ADF表コンポーネントのBatchOptionsプロパティ

設定するプロパティ

設定する値

CommitBatchActionID

ページ定義ファイルで公開されたCommitアクション・バインディング。

7. 表7-5に示すように、ADF表コンポーネントのColumnsプロパティを構成します。

表7-5 ADF表コンポーネントのColumnsプロパティ

設定するプロパティ

設定する値

InsertUsesUpdate

True

UpdateComponent

- UpdateComponentプロパティのValueフィールドを、ページ定義ファイルから属性を更新するように設定します。たとえば、#{row.bindings.ProductId.inputValue}とします。

- UpdateComponentのReadOnlyプロパティが正しく設定されていることを検証します。
このプロパティは、列に関連付けるサブコンポーネントとしてInputTextまたはTreeNodeListを選択した場合のみ表示されます。ユーザーが列の値を編集できるようにするには、ReadOnlyをFalseに設定します。それ以外の場合はTrueに設定します。

サブコンポーネントとして使用可能なコンポーネントの詳細は、第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」を参照してください。

ID

ADF表コンポーネントの列のリストで列を一意に識別する値をこのフィールドに設定します。このプロパティの値は必須です。ADF表コンポーネントによって、変更の必要がない初期値が生成されます。

CellStyleName

このプロパティを、ワークブックで定義するスタイル、または実行時に列のセルにスタイルを適用するEL式に設定します。スタイルの詳細は、第9章「統合Excelワークブックの外観の構成」を参照してください。

HeaderLabel

このプロパティをラベル、または実行時に列ヘッダーにレンダリングされるラベルに評価されるEL式に設定します。ラベルの詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

HeaderStyleName

このプロパティをワークブックで定義するスタイル、または実行時に列のヘッダーのセルにスタイルを適用するEL式に設定します。スタイルの詳細は、第9章「統合Excelワークブックの外観の構成」を参照してください。

8. Uploadアクションの起動時にコミットするデータを含む列ごとに、手順7を繰り返します。
ADF表コンポーネント・プロパティの詳細は、A.9項「ADF表コンポーネントのプロパティとアクション」を参照してください。

注意:

- 多相ビュー・オブジェクトを使用中に新しい行を挿入する場合は、デフォルトのCreateInsertアクション・バインディングでは不十分です。新しく作成した行でも識別子の値を設定するカスタム・メソッドを作成する必要があります。
カスタム・メソッドを作成する際に、ページ定義ファイルでカスタム・メソッドをアクション・バインディングとして公開する必要があります。このアクション・バインディングは、CreateInsertではなくInsertBeforeActionIdとして指定してください。

- InsertRowsAfterUploadEnabledプロパティがFalseに設定されていて、エンド・ユーザーが挿入済のデータをもう一度アップロードしようとすると、行を二度挿入することはできないというエラー・メッセージがステータス列に表示されます。

7.8 ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成

エンド・ユーザーがADF表コンポーネントでデータに加える変更をFusion Webアプリケーションにアップロードできるように、ADF表コンポーネントおよびホストされるワークシートを構成します。この機能を構成するには、どのようなユーザーによる操作やワークシート・イベントが、ADF表コンポーネントのUploadアクションを起動するアクション・セットを起動するかを決定します。

Uploadアクションは、一部の行で失敗があっても、正常なすべての行をコミットします。1つ以上の行で失敗があったときに行の変更がコミットされないようにする場合は、かわりにUploadAllOrNothingアクションを使用します(7.9項「UploadAllOrNothingアクションを使用して変更をアップロードするためのADF表コンポーネントの構成」を参照)。Fusion WebアプリケーションからのWebページで、エンド・ユーザーにデフォルトのアップロード用ダイアログとは異なるアップロード・オプションを提供するには、ADF表コンポーネントのUploadを起動するアクションの前に、アクション・セットでDialogアクションを指定する必要があります。詳細は、7.8.5項「カスタムのアップロード・ダイアログの作成方法」を参照してください。

注意:

マスター/ディテール関係では、ADFデスクトップ統合はViewLinkソース属性の編集をサポートしていません。これは、子のビュー・オブジェクトの選択が結果的に変わるためです。誤って編集されないようにするため、ViewLinkソース属性を読取り専用にするか、マスターとディテール間のビュー・リンクを含まないモデル構成を使用してください。

7.8.1 ADF表コンポーネントからデータをアップロードするためのADFコンポーネントの構成方法

ワークシート・リボン・コマンドなどの、ADFコンポーネントを構成し、アクション・セットを起動します。これは、続いてADF表コンポーネントのUploadアクションを起動します。

始める前に:

ADFコンポーネントを構成してデータをADF表データ・コンポーネントからアップロードする方法を理解しておくと役立ちます。詳細は、7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADFコンポーネントを構成してADF表コンポーネントに変更済データをアップロードするには:

1. 統合Excelワークブックを開きます。

2. 「アクションの編集」ダイアログを開いて、ADF表コンポーネントのUploadアクションを起動するアクション・セットを構成します。
アクション・セットの詳細は、8.2項「アクション・セットの使用」を参照してください。

3. ADF表コンポーネントのUploadアクションを、実行時にアクション・セットにより起動されるアクションのリストに追加します。
図7-10は、EditCustomers-DT.xlsxワークブックの「編集実行時」ダイアログを示しています。ここでは、実行時にUploadのラベルの付いたリボン・コマンドにより起動されるアクション・セットが構成されます。

図7-10 ADF表コンポーネントからデータをアップロードするアクション・セット

4. 「OK」をクリックします。

注意:

このアクション・セットには、ADF表コンポーネントのバッチ・オプションにCommitへのコールがすでに含まれるため、コミット・タイプのアクションのコールは含まれません。詳細は、7.11.1項「ADF表コンポーネントのバッチ・オプションの構成方法」を参照してください。

7.8.2 実行時の処理: ADF表コンポーネントによるデータのアップロード

実行時にエンド・ユーザーは、構成したメカニズム(ADFコンポーネント、ワークシート・リボン・ボタン、ワークシート・イベント)アクション・セットを起動します。これによって、次の一連のイベントがトリガーされます。

1. ADF表コンポーネントに動的な列が含まれる場合、ADFデスクトップ統合は前回ADF表コンポーネントのDownloadアクションが起動されたときに展開された動的な列が、まだFusion Webアプリケーションに存在するかどうかを検証します。列が存在しない場合は、ADFデスクトップ統合はアップロード処理を続行するかどうか決めるようエンド・ユーザーにプロンプトを表示します。エンド・ユーザーが続行しないと決めた場合、ADFデスクトップ統合は実行中のアクション・セットに中止コードを返します。

2. ADF表コンポーネントにアップロードする保留中の変更がない場合、ADF表コンポーネントのUploadアクションは実行中のアクション・セットに成功コードを返します。

3. 7.8.5項「カスタムのアップロード・ダイアログの作成方法」にあるようにアクション・セットにカスタムのアップロード・ダイアログを構成しなかった場合、ADFデスクトップ統合は図7-11に示すようなデフォルトのアップロード・ダイアログを表示します。

図7-11 デフォルトのアップロード・ダイアログ

エンド・ユーザーが「取消」をクリックした場合、ADFデスクトップ統合は実行中のアクション・セットに中止コードを返します。エンド・ユーザーが「OK」をクリックすると、アクション・セットはアップロード操作のダイアログで指定したオプションの実行を続けます。

4. ADF表コンポーネントは、変更した行を1行ずつではなく、バッチでアップロードします。バッチ・オプションはBatchOptionsプロパティ・グループを使用して構成できます。ADF表コンポーネントのバッチ・オプションの詳細は、7.11項「ADF表コンポーネントでのバッチ処理」を参照してください。
各バッチ行は次のように処理されて、各バッチの変更されたすべての行が終わるまで処理が続けられます。

1. 挿入された行の場合は、InsertBeforeRowActionIDアクションが起動されます(指定されている場合)。

2. キャッシュされたすべての行属性の値を含む、ワークシートからの属性をモデルに設定します。

3. 編集された行の場合、UpdateRowActionIDアクションを起動し、挿入された行については、InsertAfterRowActionIDアクションを起動します(指定されている場合)。

4. アップロードされた各行について、ステータス・メッセージがStatus列に表示されます。詳細は、8.2.5項「アクション・セットの実行中にステータス・メッセージを表示する方法」を参照してください。

5. 行について失敗があった場合、AbortOnFailの値が検証されます。AbortOnFailがFalseに設定されている場合、アップロード処理は続けられ、それ以外の場合はデータのアップロードを停止してコミット・アクションを起動します。

5. データをアップロードする際、ADF表コンポーネントは次の条件に基づいて実行中のアクション・セットに成功または失敗のコードを返します。

- ADF表コンポーネントがすべてのバッチを問題なくアップロードした場合、実行中のアクション・セットに成功のステータスが返されます。エンド・ユーザーが手順3で「正常にアップロードした後はすべての行をダウンロードします」オプションを選択した場合、ADF表コンポーネントはFusion Webアプリケーションからすべての行をダウンロードします。

- ADF表コンポーネントがすべてのバッチを正常にアップロードしなかった場合、アクション・セットはRowActions.FailureActionIDプロパティで指定されたアクションを起動します(このプロパティにアクションが指定されている場合)。ADFデスクトップ統合は、アクション・セットに失敗コードを返します。

手順3の「アップロード・オプション」ダイアログで「失敗した場合は、引き続き後続の行をアップロードします」を選択した場合、一部の行で検証に失敗した場合でも、Uploadアクションはアクション・セットに成功コードを返します。

注意:

ADF表コンポーネント列のReadOnlyプロパティがTrueに評価された場合、ADF表コンポーネントのUploadアクションは列のセルの変更を無視します。

ADF表コンポーネント列のプロパティの詳細は、表A-10を参照してください。

7.8.3 実行時の処理: アップロード中のReadOnly EL式の評価

実行時にADF表コンポーネント列のReadOnlyプロパティがTrueに評価された場合、ADF表コンポーネントのUploadアクションは列のセルにあるすべての変更を無視します。

変更トラッキングに関する詳細は、7.21項「読取り専用プロパティのEL式の評価」を参照してください。

7.8.4 実行時の処理: アップロードの失敗

ADF表コンポーネントがデータのアップロードを開始すると、ADFデスクトップ統合はアップロード処理を開始する前にDataControlFrameセーブポイントを作成します(アップロードされた行のバッチごとに1回)。なんらかの失敗があった場合、ADFデスクトップ統合は同じセーブポイントまで戻り、Fusion Webアプリケーションのサーバー・サイドの状態の整合性を維持します。

アップロードされた行のバッチの各行ごとに、ADFデスクトップ統合は次の処理を実行します。

1. 構成されたアクションを起動し、行の属性値の変更を適用して、データの検証を実行。

2. なんらかのエラーがあった場合、セーブポイントの状態に復元。

注意:

必要に応じて2度目の繰り返しが実行され、アップロードに成功したすべての行でその後のアップロード・エラーによって変更が元に戻されたものが再度アップロードされます。

セーブポイントの詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のツリーを使用したマスター/ディテール・オブジェクトの表示に関する項を参照してください。

7.8.5 カスタムのアップロード・ダイアログの作成方法

デフォルトのアップロード・ダイアログのものとは異なるオプションをエンド・ユーザーに提供する、Fusion Webアプリケーションからのページを表示します。アクション・セットでADF表コンポーネントのUploadアクションを起動するアクションの前に、Dialogアクションを追加します。

始める前に:

ADFコンポーネントを構成してデータをADF表データ・コンポーネントからアップロードする方法を理解しておくと役立ちます。詳細は、7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

カスタムのアップロード・ダイアログを作成するには:

1. Fusion Webアプリケーションを開発するJDeveloperプロジェクトにページを作成します。このページの作成方法の詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

2. 8.4項「Fusion WebアプリケーションからのWebページの表示」 に示すADFdi_CloseWindow要素(span要素など)の他に、手順1で作成するページには表7-6に示す要素を含める必要があります。

表7-6 カスタム・アップロードに必要なSpan要素

名前

説明

ADFdi_AbortUploadOnFailure

この要素をTrueに設定すると、失敗があったときにアクション・セットはアップロードを停止します。要素がFalseを参照する場合、アクション・セットはすべての行をアップロードしようと試み、各行のアップロードが成功したか失敗したかを表示します。

ADFdi_DownLoadAfterUpload

この要素をTrueに設定すると、変更されたデータがアップロードされた後で、アクション・セットはFusion WebアプリケーションからADF表コンポーネントにデータをダウンロードします。

注意:

作成するページには、ADFデスクトップ統合がデフォルトのアップロード・ダイアログをエンド・ユーザーに表示しないように、両方の要素を含める必要があります。

3. 手順1 で作成したページを起動するには、ADF表コンポーネントのUploadアクションを起動するアクション・セットのアクションより前に、Dialogアクションを追加します。
Fusion Webアプリケーションからのページを表示する詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

7.8.6 実行時の処理: カスタム・アップロード・ダイアログ

カスタムのダイアログが表示されるときに、デフォルトのアップロード・ダイアログではなく、表示されるアクション・セットでDialogアクションを構成するFusion Webアプリケーションからのページが表示されます。

注意:

エンド・ユーザーがデータをアップロードしようとしてサーバーに接続されていない場合、Dialogアクションでカスタムのアップロード・ページが見つからないとエンド・ユーザーにエラーが表示されます。サーバーへの接続がない場合、ADFデスクトップ統合が標準のダイアログに戻ることはありません。

Fusion Webアプリケーションからのページを表示する詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。 それ以外の、データをアップロードするために構成するアクション・セットの実行時の動作については、7.8.2項「実行時の処理: ADF表コンポーネントによるデータのアップロード」を参照してください。

7.9 UploadAllOrNothingアクションを使用して変更をアップロードするためのADF表コンポーネントの構成

ADFデスクトップ統合は、Table.Upload操作時に正常にアップロードされたすべての行の変更を、1つ以上の行で失敗があった場合でもコミットします。たとえば、100行がアップロードされ、3行のみで失敗があった場合は、97行がデータベースにコミットされます。詳細は、7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」を参照してください。

UploadAllOrNothingアクションを使用すると、すべての行が正常にアップロードされた場合にかぎり変更されたすべての行をコミットするように、アップロード・プロセスを構成できます。たとえば、100行がアップロードされ、いくつかの行で失敗があった場合は、行はデータベースにコミットされません。

7.9.1 UploadAllOrNothingアクションを使用するためのADFコンポーネントの構成方法

ワークシート・リボン・コマンドなどのADFコンポーネントを構成し、アクション・セットを起動します。これは、続いてADF表コンポーネントのUploadAllOrNothingアクションを起動します。

始める前に:

ADFコンポーネントを構成してデータをADF表データ・コンポーネントからアップロードする方法を理解しておくと役立ちます。詳細は、7.9項「UploadAllOrNothingアクションを使用して変更をアップロードするためのADF表コンポーネントの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

UploadAllOrNothingアクションを使用するためにADFコンポーネントを構成するには:

1. 統合Excelワークブックを開きます。

2. アクションの編集ダイアログを開いて、ADF表コンポーネントのアクションを起動するアクション・セットを構成します。
アクション・セットの詳細は、8.2項「アクション・セットの使用」を参照してください。

3. ADF表コンポーネントのUploadAllOrNothingアクションを、実行時にアクション・セットにより起動されるアクションのリストに追加します。

4. 「OK」をクリックします。

7.9.2 実行時の処理: UploadAllOrNothingアクションの起動

UploadAllOrNothingアクションを選択した場合、ADFデスクトップ統合は、すべての行が正常にアップロードされた場合にかぎり、行の変更をコミットします。

注意:

UploadAllOrNothingアクションは、Uploadアクションと同じ方法でデータをアップロードします。UploadアクションおよびUploadAllOrNothingアクション時にデータがアップロードされる方法の詳細は、7.8.2項「実行時の処理: ADF表コンポーネントによるデータのアップロード」を参照してください。

UploadAllOrNothingアクション時に、ADFデスクトップ統合は、CommitBatchActionIDによって指定されたアクションが起動される前に、変更されたすべてのワークシート行をアップロードします。1つ以上の行レベルの失敗があると、FailureActionIDによって指定されたアクションは起動されますが、CommitBatchActionIDによって指定されたアクションは起動されません。

失敗があると、変更されたすべての列値は未変更のままになります。ステータス列は行レベルのすべての失敗に対してエラーを示しますが、エラーのない行については空白のままになります。すべての行が成功し正常にコミットされると、変更された列の値は消去され、アップロードされた行のステータス列は成功を示します。

注意:

- UploadAllOrNothingアクションは、データベース・トランザクションをサポートするデータ・コントロールでのみサポートされます。

- CommitBatchActionIDが構成されておらず、アクション・セットにUploadAllOrNothingアクションが含まれている場合は、検証エラーが報告されます。

7.9.3 UploadAllOrNothingアクションを使用してアップロードできる変更済データの量の制限

UploadAllOrNothingアクションで非常に多くの変更済ワークシート行をアップロードすると、アプリケーション・サーバーでのメモリー消費量が大幅に増加する可能性があります。UploadAllOrNothingアクションの実行時にエンド・ユーザーが非常の多くのデータをアップロードすることを防ぐために、アップロードできる変更済データの合計を制限するUploadAllOrNothing.ChangedDataLimitサーブレット・パラメータを設定します(Kbで指定)。パラメータ値が指定されない場合は、デフォルトの制限値の10,240 Kbが使用されます。

変更済データのアップロードの合計がUploadAllOrNothing.ChangedDataLimit値を超過すると、エンド・ユーザーにエラー・メッセージが報告され、UploadAllOrNothingアクションが中止されます。変更済データの制限を超過すると、Table.RowActions.FailureActionIDによって指定されたアクションが起動されます。

7.10 Fusion Webアプリケーションで行を削除するためのADF表コンポーネントの構成

ADF表コンポーネントは、アクション(DeleteFlaggedRows)を公開します。このアクションは起動されると、ADF表コンポーネントでフラグの付いた行に対応するFusion Webアプリケーションの行を削除します。ADF表コンポーネントでフラグの付けられた行とは、7.11項「ADF表コンポーネントでのバッチ処理」に示すように、エンド・ユーザーがダブルクリックしたか、_ADF_FlagColumn列のセルに文字を入力した行です。_ADF_FlagColumn列を構成してFusion Webアプリケーションの行を削除するには、列がADF表コンポーネントに存在する必要があります。

また、ADF表コンポーネントをホストするワークシートに関連付けるページ定義ファイルは、Deleteアクション・バインディングを公開する必要があります。

7.10.1 Fusion Webアプリケーションで行を削除するためのADF表コンポーネントの構成方法

ADF表コンポーネントから行を削除するには、Deleteアクション・バインディングをページ定義ファイルに追加し、ADF表コンポーネントのRowActionsプロパティ・グループを構成して、さらにアクション・セットを構成してDeleteFlaggedRowsアクションを起動する必要があります。

始める前に:

ADF表コンポーネントを構成してFusion Webアプリケーションのデータ行を削除する方法を理解しておくと役立ちます。詳細は、7.10項「Fusion Webアプリケーションで行を削除するためのADF表コンポーネントの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネントを構成して、Fusion Webアプリケーションで行を削除するには:

1. JDeveloperでFusion Webアプリケーションを開きます。

2. 存在しない場合は、Deleteアクション・バインディングを、ADF表コンポーネントをホストするExcelワークシートに関連付けられたページ定義ファイルに追加します。
詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

3. ADF表コンポーネントのプロパティ・インスペクタを開いて、表7-7に示すようにRowActionsプロパティ・グループの値を設定します。

表7-7 ADF表コンポーネントのRowActionsプロパティ

設定するプロパティ

アクション

DeleteRowActionID

ページ定義ファイルで公開されたDeleteアクション・バインディング。

DeleteRowEnabled

Trueに設定すると、ADF表コンポーネントでFusion Webアプリケーションの行を削除できます。

デフォルト値はFalseです。

ADF表コンポーネント・プロパティの詳細は、A.9項「ADF表コンポーネントのプロパティとアクション」を参照してください。

4. 「OK」をクリックします。

5. 統合Excelワークブックを開きます。

6. 「アクションの編集」ダイアログを開き、実行時にアクション・セットを起動するときにエンド・ユーザーが使用するOracle ADFコンポーネント、リボン・コントロール、ワークシート・イベントにアクション・セットを構成します。

7. ADF表コンポーネントのDeleteFlaggedRowsアクションを、実行時にアクション・セットにより起動されるアクションのリストに追加します。
アクション・セットの起動の詳細は、8.2項「アクション・セットの使用」を参照してください。

8. 「OK」をクリックします。

注意:

DeleteFlaggedRowsアクションを別個のアクション・セットに追加し、Download、Uploadなどの他の表アクションと一緒に追加しないようにします。

7.10.2 実行時の処理: Fusion Webアプリケーション内でのADF表コンポーネントによる行の削除

エンド・ユーザーは、7.11.2項「ADF表コンポーネントでの行のフラグ付け」で説明されているように、削除する行にフラグを付けます。それからエンド・ユーザーはアクション・セットを起動します。次に示す一連のイベントが発生します。

1. 指定があれば、BatchOptions.StartBatchActionIDプロパティに参照されるアクション・バインディングが起動されます。
この手順での失敗はエラーとして処理されます。エラーがあると、アクション・セットの起動が停止します。また、アクション・セットにエラー条件が返されます。ActionSet.FailureActionIDプロパティにアクション・バインディングが指定されている場合、アクション・セットは指定されたアクション・バインディングを起動します。

バッチ・オプションの構成の詳細は、7.11項「ADF表コンポーネントでのバッチ処理」を参照してください。

2. アクション・セットは、RowActions.DeleteRowActionIDにより指定されたDeleteアクション・バインディングを起動します。

注意:

ADF表コンポーネントのDownloadアクションを最後に起動した後に挿入され、Fusion Webアプリケーションにアップロードされていない行は、削除のフラグが付いていても無視されます。

3. Deleteアクション・バインディングの起動中にエラーがなければ、成功のメッセージ・エントリが_ADF_StatusColumn列に表示されます。失敗があった場合、ADF表コンポーネントはDeleteアクション・バインディングの起動を中止して、手順4に進みます。

4. BatchOptions.CommitBatchActionIDプロパティにアクション・バインディングが指定されている場合、アクション・セットがそれを起動します。この手順に失敗した場合、アクション・セットはバッチ処理を停止します。失敗がなかった場合、アクション・セットはBatchOptions.StartBatchActionIDプロパティによって指定されたアクション・バインディングを起動することにより、すべてのバッチがアクションによって処理されるまで次のバッチを処理します。

5. アクション・セットがすべてのバッチを正常に処理した場合、ActionOptions.SuccessActionIDプロパティにアクション・バインディングが指定されていれば、このプロパティにより指定されたアクション・バインディングが起動されます。RowActions.DeleteRowActionIDで指定されているDeleteアクション・バインディングが起動して、Fusion Webアプリケーションにより削除された行がワークシートから削除され、アクション・セットに成功コードが戻されます。
アクションがバッチを処理する間に失敗があった場合、アクション・セットはそのActionOptions.FailureActionIDプロパティで指定されたアクション・バインディングを起動します(このプロパティにアクション・バインディングが指定されている場合)。このアクション・バインディングは、アクション・セットに失敗コードを返します。

6. アクション・セットがアクションを起動する際に予期しない例外が発生した場合、アクション・セットにエラー・コードが返されます。行レベルのエラーはすべてStatus列に表示され、バッチ・レベルのエラーはすべてTable.errorsから追跡できます。エラー処理の詳細は、12.4項「統合Excelワークブックでレポートされるエラー」を参照してください。

7.11 ADF表コンポーネントでのバッチ処理

ADFコンポーネントは、Excelワークブックで変更された行を、行ごとにではなくバッチ処理でアップロードします。バッチのサイズや、バッチのアップロード時にADF表コンポーネントが起動するアクションを決定するバッチ・オプションのプロパティを構成できます。

7.11.1 ADF表コンポーネントのバッチ・オプションの構成方法

ADF表コンポーネントには、ADF表コンポーネントによる行のバッチの管理を構成できるプロパティ・グループ(BatchOptions)があります。これらのプロパティの詳細は、A.9項「ADF表コンポーネントのプロパティとアクション」を参照してください。

始める前に:

ADF表コンポーネントでのバッチ処理について理解しておくと役立ちます。詳細は、7.11項「ADF表コンポーネントでのバッチ処理」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネントのバッチ・オプションを構成するには:

1. 統合Excelワークブックを開きます。

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 表示されたプロパティ・インスペクタでBatchOptionsプロパティ・グループの値を設定します。

表7-8 RowData.BatchOptionsプロパティ

設定するプロパティ

アクション

BatchSize

ADF表コンポーネント・アクション(UploadまたはDeleteFlaggedRows)がCommitBatchActionIDにより指定されたアクション・バインディングを起動する前に、どれだけの行を処理するかを指定します。正の整数以外の値の場合、1回のバッチですべての行が処理されます。デフォルト値は100行です。

CommitBatchActionID

ADF表コンポーネントがそれぞれのバッチを処理した後で起動するアクション・バインディング。通常これはCommitアクション・バインディングです。

LimitBatchSize

True

Trueの場合、ADF表コンポーネントはBatchSizeの値により決定されるバッチで行を処理します。Falseの場合、ADF表コンポーネントは変更されたすべての行を1つのバッチでアップロードします。

デフォルト値はTrueです。

StartBatchActionID

各バッチの開始時に起動するアクション・バインディングを指定します。

4. 「OK」をクリックします。

エンティティ・レベルでの失敗はバッチの失敗とは見なされません。コミット・レベルでの失敗(たとえば、外部キー属性の間違った値)はバッチの失敗と見なされます。

7.11.2 ADF表コンポーネントでの行のフラグ付け

ADF表コンポーネントには、フラグの付いた処理で行を簡単に選択できる_ADF_FlagColumn列がデフォルトで含まれています。_ADF_FlagColumn列のセルをダブルクリックすると、対応する行にコンポーネント・アクションによって起動されるアクションによる処理のフラグが付きます。

エンド・ユーザーが_ADF_FlagColumn列のセルをダブルクリックすると、セルに実線の円が表示されるか非表示になり、その行にフラグが付いているかどうかが示されます。図7-12はフラグの付いた列の例を示します。

図7-12 ADF表コンポーネントのフラグ付けされた列

注意:

デフォルトでは、実線の円記号はフラグ付けされた行処理としてフラグ付けされた行を示します。ただし、_ADF_FlagColumn列の空白でないセルは、フラグ付けされた行処理のために対応する行にフラグを付けます。

次のコンポーネント・アクションは、フラグ付けされた行に対して起動できます。

- DeleteFlaggedRows

- DownloadFlaggedRows

すべての行にフラグを付けるにはFlagAllRowsコンポーネント・アクションを、ADF表コンポーネントのすべての行からフラグを取るにはUnflagAllRowsコンポーネント・アクションを使用できます。

注意:

- ADF表コンポーネントのDownloadFlaggedRowsアクションは、最後にDownloadやDownloadForInsertアクションを起動した後の表列構造の変更をサポートしていません。表列構造は通常、動的な列を使用していたり、Visibleプロパティに複雑な式がある列が表に含まれる場合に変わります。

- DownloadFlaggedRowsアクションは挿入された行には適用できません。

これらのコンポーネント・アクションの使用は、ADF表コンポーネントの_ADF_FlagColumn列があるかどうかによって決まります。ADF表コンポーネントから_ADF_FlagColumn列を削除すると、これらのコンポーネント・アクションはいずれも起動できません。コンポーネント・アクションの詳細は、A.9.3項「ADF表コンポーネントのアクション」を参照してください。

実行時にはエンド・ユーザーは以前にリストされたすべてのコンポーネント・アクションをアクション・セットから起動できます。起動されたコンポーネント・アクションは、フラグ付けされたすべての行を処理します。たとえば、フラグ付けされたすべての行をダウンロードまたは削除します。コンポーネント・アクションを起動するアクション・セットの構成の詳細は、8.2.2項「アクション・セット内のコンポーネント・アクションの起動方法」を参照してください。

7.11.3 データのアップロード中のエラーのトラブルシューティング

ADF表コンポーネントからデータをアップロードする際に、特定の状況ではエンド・ユーザーが予期しないエラーを体験する可能性があります。バッチからの変更を記録した後に、ADFデスクトップ統合はCommitBatchActionIDで指定されたアクションを実行します。コミット・アクション中に発生したエラーが、それ以降のレコードのバッチにエラーがなくても、後に続くバッチ・コミット・アクションで引き続き報告される可能性があります。これは、CommitBatchActionIDアクションが失敗し、保留中のモデル更新が自動的に元に戻らなかった場合に発生する可能性があります。

このようなエラーを回避するには、コミットが失敗した後に存在する保留中のモデル更新を明示的に元に戻す必要があります。たとえば、最初に保留中のモデル変更をコミットしようとするカスタムのアクションをCommitBatchActionIDに作成します。ただし、コミット中に例外が発生した場合は、カスタム・メソッドは後に続くすべてのバッチ・コミットが成功するように、最初に保留中のモデル変更をロールバックする必要があります。

注意:

クライアントで期待されるとおりにコミット・エラーが報告されるように、ロールバック後にコミットの例外がスローされることが重要です。

7.12 ADF表コンポーネント内の特殊な列

ADF表コンポーネントには、ワークシートにADF表コンポーネントを挿入する際にいくつかの列がデフォルトで含まれています。これらの列は、必要に応じてそのまま残しておくことも、削除することもできます。次に、これらの列とその目的を示します。

- _ADF_ChangedColumn
この列のセルは、ADF表コンポーネントの行の変更を追跡します。ダウンロードまたは最後に成功したアップロード以降にADF表コンポーネントの行のデータを変更した場合、上向き矢印のような記号が、_ADF_ChangedColumn列の対応するセルに表示されます。ユーザーのこの列のセルをダブルクリックすると、この記号は切り替わります(表示または非表示)。図7-13に例を示します。

図7-13 ADF表コンポーネントの変更された列

注意:

エンド・ユーザーがADF表コンポーネントのUploadアクションで、この列によってフラグ付けされた行の変更をアップロードしない場合、ユーザーは対応するセルに表示されるエントリをクリアする必要があります。

ADF表コンポーネントのDownloadアクションが起動されると、確認のダイアログがエンド・ユーザーに表示され、この列の1つ以上の行が変更済としてフラグ付けされます。Downloadアクションの実行を許可するには「OK」を、Downloadアクションの実行を停止するには「取消」をクリックします。

- _ADF_FlagColumn
エンド・ユーザーがこの列のセルをダブルクリックすると、対応する行がフラグ付けされた行処理としてフラグ付けされます。実線の円記号が表示され、フラグ付けされた行処理のために行にフラグが付けられたことが示されます。この列の詳細は、7.11.2項「ADF表コンポーネントでの行のフラグ付け」を参照してください。

ADF表コンポーネントのDownloadFlaggedRowsアクションが起動されると、確認のダイアログがエンド・ユーザーに表示され、_ADFChangedColumnと_ADF_FlagColumnの1つ以上の行がフラグ付けされます。アクションの実行を許可するには「OK」を、アクションの実行を停止するには「取消」をクリックします。

注意:

デフォルトでは、実線の円記号はフラグ付けされた行処理としてフラグ付けされた行を示します。ただし、_ADF_FlagColumnの空白でないセルは、フラグ付けされた行処理のために対応する行にフラグを付けます。

- _ADF_StatusColumn
この列は、次のADF表コンポーネント・アクションの起動の結果をレポートします。

- DeleteFlaggedRows

- Upload

_ADF_StatusColumnのセルにメッセージが表示され、対応する行の起動結果が示されます。エンド・ユーザーがADF表列で定義されたDoubleClickActionSetを起動してエラーが発生した場合、そのエラーは対応する行のステータス列でもレポートされます。図7-14は、ステータス列のメッセージの例を示します。

図7-14 ADF表コンポーネントのステータス列

- _ADF_RowKeyColumn
「キー」列とも呼ばれるこの列には、実行時にADFデスクトップ統合によって使用されるADF表コンポーネントに関する重要な情報が含まれます。この列は実行時と設計時の両方に表示されます。設計時に表からこの列を削除できますが、実行時には表の最後の列として自動的に表示される点に注意してください。

_ADF_RowKeyColumnの詳細は、7.13項「ADF表コンポーネントのキー列の構成」を参照してください。

ADF表コンポーネントでは、_ADF_ChangedColumn列、_ADF_FlagColumn列、_ADF_RowKeyColumn列および_ADF_StatusColumn列のプロパティは、それが参照する他の列のプロパティとは別の方法で処理されます。InsertComponentやInsertUsesUpdate、UpdateComponentなどのプロパティの値セットは、表A-11に示すようなDisplayRowErrorsアクションを起動する場合を除いて無視されます。CellStyleNameやHeaderStyleNameなど、スタイルや外観に関連するプロパティの値が読み取られます。

7.13 ADF表コンポーネントのキー列の構成

統合ExcelワークブックにADF表を追加すると、設計時に「キー」列(列ID: _ADF_RowKeyColumn)が自動的に表示されます。「キー」列には、ADFデスクトップ統合で表が正しく機能するために使用される重要な情報が含まれます。実行時には「キー」列を削除しないでください。

7.13.1 キー列の構成方法

「キー」列の位置、スタイルのプロパティ、ヘッダー・ラベルを構成できます。デフォルトでは_ADFDI_TableKeyCellStyleスタイルが適用されます。

始める前に:

ADF表コンポーネントのキー列について理解しておくと役立ちます。詳細は、7.13項「ADF表コンポーネントのキー列の構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

「キー」列を構成するには:

1. 統合Excelワークブックを開きます。

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 「コンポーネントの編集: ADF表」ダイアログで、Columnsの入力フィールドの横にある参照(...)アイコンをクリックします。
「列の編集」ダイアログが表示され、選択したADF表コンポーネントのすべての列が一覧表示されます。

4. IDが_ADF_RowKeyColumnの列を選択します。

5. 必要に応じて列のプロパティを変更します。ただし、次のプロパティは変更しないでください。

- DynamicColumn

- InsertComponent

- InsertUsesUpdate

- UpdateComponent

- ID

- Visible

6. 必要があれば、「上」と「下へ」の配列キーを使用して、列の位置を変更します。

7. 「OK」をクリックして、「列の編集」ダイアログを閉じます。

8. 「OK」をクリックして、コンポーネントの編集: ADF表ダイアログを閉じます。

7.13.2 設計時のキー列の手動による追加方法

旧バージョンのADFデスクトップ統合を使用して準備および構成された統合Excelワークブックを使用する場合、設計時に「キー」列は使用できません。この列は実行時にのみ表示されます。「キー」列のプロパティを構成するには、設計時にこれをワークブックに追加します。

始める前に:

ADF表コンポーネントのキー列について理解しておくと役立ちます。詳細は、7.13項「ADF表コンポーネントのキー列の構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

設計時に手動で「キー」列を追加するには:

1. 統合Excelワークブックを開きます。

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 表7-9の説明に従って、ADF表に新しい列を追加してプロパティを指定します。列の追加の詳細は、7.3.2項「ADF表コンポーネントへの列の追加方法」を参照してください。

表7-9 「キー」列のプロパティ

設定するプロパティ

値

CellStyleName

_ADFDI_TableKeyCellStyle

HeaderStyleName

_ADFDI_HeaderStyle

DynamicColumn

False

HeaderLabel

#{_ADFDIres[COMPONENTS_TABLE_ROWKEY_COL_LABEL]}

ID

_ADF_RowKeyColumn

InsertUsesUpdate

True

UpdateComponent

OutputText

Valueのプロパティは空白にする必要があります。

Visible

True

必要があれば、「上」と「下へ」の配列キーを使用して、「キー」列の位置を変更します。

4. 「OK」をクリックします。

注意:

新しい列のIDプロパティを_ADF_RowKeyColumnに指定する必要があります。そうしなければ、この列は「キー」列と見なされず、実行時に別の「キー」列が自動的に表示されます。

7.14 ADF表コンポーネント列での値リストの作成

ADF表コンポーネント列で値のドロップダウン・リストをレンダリングする場合は、TreeNodeListサブコンポーネントを使用します。値リストは、実行時に最大250の値を表示できます。5.5項「コンポーネント・パレットの使用」で説明されているように、ADFデスクトップ統合とは異なり、TreeNodeListサブコンポーネントはコンポーネント・パレットには表示されません。これは、ADF表コンポーネント列のInsertComponentプロパティやUpdateComponentプロパティに値を指定するときに、サブコンポーネントとして起動します。ADF表コンポーネント列のプロパティの詳細は、A.9.2項「ADF表コンポーネント列のプロパティ」を参照してください。

TreeNodeListサブコンポーネントを起動した後、モデルドリブンのリストに関連付けられたツリー・バインディング属性を、TreeNodeListサブコンポーネントのListプロパティの値として指定する必要があります。モデルドリブン・リストに関連付けられたツリー・バインディング属性は、表コンポーネントのDownloadアクションが起動された後で、表コンポーネントの列のドロップダウン・メニューに値リストを移入します。

注意:

ModelDrivenColumnComponentをサブコンポーネント・タイプとして選択すると、モデルドリブンの値リストをADF表コンポーネントに作成できます。モデルドリブン・リストの作成の詳細は、7.15項「ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加」を参照してください。

TreeNodeListサブコンポーネントのプロパティの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

7.14.1 ADF表コンポーネント列での値リストの作成方法

ADF表コンポーネント列に列を追加して、TreeNodeListをサブコンポーネントとして選択します。それから、ツリー・バインディング属性をTreeNodeListサブコンポーネントのListプロパティの値に指定します。モデルドリブン・リストは、指定するツリー・バインディング属性に関連付ける必要があります。

注意:

- TreeNodeListサブコンポーネントは、コントロール・タイプがinput_text_lovまたはcombo_lovのモデルドリブンのリストをサポートしていません。

- 日付値を使用するADF値リスト・コンポーネントはサポートされていません。

- TreeNodeListサブコンポーネントは、すべての場合において、EJBベースのデータ・コントロールのモデルドリブン・リストをサポートしないことがあります。

始める前に:

ADF表コンポーネントでの値リストの作成方法を理解しておくと役立ちます。詳細は、7.14項「ADF表コンポーネント列での値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネント列に値リストを作成するには:

1. 統合Excelワークブックを開きます。

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 「コンポーネントの編集: ADF表」ダイアログで、Columnsの入力フィールドの横にある参照(...)アイコンをクリックします。
「列の編集」ダイアログが表示され、選択したADF表コンポーネントのすべての列が一覧表示されます。

4. 「追加」をクリックして、新しい列を追加します。

5. 新しく作成した列に適切なオプションを選択します。

- InsertComponentの入力フィールドの横にある参照(...)アイコンをクリックして、挿入操作の実行時の値リストを構成します。

- UpdateComponentの入力フィールドの横にある参照(...)アイコンをクリックして、更新操作とダウンロード操作の実行時の値リストを構成します。

両方のオプションでも、作成するサブコンポーネントの選択ダイアログが表示されます。

6. TreeNodeListを選択して、「OK」をクリックします。

7. 手順5で選択したプロパティを展開して、次のように値を構成します。

- Listプロパティのモデルドリブン・リストに関連付けられたツリー・バインディング属性を選択します。

- 8.8項「統合Excelワークブックでの依存値リストの作成」の説明にあるように、従属する値リストを作成する場合にのみ、DependsOnListの値を選択してください。 DependsOnListに選択したツリー・バインディング属性またはリスト・バインディングは、従属値リスト内で親の値リストとして機能します。

- 必要に応じてReadOnlyプロパティを構成します。
これらのプロパティの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

図7-15は、TreeNodeListが列のUpdateComponentプロパティのサブコンポーネントとして選択された後の、EditCustomers-DT.xlsxのADF表コンポーネント列のプロパティ・インスペクタを示しています。

図7-15 値リストを表示するように構成されたADF表コンポーネント列

8. 「OK」をクリックします。

7.14.2 実行時の処理: ADF表列による値リストのレンダリング

実行時には、ADF表コンポーネントはDownloadアクションを起動して、それぞれの列に値を移入します。また、このアクションは値リストをレンダリングするよう構成した列に値リストを移入します。図7-16は、ADFデスクトップ統合のSummitサンプル・アプリケーションのEditCustomers-DT.xlsxからの例で、ここではCountryが値のリストを表示するように構成された列です。

図7-16 値リストを表示するADF表コンポーネント列の実行時のビュー

7.15 ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加

ModelDrivenColumnComponentサブコンポーネントをADF表コンポーネントに追加できます。ModelDrivenColumnComponentの値は、サーバー上でそれぞれの属性に指定されたコントロール・タイプのヒントにより決まります。

設計時には、列について、UpdateComponentプロパティまたはInsertComponentプロパティに対して、サブコンポーネント・タイプをModelDrivenColumnComponentと指定します。実行時には、属性に関連付けられたモデルドリブン・リストがある場合は、列はTreeNodeListサブコンポーネントを使用したドロップダウン・リストを使用します。

注意:

属性に関連付けられたモデルドリブン・リストがなかったり、リストに基づいていないコントロール・タイプが指定されている場合、列でInputTextサブコンポーネントが使用されます。コントロール・タイプがinput_text_lovまたはcombo_lovのモデルドリブンのリストがある場合、列はInputTextサブコンポーネントを使用します。

モデルドリブン・リストの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のモデルドリブン・リストの作成方法に関する項を参照してください。

従属値リストのサポート

複数のModelDrivenColumnComponentリスト・サブコンポーネントがADF表コンポーネントで公開される場合、ADFデスクトップ統合は各リストが別のモデルドリブン・リストに依存するかどうかを判断します。リストに指定されたバインド変数が、別のリストにバインドされた属性を参照するかどうかが検証されます。

リストが別のモデルドリブン・リストに従属する場合、サブコンポーネントのDependsOnList値は実行時に自動的に設定されます。

サーバー・サイド・リストのバインディングの従属性は、同じツリー・ノードにあるリストについてのみ判断されます。次のツリー・ノード・リストのバインディングはサポートされていません。

- 異なるツリーまたはツリー・ノード内のリスト・バインディングに依存するバインディング

- ページ定義ファイル内のリスト・バインディングに依存するバインディング

7.16 ADF表コンポーネントへの動的な列の追加

ビュー・オブジェクトによって返される使用可能な属性に応じて、実行時にADF表コンポーネントが拡張または収縮するように、ADF表コンポーネントに動的な列を追加できます。TableColumn配列内にあるColumnsグループのDynamicColumnプロパティによって、この動作は制御されます。列を動的にするには、DynamicColumnプロパティをTrueに設定します。TableColumn配列の動的な列とは、属性名が設計時に認識されていないツリー・バインディングまたはツリー・ノード・バインディングにバインドされている列です。動的な列は、実行時に複数のワークシートの列に拡張できます。

ADF表コンポーネントの動的な列は、次のサブコンポーネント・タイプをサポートしています。

- InputText

- OutputText

- ModelDrivenColumnComponent

注意:

ADFデスクトップ統合は、動的な列にあるサブコンポーネント・タイプTreeNodeListをサポートしていません。

モデルドリブンの値リストのサポート

また、動的な列を構成して、サブコンポーネント・タイプが実行時のモデルの構成から決定される値リスト・サブコンポーネントをサポートできます。設計時には、UpdateComponentプロパティまたはInsertComponentプロパティに対して、サブコンポーネント・タイプをModelDrivenColumnComponentと指定します。実行時には、動的な列の拡張の際に、値リストをキャッシュする前にモデルドリブンのランタイム・コンポーネントが決定されます。リモート・サーブレットによって、クライアントはモデル構成を取得でき、クライアントは希望する列のサブコンポーネント・タイプを選択できるようになります。ModelDrivenColumnComponentの詳細は、7.15項「ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加」を参照してください。

7.16.1 動的な列の構成方法

EL式を次の形式で、ADF表コンポーネント列のInsertComponentプロパティによってサブコンポーネントとして指定されたコンポーネントのValueプロパティについて指定することにより、動的な列は、構成します。

#{bindings.TreeID.[TreeNodeID].AttributeNamePrefix*.inputValue}

または:

#{bindings.TreeID.AttributeNamePrefix*.inputValue}

詳細は、次のようになります。

- TreeIDはADF表コンポーネントで使用されるツリー・バインディングのIDです。

- TreeNodeIDは、ツリー・ノード・バインディングIDを指定するオプションの値です。この値を省略する場合は、属性がどのツリー・ノード・バインディングに属するかに関係なく、ツリー・バインディングからの一致するすべての属性が表示されます。

- AttributeNamePrefixは、ツリー・バインディングの基底にあるイテレータ内に存在する属性のサブセットを識別します。AttributeNamePrefixの値を指定しない場合、ツリー・バインディングまたはツリー・バインディング・ノードのすべての属性が返されます。常に*文字を使用してください。

注意:

動的な列を追加する際、ツリー・ノード属性名がページ定義ファイルで指定されていないことを確認してください。実行時には、ツリー・ノード・オブジェクトは基底にあるイテレータからすべての属性名を返します。ページ定義ファイルに指定された属性名がある場合、ツリー・ノード・オブジェクトはそのリストに基づいて、使用可能な属性名のリストを限定します。

次の例は、EmpTreeバインディングのmodel.EmpViewノードにある、"period"で始まる名前を持つすべての属性を返します。

#{bindings.EmpTree.[model.EmpView].period*.inputValue}

7.16.2 実行時の処理: 動的な列でのデータのダウンロードまたはアップロード

ADF表コンポーネントのDownloadアクションまたはDownloadForInsertアクションが起動されると、ADF表コンポーネントは一致する属性の最新のセットが含まれるように動的な列を自動的に更新します。Downloadが起動されるたびに、ADFデスクトップ統合は動的な列に対して、すべての行に同じ属性セットがあることを要求します。Downloadの際に属性のセットが行ごとに異なる場合、エラーが発生することがあります。

動的な列がInsert操作とUpdate操作をどちらもサポートする場合、動的な列のInsertComponentサブコンポーネントとUpdateComponentサブコンポーネントについて、Valueプロパティに同じEL式を指定する必要があります。実行時には、ADF表コンポーネントはEL式により返される属性バインディングの値を表示する動的な列を含むように拡張します。

ADF表コンポーネントのUploadアクションが起動されるとき、ワークブックはエンド・ユーザーに対して、以前にダウンロードした属性がツリー・バインディングにもう存在しない場合、データのアップロードを続行するかどうかを決定するプロンプトを表示します。

注意:

Excel AutoFilterが動的な列で構成された表に適用されている場合、動的な列が展開、縮小、調整されるたびに、AutoFilterは自動的に削除されます。

宣言型SQLモードによるビュー・オブジェクトのサポート

宣言型SQLモードで構成され、実行時にカスタマイズされたビュー・オブジェクトをサポートするために、属性が定義されていないページ定義ファイルのツリー・バインディングを公開します。例:

<tree IterBinding="DeclSQLModeIterator" id="DeclSQLModeTree">
<nodeDefinition Name="DeclSQLModeTreeNode"/>
</tree>

実行時に、ツリー・バインディングは選択した属性を、基礎となる宣言型SQLモード・ビュー・オブジェクトから統合Excelワークシートへ戻します。

7.16.3 動的な列のヘッダー・ラベルの指定方法

次の構文を使用して、動的な列のHeaderLabelプロパティにEL式を記述します。

#{bindings.TreeID.[TreeNodeID].hints.AttributeNamePrefix*.label}

または:

#{bindings.TreeID.hints.AttributeNamePrefix*.label}

動的な列でInsert操作およびUpdate操作がサポートされている場合、動的な列のInsertComponentおよびUpdateComponentのValueプロパティに指定するものと同じツリー・バインディングID、ツリー・ノード・バインディングID、および属性名の接頭辞の値を、動的な列のHeaderLabelプロパティで指定します。

注意:

ADF表コンポーネントは、列を動的として構成する場合、列のVisibleプロパティの値を無視します。ADF表コンポーネント列のプロパティの詳細は、表A-10を参照してください。

エンド・ユーザーが値を入力しなければならない必須の列に、記号や文字列でマークを付ける場合は、HeaderLabelプロパティを構成する必要があります。次の構文を使用して、すべての必須の列に記号や文字列を追加するEL式を記述します。

=IF(#{bindings.TreeID.[TreeNodeID].hints.*.mandatory}, "<prefix_for_mandatory_cols>", "") & "#{bindings.TreeID.[TreeNodeID].hints.*.label}"

たとえば、次のEL式は必須の列のラベルにアスタリスク(*)文字を追加します。

=IF(#{bindings.MyTree.[myapp.model.MyChildNode].hints.*.mandatory}, "* ", "") & "#{bindings.MyTree.[myapp.model.MyChildNode].hints.*.label}"

7.16.4 属性データ・タイプに基づいた動的な列のスタイルの指定方法

列のデータ型に応じて、データ型ごとに異なるスタイルを指定できます。次の構文を使用して、動的な列のCellStyleNameプロパティにEL式を記述します。

=IF("#{bindings.TreeID.[TreeNodeID].hints.*.dataType}"="<data_type>", <custom_style_expression1>, <custom_style_expression2>)

次の例では、すべてのdate列にMyDateStyleスタイルが適用され、他のデータ型の列にはMyDefaultStyleが適用されます。

=IF("#{bindings.MyTree.[myapp.model.MyChildNode].hints.*.dataType}"="date", "MyDateStyle", "MyDefaultStyle")

次の例は、MyDateStyleスタイルがすべてのdateデータ型の列に、MyNumberStyleがすべてのnumberデータ型の列に、MyDefaultStyleがその他のデータ型の列にそれぞれ適用されるシナリオを示します。

=IF("#{bindings.MyTree.[myapp.model.MyChildNode].hints.*.dataType}"="date", "MyDateStyle", IF("#{bindings.MyTree.[myapp.model.MyChildNode].hints.*.dataType}"="number", "MyNumberStyle", "MyDefaultStyle"))

EL式の詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。

7.17 ADF読取り専用表コンポーネントの作成

実行時、ADF読取り専用表コンポーネントは、参照するツリー・バインディングのデータを表示する、連続した範囲のセルにまたがる表をレンダリングします。エンド・ユーザーが編集できないデータを表示する場合に、このコンポーネントを使用します。

このコンポーネントは、Downloadアクションの起動時にコンポーネントがダウンロードする行数を決定するRowLimitなどのプロパティをサポートします。また、これには実行時にExcelワークシートに表示されるツリー・バインディングの列を決定するプロパティ・グループ(Columns)も含まれます。TreeIDプロパティは、コンポーネントが参照するツリー・バインディングを指定します。これらのプロパティや、ADF読取り専用表コンポーネントがサポートする他のプロパティの詳細は、A.10項「ADF読取り専用表コンポーネントのプロパティおよびアクション」を参照してください。

ADFデスクトップ統合は、ワークシートの最初の列(列A)を使用して、読取り専用表コンポーネントの適切な操作に必要ないくつかの特別な情報を格納します。そのため、実行時に、ADF読取り専用表コンポーネントの1つ以上のインスタンスを含むワークシートでは、列Aが非表示になります。列Aを非表示にする補正を行い、設計時の視覚的なレイアウトを維持するために、ワークシートのコンテンツは右方向に1列シフトされます。設計時に戻るときに、列Aは再度表示され、ワークシートの内容は左方向に1列シフトされます。

図7-17に、設計時のADF読取り専用表コンポーネントを示します。プロパティ・インスペクタが最前面に表示されています。

図7-17 設計時のADF読取り専用表コンポーネント

図7-18は、実行時にCustomersツリー・バインディングを参照するADF読取り専用表コンポーネントの列を示しています。

図7-18 実行時のADF読取り専用表コンポーネントの列

注意:

- 実行時には、ADF読取り専用表コンポーネントに行を挿入すると、新しいExcelの行がダウンロードされたデータ・セットの一部であるかのような動作をしますが、新しい行はExcelのみに存在します。新しい行のデータはサーバーにアップロードされず、Fusion Webアプリケーションのデータには影響しません。

- 読取り専用列には、ダブルクリックのアクション・セットが含まれます。ただし、このようのアクションは現在の行に確実に配置できません。そのため、ADF読取り専用表コンポーネントで行レベルのアクション・セットを使用した場合の結果に一貫性がありません。
行レベルのアクション・セットを行に確実に配置して使用する必要がある場合は、ADF読取り専用表コンポーネントのかわりにADF表コンポーネントを使用します。

7.17.1 ADF読取り専用表コンポーネントの作成方法

ADFデスクトップ統合デザイナの作業ウィンドウを使用して、ADF読取り専用表コンポーネントをワークシートに挿入します。

始める前に:

ADF読取り専用表コンポーネントについて理解しておくと役立ちます。詳細は、7.17項「ADF読取り専用表コンポーネントの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF読取り専用表コンポーネントを挿入するには:

1. 統合Excelワークブックを開きます。

2. コンポーネントを配置するExcelワークシートのセルを選択します。
表コンポーネントへの挿入の際、2つの表のデータが実行時に重複しないことと、選択したセルがマージされたセルでないことを確認する必要があります。

3. バインディング・パレットで、ADF読取り専用表コンポーネントを作成するバインディングを選択して、バインディングの挿入をクリックします。

4. 表示されるダイアログで、「ADF読取り専用表」を選択します。

注意:

または、コンポーネント・パレットまたは「Oracle ADF」タブを使用しても、ADF読取り専用表コンポーネントを挿入できます。「ADF読取り専用表」を選択して、コンポーネントの挿入をクリックします。コンポーネント・パレットを使用してコンポーネントを作成する場合は、実行時にコンポーネントに表示されるそれぞれの列を追加する必要があります。

5. 表示されるプロパティ・インスペクタでプロパティを構成し、表示される列とコンポーネントが実行時に起動するアクションを決定します。

6. 「OK」をクリックします。

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。

表コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は5.14項「ADFデスクトップ統合コンポーネントの削除」を参照してください。

7.17.2 ADF読取り専用表コンポーネントへの手動による列の追加方法

その他の列をADF読取り専用表コンポーネントに手動で追加したり、以前に削除した列をもう一度追加したりすることができます。

始める前に:

ADF読取り専用表コンポーネントについて理解しておくと役立ちます。詳細は、7.17項「ADF読取り専用表コンポーネントの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF読取り専用表コンポーネントに手動で列を追加するには:

1. 統合Excelワークブックを開きます。

2. ADF読取り専用表コンポーネントをホストするワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 「コンポーネントの編集: ADF表」ダイアログで、Columnsの入力フィールドの横にある参照(...)アイコンをクリックします。
「列の編集」ダイアログが表示され、選択したADF表コンポーネントのすべての列が一覧表示されます。

4. 「追加」をクリックして、ADF読取り専用表コンポーネントに手動で新しい列を追加します。

5. 新しい列のプロパティに値を設定します。
ADF読取り専用表コンポーネントのプロパティの詳細は、表A-13を参照してください。

6. 「OK」をクリックします。

7.18 表タイプ・コンポーネントがダウンロードする行数の制限

ADF表またはADF読取り専用表コンポーネントがダウンロードする行数は、コンポーネントのRowLimitプロパティ・グループの値を設定すれば後世できます。また、必要に応じて、ダウンロード可能な行数が指定した行数を超過したときにエンド・ユーザーに警告する警告メッセージを表示できます。

7.18.1 コンポーネントがダウンロードする行数の制限方法

Downloadアクションを起動するときにコンポーネントがダウンロードする行数を、RowLimit.MaxRowsプロパティの値として指定します。オプションで、ダウンロード可能な行数がRowLimit.MaxRowsで指定した値を超過した場合に、エンド・ユーザーがメッセージを受信するように、RowLimit.WarningMessageプロパティのEL式を記述します。

始める前に:

ADF表コンポーネントにデータをダウンロードする際に行数を制限する方法を理解しておくと役立ちます。詳細は、7.18項「表タイプ・コンポーネントがダウンロードする行数の制限」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

表タイプ・コンポーネントがダウンロードする行数を制限するには:

1. 統合Excelワークブックを開きます。

2. 表タイプ・コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。
詳細は、8.2項「アクション・セットの使用」を参照してください。

3. 表7-10の説明に従って、RowLimitプロパティ・グループのプロパティを構成します。これらのプロパティの詳細は、A.1項「ADFデスクトップ統合で頻繁に使用するプロパティ」を参照してください。

表7-10 RowLimitプロパティ・グループ

設定するプロパティ

設定する値

RowLimit.Enabled

Trueに設定すると、ダウンロードする行数がRowLimit.MaxRowsで設定した値に制限されます。

RowLimit.MaxRows

ダウンロードする最大行数に評価されるEL式を記述します。

RowLimit.WarningMessage

このプロパティにEL式を記述して、ダウンロード可能な行数がRowLimit.MaxRowsで指定した値を超過した場合にエンド・ユーザーにメッセージを生成します。

このプロパティの値がNULLの場合、Downloadアクションは、エンド・ユーザーにデフォルトの警告メッセージを表示して、RowLimit.MaxRowsで指定した行数をダウンロードします。

4. 「OK」をクリックします。

図7-19は、ADF表コンポーネントの行の制限が構成されているEditCustomers-DT.xlsxワークブックの「コンポーネントの編集」ダイアログを示しています。

図7-19 ADF表コンポーネントの行数の制限

7.18.2 実行時の処理: RowLimitプロパティのしくみ

表タイプ・コンポーネントのDownloadアクションが起動されると、RowLimit.MaxRowsの値として指定した行数がFusion Webアプリケーションからダウンロードされます。RowLimit.MaxRowsにEL式を指定したり、デフォルト値を変更しない場合、図7-20に示すものに似たメッセージ・ダイアログが表示されます。

図7-20 行の制限を超過した場合の警告メッセージ

7.19 ADF表コンポーネントでのキャッシュされた属性値のクリア

表A-9 に示すRowDataプロパティ・グループを使用して、ADF表コンポーネントでキャッシュするデータを指定できます。この機能の詳細は、次を参照してください。

- 12.7項「ワークブックからデータをアップロードする際のデータ競合の処理」

- 第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」

ADF表コンポーネントは、アクション(ClearCachedRowAttributes)を公開します。これは、公開されるとADF表コンポーネントの現在の行のキャッシュされた属性の値をクリアします。

エンド・ユーザーがRowData.CachedAttributes配列の要素にも指定した属性バインディングを表示または編集できるように、コンポーネント(ADF表コンポーネントの列やADF入力テキスト・コンポーネントなど)は構成しないでください。RowData.CachedAttributes配列は、ワークシートのDownSyncアクションで取得された値をキャッシュします。ワークシートUpSyncアクションは、RowData.CachedAttributes配列の値をFusion Webアプリケーションに送信します。これによって、エンド・ユーザーがワークシート内のコンポーネントを通して公開される属性バインディングに行う編集が上書きされることがあります。

7.19.1 ADF表コンポーネントでのキャッシュされた属性値のクリア方法

ADF表コンポーネントのClearCachedRowAttributesアクションを起動するアクションを含むDoubleClickActionSetを構成します。

始める前に:

ADF表コンポーネントでキャッシュされた属性をクリアする方法を理解しておくと役立ちます。詳細は、7.19項「ADF表コンポーネントでのキャッシュされた属性値のクリア」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネント内のキャッシュされた属性の値をクリアするには:

1. 統合Excelワークブックを開きます。

2. 実行時にDoubleClickActionSetを起動するOracle ADFコンポーネントの「アクションの編集」ダイアログを開きます。
アクション・セットの起動の詳細は、第8章「アクション・セットの使用」を参照してください。

3. ADF表コンポーネントのClearCachedRowAttributesアクションを起動するDoubleClickActionSetにアクションを追加します。

4. 「OK」をクリックします。

7.19.2 実行時の処理: ADF表コンポーネントによる値のキャッシュ

アクション・セットは、ADF表コンポーネントのClearCachedRowAttributesアクションを起動します。このアクションは、ADF表コンポーネントの現在の行のプロパティについて、RowData.CachedAttributesプロパティにより指定されたキャッシュされた値をクリアします。

7.20 ADF表コンポーネントでの変更の追跡

エンド・ユーザーは、ADF表コンポーネントをホストする統合Excelワークブックのセルで、データを作成したり変更できます。

列が更新可能で読取り専用でなければ、変更の追跡がアクティブ化されます。エンド・ユーザーが次の変更を行うと、変更の追跡がアクティブ化されます。

- セルの値の編集

- セルの値の挿入または削除

- どこかでコピーした値をADF表コンポーネント列のセルに貼り付ける場合

エンド・ユーザーが対応する行のデータを変更した場合、上向きの矢印に似た記号が_ADF_ChangedColumn列に表示されます。図7-21に例を示します。

図7-21 ADF表コンポーネントの変更された列

この記号は、コンポーネントのReadOnlyプロパティの値がFalseに設定されているコンポーネントによってホストされているデータを、エンド・ユーザーが変更すると表示されます。ADF入力テキストおよびTreeNodeListサブコンポーネントには、どちらにもReadOnlyプロパティがあります。TrueあるいはFalseに評価されるこのReadOnlyプロパティに、EL式または静的な文字列を記述できます。Trueに評価される静的な文字列またはEL式を記述する場合、_ADF_ChangedColumn列には記号は表示されません。読取り専用EL式と変更トラッキングに関する詳細は、7.21項「読取り専用プロパティのEL式の評価」を参照してください。

7.21 読取り専用プロパティのEL式の評価

表の列の読取り専用EL式にバインディング式(#{row.bindings.color.inputValue}など)が含まれる場合、その式の実行時の評価は評価が行われるタイミングによって異なります。評価は次のときに行われます。

- データのダウンロード(Download、DownloadFlaggedRows、DownloadForInsert)

- データのアップロード(Upload)および変更トラッキング

7.21.1 実行時の処理: データのダウンロード時のEL式の評価

Download中、EL式は想定どおりに現在のバインディング値で評価されます。

7.21.2 実行時の処理: データのアップロードまたは変更のトラッキング時のEL式の評価

Upload中、またはエンド・ユーザーが変更可能表の値を変更する場合、EL式はDownloadとは異なる方法で評価されます。具体的には、EL式の評価の前に、空白の文字列がバインディング式に対して置換されます。

たとえば、次のEL式が編集可能コールにある場合:

=IF("#{row.bindings.color.inputValue}"="RED", True, False)

Upload中、またはエンド・ユーザーが変更可能表の値を変更する場合、EL式は=IF(""="RED", True, False),に評価され、常にFalseが返されます。

7.21.3 データのアップロードまたは変更のトラッキング時のEL式の評価に関する留意事項

Uploadおよび変更トラッキング中に、EL式を適切に評価するためには、サーバーとの追加のデータ転送がバインディング値を取得するために必要です。サーバーとの追加のデータ転送はパフォーマンスにマイナスの影響を与え、エンド・ユーザーに現在有効なセッションがない場合には新しいログインが必要になることもあります。

注意:

同じEL式の評価の動作は、表の変更トラッキング中に新しいワークシートの行を挿入する場合、CellStyleName EL式に適切に適用されます。

動作の違いにより、可能ならば、バインディング式を含む読取り専用EL式は避ける必要があります。ただし、指定したユースケースが読取り専用式で属性値を使用することが重要な場合、ワークシートの保護をAutomaticへ設定することを検討する必要があります。ワークシート保護の詳細は、9.7項「ワークシート保護の使用」を参照してください。

たとえば、次のEL式がセルにある場合:

=IF("#{row.bindings.color.inputValue}"="RED", True, False)

Download中に、この列のREDセルをLockedに設定すると、エンド・ユーザーはこれらのセルを編集できません。

7.22 明示的なワークシート設定アクションの使用

実行時にバインディング・コンテナ・メタデータがサーバーから取得されたら、ADFデスクトップ統合はワークシートを構成またはカスタマイズするいくつかの機能を提供します。ただし、クライアントがバインディング・コンテナ・メタデータを取得する前に、データまたはバインディング・コンテナをカスタマイズすることもできます。たとえば、設計時に表をワークシートに追加しますが、その表を操作するビュー・オブジェクトは実行時まで指定しない場合があります。使用されるビュー・オブジェクトはパラメータ値または設定によって決まりますが、それらの値が実行時まで不明の場合は、このような操作が必要です。さらに、実行時パラメータ値(属性の追加、表示される属性の指定など)に基づいて、ビュー・オブジェクトをカスタマイズすることもできます。同様に、実行時パラメータ値に基づいてバインディング・コンテナを構成することもできます。このようなユース・ケースでは、バインディング・コンテナ・メタデータがサーバーからワークシートに送信される前に、設定タスクを実行する必要があります。

ADFデスクトップ統合の明示的なワークシート設定アクション機能を使用すると、クライアントがバインディング・コンテナ・メタデータを取得する前に起動される設定アクションを指定できます。

7.22.1 明示的なワークシート設定アクションの構成方法

ワークシートのSetupActionIDプロパティを使用すると、バインディング・コンテナ・メタデータがワークシートに送信される前に起動されるメソッドを指定できます。メソッドでは、データおよびバインディング・コンテナでのカスタマイズに必要なロジックを実装できます。

始める前に:

明示的なワークシート設定アクション機能について理解しておくと役立ちます。詳細は、7.22項「明示的なワークシート設定アクションの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ワークシートのSetupActionIDプロパティを使用するには:

1. 統合Excelワークブックのワークシートを開きます。

2. Excelリボンで、「ワークブック・プロパティ」をクリックします。

3. 「ワークシート・プロパティの編集」ダイアログで、データを展開し、図7-22に示すように、SetupActionIDプロパティの入力フィールドの横にある参照(...)アイコンをクリックします。

図7-22 「ワークシート・プロパティの編集」ダイアログのSetupActionIDプロパティ

4. 「バインディングの選択」ダイアログで、バインディング・コンテナ・メタデータがワークシートに送信される前に起動するアクションを選択し、「OK」をクリックします。

注意:

SetupActionIDプロパティはADFmアクションのみを受け入れます。無効なメソッドがプロパティに設定されている場合は、検証エラーが報告されます。

5. 「OK」をクリックし、「ワークシート・プロパティの編集」ダイアログを閉じます。

7.22.2 明示的なワークシート設定アクションに関する留意事項

SetupActionIDプロパティによって指定されたアクションが実行されたら、ワークシートに送信されるバインディング・コンテナ・メタデータはメソッドで構成されたカスタマイズを反映します。ADFデスクトップ統合では、バインディング・コンテナ・インスタンスに対して設定アクションが1回のみ実行されるようにします。なんらかの理由で新しいバインディング・コンテナ・インスタンスがワークシートに関連付けられると、新しいバインディング・コンテナ・インスタンスが構成されるように設定アクションが再度起動されます。

設定アクションの起動時にエラーが発生すると、ADFデスクトップ統合はワークシート内で自動的に無効になります。ログアウトし再度ログインしても、ワークシート内のADFデスクトップ統合は有効になりません。Excelリボンから「全データのクリア」コマンドを実行すると、ワークシート内のADFデスクトップ統合は再度有効になり、設定アクションは後続の要求時に再度実行されます。

8 統合Excelワークブックへの対話性の追加

この章では、統合Excelワークブックに対話性オプションを追加する方法、データ・バインド検索フォームと値の依存値リストを作成してリボンタブを構成する方法、およびExcel式でEL式を使用する方法について説明します。

この章の内容は次のとおりです。

- 8.1項「統合Excelワークブックへの対話性の追加について」

- 8.2項「アクション・セットの使用」

- 8.3項「実行時リボン・タブの構成」

- 8.4項「Fusion WebアプリケーションからのWebページの表示」

- 8.5項「ADF表の列へのカスタム・ポップアップ・ピッカー・ダイアログの追加」

- 8.6項「統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成」

- 8.7項「統合Excelワークブックでのフォームの作成」

- 8.8項「統合Excelワークブックでの依存値リストの作成」

- 8.9項「Excel式を生成するためのEL式の使用」

- 8.10項「統合Excelワークブックでの計算済セルの使用」

- 8.11項「統合Excelワークブックでのマクロの使用」

8.1 統合Excelワークブックへの対話性の追加について

アクション・セットなどの機能を使用し、実行時リボン・タブの構成や依存値リストの作成によって、統合ワークブックをエンド・ユーザーに対して対話形式にすることができます。図8-1は、対話機能のいくつかを示します。

図8-1 統合Excelワークブックの対話機能

統合Excelワークブックに対話性を追加すると、エンド・ユーザーがワークブックでOracle ADFの機能を起動するアクション・セットを実行できるようになります。また、これらのアクション・セットの実行時に統合Excelワークブックでステータス・メッセージやアラート・メッセージ、エラー処理も提供されます。アクション・セットを起動するADFデスクトップ統合コンポーネントでのエンド・ユーザーの動作(ダブルクリック、クリック、選択)の他に、エンド・ユーザーが実行時にアクション・セットを起動するために使用する、ワークブックおよびワークシート・リボン・ボタンを構成できます。

8.1.1 統合Excelワークブックへの対話性の追加のユース・ケースと例

統合Excelワークブックに対話性を追加するために、エンド・ユーザーの動作により起動されるアクション・セットを使用できます。たとえば、図8-2に示すように、EditableCustomerSearch-DT.xlsxの顧客のフィルタリボン・コマンドでは、複数のアクション・セットを使用して検索条件に一致するデータをフィルタします。

図8-2 顧客のフィルタリボン・コマンドのアクション・セット

図8-3は、EditCustomerSearch.xlsxに実装されているカスタムの実行時リボン・タブの例を示します。

図8-3 EditCustomerSearch.xlsxの実行時リボン・タブ

8.1.2 統合Excelワークブックへの対話性の追加の追加機能

アクション・セットと実行時リボン・タブの他に、その他の機能を追加してワークブックを構成できます。使用可能な他の機能へのリンクは次のとおりです。

- Webページの表示: Excelワークブックと統合するFusion Webアプリケーションからページを表示できます。詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

- 依存値リスト: ADF値リスト・コンポーネントを、別の値リスト・コンポーネントによって値が決まる依存値リスト・コンポーネントとして構成できます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

- スタイル: 事前定義済のExcelのスタイルをいくつか使用して、フォーム・タイプ・コンポーネントの表示を構成できます。詳細は、9.2項「スタイルの使用」を参照してください。

- マクロ: マクロとExcel式を使用して、Fusion Webアプリケーションからダウンロードするデータ、またはFusion Webアプリケーションにアップロードするデータを管理します。詳細は、8.10項「統合Excelワークブックでの計算済セルの使用」と8.11項「統合Excelワークブックでのマクロの使用」を参照してください。

8.2 アクション・セットの使用

アクション・セットは、特定の順序で実行される1つ以上のアクションからなる、順序付けされたリストです。アクションのタイプには次のようなものがあります。

- ADFmAction

- ComponentAction

- WorksheetMethod

- Confirmation

- Dialog

アクション・セットは、エンド・ユーザーの動作(クリックやADFボタンなど)またはExcelワークシート・イベントによって起動できます。エンド・ユーザーの動作によってアクション・セットが起動される場合、ADFコンポーネントのプロパティ・インスペクタのアクション・セットのプロパティ名には、必要な動作の名前が先頭に付きます。次のリストは、ADFデスクトップ統合がプロパティ・インスペクタで表示するプロパティ名と、アクション・セットを起動するユーザーの動作を示します。

- ClickActionSetはADFボタン・コンポーネント用で、エンド・ユーザーが関連するアクション・セットを起動するためにボタンをクリックするときに使用します。

- DoubleClickActionSetはADF InputTextまたはADF出力テキスト・コンポーネント用で、エンド・ユーザーが関連のアクション・セットを起動するためにこれらのコンポーネントをダブルクリックするときに使用されます。

- SelectActionSetはワークシート・リボン・ボタン用で、エンド・ユーザーが関連のアクション・セットを起動するためにボタンを選択したときに使用されます。

- ActionSetはワークシート・イベント用で、アクション・セットを起動するときに明示的なエンド・ユーザーの動作は必要ありません。

ADFコンポーネントやワークシート・リボン・ボタン、またはワークシート・イベントから「アクションの編集」ダイアログを起動して、アクション・セットを定義あるいは構成します。アクション・セットが起動するアクションを定義する他に、アクション・セットのAlertプロパティを構成して、アクション・セットの起動の結果に対するフィードバックを提供できます。アクション・セットのStatusプロパティを構成して、アクション・セットが定義されたアクションを実行する際に、エンド・ユーザーにステータス・メッセージを表示します。「アクションの編集」ダイアログの詳細は、5.12項「コレクション・エディタの使用」を参照してください。

ADFデスクトップ統合のSummitサンプル・アプリケーションには、使用されるアクション・セットの多くの例が用意されています。1つの例は、EditCustomers-DT.xlsxワークブックで実行時にUploadというラベルの付くリボン・コマンドです。このリボン・コマンドには、ADF表コンポーネントのUploadアクションを起動するアクション・セットが構成されています。図8-4は、設計モードでのアクションの編集ダイアログを示しています。

図8-4 EditCustomers-DT.xlsxワークブックのデータのアップロード・ボタンのアクション・セット

ヒント:

アクションの編集ダイアログに追加するアクションごとに、「注釈」フィールドに説明を記述します。記述する説明はMembersリスト・ビューに表示されます。記述内容によっては、ADFデスクトップ統合が生成するデフォルトのエントリよりも意味をなす場合があります。

注意:

ADFデスクトップ統合は、 Membersリスト・ビューで指定した順にアクション・セット内のアクションを起動します。

8.2.1 アクション・セット内のメソッド・アクション・バインディングの起動方法

1つのアクション・セットで複数のメソッド・アクション・バインディングを起動できます。ページ定義ファイルは、Fusion Webアプリケーションと統合するワークシートで起動可能なアクション・バインディングを定義します。統合Excelワークブックのページ定義ファイルとアクション・バインディングの詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

「アクションの編集」ダイアログを使用して、起動するメソッド・アクション・バインディングを指定します。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットでメソッド・アクションを起動するには:

1. 統合Excelワークブックを開きます。

2. 「アクションの編集」ダイアログを開いて、ここに示す「追加」ボタンからドロップダウン・リストを起動します。

3. ADFmActionを選択して、次のリストにあるようにプロパティを構成します。

- ActionID
ActionIDの入力フィールドの横にある参照(...)アイコンをクリックして、バインディングIDピッカーを起動し、アクション・セットが起動するメソッド・アクション・バインディングを選択します。

- Annotation
オプションで、構成するアクションの目的に関するコメントを入力します。このプロパティに設定する値には、機能的な影響はありません。

4. 「OK」をクリックします。

8.2.2 アクション・セット内のコンポーネント・アクションの起動方法

ADFデスクトップ統合のADF表コンポーネントおよびADF読取り専用表コンポーネントは、Fusion Webアプリケーションと統合するExcelワークシート間のデータ送信の管理に使用できるアクションを公開します。ADF読取り専用表コンポーネントは、1つのコンポーネント・アクションDownloadを公開しますが、ADF表コンポーネントは他の多くのアクションを公開します。両方のコンポーネントのアクションの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。

アクションの配列にあるコンポーネント・アクションを参照することで、1つ以上のコンポーネント・アクションを起動するアクション・セットを構成できます。たとえば、図8-5は、ワークシートのADF表コンポーネントとADF読取り専用表コンポーネントがSelectActionSetアクション・セットから起動できる、コンポーネント・アクションの選択ダイアログを示します。

図8-5 コンポーネント・メソッドの選択ダイアログ

注意:

アクション・セットによってADF表コンポーネントまたはADF読取り専用表コンポーネントのアクションを起動する前に、これらのコンポーネントをExcelワークシートに含める必要があります。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットからコンポーネント・アクションを起動するには:

1. 統合Excelワークブックを開きます。

2. 「アクションの編集」ダイアログを開いて、ここに示す「追加」ボタンからドロップダウン・リストを起動します。

3. ComponentActionを選択して、次のリストにあるようにプロパティを構成します。

- ComponentID
ComponentIDの入力フィールドの横にある参照(...)アイコンをクリックして、「コンポーネント・メソッドの選択」ダイアログを起動し、アクション・セットが実行時に起動するコンポーネント・アクションを選択します。これによって、ComponentIDとMethodの各入力フィールドに値が移入されます。

- Action
アクション・セットが実行時に起動するコンポーネント・アクション。

- Annotation
オプションで、構成するアクションの目的に関するコメントを入力します。このプロパティに設定する値には、機能的な影響はありません。

- DetailStatusMessage
「ステータス・メッセージ」ウィンドウに表示されるオプションのEL式のリテラル値を指定します(8.2.5項「アクション・セットの実行中にステータス・メッセージを表示する方法」を参照)。

4. 「OK」をクリックします。

8.2.3 コンポーネント・アクションを起動するアクション・セットに関する留意事項

統合Excelワークブックでのアクション・セットの動作に関する次の情報に注意してください。

8.2.3.1 アクション・セットの検証による正しいコンポーネント・アクションの起動

アクション・セットを作成する際は、ワークシートに複数のインスタンスのADF読取り専用表コンポーネントまたはADF表コンポーネントが含まれる場合、正しいコンポーネントのインスタンスからコンポーネント・アクションを起動するようにしてください。図8-6は、2つのインスタンスのADF読取り専用表コンポーネントを持つコンポーネント・アクションの選択ダイアログを示します。表A-1に示すComponentIDプロパティの値を使用して、コンポーネント・アクションを起動するコンポーネントのインスタンスを正しく識別してください。

図8-6 「コンポーネント・アクションの選択」ダイアログ

8.2.3.2 切断されたワークブックでのアクション・セットの起動

エンド・ユーザーはFusion Webアプリケーションから切断されている間、第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」の説明に従って、統合Excelワークブックを使用できます。ADF表コンポーネントのDownloadアクションのような一部のコンポーネント・アクションを正常に完了するには、Fusion Webアプリケーションへの接続が必要です。このようなコンポーネント・アクションが含まれるアクション・セットをエンド・ユーザーが起動する場合、統合ExcelワークブックはFusion Webアプリケーションに接続しようと試み、必要があれば11.2項「Excelワークブック・ユーザーの認証」で説明されている認証プロセスを起動します。

8.2.4 ワークシート・イベントからアクション・セットを起動する方法

ADFデスクトップ統合には、ワークシート・イベントがいくつか用意されており、これはトリガーされるとアクション・セットを起動できます。次のワークシート・イベントはアクション・セットを起動できます。

- Startup

- Shutdown
DialogアクションのTargetプロパティがTaskPaneに設定されている場合、このイベントからDialogアクションを起動しないでください。

- Activate

- Deactivate

Eventsワークシート・プロパティによって参照されるイベントの配列(WorksheetEventリスト)に要素を追加します。イベントと、追加する要素の中でそれによって起動されるアクション・セットを指定します。Eventsワークシート・プロパティおよびアクション・セットを起動できるワークシート・イベントの詳細は、表A-19を参照してください。アクション・セットの詳細は、表A-14を参照してください。

「イベントの編集」ダイアログを使用して、ワークシート・イベントによって起動されるアクション・セットを指定します。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ワークシート・イベントからアクション・セットを起動するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。

3. 「ワークシート・プロパティの編集」ダイアログで、Eventsプロパティの入力フィールドの横にある参照(...)アイコンをクリックします。

4. 「イベントの編集」ダイアログで、「追加」をクリックして、イベントおよびそれが起動する対応するアクション・セットを指定する新しい要素を追加します。
図8-7は、EditCustomers-DT.xlsxファイルの例を示しています。ここでは、ワークシート・イベントのStartupが、ADF表コンポーネントのDownloadアクションを起動するアクション・セットを起動します。

図8-7 ワークシートのStartupイベントにより起動されるアクション・セット

5. 「OK」をクリックします。

8.2.5 アクション・セットの実行中にステータス・メッセージを表示する方法

アクション・セットでStatusプロパティの値を指定することにより、アクション・セットの実行時にエンド・ユーザーに対してステータス・メッセージおよび進捗バーを表示できます。

アクション・セットのStatusプロパティを使用しながら、進捗バーを使用して進行状況を視覚的に示すことができます。StatusプロパティのMode属性により、実行時の進捗バーの外観を選択できます。メインの進捗バーと詳細進捗バーの、2種類の進捗バーが使用可能です。メインの進捗バーはアクション・セットのアクションを使用して進捗を示し、詳細進捗バーは現在のアクションの進捗を示します。

「アクションの編集」ダイアログを使用して、ActionSet.Statusプロパティの値を構成します。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ステータス・メッセージを表示するには:

1. 統合Excelワークブックを開きます。

2. コンポーネントの「アクションの編集」ダイアログを開きます。

3. 表8-1に従って、Statusプロパティ・グループのプロパティの値を設定します。

表8-1 Statusプロパティ・グループ

プロパティ

入力または選択する値

Enabled

Trueに設定すると、ステータス・メッセージが表示されます。デフォルト値はTrueです。

Message

実行時に表示するステータス・メッセージに解決されるオプションのEL式またはリテラル値。

たとえば、EditCustomers-DT.xlsxファイルの「アップロード」ボタンでは、Messageプロパティに次のEL式が構成されています。

#{res['excel.customers.ribbon.upload.message']}

Title

実行時に表示するステータス・メッセージのタイトルに解決されるオプションのEL式またはリテラル値。

たとえば、EditCustomers-DT.xlsxファイルの「アップロード」ボタンでは、Titleプロパティに次のEL式が構成されています。

#{res['excel.customers.ribbon.upload.title']}

Mode

進捗バーの表示形式を選択します。

- Automatic: ADFデスクトップ統合は、アクションセットを分析し、表示する進捗バーを判別します。

- BothBarsAlways: メインの進捗バーと詳細進捗バーの両方を表示します。

- MainBarOnly: 1つの進捗バーのみを表示します。このバーはアクションのリストを使用して進捗を表示します。

- DetailBarOnly: 1つの進捗バーのみを表示します。このバーは現在のアクションの進捗を表示します。

- MainMessageOnly: いずれの進捗バーも表示しません。

図8-8に、EditCustomers-DT.xlsxワークブックの「アップロード」リボン・コマンドのStatusプロパティ・グループ用に構成された、プロパティ値およびそれに対応するビジュアル要素を示します。

図8-8 アクション・セットのステータス・メッセージ・プロパティ

Statusプロパティ・グループの詳細は、表A-14のStatusのエントリを参照してください。

オプションのDetailStatusMessageプロパティを使用して、追加の情報をユーザーに提供することもできます。DetailStatusMessageプロパティの詳細は、8.2.2項「アクション・セットのコンポーネント・アクションの起動方法」を参照してください。

4. 「OK」をクリックします。

8.2.6 実行時の処理: アクション・セットによるステータス・メッセージの表示

アクション・セットが起動されると、Statusプロパティがステータス・メッセージを表示するように構成されていれば、ステータス・メッセージが表示されます。図8-9は、EditCustomers-DT.xlsxワークブックのUploadリボン・コマンドに構成されているアクション・セットが実行される際、実行時に表示されるステータス・メッセージを示しています。

図8-9 ステータス・メッセージの実行時の表示

実行時にMessageプロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。Titleプロパティが空の場合、アクション・セット・コンテナ(ボタンまたはリボン・コマンドなど)のラベルが使用されます。コンテナのラベルも空の場合、ADFデスクトップ統合により提供されたデフォルト値が使用されます。

8.2.7 進捗バーに関する留意事項

進捗バーに関する次の情報に気をつけてください。

- アクション(alert、confirm、dialogまたはupload optionsなど)がユーザーの入力を求めると、進捗バー・ウィンドウは自動的に非表示になります。

- ADFmActionなどの一部のアクション・タイプは、詳細バーでの進捗の増分の表示をサポートしていません。たとえば、図8-10に、ModeがBothBarsAlwaysに設定されたCommitアクションの進捗バーを示します。詳細バーは表示されていますが、進捗を示してはいないことに注意してください。

図8-10 ADFmActionタイプの進捗バー

- Automaticモードで、アクション・セットに3つよりも少ないアクションしかない場合、ステータス・メッセージ・ダイアログには詳細な進捗バーのみが表示されます。アクション・セットに3つ以上のアクションがある場合、ダイアログにメイン・バーは必ず表示されますが、詳細な進捗バーは、アクション・セット内のいずれかのアクションが進捗の増分に対応している場合にのみ表示されます。どのアクションも進捗の増分に対応していない場合は、詳細バーは表示されません。

- 必要な場合、メインの進捗バーを表示せずに、詳細な進捗バーを表示することができます。このような構成は、問合せを実行した後にデータをダウンロードするといった、1つのすばやいアクションと1つの長いアクションを含むアクション・セットには有用な場合があります。

- 非常にすばやいアクション・セット(DisplayWorksheetErrorsなど)の場合、ベスト・プラクティスはステータス・メッセージを無効にすることです。

8.2.8 アクション・セットの起動後にアラートを発信する方法

エンド・ユーザーに対して、アクション・セットの操作が正常に完了したか、または失敗したかを通知するアラート・メッセージを表示できます。たとえば、アクション・セットのすべてのアクションが成功したときや、少なくとも1つは失敗があった場合にメッセージを表示できます。この動作は、ActionSet.Alertプロパティ・グループで構成します。

注意:

エンド・ユーザーがアクション・セットの実行をキャンセルした場合、アラート・メッセージは表示されません。たとえば、ポップアップ・ダイアログのWebページを起動するアクション・セットが実行を完了した後に表示されるようにアラート・メッセージを構成します。実行時には、エンド・ユーザーは、ポップアップ・ダイアログをホストするExcel Webブラウザ・コントロールの「閉じる」ボタンを使用してポップアップ・ダイアログを閉じることにより、アクション・セットの実行をキャンセルします。このシナリオでは、アラート・メッセージは表示されません。Webページの表示の詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

「アクションの編集」ダイアログを使用して、ActionSet.Alertプロパティ・グループの値を構成します。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットにアラートを追加するには:

1. 統合Excelワークブックを開きます。

2. 「アクションの編集」ダイアログを開きます。

3. 表8-2に従って、ActionSet.Alertプロパティ・グループのプロパティの値を設定します。

表8-2 ActionSet.Alertプロパティ・グループ

プロパティ

入力または選択する値

Enabled

ドロップダウン・リストからTrueを選択すると、アクション・セットの完了時にアラート・メッセージが表示されます。デフォルト値はFalseです。

FailureMessage

アクション・セットの実行時にエラーが発生した場合に、ダイアログに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。たとえば、EditCustomers-DT.xlsxワークブックの「アップロード」ボタンでは、FailureMessageプロパティに次の値が構成されています。

#{res['excel.customers.ribbon.download.alert.failure']}

「ダウンロード」ボタンは、アクション・セットを起動します。これは、続いてADF表コンポーネントのUploadアクションを起動します。FailureMessageに指定されたEL式は、Downloadアクションでエラーがあった場合、エラー・メッセージを取得します。エラー処理の詳細は、12.4項「統合Excelワークブックでレポートされるエラー」を参照してください。

OKButtonLabel

ダイアログの「OK」ボタンに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

SuccessMessage

アクション・セットの実行時にエラーが発生しなかった場合に、ダイアログに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

たとえば、EditCustomers-DT.xlsxワークブックの「ダウンロード」ボタンでは、SuccessMessageプロパティに次の値が構成されています。

#{res['excel.customers.ribbon.download.alert.success']}

図8-11は、EditCustomers-DT.xlsxワークブックでリボン・コマンドのAlertプロパティ・グループに構成された値を示しています。このリボン・コマンドには、実行時にDownloadというラベルが付きます。

図8-11 アクション・セットのアラート・メッセージ・プロパティ

4. 「OK」をクリックします。

8.2.9 実行時の処理: アクション・セットによるアラート発信

図8-12は、Downloadというラベルの付いたADFボタン・コンポーネントによって起動されるアクション・セットが正常に実行を完了したときに実行時に表示されるアラート・メッセージを示しています。

図8-12 アラート・メッセージの実行時の表示

実行時にFailureMessage、OKButtonLabelまたはSuccessMessageプロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。

8.2.10 アクション・セットのエラー処理の構成方法

アクション・セットのActionOptionsプロパティの値を指定して、次のイベントのいずれかが発生したときのアクション・セットの動作を決定します。

- アクション・セットのアクションの失敗

- アクション・セットのすべてのアクションが正常に完了

これらのエディタの起動方法、またはADFコンポーネントのプロパティ・インスペクタの詳細は、第5章「開発ツールの使用」を参照してください。 アクション・セットのプロパティの詳細は、表A-13を参照してください。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットのエラー処理を構成するには:

1. 統合Excelワークブックを開きます。

2. 適切なエディタまたはプロパティ・インスペクタを開いて、表8-3に従ってアクション・セットのActionOptionsプロパティの値を構成します。

表8-3 ActionOptionsプロパティ

設定するプロパティ

アクション

AbortOnFailure

True(デフォルト値)に設定すると、現在のアクションが失敗した場合、アクション・セットはそれ以降のアクションを一切実行しません。Falseに設定すると、前のアクションが成功か失敗かにかかわらず、アクション・セットはすべてのアクションを実行します。

FailureActionID

アクション・セットが正常に完了しなかった場合に起動するADFモデル・アクションを指定します。

たとえば、アクション・セットの起動が失敗したときに、加えられた変更をロールバックするADFモデル・アクションを指定できます。

FailureActionIDメソッドの実行中にレコード・セットの通貨を変更するアクション・セットの呼び出しは、サポートされていません。また、ロールバック・メソッドは、アクション・セットでFailureActionIDとして指定しないでください。

SuccessActionID

アクション・セットが正常に完了した場合に起動するADFモデル・アクションを指定します。

たとえば、commitアクションを実行するアクション・バインディングを指定できます。このプロパティの値はオプションで、commitアクションを実行するアクション・バインディングなど、最終のアクションをアクション・セット自体に指定できます。

SuccessActionIDメソッドの実行中にレコード・セットの通貨を変更するアクション・セットの呼び出しは、サポートされていません。

3. 「OK」をクリックします。

8.2.11 アクション・セット内の確認アクションの起動方法

確認アクションはエンド・ユーザーに対して、Confirmationアクションのプロパティで指定されたタイトルとプロンプトのメッセージを表示する簡単なメッセージ・ダイアログを提供します。

アクション・セットの実行は、エンド・ユーザーが提供されたボタンをクリックするまで一時停止します。ユーザーが「OK」をクリックすると、アクション・セットはアクション・セットの残りのアクションを続けます。ユーザーが「取消」をクリックすると、その時点でアクション・セットは中止され、残りのアクションは起動されません。エラーや成功がないため、FailureActionIDアクションやSuccessActionIDアクションは起動されません。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

Confirmationアクションをコンポーネントから起動するには:

1. 統合Excelワークブックを開きます。

2. 「アクションの編集」ダイアログを開き、ここの説明にあるように「追加」ボタンの下向き矢印をクリックしてドロップダウン・リストを開きます。

3. 「確認」を選択して、次のリストにあるようにプロパティを構成します。

- CancelButtonLabel
ダイアログの「取消」ボタンに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

- OKButtonLabel
ダイアログの「OK」ボタンに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

- Prompt
ダイアログのプロンプトとして表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

- Title
実行時に表示する確認ダイアログのタイトルに解決されるオプションのEL式またはリテラル値を指定します。

4. オプションで、構成するアクションの目的に関するコメントをAnnotationプロパティに入力します。このプロパティに設定する値には、機能的な影響はありません。

5. 「OK」をクリックします。

図8-13に、「ダウンロード」リボン・コマンドにデフォルトの属性値が指定された、「アクションの編集」ダイアログを示します。

図8-13 確認アクションの属性

8.2.12 実行時の処理: アクション・セットによる確認の提供

一度アクション・セットが起動されると、ユーザーに対して確認のプロンプトが表示されます。ユーザーが「OK」をクリックすると、次のアクションが実行され、「取消」をクリックすると、アクション・セットの実行はエラーなしに終了します。

注意:

ユーザーがConfirmationアクションをキャンセルする場合、FailureActionIDバインディングは実行されません。

図8-14は、デフォルトの確認ダイアログと「OK」ボタン、および「取消」ボタンを示します。

図8-14 確認のダイアログ

実行時にCancelButtonLabel、OKButtonLabelまたはPromptプロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。Titleプロパティが空の場合、アクション・セット・コンテナ(ボタンまたはリボン・コマンドなど)のラベルが使用されます。コンテナのラベルも空の場合、ADFデスクトップ統合により提供されたデフォルト値が使用されます。

8.3 実行時リボン・タブの構成

Oracle ADFの機能を起動するアイテムを持つExcelリボンの実行時リボン・タブを、統合Excelワークブックで構成できます。実行時リボン・タブ・グループでVisibleワークブック・プロパティをTrueに設定すると、このタブが実行時に表示されます。図8-15に示すように、Titleプロパティは、エンド・ユーザーに対して実行時に表示されるタブのタイトルを決定します。

図8-15 実行時リボン・タブのワークブック・プロパティ

実行時にはタブがリボンの最後のタブとして表示され、図8-16に示すように、構成したすべてのコマンドが様々なタブのグループとして表示されます。

図8-16 リボン・タブの実行時の表示

図8-17は、EditCustomers.xlsxの実行時のリボン・タブと、ワークシート用に構成された2つのコマンドを示しています。実行時には、コマンドはワークブックのコマンドを起動するアイテム、現在のワークシートのコマンドを起動するアイテム、すべてのデータをクリアするコマンド・グループ、ADFデスクトップ統合のバージョン情報を表示するコマンド・ワークグループの4つのグループに分類されます。

図8-17 EditCustomers.xlsxのリボン・タブの実行時の表示

エンド・ユーザーがワークブック・アクションを起動できるようにするコマンドが実行時リボン・タブに含まれるように、ワークブックのプロパティにあるWorkbook Commandsプロパティを構成します。ワークシートのプロパティにあるRibbon Commandsプロパティを構成して、ユーザーがアクション・セットを起動できるようにするアイテムがADFデスクトップ統合のタブに含まれるようにします。ワークシートのコマンド・アイテムは、ワークシートがアクティブな場合に表示されます。ワークブック・コマンドを削除すると、そのワークブックの実行時タブに表示されなくなります。あるグループのすべてのコマンドを削除すると、そのワークブックがアクティブなときはそのグループは表示されません。

図8-18は、SelectActionSetアクション・セットを起動するワークシートのアクションが表示される、実行時のワークシート・グループを示します。

図8-18 実行時のワークシート・グループ

8.3.1 実行時リボン・タブのワークブック・コマンド・ボタンの構成方法

実行時リボン・タブにワークブック・コマンド・ボタンを定義するには、いくつかのワークブック・プロパティを構成します。次の手順は、ワークブックのアクション、Loginを例に使用して、ワークブック・グループのアイテムを作成または削除する方法を示します。

始める前に:

Excelの実行時リボン・タブについて理解しておくと役立ちます。詳細は、8.3項「実行時リボン・タブの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ワークブックのコマンド・ボタンを定義するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークブック・プロパティの編集」ダイアログで、実行時リボン・タブを展開してワークブック・コマンドを選択します。Workbook Commandsの横にある参照(...)アイコンをクリックして、図8-19のようにダイアログを表示します。

図8-19 ワークブック・コマンドの編集ダイアログ

4. 「追加」をクリックして、次のようにワークブックのコマンド・ボタンのプロパティの値を指定します。

- Method
ワークブック・コマンド・ボタンが起動するワークブック・アクションを指定します。

- Label
実行時にラベルとして表示される値を入力フィールドに入力します。あるいは、参照(...)アイコンをクリックして式ビルダーを起動し、リソース・バンドルの文字列に解決されるEL式を記述します。

ラベルに表示される実行時の値は1024文字を超えることはできません。1024文字を超える実行時の値は、切り捨てられて1024文字のみが表示されます。

リソース・バンドルの使用の詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

ラベルの詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

5. 「OK」をクリックします。

注意:

ワークブック・コマンドの編集ダイアログでのワークブック・コマンドの順序は、実行時には無視されます。ワークブック・レベルのコマンドの順序とグループ化は、常に同じです。

8.3.2 実行時リボン・タブのワークシート・コマンド・ボタンの構成方法

ワークシートのコマンドを定義するには、プロパティ・インスペクタを使用してワークシートのプロパティを構成します。デフォルトでは、ワークシートのプロパティでワークシート・グループに定義されるコマンド・ボタンはありません。ワークシートのプロパティのRibbon Commandsプロパティで参照されるリストにメンバーを追加します。

注意:

コマンド・ボタンを表示するには、Runtime Ribbon Tab.Visibleワークブック・プロパティをTRUEに設定してください。Runtime Ribbon Tab.VisibleがFALSEに設定されていると、コマンド・ボタンは表示されません。ワークブックのプロパティの詳細は、表A-18を参照してください。

始める前に:

Excelの実行時リボン・タブについて理解しておくと役立ちます。詳細は、8.3項「実行時リボン・タブの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ワークシートのコマンド・ボタンを定義するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークシート・プロパティの編集」ダイアログで、Ribbon Commandsプロパティの入力フィールドの横にある参照(...)アイコンをクリックして、図8-20のようにエディタを起動します。図8-18は、実行時のコマンドがどのように表示されるかを示します。

図8-20 リボン・コマンドの編集ダイアログ

4. 「追加」をクリックして、コレクション・エディタの「メンバー」リストに新しいリボン・ボタンを追加します。

5. 「SelectActionSet」のプロパティを構成して、リボン・ボタンが起動するアクションのタイプを指定します。

6. 「OK」をクリックします。

注意:

- 実行時には、ワークシート・コマンドはリボン・コマンドの編集ダイアログで定義された順序で表示されます。

- ツールバーのリボン・コントロールは、すべての開いている統合ワークブックで共有されます。ツールバーの同じ場所を占める、異なるリボン・ボタンを使用している、2つ以上のワークブックを開いている場合、Excelではすべての開いているワークブックのうち最初に開かれたワークブックのキー・ヒントが必ず表示されます。これはExcelの制限です。

8.4 Fusion WebアプリケーションからのWebページの表示

アクション・セットでDialogアクションを構成して、Excelワークブックと統合するFusion Webアプリケーションからのページを表示します。これらのページによって、統合Excelワークブックに追加の機能が提供されます。これには、Fusion Webアプリケーションと対話する検索ダイアログや表示内容の選択ダイアログなどの機能があります。アップロード・オプションも構成できます。

アクション・セットのDialogアクションは、次の2つのタイプのダイアログのどちらかを表示するように構成できます。

- ポップアップ・ダイアログ

- 実行時作業ウィンドウ

コンポーネントのアクション・セットのプロパティDialog.Target(PopupまたはTaskPane)は、Webページがレンダリングされる場所を決定します。

Dialog.Pageプロパティの値は、アクションの起動時に表示されるWebページを指定します。有効な値は、WebAppRootプロパティの値の相対URL、または絶対URLです。

たとえば、EditableCustomerSearch-DT.xlsxワークブックは、ユーザーが実行時に顧客のフィルタリボン・コマンドをクリックすると起動するページの値として次の相対URLを指定します。

/faces/external/searchForm.jspx

次のような絶対URLも有効です。

http://www.oracle.com/technetwork/middleware/fusion-middleware/overview/index.html

注意:

DialogアクションはADFタスク・フローをサポートしていません。

8.4.1 ポップアップ・ダイアログでのWebページの表示方法

アクション・セットのDialogアクションを構成して、ExcelのWebブラウザ・コントロールによりホストされているモデル・ポップアップ・ダイアログのFusion WebアプリケーションからWebページを起動できます。この機能は、たとえばFusion Webアプリケーションからのページにより表示される値を、統合Excelワークブックに入力できるようにする機能をエンド・ユーザーに提供します。

アクション・セットが起動するWebページは、大/小文字区別のID属性がADFdi_CloseWindowに設定されている予約済HTML<span>要素を含む必要があります。

例8-1は、span要素の値を、f:verbatimタグのrenderedプロパティを使用して自動的に設定する方法を示します。

例8-1 予約済HTML <span>要素

<f:verbatim rendered="#{requestScope.searchAction eq 'search'}">
<span id="ADFdi_CloseWindow">Continue</span>
</f:verbatim>
<f:verbatim rendered="#{requestScope.searchAction eq 'cancel'}">
<span id="ADFdi_CloseWindow">Abort</span>
</f:verbatim>

図8-21は、EditableCustomerSearch-DT.xlsxワークブックのブラウザ・コントロールによりホストされるsearchForm.jspxページを示しています。

図8-21 「検索」ポップアップ・ダイアログ

例8-1に示すように、f:verbatimタグのrenderedプロパティが使用できない場合には、次のようにしなければならない場合があります。

1. Dialogアクションの結果の値をプロパティとして公開するバッキングBeanを作成します。

2. アクション・リスナーを使用して、バッキングBeanおよび<span>要素のEL式を起動し、ADFdi_CloseWindowの値をBeanプロパティの値に設定します。

どちらの方法を使用する場合でも、ADFデスクトップ統合はADFdi_CloseWindowの値を監視して、ポップアップ・ダイアログをいつ閉じるかを決定します。ADFdi_CloseWindowが参照するものによって、次のように動作が異なります。

- 空白の文字列を参照する場合、または文字列が存在しない場合は、ポップアップ・ダイアログは開いたままになります。

- "Continue"を参照する場合、ポップアップ・ダイアログが閉じて、アクション・セットが次のアクションを起動します。
次の例は、"Continue"という値が割り当てられたADFdi_CloseWindowを示します。

var closeWindowSpan = document.getElementById("ADFdi_CloseWindow");

closeWindowSpan.innerHTML = "Continue";

- 他のなんらかの文字列の値を参照する場合、ポップアップ・ダイアログは開いたままになります。

DialogアクションのTargetプロパティをPopupに設定して、ExcelのWebブラウザ・コントロールによりホストされるモーダルなポップアップ・ダイアログでFusion WebアプリケーションからのWebページを表示します。モーダルなポップアップ・ダイアログにWebページを表示する場合は、Excelの作業ウィンドウにWebページを表示するときとは異なります。これは、アクション・セットが起動するDialogアクションは、ユーザーからの入力があるまで実行を続けられないためです。ポップアップ・ダイアログが開いているときに、エンド・ユーザーは統合Excelワークブックの他の部分と対話することはできません。ポップアップ・ダイアログがフォーカスを保持します。

エンド・ユーザーは、ブラウザ・コントロールを閉じたり、ADFデスクトップ統合がブラウザ・コントロールを閉じるまでは、ブラウザ・コントロール内でFusion Webアプリケーションからの複数のWebページ間を移動できます。

エンド・ユーザーがデータ・コントロールに対して行う変更をポップアップ・ダイアログを通じてすぐに同期するには、アクション・セットの次のアクションをDialogアクションの後に指定して、変更されたすべてのバインディングをワークシート(DownSyncワークシート・アクションを使用)またはADF表コンポーネント(Downloadアクションを使用)にダウンロードします。このシナリオでは、"Continue"をADFdi_CloseWindowの値として指定することが前提です。

注意:

- エンド・ユーザーが統合Excelワークブックをダウンロードできるように、ポップアップ・ダイアログに表示されるWebページを構成する場合、エンド・ユーザーがダウンロード後にワークブックを開くと、統合ExcelワークブックのOracle ADF機能は無効になります。

- リスト・ボックスやドロップダウン・リストなどのHTML <select>コンポーネントを使用している場合、ページがDialogアクションによって表示されるときは<select>コンポーネントはz-orderの構成に従わない点に注意してください。.NET Webブラウザ・コントロールでは、レイヤー化された重複するコンポーネントを持つWebページ上で、<select>コンポーネントが他のコンポーネントの上に表示されることがあります。

- Titleプロパティが空白の場合、Webページのタイトルがダイアログ・ウィンドウのタイトルとして使用されます。

8.4.2 ADFデスクトップ統合の実行時作業ウィンドウでのWebページの表示方法

アクションのDialog.TargetプロパティをTaskPaneに設定して、ADFデスクトップ統合の作業ウィンドウのDialog.Pageプロパティで指定したWebページを表示できます。ポップアップ・ダイアログでWebページを表示するのとは対照的に、作業ウィンドウでWebページを表示すると、Webページを表示する間はアクション・セットでアクションの実行を継続できます。エンド・ユーザーは、Webページが表示されている間、統合Excelワークブックの他の部分にアクセスして対話することができます。

注意:

- Titleプロパティが空白の場合、タスク・ペインのタイトルも空白のままです。

- DialogアクションのTargetプロパティをTaskPaneに設定すると、ADFデスクトップ統合はADFdi_CloseWindowの値(および他の要素)を無視します。

8.4.3 Fusion Webアプリケーションからのページ表示に関する留意事項

Dialogアクションを起動するアクション・セットで追加のアクションを指定すれば、統合Excelワークブックに含まれるデータを、Fusion Webアプリケーションと同期した状態にできます。DialogアクションのShareFrameプロパティを設定することにより、Fusion Webアプリケーション・ページと統合Excelワークシートの両方が同じデータ・コントロール・フレームを使用するよう徹底することができます。

注意:

- カスタムのWebページがADF Facesに基づいていてポップアップ・ウィンドウを開く場合、そのWebページが正しく機能するには特定の方法で構成されている必要があります。コマンド・コンポーネントで、windowEmbedStyleをinlineDocumentに設定してください。詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』を参照してください。

- Dialog.PageプロパティではEL式は受け入れられません。

8.4.3.1 統合ExcelワークブックとFusion Webアプリケーションの同期

エンド・ユーザーがFusion Webアプリケーションからのページを使用する際に、統合ExcelワークブックとFusion Webアプリケーションが同期された状態のままとなるように、Dialogアクションを起動するアクション・セットを次のように構成します。

- Dialogアクションを起動する前に、統合ExcelワークブックからFusion Webアプリケーションに変更を送信します。
RowUpSyncワークシート・アクションを起動して、ADF表コンポーネントの現在の行からの変更を同期します。

- Dialogアクションを起動した後、Fusion Webアプリケーションから統合Excelワークブックに変更を送信します。
RowDownSyncワークシート・アクションを起動して、Fusion WebアプリケーションからADF表コンポーネントの現在の行へ変更を送信します。

DoubleClickActionSetについては、アクション・セットを実行した後で、サーバー・サイド・モデルがアクション・セットの実行前と同じ状態にあることを確認してください。ほとんどの場合は、アクション・セットの開始時には保留のコミットされていない変更はないため、DoubleClickActionSetの終了ごとにすべてのコミットされていない変更をロールバックするだけで十分です。

統合ExcelワークブックとFusion Webアプリケーション間でのデータ同期の詳細は、第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」を参照してください。 ワークシート・アクションとADF表コンポーネント・アクションの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。

8.4.3.2 統合ExcelワークシートとFusion Webアプリケーション・ページ間のデータ・コントロール・フレームの共有

Fusion Webアプリケーションと統合Excelワークブックは、どちらもデータ・コントロール・フレームを使用して、トランザクションとビュー・オブジェクトの状態、および拡張機能によってページ定義ファイルで公開されるバインディングを管理します。Fusion Webアプリケーションのページを統合Excelワークシートから起動すると、ページを起動するDialogアクションのShareFrameプロパティをTrueに設定することで、ページと統合Excelワークシートが両方とも同じデータ・コントロール・フレームを使用するように徹底できます。

DialogアクションのPageプロパティで、Dialogアクションが起動するページを指定します。Dialogアクションが絶対URLやFusion Webアプリケーションの一部でないページを起動する場合、ShareFrameがTrueに設定されていると、ADFデスクトップ統合はShareFrameの値を無視します。

次のシナリオではShareFrameをFalseに設定します。

- アクション・セットのDialog.Pageプロパティは、絶対URLまたはFusion Webアプリケーションの一部でないページを参照します。

- アクション・セットのDialog.Pageプロパティは、Fusion Webアプリケーションの一部であるページを参照しますが、統合Excelワークシートと情報を共有する必要はありません。たとえば、オンライン・ヘルプの情報を表示するページなどです。

Fusion Webアプリケーションのデータ・コントロール・フレームの詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のタスク・フロー間のデータ・コントロールの共有に関する項を参照してください。

8.4.3.3 ADFデスクトップ統合フレーム共有に対するFusion Webアプリケーションの構成

ADFデスクトップ統合の機能をFusion Webアプリケーションに追加する際、アプリケーションが自動的に構成されて、ADFデスクトップ統合のフレーム共有がサポートされます。フレーム共有によって、統合Excelワークブックの各ワークシートが専用のDataControlフレームを使用できます。それぞれのワークシートから起動されるダイアログで表示されるWebページは、統合Excelワークシートと同じDataControlフレームを共有できます。

Fusion Webアプリケーションがフレーム共有をサポートしていることを検証するには:

1. JDeveloperでFusion Webアプリケーション・プロジェクトを開きます。

2. 「アプリケーション」ウィンドウで、「アプリケーション・リソース」パネルを展開します。

3. 「ディスクリプタ」→「ADF META-INF」ノードにあるadf-config.xmlファイルを開きます。

4. 「ソース」タブをクリックして、ソース・エディタを開きます。

5. 次のadf-desktopintegration-servlet-config要素が、</adf-config>タブの前のファイルにあることを確認します。

<adf-desktopintegration-servlet-config xmlns="http://xmlns.oracle.com/adf/desktopintegration/servlet/config">
<controller-state-manager-class>
oracle.adf.desktopintegration.controller.impl.ADFcControllerStateManager
</controller-state-manager-class>
</adf-desktopintegration-servlet-config>

6. adf-config.xmlファイルを保存して、JDeveloperを閉じます。

8.5 ADF表の列へのカスタム・ポップアップ・ピッカー・ダイアログの追加

ADF表コンポーネントの列のサブコンポーネント(UpdateComponentまたはInsertComponent)のDoubleClickActionSetを構成して、エンド・ユーザーがADF表コンポーネントの列に挿入する値を選択する場合にピッカー・ダイアログをレンダリングするFusion Webアプリケーション・ページを起動できます。

この機能は、エンド・ユーザーがADF表コンポーネントに入力できる値を制限する場合に役立ちます。たとえば、エラーが発生しないようにエンド・ユーザーが手動で値を変更できないようにするため、実行時のADF表コンポーネント列をExcelワークシートで読取り専用にしたい場合などです。Fusion Webアプリケーションによってレンダリングされたピッカー・ダイアログを起動すると、エンド・ユーザーは正しくないデータを入力することなくADF表コンポーネントの値を変更できるようになります。

DoubleClickActionSetを構成するほか、次のようにする場合は、ADF表コンポーネントのRowData.CachedAttributesプロパティを属性バインディングの値を参照するように構成します。

- 統合ExcelワークブックのADF表コンポーネントに表示したくないFusion Webアプリケーションのページの値を、エンド・ユーザーが変更可能にする場合。

- ADF表コンポーネントの列を統合Excelワークブックで読取り専用にする場合。

- 1つ以上のユーザー・セッションを通じて、エンド・ユーザーには表示されないが、ピッカー・ダイアログで変更するADF表コンポーネントのデータをキャッシュする場合。
たとえば、ADF表コンポーネントではエンド・ユーザーに製品名のリストが表示されます。ピッカー・ダイアログは起動されて、ADF表コンポーネントで製品名のリストをリフレッシュし、プロセスの一環として、製品IDの値を設定します。このシナリオでは、ADF表コンポーネントのRowData.CachedAttributesプロパティの製品IDに属性バインディング値を指定します。アクション・セットが実行された後、ADF表コンポーネントはリフレッシュされた製品名のリストをExcelワークシートの行に表示し、そのRowData.CachedAttributesプロパティにある関連の製品IDを参照します。

選択ダイアログへの値の移入の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「データバインドされた選択リストとシャトルの作成」の章を参照してください。

ADF表コンポーネントからカスタム・ピッカー・ダイアログを起動するには:

1. 統合Excelワークブックを開きます。

2. ADF表コンポーネントを配置するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックして、プロパティ・インスペクタを表示します。

3. ADF表コンポーネントのRowData.CachedAttributesプロパティを構成して、属性バインディング値を参照します。

4. Columnsの入力フィールドの横にある参照(...)アイコンをクリックして、「列の編集」ダイアログを表示します。

5. 「メンバー」・リストで、エンド・ユーザーが実行時にピッカー・ダイアログを起動する元の列を選択します。

6. 列のサブコンポーネント(UpdateComponentまたはInsertComponent)のDoubleClickActionSetのActions属性を、表8-4に示すように構成します。

表8-4 DoubleClickActionSetプロパティ

追加するアクション

アクション

ADFmAction

(InsertComponentの場合のみ)エンド・ユーザーがExcelワークシートのADF表コンポーネントで新しく作成された行からDoubleClickActionSetを起動する場合、CreateInsertアクション・バインディングを起動します。このシナリオでは、ADF表コンポーネントのRowUpSyncアクション(次のアクションで起動)は、Fusion Webアプリケーションにプレースホルダの行が含まれていない場合は失敗します。

ComponentAction

ADF表コンポーネントのTable.RowUpSyncアクションを起動して、ADF表コンポーネントの現在の行にあるFusion Webアプリケーションに対するすべての保留中の変更を同期します。

Dialog

Dialogアクションを構成して、Fusion Webアプリケーションからピッカー・ダイアログを起動します。DialogアクションのShareFrameプロパティをTrueに設定します。詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

ComponentAction

ADF表コンポーネントのTable.RowDownSyncアクションを起動して、ワークシートの現在のADF表コンポーネント行に相当するFusion WebアプリケーションのADF表コンポーネントのイテレータの行からのデータを同期します。

ADFmAction

(InsertComponentの場合のみ)CreateInsertアクション・バインディングを追加した場合、Deleteアクション・バインディングも起動してプレースホルダ行を削除する必要があります。

図8-22は、DoubleClickActionSetプロパティの「アクションの編集」ダイアログを示します。

図8-22 DoubleClickActionSetプロパティ

7. 「OK」をクリックします。

8.6 統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成

ADF入力テキスト・コンポーネントとADFボタン・コンポーネントを使用して、統合Excelワークブックでフォームを作成できます。エンド・ユーザーは、作成されたフォームを使用して、データや情報の問合せを挿入できます。この項では後者の例を使用して、フォームの作成方法を説明します。

エンド・ユーザーはADF入力テキスト・コンポーネントに検索語句を入力し、ADFボタン・コンポーネントをクリックして一致する結果を取得します。検索処理でエンド・ユーザーにより洗練されたユーザー・インタフェースを提示するために、Fusion Webアプリケーションから検索フォームを起動できます。これらの検索処理の結果は、統合ExcelワークブックのADF表コンポーネントまたはADF読取り専用コンポーネントにダウンロードできます。

図8-23に、検索オプションを構成するのに使用されるOracle ADFコンポーネントの設計時の表示の例を示します。

1. ADFラベル・コンポーネントが単純検索フォームで使用されている

2. ADF入力テキスト・コンポーネントが単純検索フォームで使用されている

3. ADFボタン・コンポーネントが単純検索フォームで使用されている

4. ADFボタン・コンポーネントが拡張検索フォームを起動するために使用されている

図8-23 検索用のOracle ADFコンポーネント

注意:

ADFデスクトップ統合は、ページ定義ファイルでのFindMode属性の使用はサポートしていません。FindMode属性の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のpageNamePageDef.xmlに関する項を参照してください。

8.6.1 統合Excelワークブックの検索フォームの作成方法

エンド・ユーザーが検索語句を入力できるように、ADF入力テキスト・コンポーネントを挿入して構成します。ADFボタン・コンポーネントの挿入およびアクション・セットの構成は、次の目的で実行します。

1. エンド・ユーザーがADF入力テキスト・コンポーネントに入力する値の取得。

2. 値の問合せ。

3. 結果を統合ExcelワークブックのADF表コンポーネントまたはADF読取り専用表コンポーネントにダウンロード。

始める前に:

ADFデータ・バインド検索フォームについて理解しておくと役立ちます。詳細は、8.6項「統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

統合Excelワークブックで単純検索フォームを作成するには:

1. 統合Excelワークブックを開きます。

2. エンド・ユーザーに検索条件を入力させるExcelワークシートのセルにADF入力テキスト・コンポーネントを挿入します。

3. ユーザーが入力する検索語句を属性バインディングに割り当てるように、ADF入力テキスト・コンポーネントを構成します。

図8-24に、ADF入力テキストコンポーネントがユーザー入力の値をsearchTerm属性バインディングに割り当てる例を示します。可変イテレータの一部であるsearchTermは、続いてNamedData引数としてexecuteSimpleProductQueryメソッドに渡されます。

図8-24 単純検索フォームのADF入力テキスト・コンポーネント

4. オプションで、ADF入力テキスト・コンポーネントにスタイルを割り当てて、セルに検索語句を入力できることをエンド・ユーザーに示します。

5. オプションで、隣接するセルにADFラベル・コンポーネントを作成し、手順2で作成したADF入力テキスト・コンポーネントに検索語句を入力できることをエンド・ユーザーに示します。

6. ExcelワークシートにADFボタン・コンポーネントを作成します。

7. ADFボタン・コンポーネントのLabelプロパティを、実行時に文字列を表示するようにボタンをクリックすれば検索処理を実行できることをエンド・ユーザーに示します。

8. 「アクションの編集」ダイアログを開いて、ADFボタン・コンポーネントのClickActionSetプロパティのアクションの配列(Actionリスト)を構成します。表8-5は、順番に起動するアクションについて説明します。

表8-5 ADFボタン・コンポーネントのClickActionSetプロパティ

追加するアクション

アクション

Worksheet

UpSyncワークシート・アクションを起動して、ADF入力テキスト・コンポーネントやADF値リスト・コンポーネントをホストするセルに入力された値をFusion Webアプリケーションにコピーします。ワークシート・アクションの詳細は、A.13項「ワークシートのアクションとプロパティ」を参照してください。

ADFmAction

手順3で指定した属性バインディングにバインドされたADFモデル・アクションを起動します。ADFモデル・アクションは、属性バインディングによって参照されるエンド・ユーザーの検索語句に対して問合せを実行します。

Worksheet

DownSyncワークシート・アクションを起動して、Fusion Webアプリケーションからのすべての保留中の変更を、ワークシートのADF入力テキスト・コンポーネント、ADF出力テキスト・コンポーネント、ADF値リスト・コンポーネントに同期します。ワークシート・アクションの詳細は、A.13項「ワークシートのアクションとプロパティ」を参照してください。

Component

ADF表コンポーネントまたはADF読取り専用表コンポーネントからDownloadアクションを起動して、指定した検索条件と一致する結果をダウンロードします。

9. 「OK」をクリックします。
図8-25に、ADFボタン・コンポーネントが、エンド・ユーザーがADF入力テキスト・コンポーネントに入力した検索語句を使用して、executeSimpleProductQueryアクション・バインディングを起動する例を示します。

図8-25 単純検索フォームのADFボタン・コンポーネント

8.6.2 統合ExcelワークブックのWebページを使用した検索フォームの作成方法

ADFボタン・コンポーネントまたはリボン・コマンドを使用して、検索フォームをエンド・ユーザーに表示するFusion Webアプリケーションからページを起動することができます。ADFボタン・コンポーネントのアクション・セットを構成して、検索処理の検索結果が統合Excelワークブックにダウンロードされるように、ADF表コンポーネントまたはADF読取り専用コンポーネントについてDownloadアクションを起動します。

Fusion Webアプリケーションでの検索フォームの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のデータ・バインドされたADF検索フォームの作成に関する項を参照してください。

始める前に:

ADFデータ・バインド検索フォームについて理解しておくと役立ちます。詳細は、8.6項「統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

統合ExcelワークブックからWebページを起動するには:

1. 統合Excelワークブックを開きます。

2. ADFボタン・コンポーネントまたはリボン・コマンドをExcelワークシートに作成します。

3. 実行時に文字列を表示するようにコンポーネントのLabelプロパティを設定し、ボタンをクリックすれば検索処理を実行できることをエンド・ユーザーに示します。

4. 「アクションの編集」ダイアログを使用して、コンポーネントのClickActionSetプロパティ(リボン・コマンドを構成している場合にはSelectActionSetプロパティ)のアクションの配列(Actionリスト)を構成します。表8-6は、順番に起動するアクションについて説明します。

表8-6 拡張検索フォームを起動するアクション

追加するアクション

アクション

Dialog

検索フォームを含むFusion Webアプリケーションからのページを表示します。Fusion Webアプリケーションからのページを表示する詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

ComponentAction

ADF表コンポーネントまたはADF読取り専用表コンポーネントからDownloadアクションを起動して、指定した検索条件と一致する結果をダウンロードします。

5. 「OK」をクリックします。

図8-26に、リボン・コマンドのSelectActionSetにDialogアクション、その後にADF表コンポーネントのDownloadアクションが含まれる、EditableCustomerSearch-DT.xlsxワークブックの例を示します。エンド・ユーザーがリボン・コマンドを起動すると、Dialogアクションは検索ページ(searchForm.jspx)をブラウザ・ウィンドウに表示します。エンド・ユーザーが検索ページに検索条件を指定し、そこでSearchボタンを選択すると、ADF表コンポーネントのDownloadアクションが実行されます。これにより、指定した検索条件に一致する行が統合ワークシートに取得されます。

図8-26 Webページを開くように構成されたリボン・コマンド

図8-27に、実行時にWebページの検索フォームを示します。

図8-27 Webページの検索フォーム

8.7 統合Excelワークブックでのフォームの作成

第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」の説明にあるADFデスクトップ統合コンポーネントを使用して、統合Excelワークブックでフォームを作成できます。これらのコンポーネントは、エンド・ユーザーに対して、表タイプ・コンポーネントにより提供される機能を使用してFusion Webアプリケーションからのデータ行をダウンロードするのでなく、個々のフィールドを表示、閲覧する機能を提供するときに役立ちます。次のコンポーネントを使用してフォームを作成します。

- ADFボタン
このコンポーネントを使用して、ClickActionSetを起動できるボタンをエンド・ユーザーに提供します。図8-28はSearchというラベルの付いたADFボタンを示し、これはエンド・ユーザーがADF入力テキスト・コンポーネントに入力した検索語句を使用して、検索処理を起動します。

- ADF入力テキスト
このコンポーネントを使用して、バインディングの現在の値を表示される読取り/書込みフィールドをエンド・ユーザーに提供します。また、このコンポーネントは、図8-28,に示すように値の入力にも使用できます。つまり、ユーザーがADF入力テキスト・コンポーネントに検索語句を入力します。

- ADF出力テキスト
このコンポーネントを使用して、バインディングの現在の値を表示される読取り専用フィールドをエンド・ユーザーに提供します。

- ADF値リスト
このコンポーネントを使用して、ユーザーがリスト・バインディングから値を選択できるドロップダウン・メニューをエンド・ユーザーに提供します。

- ADFラベル
このコンポーネントを使用して、作成するフォームの使用方法の説明や他の情報をエンド・ユーザーに提供します。たとえば、EditWarehouses-DT.xlsxワークブックはADFラベル・コンポーネントを使用してフォームのタイトルを表示します。図8-28に、タイトル・テキストEdit Summit Warehousesのラベルを示します。

図8-28 統合Excelワークブックのフォームの実行時の表示

ADFデスクトップ統合の作業ウィンドウを使用して、必要なコンポーネントをワークシートに挿入します。

統合Excelワークブックでフォームを作成するには:

1. 完了したフォームにどのADFフォーム・コンポーネントが必要かを決定し、それを統合Excelワークシートに挿入します。
これらのコンポーネントの詳細は、第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」を参照してください。

2. 挿入するコンポーネントのレイアウトと外観を構成します。
コンポーネントの外観の構成の詳細は、第9章「統合Excelワークブックの外観の構成」を参照してください。

3. フォームをテストします。
統合Excelワークブックのテストの詳細は、第13章「統合Excelワークブックのテスト」を参照してください。

8.8 統合Excelワークブックでの依存値リストの作成

ADFデスクトップ統合は、統合Excelワークブックでの値リストの作成に使用する次のコンポーネントを提供します。

- ADF値リスト
Excelワークシートで値リストを作成するときに、このコンポーネントのプロパティを構成します。

- TreeNodeListサブコンポーネント
ADF表コンポーネント列で値リストを作成するときに、このコンポーネントのプロパティを構成します。

これら2つのコンポーネントを使用して、統合Excelワークブックに依存値リストを作成できます。依存値リストとは、値リスト・コンポーネント(子の値リスト)で、値は別の値リスト・子(親の値リスト)によって決定されます。

サーバーサイド・リスト・バインディングを、親の値リストの選択された項目が変更になったときに、使用可能な子の値リストの項目が正しく更新されるように定義する必要があります。図8-29は、EditWarehouses-DT.xlsxワークブックの2つの画面を使用した例で、ここではRegionフィールド(親の値リスト)の値が変わると、Countryフィールド(子の値リスト)が変更になります。

図8-29 値のリストと値の依存リスト

表8-7は、以前にリストしたコンポーネントを使用して作成できる依存値リストの実装と、それぞれの実装を完了するための要件を示します。

表8-7に説明する実装には、モデルドリブン・リストが必要なものがあります。モデルドリブン・リストの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のモデルドリブン・リストの作成方法に関する項を参照してください。

表8-7 依存値リストの構成オプション

構成

要件

ADF値リスト・コンポーネントを使用して、Excelワークシートで親と子の値リストの両方をレンダリングします。

ADF値リスト・コンポーネントの両方のインスタンスがリスト・バインディングを参照する必要があります。参照するリスト・バインディングの1つまたは両方をモデルドリブン・リストにすることができます。

両方のリスト・バインディングがモデルドリブン・リストを参照できるのは、基底にあるイテレータに少なくとも1つのデータ行がある場合のみです。実行時に基底のイテレータにデータ行がなく、エンド・ユーザーが親リスト(ADF値リスト・コンポーネントのDependsOnListIDプロパティにより参照されるリスト・バインディング)からの値を選択する場合、子の値リスト(ADF値リスト・コンポーネントのListIDプロパティにより参照されるリスト・バインディング)は、エンド・ユーザーが選択する値に基づいてフィルタ処理されません。

このシナリオを回避するには、次のオプションのいずれかを選択します。

- 基底にあるイテレータに少なくとも1つのデータ行があることを確認

- 複数のイテレータを公開して、必要なすべてのイテレータがリフレッシュされる別のリスト・バインディング構成を使用

詳細は、8.8.1項「Excelワークシートでの依存値リストの作成方法」を参照してください。

TreeNodeListサブコンポーネントを使用して、ADF表コンポーネント列で親と子の値リストをレンダリングします。

親と子の値リスト(TreeNodeListサブコンポーネント)は、どちらもモデルドリブン・リストに関連付けられたツリー・バインディング属性を参照する必要があります。

詳細は、8.8.3項「ADF表コンポーネント列での依存値リストの作成方法」を参照してください。

TreeNodeListサブコンポーネントを使用して、ADF値リスト・コンポーネントで親の値リストを、ADF表コンポーネント列で子の値リストをそれぞれレンダリングします。

子の値リスト(TreeNodeListサブコンポーネント)は、モデルドリブン・リストに関連付けられたツリー・バインディング属性を参照する必要があります。親の値リスト(ADF値リスト・コンポーネント)がリスト・バインディングを参照する必要があります。

詳細は、8.8.5項「ExcelワークシートおよびADF表コンポーネント列での依存値リストの作成」を参照してください。

依存値リストを作成する場合は、次の点に注意してください。

- DependsOnListまたはDependsOnListIDによって参照されるセルの値が変更されると、ADFデスクトップ統合は、エンド・ユーザーへの警告なしに子のコンポーネント値リストへの以前の変更をすべて上書きします。

- DependsOnList(またはDependsOnListID)プロパティで指定されたリストがExcelワークシートのコンポーネントで参照されていないかぎり、依存値リストは機能しません。

- 再帰的な依存関係が定義されている場合(リストAがリストBに依存し、リストBがリストAに依存)、最初の依存関係(リストAがリストBに依存)が期待される動作をトリガーします。ADFデスクトップ統合は、他の依存関係を誤った構成と見なします。

- 次のようにして依存関係の連鎖を作成できます。

- リストAがリストBに依存

- リストBがリストCに依存

このシナリオでは、リストCの変更(祖父母の値リスト)がリストA(孫の値リスト)とリストB(子の値リスト)の両方を更新します。同様のシナリオを作成する場合、親の値リストの選択内容が変わったときに、孫の値リストと子の値リストがどちらも確実にリフレッシュされるようにする必要があります。孫の値リストに2つのバインド変数を指定し、ビュー属性に暗示的な依存関係を設定することにより、これを行います。もうひとつの方法は、モデルドリブン・リストが構成されているそれぞれのビュー属性間に明示的な属性の依存関係を制限することです。たとえば、属性Aが属性Bと属性Cに依存し、属性Bが属性Cに依存するように指定します。

- 依存値リストのキャッシュの詳細は、15.4項「切断されたモードで使用するための値リストのキャッシング」を参照してください。

- ADFデスクトップ統合は、依存値リストに表示される値をキャッシュします。したがって、親リストの選択に対する依存リストの項目の値は、ADF表コンポーネントのすべての行で一貫している必要があります。

- 日付値を使用するADF値リスト・コンポーネントはサポートされていません。

8.8.1 Excelワークシートでの依存値リストの作成方法

ADF値リスト・コンポーネントの2つのインスタンスを使用して、Excelワークシートで依存値リストを作成します。

親のADF値リスト・コンポーネントによって参照されるリスト・バインディングを、子のADF値リスト・コンポーネントのListOfValues.DependsOnListIDプロパティの値に指定します。

ADF値リストの詳細は、A.5項「ADF値リスト・コンポーネントのプロパティ」を参照してください。

始める前に:

依存値リストについて理解しておくと役立ちます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

Excelワークシートで依存値リストを作成するには:

1. 存在しない場合は、必要なリスト・バインディングをページ定義ファイルに追加します。
ページ定義ファイルへのバインディングの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

2. 統合Excelワークブックを開きます。

3. 6.6項「ADF値リスト・コンポーネントの挿入」の説明に従って、2つのADF値リスト・コンポーネントを統合Excelワークブックに挿入します。

4. 依存値リストで親となるADF値リスト・コンポーネントのプロパティ・インスペクタで、ListOfValues.ListIDプロパティの値を親となるリスト・バインディングに設定します。

5. 依存値リストで子となるADF値リスト・コンポーネントのプロパティ・インスペクタで、次のプロパティを設定します。

- ListOfValues.ListID
依存値リストで子となるリスト・バインディングを指定します。

- ListOfValues.DependsOnListID
手順4でADFリスト値コンポーネントに親として指定したリスト・バインディングを選択します。

図8-30は、子のADF値リストのプロパティ・インスペクタを示しています。ここでは、RegionIdリスト・バインディングが親の値リストとして指定され、CountryIdリストが依存値リストです。

図8-30 Excelワークシートの設計時の依存値リスト

6. 「OK」をクリックします。

8.8.2 実行時の処理: Excelワークシートによる依存値リストのレンダリング

実行時にはADFデスクトップ統合は、ADF値リスト・コンポーネントの両方のインスタンスをレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。

図8-31は、依存値リストのCountryが、選択されたRegionリスト値からの状態のみを表示する様子を示しています。

図8-31 Excelワークシートの実行時の依存値リスト

8.8.3 ADF表コンポーネント列での依存値リストの作成方法

TreeNodeListサブコンポーネントのインスタンスを使用して、ADF表コンポーネント列の依存値リストで両方の値リストを実行時にレンダリングします。

ツリー・バインディング属性を親のTreeNodeListサブコンポーネントのListプロパティの値に指定します。また、ツリー・バインディング属性を子のTreeNodeListサブコンポーネントのListプロパティに、親のTreeNodeListサブコンポーネントにより参照される同じツリー・バインディング属性をDependsOnListプロパティの値にそれぞれ指定します。

両方のツリー・バインディング属性が、ツリー・バインディングをページ定義ファイルに追加する前に、モデルドリブン・リストに関連付けられていることを確認してください。モデルドリブン・リストの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のモデルドリブン・リストの作成方法に関する項を参照してください。ページ定義ファイルへのツリー・バインディングの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

TreeNodeListサブコンポーネントの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

始める前に:

依存値リストについて理解しておくと役立ちます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ADF表コンポーネントに依存値リストを作成するには:

1. 統合Excelワークブックを開きます。

2. 存在しない場合は、ADF表コンポーネントを挿入します。
詳細は、7.3項「ExcelワークシートへのADF表コンポーネントの挿入」を参照してください。

3. Columnsの入力フィールドの横にある参照(...)アイコンをクリックすることにより、ADF表コンポーネントのプロパティ・インスペクタで、「列の編集」ダイアログを起動します。

4. 新しい列を追加(または既存の列を変更)して親の値リストとします。列のサブコンポーネント・タイプとしてTreeNodeListを指定します。値リストの作成の詳細は、7.14項「ADF表コンポーネント列での値リストの作成」を参照してください。

5. 新しい列を追加(または既存の列を変更)して子の値リストとします。列のサブコンポーネント・タイプとしてTreeNodeListを指定します。値リストの作成の詳細は、7.14項「ADF表コンポーネント列での値リストの作成」を参照してください。

6. 親の値リストのツリー・バインディング属性をDependsOnListプロパティの値として、子の値リストの列に指定します。
図8-32は、依存TreeNodeListサブコンポーネントのプロパティ・インスペクタを示しています。ここでは、RegionIdツリー・バインディング属性が親の値リストに指定され、CountryIdツリー・バインディング属性が子の値リストに指定されます。

図8-32 ADF表コンポーネント列の設計時の依存値リスト

7. 「OK」をクリックします。

8.8.4 実行時の処理: ADF表コンポーネント列による依存値リストのレンダリング

実行時にはADF表コンポーネントは、TreeNodeListサブコンポーネントの両方のインスタンスを、これらのインスタンスを表示するよう構成した列にレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。

図8-33は、Region列の値リストでエンド・ユーザーが選択する値が、Country列の値リストに表示されるサブカテゴリの対応する値となる様子を示しています。

図8-33 ADF表コンポーネント列の実行時の依存値リスト

注意:

子のリストと親のリストが同じADF表コンポーネントの列にバインドされている場合、エンド・ユーザーが親リストの選択内容を変更すると、現在の行の子のリスト項目のみが変更されます。

8.8.5 ExcelワークシートおよびADF表コンポーネント列での依存値リストの作成

ADF値リスト・コンポーネントのインスタンスとTreeNodeListサブコンポーネントのインスタンスを使用して、親と子の値リストをレンダリングする依存値リストを作成します。

- Excelワークシートの親の値リスト
ADF値リスト・コンポーネントのインスタンスは、親の値リストをExcelワークシートにレンダリングします。

- ADF表コンポーネント列の子の値リスト
TreeNodeListサブコンポーネントのインスタンスは、子の値リストをADF表コンポーネント列にレンダリングします。

親のADF値リスト・コンポーネントのListIDプロパティの値として、リスト・バインディングを指定します。ツリー・バインディング属性を子のTreeNodeListサブコンポーネントのListプロパティに、親のADF値リスト・コンポーネントによって参照される同じリスト・バインディングをDependsOnListプロパティの値にそれぞれ指定します。

ツリー・バインディング属性が、ツリー・バインディングをページ定義ファイルに追加する前に、モデルドリブン・リストに関連付けられていることを確認してください。モデルドリブン・リストの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のモデルドリブン・リストの作成方法に関する項を参照してください。ページ定義ファイルへのリストおよびツリー・バインディングの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

ADF値リスト・コンポーネントの詳細は、A.5項「ADF値リスト・コンポーネントのプロパティ」を参照してください。 TreeNodeListサブコンポーネントの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

始める前に:

依存値リストについて理解しておくと役立ちます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ExcelワークシートとADF表コンポーネント列に依存値リストを作成するには:

1. 統合Excelワークブックを開きます。

2. 6.6項「ADF値リスト・コンポーネントの挿入」の説明に従って、ADF値リスト・コンポーネントを統合Excelワークブックに挿入します。

3. ADF値リスト・コンポーネントのプロパティ・インスペクタで、ListIDプロパティの値を、依存値リストで親の値リストとなるリスト・バインディングに設定します。

4. 「OK」をクリックします。

5. 、ADF表コンポーネントのプロパティ・インスペクタを開き、Columnsの入力フィールドの横にある参照(...)アイコンをクリックすることにより、「列の編集」ダイアログを起動します。

6. 「追加」をクリックして、実行時の依存値リストで子の値リストとなる新しい列をADF表コンポーネントに追加します。

7. 新しく作成した列に適切なオプションを選択します。

- InsertComponentの入力フィールドの横にある参照(...)アイコンをクリックして、挿入操作の実行時の値リストを構成します。

- UpdateComponentの入力フィールドの横にある参照(...)アイコンをクリックして、更新操作とダウンロード操作の実行時の値リストを構成します。

両方のオプションでも、作成するサブコンポーネントの選択ダイアログが表示されます。

8. TreeNodeListを選択して、「OK」をクリックします。

9. 手順7で選択したプロパティを展開して、次のように値を構成します。

- 3でADF値リスト・コンポーネントのListIDプロパティの値に指定したものと同じリスト・バインディングを、DependsOnListプロパティの値として選択します。

- Listプロパティのモデルドリブン・リストに関連付けられたツリー・バインディング属性を選択します。

- 必要に応じてReadOnlyプロパティを構成します。

10. 「OK」をクリックします。
図8-34は、WarehouseLocations-DT.xlsxの子のADFデスクトップ統合のツリー・ノード・コンポーネントのADF表プロパティ・インスペクタを示し、ここでRegionListリスト・バインディングは、親の値リストとして指定されます。

図8-34 ExcelワークシートおよびADF表コンポーネント列の設計時の依存値リスト

8.8.6 実行時の処理: ExcelワークシートとADF表コンポーネント列による依存値リストのレンダリング

実行時にはADF値リスト・コンポーネントは親の値リストをレンダリングし、ADF表コンポーネントは子の値リストをTreeNodeListサブコンポーネントを表示するよう構成した列にレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。

図8-35に、エンド・ユーザーがRegion値リストで選択する値によって、ADF表コンポーネントのCountry列に表示される値リストが決まる、WarehouseLocations-DT.xlsxの例を示します。

図8-35 ExcelワークシートおよびADF表コンポーネント列の実行時の依存値リスト

注意:

親のリストがワークシートのセルにバインドされて、子のリストがADF表コンポーネント列にバインドされている場合、エンド・ユーザーが親リストの選択内容を変更すると、表のすべての行に対して子のリスト項目が更新されます。

8.9 Excel式を生成するためのEL式の使用

EL式を使用して、ADFコンポーネントの値としてExcel式を生成できます。たとえば、EL式でHYPERLINK関数を使用できます。EL式でExcelのHYPERLINK関数を使用する場合、ADF出力テキスト・コンポーネントなどのOracle ADFコンポーネントを使用して、実行時にハイパーリンクを表示するには、HYPERLINK関数をExcelのT関数内に囲む必要があります。

ADFデスクトップ統合はExcelの式を認識するため、HYPERLINK関数を囲む必要があります。これを回避するには、HYERLINK関数の回りにT関数を配置して、HYPERLINK関数の値がT関数によって評価されるようにします。結果の値は、ADFコンポーネントが参照するExcelのセルに挿入されます。HYPERLINK Excel関数を起動するEL式を記述する際は、次の構文を使用します。

=T("=HYPERLINK(""link_location"",""friendly_name"")")

例8-2のEL式は、エンド・ユーザーがコンポーネントをクリックすると、HYPERLINK関数を使用してhttp://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.htmlに移動します。

例8-2 HYPERLINK関数

=T("=HYPERLINK(""http://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.html"", ""#{res['excel.workbook.powerby']}"")")

HYPERLINK関数を使用してEL式を記述する場合、エラー・メッセージが表示されないようにするため、適用するカスタムのスタイルの「セルのフォーマット」ダイアログの「保護」タブの「ロック済」チェック・ボックスを選択する必要があります。

注意:

EL式を計算式に使用している場合、EL式の評価後に、結果のExcel式が255文字を超えないことを確認します。これはエディタでコンポーネントのプロパティに条件値を設定するのに使用される式に適用されます。

8.9.1 EL式を使用してハイパーリンクを表示する際のセルの構成方法

ExcelのT関数を使用するEL式を記述して、ExcelのHYERLINK関数の出力を評価します。次の作業は、ADF出力テキスト・コンポーネントが、Oracle ADFデスクトップ統合ホーム・ページを開くハイパーリンクを表示するように構成される様子を示します。

始める前に:

動的なハイパーリンクについて理解しておくと役立ちます。詳細は、8.9項「Excel式を生成するためのEL式の使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

セルを構成し、EL式を使用してハイパーリンクを表示するには:

1. 統合Excelワークブックを開きます。

2. ADF出力テキスト・コンポーネントをExcelワークシートに挿入します。

3. ADF出力テキスト・コンポーネントのValueプロパティにEL式を記述します。
記述するEL式は、Excel HYPERLINK関数を起動して、出力を評価するためにExcel T関数を使用します。例8-2では、Valueプロパティに次のEL式を入力しました:

=T("=HYPERLINK(""http://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.html"", ""#{res['excel.workbook.powerby']}"")")

注意:

Excelでは、式を正しく評価できるように、EL式に二重の二重引用符(""#{res['excel.workbook.powerby']}""など)を記述する必要があります。

4. 「OK」をクリックします。

8.9.2 実行時の処理: EL式を使用したセルによるハイパーリンクの表示

ADFデスクトップ統合は、記述するEL式を実行時に評価します。次の例では、ADFデスクトップ統合は次のことを実行します。

- リソース・ファイルからexcel.workbook.powerbyの値を取得します。

- ユーザーがクリックできる、ハイパーリンクの付いたセルに結果を挿入

図8-36は、8.9.1項「EL式を使用してハイパーリンクを表示する際のセルの構成方法」で構成した例の実行時の表示を示しています。ADF出力テキスト・コンポーネントをホストするセルをエンド・ユーザーがクリックすると、Oracle ADFデスクトップ統合ホーム・ページがWebブラウザに開きます。

図8-36 ハイパーリンクを表示するよう構成されたADF出力テキスト・コンポーネント

8.10 統合Excelワークブックでの計算済セルの使用

統合Excelワークブックで値の計算を実行するExcel式を記述できます。統合Excelワークブックで値を計算するExcel式を記述する前に、次の点に注意してください。

- 式は、Oracle ADFバインディングを参照するセルと参照しないセルに入力できます。

- 統合Excelワークブックのエンド・ユーザーは実行時に式を入力できます。

- 統合Excelワークブックの開発者は、設計時に式を入力できます。

- 起動時には、ADF表コンポーネント・アクションUploadとRowUpSyncが、式の計算結果をFusion Webアプリケーションに送信しますが、式自体は送信されません。

- Oracle ADFバインディングを参照するセルが次の処理によって変更された場合、Excelではこれらのセルの式が再計算されます。

- ADF表コンポーネントRowDownSyncアクションとDownloadアクションの起動

- Oracle ADFコンポーネントのレンダリング

- ADF表コンポーネントとADF読取り専用コンポーネントは、行がFusion Webアプリケーションからのデータを受け入れるために収縮すると同時に、行を挿入または削除します。式はExcel独自のルールに従って複製されます。

- ADF表コンポーネントまたはADF読取り専用表コンポーネントを参照するセルの上または下に式を入力できます。これらのコンポーネントの下に入力した式は、表示される行数を受け入れるためにコンポーネントが収縮する際、コンポーネントを基準にしてその位置を保持します。

Excel関数の詳細は、Excelのオンライン・ヘルプ・ドキュメントの関数の参照の項を参照してください。

8.10.1 表タイプ・コンポーネント列の合計の計算方法

次の作業は、Excel関数のSUMとOFFSETを使用して、Differenceとラベル付けされた列の合計を実行時に計算する様子を示します。ADF表コンポーネントまたはADF読取り専用表コンポーネントがダウンロードする行数に基づいて、拡張または収縮するセルの範囲を参照する場合に、記述するExcel式でOFFSET関数を使用します。SUM関数が、Excelのセル範囲の合計を計算します。

始める前に:

統合Excelワークブックでの計算されたセルの使用方法を理解しておくと役立ちます。詳細は、8.10項「統合Excelワークブックでの計算済セルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ADF表コンポーネントで列の合計を計算するには:

1. 設計モードで、Excel式を記述するセルを選択します。たとえば、H16です。

2. 実行時にセル範囲で計算を実行するExcel式を記述します。例:
=SUM(OFFSET(G14,1,0):OFFSET(G15,-1,0))

SUMは、現在G14とG15によって参照されているセル範囲の値の合計を計算します。

図8-37は、統合ExcelワークブックのExcel式の設計時の表示を示します。

図8-37 統合ExcelワークブックのExcel式の設計時の表示

3. 変更を保存して実行時モードに切り替え、入力したExcel式が正しく評価されるかテストします。

8.10.2 実行時の処理: Excelによる表タイプ・コンポーネント列の合計計算

図8-38は、図8-37のExcel式が評価されるときの、統合Excelワークブックの実行時の表示です。このExcel式は、設計モードで指定したセル範囲にある値の合計を計算します。

図8-38 統合ExcelワークブックのExcel式の実行時の表示

8.11 統合Excelワークブックでのマクロの使用

統合ExcelワークブックのExcelイベントに基づいて、マクロを定義して実行できます。

次の点に注意してください。

- Excelイベントによってトリガーされるマクロは、ExcelイベントがADFデスクトップ統合によって起動する場合はトリガーされません。

- Excelイベントによって起動されるADFデスクトップ統合コードは、Excelイベントがマクロによってトリガーされるときに実行されます。

9 統合Excelワークブックの外観の構成

この章では、Excelでの定義済スタイルおよびカスタム・スタイルを使用して統合Excelワークブックの外観を構成する方法、EL式を使用して実行時にワークブックのOracle ADFコンポーネントにスタイルを動的に適用する方法、ラベルを使用してExcelワークブックをブランディングする方法、およびワークシート保護機能を使用する方法についても説明します。

この章の内容は次のとおりです。

- 9.1項「統合Excelワークブックの外観の構成の概要」

- 9.2項「スタイルの使用」

- 9.3項「EL式を使用した動的なスタイルの適用」

- 9.4項「統合Excelワークブックでのラベルの使用」

- 9.5項「操作性を向上するスタイルの使用」

- 9.6項「統合Excelワークブックのブランディング」

- 9.7項「ワークシート保護の使用」

9.1 統合Excelワークブックの外観の構成の概要

Excel機能とOracle ADF機能の両方を使用して、統合Excelワークブックの外観を構成できます。ワークブックの外観を構成すると、エンド・ユーザーにとってのワークブックの使い勝手をよくすることができます。たとえば、実行時にADF出力テキスト・コンポーネントをレンダリングするセルに特定のスタイルを適用して、そのセルが読取り専用であることをエンド・ユーザーに示すことができます。また、会社のスタイル・シートやExcelワークブックが統合するFusion Webアプリケーションの色のスキームと一致するように、統合Excelワークブックの外観を構成する場合もあります。

統合Excelワークブックでスタイルを使用してデータを構成することには、様々な利点があります。たとえば、ADF出力テキスト・コンポーネントに特定のスタイルを使用し、ADF入力テキスト・コンポーネントには異なるスタイルを使用できます。

ADFデスクトップ統合には、ワークブックで構成するADFデスクトップ統合コンポーネントに適用する事前定義済のExcelスタイルがいくつか用意されています。デスクトップ統合プロジェクトのニーズを満たすために、追加のスタイルを定義することもできます。その場合は、ロケールや地域、言語に応じて様々にレンダリングされるExcelワークブックの形式を十分に理解しておいてください。

9.1.1 統合Excelワークブックの構成のユースケースおよび例

スタイルを使用して、ADFデスクトップ統合のコンポーネントの外観をカスタマイズできます。その例として、図9-1は、EditCustomers-DT.xlsxのADF表の列に適用される様々なスタイルを示しています。図9-1に示すスタイルの一部は事前定義済スタイルで(例: _ADFDI_TableCellStyle)、その他はExcelが作成したもの(例: Explanatory Text)です。

図9-1 EditCustomers-DT.xlsxのADF表の列に適用されるスタイル

9.1.2 統合Excelワークブックの外観を構成するための追加の機能

統合Excelワークブックの外観を構成するためにスタイルを適用した後、ワークブックを構成するための機能をさらに追加することが必要になる場合があります。使用可能な他の機能へのリンクは次のとおりです。

- ブランディング: ADFデスクトップ統合には、スタイル以外にもプロパティの集合(BrandingItems)が用意されており、これによって、アプリケーション名、アプリケーションのバージョン詳細および著作権情報を使用した統合Excelワークブックのブランディングが可能になります。詳細は、9.6項「統合Excelワークブックのブランディング」を参照してください。

- ローカライズ: Fusion Webアプリケーションでの国際化およびローカライズの処理の一部として、統合Excelワークブックをカスタマイズできます。詳細は、第10章「統合Excelワークブックの国際化」を参照してください。

9.2 スタイルの使用

ADFデスクトップ統合には、Excelで定義されたスタイルを実行時に一部のOracle ADFコンポーネントに適用するメカニズムが用意されています。スタイルの適用をサポートするOracle ADFコンポーネントには、名前にStyleNameを含むプロパティがあります。たとえば、ADF表コンポーネントとADF読取り専用表コンポーネントの列プロパティは、実行時に適用されるスタイルを決定するプロパティHeaderStyleNameおよびCellStyleNameをサポートします。

9.2.1 ADFデスクトップ統合の事前定義済スタイル

多くのプロパティには、ADFデスクトップ統合モジュールのスタイルの事前定義済リストから引き出されるデフォルトの値があります。たとえば、HeaderStyleNameプロパティのデフォルト値は、ADFデスクトップ統合で事前定義されたスタイルの1つである_ADFDI_HeaderStyleです。ADFデスクトップ統合は、ExcelワークブックがADFデスクトップ統合との併用が有効になっている場合、これらの事前定義済スタイルをExcelワークブックに自動的に追加します。

次に、事前定義済スタイルを示します。

- _ADFDI_FormBottomStyle

- _ADFDI_FormDoubleClickCellStyle

- _ADFDI_FormTopStyle

- _ADFDI_HeaderStyle

- _ADFDI_InputTextStyle

- _ADFDI_LabelStyle

- _ADFDI_OutputTextStyle

- _ADFDI_ReadOnlyTableStyle

- _ADFDI_TableCellROStyle

- _ADFDI_TableCellStyle

- _ADFDI_TableChangedColumnStyle

- _ADFDI_TableDoubleClickCellStyle

- _ADFDI_TableFlagColumnStyle

- _ADFDI_TableKeyCellStyle

- _ADFDI_TriangleHeaderStyle

自分で定義するこれらのスタイルや他のスタイルを、統合ExcelワークブックからFusion Webアプリケーションと統合する予定の別のExcelワークブックにマージできます。追加で使用するスタイルをExcelワークブックで作成することもできます。たとえば、日付に固有の形式を追加するには、_ADFDI_TableCellStyleeを複製して、MyTableCellDateStyleという名前を付け、日付に固有の形式を追加します。

実行時にADFデスクトップ統合のコンポーネントに適用するスタイルを決定したら、EL式を記述してスタイルをコンポーネントに関連付けることができます。StyleNameを名前に含むADFデスクトップ統合コンポーネントのプロパティは、EL式を値として受け入れます。他のADFコンポーネントのADFラベル・コンポーネントとLabelプロパティでも、EL式がサポートされます。これらのEL式は、リソース・バンドルで定義された文字列キーの値やFusion Webアプリケーションで定義された属性コントロール・ヒントの値を取得できます。

新しいスタイルの作成と、ワークブックへのスタイルのマージの詳細は、Excelのドキュメントを参照してください。

9.2.2 Excelの日付形式とMicrosoft Windowsの地域と言語のオプション

Excelでセルに適用できる、「数値」スタイルの「日付」に分類される表示形式の一部は、ユーザーがMicrosoft Windowsの「コントロール パネル」からアクセスできる「地域と言語のオプション」を使用してローカル・システムのロケールを変更すると変わります。「タイプ」リストのこれらの形式の先頭に*文字が付きます。図9-2に示す日付の種類の例では、「フランス語(フランス)」の表記規則を使用してセルの日付書式が設定されています。

図9-2 Excelのフランス語の日付書式

エンド・ユーザーが、図9-3にあるように「英語 (米国)」を使用するようにシステムの地域オプションを変更した場合、 図9-2のスタイルでフォーマットされるセルは、「英語 (米国)」の表記規則を使用します。

図9-3 Excelの英語(米国)の日付書式

注意:

Excelが時間コンポーネントのないデータ値を適切に書式設定および操作するようにするには、フォームまたは表の属性で、アプリケーションのモデル定義内のjava.sql.Dateデータ型を使用する必要があります。

9.2.3 Oracle ADFコンポーネントへのスタイルの適用方法

Oracle ADFコンポーネントにスタイルを適用するには、プロパティ・インスペクタを使用して、StyleNameを名前に持つプロパティの値を設定します。

始める前に:

スタイルについて理解しておくと役立ちます。詳細は、9.2項「スタイルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、9.1.2項「統合Excelワークブックの外観を構成するための追加の機能」を参照してください。

スタイルを適用するには:

1. 統合Excelワークブックで、変更するOracle ADFコンポーネントを参照するセルを選択して、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

2. StyleNameプロパティを選択し、参照(...)アイコンをクリックして「式の編集」ダイアログを表示します。

3. Stylesノードを展開して、実行時にセルに適用するスタイルを選択します。
たとえば、見出しスタイル(Heading 4スタイル)をバインディング・ウェアハウスID出力テキスト・フィールドに適用します。一般的なスタイルではなくHeading 4スタイルをフィールドに適用することで、データが青色の太字で表示されます。

4. 「式に挿入」をクリックして、選択したスタイルを「式」フィールドに挿入します。
図9-4に、「式の編集」ダイアログを示します。

図9-4 スタイルを適用する「式の編集」ダイアログ

5. 「OK」をクリックします。

9.2.4 実行時の処理: ADFコンポーネントへのスタイルの適用方法

名前にStyleNameが付いているプロパティの値として入力したEL式は、実行時に評価されます。これが事前定義済スタイルまたは開発者が定義したスタイルに対応する場合、そのスタイルはプロパティを設定したADFコンポーネントに適用されます。

ADFコンポーネントを参照するセルに、ADFのプロパティで定義されたものとは異なるスタイルが適用されている場合、ADFコンポーネントは既存のスタイルを実行時に上書きして、プロパティで定義されたスタイルを適用します。

たとえば、図9-5は、Heading 4スタイルが適用されてデフォルトの_ADFDI_OutputTextStyleスタイルが上書きされた後のバインディング・ウェアハウスIDの実行時の値を示しています。

図9-5 別のスタイルを適用した後の実行時の値

9.3 EL式を使用した動的なスタイルの適用

StyleNameを名前に含むOracle ADFコンポーネントのプロパティは、EL式を値として受け入れます。記述するEL式は、実行時に指定されたADFコンポーネントに適用されるExcelスタイルに解決することができます。記述するEL式は、ADFデータ・バインディング式などを使用するExcel式です。ADFデスクトップ統合は、ユーザーがセル間を移動するときやアップロード時には、結果を評価または適用しません。

次の例は、EL式を使用して、実行時のADFコンポーネントの動作および外観を決定できる様々なコンテキストを示しています。例9-1では、ダウンロード時にスタイルを動的に適用します。バインディングのステータス値がClosedの場合、読取り専用スタイル(MyReadOnlyStyle)を適用します。それ以外のときは、別のスタイル(MyReadWriteStyle)を適用します。

例9-1 ダウンロード時にスタイルを動的に適用する場合

=IF("#{bindings.Status}" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")

例9-2では、Excel式とADFバインディング式を取り混ぜて使用し、エラーおよびタイプ変換を処理します。

例9-2 エラーをタイプ変換を処理するEL式

=IF(ISERROR(VALUE("#{bindings.DealSize}")), "BlackStyle", IF(VALUE("#{bindings.DealSize}") > 300, "RedStyle", "BlackStyle"))

9.3.1 実行時の処理: EL式の評価方法

実行時にEL式を評価する際、ADFデスクトップ統合はEL式が参照する値を決定します。そしてExcel式のEL式を、その値に置換します。例9-1では、まずADFデスクトップ統合は次のExcel式でEL式、#{bindings.Status}の値を決定します。

=IF("#{bindings.Status}" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")

続いて、次の例にあるようにEL式を実行時の値に置換します。ここでは、式はClosedに評価されます。

=IF("Closed" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")

Excelは式を評価し、この例ではMyReadOnlyStyleスタイルに適用します。

9.3.2 実行時にスタイルを適用するEL式の記述方法

Oracle ADFコンポーネントのプロパティ・インスペクタからアクセスできる「式の編集」ダイアログに、EL式をサポートするOracle ADFコンポーネントのプロパティのEL式を記述します。図9-6に、ADFボタン・コンポーネントのプロパティ・インスペクタ・ウィンドウから起動された「式の編集」ダイアログを示します。

図9-6 「式の編集」ダイアログ

始める前に:

動的にスタイルを適用する方法を理解しておくと役立ちます。詳細は、9.3項「EL式を使用した動的なスタイルの適用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、9.1.2項「統合Excelワークブックの外観を構成するための追加の機能」を参照してください。

実行時にスタイルを適用するEL式を記述するには:

1. 統合Excelワークブックを開きます。

2. EL式を記述する、Oracle ADFコンポーネントを参照するExcelワークシートのセルを選択します。

3. 「Oracle ADF」タブの「プロパティの編集」ボタンをクリックして、プロパティ・インスペクタを表示します。

4. EL式を関連付けるプロパティ・インスペクタのプロパティを選択し、参照(...)アイコンをクリックして「式の編集」ダイアログを表示します。

注意:

「式の編集」ダイアログは、手順2で選択したOracle ADFコンポーネントがEL式をサポートする場合のみ表示されます。コンテキストによっては、参照(...)アイコンで「アクションの編集」ダイアログなどの他のエディタが起動する場合があります。

図9-6に示すように「式の編集」ダイアログには、EL式で参照できるOracle ADFコンポーネント、バインディング、スタイル、リソース、Excel機能の階層リストが表示されます。このダイアログに入力するEL式の構文の詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。

9.3.3 スタイルを適用するEL式に関する留意事項

スタイルに評価されるEL式は、次の場合に適用されます。

- ADF表コンポーネントがDownloadアクションまたはDownloadForInsertアクションを起動する場合

- 行がADF表コンポーネントに挿入される場合

- ワークシートがDownSyncアクションを起動する場合

スタイルに評価されるEL式は、次の場合には適用されません。

- ADF表コンポーネントがRowDownSyncアクションを起動する場合

- エンド・ユーザーがセルの形式のプロパティを編集する場合
また、エンド・ユーザーがセルの値を編集すると、スタイルに評価されるEL式は再評価されない点にも注意してください。

- EL式の実行時の値は、エンド・ユーザーの統合Excelワークブックで定義されたスタイルには一致しません。
このシナリオでは、対象セルのスタイルの形式は変わりません。既存のスタイル形式が保持されます。クライアントサイドのロギングを構成した場合、EL式がエンド・ユーザーの統合Excelワークブックで定義されていないスタイルに評価されると、ADFデスクトップ統合はログ・ファイルにエントリを生成します。クライアントサイドのロギングの詳細は、C.3項「統合Excelワークブックのログ・ファイルの生成」を参照してください。

9.4 統合Excelワークブックでのラベルの使用

ラベルを使用して、統合Excelワークブックの機能をどのように使用するかについての情報をエンド・ユーザーに提供します。リソース・バンドルで定義された文字列キーの値あるいは属性コントロール・ヒントを取得するEL式を記述できます。統合Excelワークブックは、ワークブックが初期化されるときにのみLabelプロパティの値を評価します。

9.4.1 リソース・バンドルからの文字列キーの値の取得

図9-7に、ADFデスクトップ統合のSummitサンプル・アプリケーションのEditWarehouses-DT.xlsxワークブックの設計時の表示の部分を示します。対応するLabelプロパティにEL式が指定されている、ADFラベル・コンポーネントとADF入力テキスト・コンポーネントの例を示します。

図9-7 Labelプロパティを持つADFラベル・コンポーネントとADF入力テキスト・コンポーネントの設計時の表示

実行時にこれらのEL式は、ADFデスクトップ統合のSummitサンプル・アプリケーションに登録されたresリソース・バンドルに定義された文字列キーに解決されます。リソース・バンドルは、「ワークブック・プロパティ」ダイアログで定義します。リソース・バンドルからの文字列キーの参照の詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

図9-8は、図9-7に設計モードで示されているADFラベル・コンポーネントとAD入力テキスト・コンポーネントに相当する実行時の表示を示しています。

図9-8 Labelプロパティを持つADFラベル・コンポーネントとADFボタン・コンポーネントの実行時の表示

9.4.2 属性コントロール・ヒントの値の取得

リソース・バンドルからの文字列キーの他に、ADFラベル・コンポーネントと他のADFコンポーネントのLabelプロパティは、JDeveloperプロジェクトのエンティティ・オブジェクトとビュー・オブジェクトに定義する属性コントロール・ヒントを参照できます。図9-9は、EditCustomers-DT.xlsxワークブックのADF表コンポーネントにあるPhone列の式ビルダーを示しています。式ビルダーは、実行時に属性コントロール・ヒントに定義される値(Phone)を取得する、Phone列のHeaderLabelプロパティに対するEL式を含みます。

図9-9 Labelプロパティの属性コントロール・ヒントの値を取得するEL式

属性コントロールのヒントは、ビュー・オブジェクトとエンティティ・オブジェクトの両方に構成できます。エンティティ・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のエンティティ・オブジェクトの属性コントロール・ヒントの定義に関する項を参照してください。ビュー・オブジェクトのUIヒントを定義する方法の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のビュー・オブジェクトのUIヒントの定義に関する項を参照してください。

9.4.3 統合ExcelワークブックがLabelプロパティをどのように評価するか

統合Excelワークブックは、開発者またはエンド・ユーザーが初めてワークブックを開いた後、ワークブックが初期化されるときにADFコンポーネントのLabelプロパティを評価します。統合Excelワークブックは、ワークブック自身がシステム上のディレクトリに保存されるときに、Labelプロパティの取得された値を保存します。

Labelプロパティの取得された値は、ワークシートのDownSyncアクションやADF表コンポーネントのDownloadアクションのようなアクションの起動中にリフレッシュされません。表A-17に示されるようにワークブックのアクションClearAllDataまたはEditOptionsを起動する場合、Labelプロパティの取得された値を間接的にリフレッシュします。

9.5 操作性を向上するスタイルの使用

統合Excelワークブックのエンド・ユーザーに、Fusion Webアプリケーションに統合する目的で提供するADFコンポーネントの使用方法に関するわかりやすい情報を提供することはよい習慣です。これには次のようにします。

- ADFボタン・コンポーネントやADF入力テキスト・コンポーネントなど、Oracle ADFコンポーネントの使用方法に関する説明をエンド・ユーザーに提供します。
ADFラベル・コンポーネントと他のADFコンポーネントのLabelプロパティは、エンド・ユーザーにコンポーネントの使用方法に関する説明を提供するラベルを記述できるため、この作業で役に立ちます。

- ADFコンポーネントが読取り専用か読取り/書込みなのかを示すスタイルを適用します。

9.5.1 使い勝手を向上するADFラベル・コンポーネントの使用

ADFラベル・コンポーネントを使用して、統合Excelワークブックのエンド・ユーザーに、ワークブックで他のADFコンポーネントを使用する方法に関する情報を提供できます。たとえば、便宜上は多くのフォームで*を使用して、入力フィールドへの値の入力が必須であることをエンド・ユーザーに示します。図9-10は、2つのADF入力テキスト・コンポーネントと隣接するセルのADFラベル・コンポーネントを示しています。それぞれのADFラベル・コンポーネントは、実行時にリソース・バンドルから文字列キーの値を取得するEL式を参照します。各文字列キーは、値の入力が必須であることをエンド・ユーザーに示すために、*文字を含めます。

図9-10 エンド・ユーザーに説明を提供するADFラベル・コンポーネント

リソース・バンドルの使用の詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

9.5.2 統合Excelワークブック内の読取り専用プロパティに関する留意事項

統合Excelワークブックの読取り専用プロパティに関して、次の点に注意してください。

- ADF出力テキスト、ADFラベルおよびADF表ヘッダー行には、読取り専用のプロパティはありません。ただし、これらのコンポーネントは読取り専用の動作を意味してきました。また、エンド・ユーザーはこれらのコンポーネントをホストするセルに値を入力でき、これらのセルに表示される値を一時的に変更できます。ADFデスクトップ統合は、ワークシートからアップロードする際はこれらの変更を無視し、Fusion Webアプリケーションからデータをダウンロードする際にこれらを上書きします。

- ADF入力テキスト・コンポーネント、ADF値リスト・コンポーネント、TreeNodeListサブコンポーネントには、それぞれに読取り専用のプロパティ(ReadOnly)があります。

注意:

ADF入力テキスト・コンポーネントのValueプロパティにExcel式を指定する場合、コンポーネントはReadOnlyプロパティがTrueに設定されているかのように動作します。コンポーネントは、ReadOnlyプロパティの実際の値を無視します。

- 実行時に読取り専用セルの値を保護するには、ワークシート保護を自動に設定します。ワークシート保護を有効にした後で読取り専用セルの編集を試みた場合、Excelで警告メッセージが表示され、編集はブロックされます。ワークシート保護の詳細は、9.7項「ワークシート保護の使用」を参照してください。

- Excelのシートの保護機能やブックの保護機能は、統合Excelワークブックで直接使用しないでください。また、エンド・ユーザーがこれらの機能を使用しないようにしてください。

エンド・ユーザーの混乱を避けるため、ADF出力テキスト・コンポーネントなどのコンポーネントに対して、コンポーネントが読取り専用か編集可能かをエンド・ユーザーに示すスタイルを適用してください。デフォルトでは、ADF出力テキスト・コンポーネントは事前定義済のスタイル、_ADFDI_OutputTextStyleを使用します。この章の説明にあるように、独自のスタイルを定義してそれをコンポーネントに適用できます。

ADFデスクトップ統合のコンポーネントがサポートするプロパティの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。

9.6 統合Excelワークブックのブランディング

ADFデスクトップ統合には、アプリケーション名やバージョン情報、著作権情報などの情報によって構成して統合Excelワークブックのブランディングに使用できるいくつかの機能があります。この情報を統合Excelワークブックに関連付けるために、ワークブックのBrandingItemsプロパティ・グループを使用できます。エンド・ユーザーがViewAboutDialogワークブック・アクションを実行時に起動するリボン・ボタンをクリックすればこのブランディング情報を閲覧できるように、8.3項「実行時リボン・タブの構成」の説明に従って、リボン・タブを構成する必要があります。ワークブック・アクションの詳細は、表A-17を参照してください。

また、リソース・バンドルに文字列キーを定義して、タイトルなどの情報を1つの場所に定義しておくと、実行時、EL式がこれらの文字列キーの値を取得する際に、統合Excelワークブック内の複数の場所でこの情報を使用できます。文字列キーの定義の詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

9.6.1 統合Excelワークブックのブランディング方法

ワークブックBrandingItemsプロパティ・グループの値を定義します。

始める前に:

統合Excelワークブックのブランドのカスタマイズ方法を理解しておくと役立ちます。詳細は、9.6項「統合Excelワークブックのブランディング」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、9.1.2項「統合Excelワークブックの外観を構成するための追加の機能」を参照してください。

統合Excelワークブックをブランディングするには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークブック・プロパティの編集」ダイアログで、BrandingItemsの入力フィールドの横にある参照(...)アイコンをクリックします。

4. 「BrandingItemsの編集」ダイアログで、「追加」をクリックして、新しい要素に次のように値を指定します。

- Name
定義するブランディング項目の名前、またはEL式を指定します。

- Value
リテラル文字列を指定するか、または参照(...)アイコンをクリックして、式ビルダーを起動し、実行時に値を取得するEL式を記述します。BrandingItemsは、リテラル文字列またはリソース式を使用しなければならず、バインディング式を一切含むことはできません。

図9-11に、ADFデスクトップ統合のSummitサンプル・アプリケーションのブランディング項目の設計時の表示を示します。

図9-11 ADFデスクトップ統合のSummitサンプル・アプリケーションのブランディング項目の設計時の表示

5. 「OK」をクリックします。

9.6.2 実行時の処理: BrandingItemsプロパティ・グループ

実行時には、BrandingItemsプロパティ・グループに定義する名前と値の組合せが、「Oracle ADF」タブの「情報」ボタンからエンド・ユーザーが起動するダイアログに表示されます。これは、8.3項「実行時リボン・タブの構成」の説明に従って、表示するように構成済です。図9-12に、EditCustomers.xlsxワークブックのブランディング項目の実行時の表示を示します。

図9-12 ADFデスクトップ統合のSummitサンプル・アプリケーションのブランディング項目の実行時の表示

9.7 ワークシート保護の使用

デフォルトでは、ロックされたセルおよびADFデスクトップ統合の読取り専用コンポーネント(ADFラベルおよびADF出力テキストなど)の値をエンド・ユーザーが実行時に編集できます。データをアップロードする際、Fusion Webアプリケーションからデータをダウンロードするときに、ADFデスクトップ統合はこれらの変更を無視して上書きします。

ロックされたセルが実行時に編集されるのを防ぐため、ワークシート保護を有効にする必要があります。オプションで、エンド・ユーザーがワークシート保護をオフにしないように、パスワードを提供できます。

9.7.1 ワークシート保護を有効化する方法

ワークシート保護を使用すると、ロックされたセルおよび読取り専用セルについて正真正銘の読取り専用モードを有効化し、実行時に編集されないようにします。

始める前に:

ワークシート保護について理解しておくと役立ちます。詳細は、9.7項「ワークシート保護の使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、9.1.2項「統合Excelワークブックの外観を構成するための追加の機能」を参照してください。

ワークシート保護を有効化するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークシート・プロパティの編集」ダイアログで、Protectionプロパティを展開して次のように値を構成します。

- 実行時にワークシートの保護を有効化するには、「モード」を「自動」に設定します。

- 必要があれば、「パスワード」・フィールドに値を入力します。エンド・ユーザーは、この値を知らなければ実行時にシートの保護をオフにできません。
パスワードは暗号化されず、Excelで有効なパスワードの長さは最大255文字です。これより長いパスワードを指定すると、シート保護を切り替える際に実行時に警告なしで切り捨てられます。

図9-13に、ADFデスクトップ統合のSummitサンプル・アプリケーションのワークシート保護の設計時の表示を示します。

図9-13 ADFデスクトップ統合のSummitサンプル・アプリケーションのワークシート保護の設計時の表示

4. 「OK」をクリックします。

9.7.2 実行時の処理: ロックされたプロパティの動作方法

実行時にエンド・ユーザーが読取り専用のセルやADFデスクトップ統合の読取り専用コンポーネントを編集しようとすると、Excelに図9-14に示すような警告メッセージが表示されます。

図9-14 実行時のワークシート保護の警告

ワークシート保護が有効化されている場合、ADFデスクトップ統合はADFデスクトップ統合コンポーネントの範囲にあるセルのLockedプロパティを制御します。ADFデスクトップ統合コンポーネントの範囲外にあるLockedプロパティは、影響を受けません。ADFデスクトップ統合コンポーネントの範囲外にあるLockedプロパティは、影響を受けません。

実行時には、ADFデスクトップ統合はコンポーネントの読取り専用動作を評価します。ADFラベルやADF出力テキストなど一部のコンポーネントは常に読取り専用で、ADF入力テキストのような他のコンポーネントは読取り専用のプロパティを持っています。実行時には、読取り専用コンポーネントがtrueに評価されると、Lockedプロパティはtrueに設定されます。ADF表コンポーネントのヘッダー・ラベルは常に読取り専用ですが、列のサブコンポーネントはADF出力テキストやADF入力テキストである場合があります。実行時には、各コンポーネントの読取り専用の動作が評価され、対応するセルのLockedプロパティは適切な値に設定されます。

9.7.3 ワークシートの保護に関する留意事項

ワークシートの保護はデフォルトでは有効化されておらず、特定のワークシートに使用する場合は設計時に有効化する必要があります。また、ワークシートの保護が有効化された後は、セルのLockedプロパティは設計時ではなく、実行時に設定されます。

ワークシート保護に使用するパスワードは暗号化されず、安全な場所に保存されない点にも注意してください。ワークシートの保護は、ワークシートの操作性を向上するためのものであり、重要なデータを保護するものではありません。

ワークシート保護を有効化した後は、Excelの動作が異なります。主な動作の違いは次のとおりです。

- ADF表コンポーネントはKey列に読取り専用セルを含むため、ソートできません。

- エンド・ユーザーは行全体または列全体を挿入できます。ただし、一度挿入すると削除はできません。

- エンド・ユーザーは行や列を部分的には挿入できません。

10 統合Excelワークブックの国際化

この章では、統合Excelワークブックの開発時に考慮する国際化の問題、リソース・バンドルの使用方法、および統合Excelワークブックのローカライズ方法について説明します。

この章の内容は次のとおりです。

- 10.1項「統合Excelワークブックの国際化の概要」

- 10.2項「統合Excelワークブックでのリソース・バンドルの使用」

- 10.3項「ADFデスクトップ統合でのローカライズ」

10.1 統合Excelワークブックの国際化の概要

ADFデスクトップ統合には、統合Excelワークブックを国際化されたFusion Webアプリケーションの一部として提供できるようにするいくつかの特徴があります。主な特徴の1つとして、リソース・バンドルを使用して、設計時にOracle ADFコンポーネントに表示されるユーザーが参照可能な文字列のローカライズを管理します。また、リソース・バンドルを使用して、実行時にこれらのコンポーネントに表示されるユーザーが参照可能な文字列も管理します。この章では、リソース・バンドルの使用についても説明します。

統合Excelワークブックでの国際化とローカライズに関して、次の点に注意してください。

- 国際化されたデータ
ADFデスクトップ統合では、シングルバイトとダブルバイトの両方のキャラクタ・セットがサポートされています。ExcelワークシートとFusion Webアプリケーションとの間で送信されるデータを、XMLペイロードにマーシャリングします。これらのXMLペイロードでは、正規化されたフォーマットの日付、時間および数字でUTF-8エンコーディングが使用されます。

- ロケール
Excelワークブックを使用するシステムのロケールにより、日付、時間および数字のフォーマットが決まります。これらの設定(システムのフォーマットとロケール)は、Fusion Webアプリケーションで使用される設定と異なる場合があります。ADFデスクトップ統合はこれらの設定を同期しませんが、データの整合性が保持されるように徹底します。ADFデスクトップ統合には、実行時に統合ExcelワークブックのOracle ADFコンポーネントの言語や表示設定をエンド・ユーザーが変更するためのメカニズムがありません。

スタイルを構成したり、統合ExcelワークブックのADFコンポーネントに適用する場合、ロケールに依存するスタイルを構成または選択してください。詳細は、9.2項「スタイルの使用」を参照してください。

Fusion Webアプリケーションの国際化の詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のページの国際化とローカライズに関する項を参照してください。

10.1.1 統合Excelワークブックの国際化のユースケースおよび例

国際化されたFusion Webアプリケーションの統合Excelワークブックを作成できます。国際化されたFusion Webアプリケーションの一部として統合Excelワークブックを設計すると、特定のローカル言語および文化に簡単に適応できるようになります。リソース・バンドルおよび他のコンポーネントを使用し、設計時および実行時にテキストを翻訳してロケール固有のコンポーネントを追加することで、特定のローカル言語および文化に対応する統合Excelワークブックを構成できます。詳細は10.3項「ADFデスクトップ統合でのローカライズ」を参照してください。

図10-1に、日本語用に構成された統合Excelワークブックの例を示します。

図10-1 日本語の統合Excelワークブック

10.1.2 統合Excelワークブックを国際化するための追加の機能

統合Excelワークブックを国際化した後、必要に応じてワークブックを構成するための機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。

- セキュリティ: セキュアなFusion Webアプリケーションを使用する場合もそうでない場合も、統合Excelワークブックのセキュリティ実装について認識しておく必要があります。詳細は、第11章「統合Excelワークブックの保護」を参照してください。

- 統合Excelワークブックの検証: Fusion Webアプリケーションおよび統合Excelワークブックに対して、サーバー・サイドおよびクライアント・サイドの検証を構成できます。詳細は、第12章「統合Excelワークブックへの検証の追加」を参照してください。

- 統合Excelワークブックの公開およびデプロイ: 統合Excelワークブックの設計と検証に続く最終ステップは、公開およびデプロイです。詳細は、第14章「統合Excelワークブックのデプロイ」を参照してください。

10.2 統合Excelワークブックでのリソース・バンドルの使用

ADFデスクトップ統合はリソース・バンドルを使用して、設計時と実行時にExcelワークブックのADFコンポーネントに表示される、ユーザーが参照可能な文字列を管理します。JDeveloperは、リソース・バンドルをADFデスクトップ統合プロジェクトに格納します。

統合Excelワークブックで定義する文字列を含むリソース・バンドルを最高20まで登録できます。リソース・バンドルは、1MBを超えることはできません。20を上回るリソース・バンドル、または1MBを超えるリソース・バンドルを登録しようとすると、ADFデスクトップ統合はクライアント・サイド・ログ・ファイルに警告を書き込み、追加のリソース・バンドルあるいは1MBの上限に達した後のリソース・バンドルの登録を停止します。

たとえば、リソース・バンドルAが2MBで、リソース・バンドルBが1MBの場合、ADFデスクトップ統合はリソース・バンドルAの最初の1MB分のデータと、リソース・バンドルBのすべてのデータを登録します。クライアント・サイド・ロギングの詳細は、C.3.2項「クライアント・サイド・ロギングの概要」を参照してください。

Resourcesワークブック・プロパティは、統合Excelワークブックが使用できるリソース・バンドルを指定します。このプロパティでは、統合Excelワークブックでのリソース・バンドル(Resourcesリスト)の配列を指定します。配列の各要素には、リソース・バンドルを一意に識別するプロパティ(Alias)と、JDeveloperデスクトップ統合プロジェクトのリソース・バンドルへのパスを識別するプロパティ(Class)があります。たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションのEditCustomers-DT.xlsxは、Classプロパティに対して次の値を持つresリソース・バンドルを参照します。

oracle.summitdi.resources.UIResources

Resourcesワークブック・プロパティの詳細は、A.12項「ワークブックのアクションとプロパティ」を参照してください。

デフォルトでは、ADFデスクトップ統合に予約済のリソース・バンドルがあり、これが多くのコンポーネント・プロパティによって実行時に使用される文字列のキー値を提供します。Fusion Webアプリケーションと統合するようにExcelワークブックを有効化すると、デフォルトで予約済リソース・バンドルがそのワークブックに登録されます。ADFデスクトップ統合は、_ADFDIresの値を使用して、このリソース・バンドルを一意に識別します。多くのEL式が、このリソース・バンドルの文字列の値を参照します。

別のリソース・バンドルを登録する場合、_ADFDIresリソース・バンドルから割り当てられたデフォルトの文字列のキー値を、ADFコンポーネント・プロパティの多くに置換できます。

10.2.1 統合Excelワークブックでのリソース・バンドルの登録方法

「リソースの編集」ダイアログを使用して要素をResourcesに追加することにより、リソース・バンドルを登録します。

始める前に:

リソース・バンドルの使用方法を理解しておくと役立ちます。詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、10.1.2項「統合Excelワークブックを国際化するための追加の機能」を参照してください。

リソース・バンドルを登録するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークブック・プロパティの編集」ダイアログでResourcesの入力フィールドの横にある参照(...)アイコンをクリックして、図10-2に示す「リソースの編集」ダイアログを表示します。

図10-2 リソースの編集ダイアログ

4. リソース・バンドルの値を指定して、「OK」をクリックします。
リソース・バンドルに指定する値の詳細は、表A-18のリソースのエントリを参照してください。

ヒント:

リソース・バンドル・クラスの登録には、ファイル拡張子を含めません。

10.2.2 構成不可能なリソースの上書き方法

この上書き可能なリソースには、ユーザーが参照可能な実行時の文字列がいくつか含まれます。これらは、ADFデスクトップ統合コンポーネントのプロパティを構成しても、置換できません。例として、図7-11に示すようなデフォルトのアップロード・ダイアログに表示される文字列があげられます。

これらのユーザーが参照可能な実行時の文字列を置換するには、ADFデスクトップ統合がサポートしている上書き可能なリソースからの文字列キーを含むFusion Webアプリケーションにリソース・バンドルを作成します。付録E「上書き可能なリソースの文字列キー」に、これらの文字列キーの一覧があります。作成したリソース・バンドルで上書きする、付録Eに記載されている文字列キーの値を定義します。

始める前に:

リソース・バンドルの使用方法を理解しておくと役立ちます。詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、10.1.2項「統合Excelワークブックを国際化するための追加の機能」を参照してください。

構成不可能なリソースを上書きするには:

1. Fusion Webアプリケーションにリソース・バンドルを作成します。

リソース・バンドルの作成の詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のリソース・バンドルとロケールの手動定義に関する項を参照してください。

2. 付録E「上書き可能なリソースの文字列キー」に記載された文字列キーのリソース・バンドルに、実行時に表示する文字列のキー値を定義します。

3. 手順1で作成したリソース・バンドルを登録する際に、_ADFDIresをAliasプロパティの値に設定します。
リソース・バンドルの登録方法の詳細は、10.2.1項「統合Excelワークブックでのリソース・バンドルの登録方法」を参照してください。

表E-1に、ADFデスクトップ統合でサポートされる上書き可能なリソースの文字列キーを示します。上書き可能なリソースの文字列キーごとに、英語の値列に記載された値に代わる値を指定します。上書き可能なリソースはコンポーネント・プロパティで使用しないようにしてください。このリソースはオリジナルでの使用のみを目的としています。

10.2.3 実行時の処理: 構成不可能なリソースの上書き

ADFデスクトップ統合により、作成したリソース・バンドルで定義した表E-1に記載されている文字列キーの値が取得されます。予約済のリソース・バンドルから作成したリソース・バンドルで定義していない他の文字列キーの値が取得されます。

10.2.4 リソース・バンドルに関する留意事項

統合Excelワークブックのリソース・バンドルに関する追加情報は、次の項を参照してください。

10.2.4.1 リソース・バンドルのタイプ

ADFデスクトップ統合は、次のタイプのリソース・バンドルの使用をサポートしています。

- プロパティ・バンドル(.properties)

- リスト・リソース・バンドル(.rts)

- Xliffリソース・バンドル(.xlf)

リソース・バンドルの詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のリソース・バンドルとロケールの手動定義に関する項を参照してください。

10.2.4.2 統合Excelワークブックのリソース・バンドルのキャッシング

ADFデスクトップ統合は、最初にFusion Webアプリケーションに接続するときに統合Excelワークブックが取得するリソース・バンドルからの文字列キーの値をキャッシュします。統合Excelワークブックによって以前の値がキャッシュされた後にリソース・バンドルの文字列キーの値を変更した場合、ClearAllDataワークブック・アクションが起動され、エンド・ユーザーがワークブックを閉じてから再び開くことによりFusion Webアプリケーションから変更済の値が取得されないかぎり、変更した値はワークブックに表示されません。ClearAllDataワークブック・アクションの詳細は、表A-17を参照してください。

10.2.4.3 リソース・バンドルのEL式の構文

ADFデスクトップ統合では、次の例に示すように[]文字を使用して、文字列のキー名をEL式で囲む必要があります。

#{res['StringKey']}

ADFデスクトップ統合は、次の構文をサポートしていません。

#{res.StringKey}

10.3 ADFデスクトップ統合でのローカライズ

ADFデスクトップ統合は、多様なテクノロジのセットを統合しています。これらのテクノロジのそれぞれが、Fusion Webアプリケーションをローカライズするときに、自然な人間の言語の選択をコントロールする様々なオプションを提供します。

エンド・ユーザーが統合Excelワークブックと対話するときには、様々な要素が関係しています。これらの要素のひとつひとつに、サポートされる言語とリソース翻訳の独自のセットがあります。こうしたシナリオでは、言語の翻訳はそれぞれのパブリッシャの役割です。

表10-1は、関係する要素および翻訳におけるそれらの役割の概要を示します。

表10-1 ローカライズの概要

ローカライズの対象

使用する言語の決定

Microsoftオペレーティング・システム

オペレーティング・システムの言語設定。「コントロール パネル」の「地域の設定」から言語を選択できます。

Microsoft Office

Microsoft Officeの言語の設定

ADFデスクトップ統合のダイアログ・アクションで表示されるWebページ

通常はMicrosoft Internet Explorerの言語設定により制御されます。

ADFデスクトップ統合のクライアント・リソース

Microsoft Officeの言語の設定

ADFデスクトップ統合のサーバー・リソース

Microsoft Internet Explorerの言語設定

ADFデスクトップ統合のカスタム・リソース・バンドル

Microsoft Internet Explorerの言語設定

図10-3は、Fusion Webアプリケーションに関わる様々な要素が翻訳でどのような役割を果すかを示します。

図10-3 ADFデスクトップ統合でのローカライズ

ADFデスクトップ統合でのローカライズの詳細は、OTNの『Oracle ADF Desktop Integration Localization whitepaper』を参照してください。

http://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.html

10.3.1 サーバー・サイドのロケール設定を上書きするためのFusion Webアプリケーションの構成

サーバー・サイドのローカライズは、ADFデスクトップ統合のサーバー・リソースとアプリケーション・カスタム・リソースから構成されます。デフォルトでは、ADFデスクトップ統合は、クライアント・サイドのInternet Explorerの言語プリファレンスを使用してサーバー・サイドのローカライズを決定しますが、Fusion Webアプリケーションを構成してサーバー・サイドのロケールを決定することもできます。そのためには、ユーザー・プリファレンス・ハンドラを作成し登録する必要があります。登録するには、ADFデスクトップ統合サーブレットにUserPreferences.Handler初期化パラメータを追加します。

10.3.1.1 ユーザー・プリファレンス・ハンドラの作成方法

ユーザー・プリファレンス・ハンドラを作成するには、java.util.Locale getLocale()シグネチャのpublicメソッドでpublic javaクラスを作成します。このシグネチャは、ADFデスクトップ統合のサーバー・サイドのリソース・ロケールを決定し、そのロケールをjava.util.Localeオブジェクトとして返します。

例10-1に、ユーザー・プリファレンス・ハンドラの実装例を示します。

例10-1 ユーザー・プリファレンス・ハンドラの実装

public class CustomUserPrefsHandler
{
public Locale getLocale ()
{
UserPref info = (UserPref)
ADFContext.getCurrent().getSessionScope().map.get("User_Pref_Info");
return info.getLocale();
}
}

注意:

ハンドラ・クラスは、引数を持たないコンストラクタが必要です。引数を持たないコンストラクタがない場合は、デフォルトのJavaコンストラクタを使用します。

10.3.1.2 ユーザー・プリファレンス・ハンドラの登録方法

ユーザー・プリファレンス・ハンドラを登録するには、ADFデスクトップ統合のUserPreferences.Handler初期化パラメータをweb.xmlに追加します。

始める前に:

リソース・バンドルの使用方法を理解しておくと役立ちます。詳細は10.3項「ADFデスクトップ統合でのローカライズ」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、10.1.2項「統合Excelワークブックを国際化するための追加の機能」を参照してください。

ユーザー・プリファレンス・ハンドラを登録するには:

1. Fusion Webアプリケーションのweb.xmlファイルを開きます。

2. 表10-2に示すように、初期化パラメータを追加して、ユーザー・プリファレンス・ハンドラを構成します。

表10-2 ロケール・ユーザー・プリファレンスの構成

プロパティ

値

Name

次のように初期化パラメータ名を入力します。

UserPreferences.Handler

Value

ハンドラ・クラスのパスを入力します。

3. web.xmlファイルを保存します。

4. Fusion Webアプリケーションをリビルドして再起動します。

例10-2は、UserPreferences.Handlerが含まれるweb.xmlファイルを示します。

例10-2 UserPreferences.Handlerが含まれるweb.xmlファイル

<servlet>
<servlet-name>adfdiRemote</servlet-name>
<servlet-class>
oracle.adf.desktopintegration.servlet.DIRemoteServlet
</servlet-class>
<init-param>
<param-name>UserPreferences.Handler</param-name>
<param-value>myCompany.XYZ.CustomUserPrefsHandler</param-value>
</init-param>
</servlet>

例10-2では、myCompany.XYZ.CustomUserPrefsHandlerはハンドラ・クラスの完全なパスです。

11 統合Excelワークブックの保護

この章では、ADFデスクトップ統合のセキュリティ関連機能について説明します。

この章の内容は次のとおりです。

- 11.1項「統合Excelワークブックのセキュリティの概要」

- 11.2項「Excelワークブック・ユーザーの認証」

- 11.3項「統合Excelワークブックのメタデータの整合性チェック」

- 11.4項「統合Excelワークブックの保護に関する留意事項」

- 11.5項「Excelワークブック・ユーザーの認可」

11.1 統合Excelワークブックの保護の概要

認証が必須のFusion Webアプリケーションを使用している場合、統合Excelワークブックは、データをダウンロードする前に、Fusion Webアプリケーションに接続するときに、有効なユーザー・セッションを確認および作成します。確立されたセッションは、統合ExcelワークブックとFusion Webアプリケーションの間でデータが転送されるたびに使用されます。また、このセッションは、統合Excelワークブックから表示されるWebページに対しても使用されます。

認証が必須のFusion Webアプリケーションでは、統合ExcelワークブックはWebアプリケーションとの間でデータを転送する前に有効で認証済のユーザー・セッションが確立されているかどうかを確認します。

認証済および認証されていないFusion Webアプリケーションの両方について、ADFデスクトップ統合はCookieベースのセッションの確立に依存します。認証のメカニズムを持たないため、 Fusion Webアプリケーションは完全に安全というわけではありません。したがって、統合ExcelワークブックとともにWebアプリケーションをデプロイする前に、Fusion WebアプリケーションでADFセキュリティを有効化する必要があります。ADFセキュリティの詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発の「Fusion WebアプリケーションでのADFセキュリティの有効化」の章を参照してください。

統合Excelワークブックを開いたときに、ワークブックの実行対象であるFusion WebアプリケーションがセキュアなアプリケーションかどうかがADFデスクトップ統合で検出され、自動的に認証が施行されます。認証済Webアプリケーションの場合、ワークブックが認証済Webブラウザからダウンロードされるとしても、エンド・ユーザーには必ず資格証明が求められます。WbブラウザとExcelは別のオペレーティング・システム・プロセスなので、資格証明を共有できません(Windowsのネイティブ認証を使用している場合を除く)。

11.1.1 統合Excelワークブックのセキュリティのユースケースおよび例

セキュアなFusion Webアプリケーションの統合Excelワークブックを開くと、図11-1のように「ログイン」ダイアログが開き、Fusion Webアプリケーションへの接続を求めるプロンプトが表示されます。この「ログイン」ダイアログは、Fusion Webアプリケーションがセキュアでない場合も表示されます。

図11-1 接続を確認するダイアログ

「はい」をクリックすると、図11-2の例ように、資格証明の入力を求める別のダイアログが表示されます。

図11-2 エンド・ユーザーの資格証明を確認するダイアログ

図11-2に示したダイアログは、認証の施行に関するFusion Webアプリケーションの構成方法によって異なります。たとえば、Webアプリケーションでフォームベース認証が使用されている場合は、エンド・ユーザーに対して、ブラウザ・ダイアログ、およびユーザー名とパスワードのフィールドを含むWebページが表示されます。

11.1.2 セキュアなFusion Webアプリケーションの統合Excelワークブックの追加の機能

統合Excelワークブックを保護した後、必要に応じてワークブックの機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。

- 統合Excelワークブックの検証: Fusion Webアプリケーションおよび統合Excelワークブックに対して、サーバー・サイドおよびクライアント・サイドの検証を構成できます。詳細は、第12章「統合Excelワークブックへの検証の追加」を参照してください。

- 統合Excelワークブックのテスト: 統合Excelワークブックを公開してデプロイする前に、テストする必要があります。詳細は、第13章「統合Excelワークブックのテスト」を参照してください。

- 統合Excelワークブックの公開およびデプロイ: 統合Excelワークブックの設計と検証に続く最終ステップは、公開およびデプロイです。詳細は、第14章「統合Excelワークブックのデプロイ」を参照してください。

11.2 Excelワークブック・ユーザーの認証

Excelワークブックと安全なFusion Webアプリケーションの統合には、統合ExcelワークブックとFusion Webアプリケーションをホストするサーバー間で確立された認証済のWebセッションが必要です。ADFセキュリティは、ユーザーの認証に使用するメカニズムを決定します。

エンド・ユーザーが有効な認証済セッションなしにExcelワークブックを開く場合、エンド・ユーザーを認証するためにログインのメカニズムが起動されます。

11.2.1 実行時の処理: Loginメソッドの起動方法

loginメソッドが起動された後、統合ExcelワークブックとFusion Webアプリケーションの間に新しいセッションが確立され、Webブラウザのコントロールを含むモーダルのダイアログが表示されます。このWebブラウザ・コントロールには、Fusion Webアプリケーションが使用するログイン・メカニズムが表示されます。たとえば、Fusion WebアプリケーションがHTTP Basic認証を使用する場合、Webブラウザ・コントロールには、図11-3に示すような単純なダイアログが表示されます。

図11-3 Fusion WebアプリケーションがBasic認証を使用する際に表示されるダイアログ

エンド・ユーザーがユーザー資格証明を入力し、これらが有効である場合、認証済セッションが作成され、クライアント(ExcelワークブックがホストするWebブラウザ・コントロール)に割り当てられます。

注意:

セッションがすでに確立されているときにLoginメソッドが起動されると、そのセッションを解放するためにまず内部でLogoutアクションが起動されます。

11.2.2 実行時の処理: Logoutメソッドの起動方法

logoutメソッドが起動された後、ダイアログが表示されて、現在のセッションからログアウトしたことがユーザーに通知されます。ワークブックを閉じたり、Excelリボンの実行時カスタム・タブから「全データのクリア」オプションを選択すると、ユーザーは自動的にログアウトします。

図11-4 ユーザーがログアウトすると表示されるダイアログ

ログアウトした後、データをアップロードまたはダウンロードするにはユーザーはもう一度ログインする必要があります。

2つ以上のワークブックが(テスト・モードまたは実行時モードで)開いていて、同じFusion Webアプリケーションに対して実行している場合、1つのワークブックを閉じてもログアウトのメカニズムは起動しません。ユーザーはログインしたままになり、残りの開いたワークブックで引き続き作業できます。閉じているワークブックは、資格証明をもう一度求められずに開くことができます。ユーザーは同じFusion Webアプリケーションに対して実行しているすべてのワークブックが閉じるとログアウトされます。

11.3 統合Excelワークブックのメタデータの整合性チェック

ADFデスクトップ統合には、ExcelワークブックとFusion Webアプリケーションの統合に使用するメタデータが、エンド・ユーザー用にExcelワークブックを公開した後に不正に変更されていないか検証するメカニズムがあります。これは、ハッシュ・コードの値を生成して、値をADFデスクトップ統合のクライアント・レジストリ・ファイル(adfdi-client-registry.xml)に挿入します。このファイルは14.3項「統合Excelワークブックの公開」にあるように、統合Excelワークブックを公開するときに作成されます。ADFデスクトップ統合は、adfdi-client-registry.xmlファイルをFusion WebアプリケーションのWEB-INFディレクトリに格納します。

統合Excelワークブックを再度公開する場合、ADFデスクトップ統合は新しいハッシュ・コードの値を生成して、adfdi-client-registry.xmlファイルの値を置換します。存在しない場合、ADFデスクトップ統合はadfdi-client-registry.xmlファイルを作成します。

ApplicationHomeFolderおよびWebPagesFolderワークブック・プロパティを使用すると、統合ExcelワークブックはFusion WebアプリケーションのWEB-INFディレクトリの場所を識別できます。統合Excelワークブックを公開してADFデスクトップ統合によりハッシュ・コード値が生成されるようにするには、これらのプロパティに有効な値を設定しておく必要があります。

ADFデスクトップ統合は、ワークブックのメタデータにあるほとんどの要素とWorkbookIDワークブック・プロパティの値を使用して、ハッシュ・コードの値を生成します。WorkbookIDワークブック・プロパティは読取り専用であり、統合Excelワークブックを一意に識別します。既存の統合Excelワークブックをコピーして新規の統合Excelワークブックを作成する場合、WorkbookIDワークブック・プロパティをリセットする必要があります。WebAppRootプロパティの値は実行時に変わることが予測されるため、ADFデスクトップ統合はハッシュ・コードの計算からこれを除外します。

この項のワークブック・プロパティの詳細は、表A-18を参照してください。

11.3.1 ワークブックIDのリセット方法

WorkbookIDワークブック・プロパティの値は、それぞれのワークブックに固有であり、開発者による変更はできません。ただし、WorkbookIDワークブック・プロパティをリセットすることはできます。既存の統合Excelワークブックをコピーして新しい統合Excelワークブックを作成する場合、これを行う必要があります。

始める前に:

統合Excelワークブックのメタデータの整合性を検証する方法を理解しておくと役立ちます。詳細は、11.3項「統合Excelワークブックのメタデータの整合性チェック」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、11.1.2項「セキュアなFusion Webアプリケーションの統合Excelワークブックの追加の機能」を参照してください。

ワークブックIDをリセットするには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークブック・プロパティの編集」ダイアログで、ワークブックIDのリセットリンクをクリックします。

4. 表示される確認用ダイアログ(図11-5を参照)で「はい」をクリックし、WorkbookIDワークブック・プロパティをリセットします。

図11-5 ワークブックIDのリセット・ダイアログ

5. 「OK」をクリックします。

11.3.2 メタデータ改ざんチェックを実行する際の実行時の処理

実行時に、統合Excelワークブックはメタデータのハッシュ・コードを再生成し、最初サーバー・リクエストによってそれをFusion Webアプリケーションに提供します。Fusion Webアプリケーションがこのハッシュ・コードに一致するものを取得できない場合、統合Excelワークブックにエラーが返されます。改ざんチェック・プロセスからエラーを受信すると、ただちに統合Excelワークブックはこの失敗をエンド・ユーザーに報告して、統合フレームワークを閉じます。

11.4 統合Excelワークブックの保護に関する留意事項

Fusion Webアプリケーションによる統合Excelワークブックの保護について、次の点に注意してください。

- データ・セキュリティ
Fusion Webアプリケーションからダウンロードしたデータを含むExcelワークブックを、他のユーザーがそのExcelワークブックにアクセスできるネットワーク・ディレクトリなどの場所に保存する場合、他のユーザーはExcelワークブックに保存されているデータにアクセスできます。

- Microsoft Excelのセキュリティ
ワークブックにパスワードを設定するExcelの機能を使用して、統合Excelワークブックのセキュリティを強化できます。これにより、許可されていないユーザーは、ワークブックを開いたり変更することができなくなります。Excelのセキュリティ機能の詳細は、Excelのドキュメントを参照してください。

- 15.2項「セッション間のサーバー・データ・コンテキストのリストア」の説明に従って、データをキャッシュするように統合Excelワークブックを構成できます。統合Excelワークブックに機密データをキャッシュしないように注意してください。

- Fusion Webアプリケーションがhttpsプロトコル上で実行されている場合、統合Excelワークブックから接続中に証明書エラーを受信する可能性があります。Microsoft Internet Explorerを使用して必要な証明書をインストールするか、またはログインを継続してWebアプリケーションに接続することを選択できます。

- Microsoft Internet Explorerを使用して統合Excelワークブックをダウンロードするエンド・ユーザーは、Excelアプリケーションが参照可能になる前に、予期せず資格証明の入力を要求され、ワークブックが開いた後にもう一度入力を要求されることがあります。これは、WebアプリケーションがBasicやDigestなどの特定の認証メソッドを使用するように設定されている場合に発生する可能性があります。余分に入力を要求されるのは、Excelがワークブックを含むWebディレクトリでOPTIONSリクエストを行うためです。
余分なログイン・プロンプトを回避するには、エンド・ユーザーはワークブックをブラウザから直接開くのではなく、ローカルで保存します。

- 認証されていないFusion Webアプリケーションの場合は、エンド・ユーザーはログインを要求されません。ただし、アプリケーションでhttpsプロトコルが使用されている場合は、Webアプリケーションとの最初の接続が確立されたときに、ログイン・ダイアログがエンド・ユーザーに短時間表示される可能性があります。ワークブック開発者は、Workbook.Login.WindowSizeプロパティでダイアログのサイズを制御できます。

管理者の場合は、『Oracle ADFアプリケーションの管理』のFusion Webアプリケーションでのセキュリティの構成についての留意事項に関する項も参照する必要があります。

11.5 Excelワークブック・ユーザーの認可

ADFデスクトップ統合は、ページ定義の認可を使用して、統合Excelワークシートに表示権限を適用します。実行時、ページ定義(バインディング・コンテナ)に対する適切な権限のないエンド・ユーザーは、関連する統合Excelワークシートとの対話が禁止されます。許可されていないバインディング・コンテナとの対話(データのダウンロードや送信など)の試みは中止になり、エンド・ユーザーは認可の失敗を知らされ、ワークシート上のすべてのADFデスクトップ統合アクティビティは無効になります。新しいユーザー・セッションが確立されるまで、ADFデスクトップ統合が無効になっているワークシートとこれ以上の対話を行うことはできません。エンド・ユーザーが統合Excelワークシートと対話できるようにするには、ページ定義へのアクセスを許可されたロールをエンド・ユーザーに割り当てます。

ADFデスクトップ統合を旧バージョンからアップグレードした場合は、統合Excelワークシートで使用されるすべてのページ定義に対するリソース権限を確認する必要があります。たとえば、Fusion Webアプリケーションが認可をサポートしており、リソース権限を持たず1つ(または複数)の統合Excelワークシートによって使用されるページ定義myWorksheetPageDef.xmlがある場合は、そのページ定義に対するアクセスを付与されたロールをエンド・ユーザーに割り当てる必要があります。ADFデスクトップ統合の新規バージョンに移行する際、認証されたロールまたは他のいくつかの一般的なロールに付与されるワークシート・ページ定義のリソース権限を一時的に作成すると便利な場合があります。これにより、ロールとリソースの関連付けを微調整しているときに、これらのワークシートを従来通りに実行できます。

認可、ロール、リソース権限の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のFusion WebアプリケーションでのADFセキュリティの有効化に関する項を参照してください。

注意:

ADFデスクトップ統合は、エンティティ・オブジェクト・レベル、エンティティ属性レベル、ADFメソッド、新規作成時の挿入、パネル・タブ、タスク・フローの認可など、他のリソース・タイプの認可は強制しません。

jazn-data.xmlファイルの概要エディタの「リソース権限」ページで、リソースと権限を構成できます。詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のADFセキュリティ・ポリシーの定義に関する項を参照してください。

認可に失敗すると、エンド・ユーザーは次のようなエラー・メッセージを受信し、ワークシート内のADFデスクトップ統合は無効になります。

ADFDI-05589 Fusion Webアプリケーションとの対話にこのワークシートを使用する権限がありません。

11.5.1 ADFデスクトップ統合が無効になったワークシートについての留意事項

次の制限事項は、ADFデスクトップ統合が無効になったワークシートに適用されます。

- ADFボタン、ワークシート・レベルのリボン・コマンド、ワークシート・レベルのイベントはすべて無効になります。

- ワークシートの初期化中に認可が失敗すると、フォーム・ラベル、表の列ヘッダー、ボタンはワークシートに描画されません。

- 初期化されたワークシートで認可が失敗すると、すべてのADFボタンは無効になりますが、他のワークシート・コンポーネント(ADF入力テキスト、ADF表など)は影響を受けず、視覚的には変更されません。

- エンド・ユーザーは、無効になったワークシート上で標準的なExcelの対話を実行できます。ユーザーはワークシート内のADF表コンポーネントのデータを変更できますが、変更された列は更新されません。

- ワークシート・レベルのコマンドに影響はありません。エンド・ユーザーは、ログイン、ログアウト、情報、編集オプションおよび全データのクリアなどのコマンドを引き続き使用できます。

エンド・ユーザーが統合Excelワークブックを再度開き、新しいセッションが確立されて認可されると、ADFデスクトップ統合が無効になっているワークシートが自動的に有効になります。ログアウトし再度ログインすると、無効な統合Excelワークシート内のADFデスクトップ統合が再び有効になります。

12 統合Excelワークブックへの検証の追加

この章では、統合Excelワークブックにサーバー・サイド検証とクライアント・サイド検証を提供する方法、検証の失敗やデータ競合などのエラーを報告する方法、およびカスタム・エラー・ハンドラを使用してエラー・レポートを構成する方法について説明します。

この章の内容は次のとおりです。

- 12.1項「統合Excelワークブックへの検証の追加の概要」

- 12.2項「統合Excelワークブックのサーバー・サイド検証の追加」

- 12.3項「統合Excelワークブックのクライアント・サイド検証の追加」

- 12.4項「統合Excelワークブックでレポートされるエラー」

- 12.5項「ADF表コンポーネントでの行ごとのステータスの追加」

- 12.6項「統合Excelワークブックでのエラー・メッセージへの詳細の追加」

- 12.7項「ワークブックからデータをアップロードする際のデータ競合の処理」

12.1 統合Excelワークブックへの検証の追加の概要

Fusion Webアプリケーションと統合Excelワークブックにサーバー・サイドとクライアント・サイドの検証を構成して、ADFモデル・レイヤーおよびMicrosoft Excelにより提供される検証オプションを活用します。これらの検証オプションに加えて、ADFデスクトップ統合のコンポーネントを利用して、Fusion Webアプリケーションからエラー・メッセージを返したり、コンポーネント・アクションの結果のステータスを提供するほか、Fusion WebアプリケーションによりホストされるデータとのExcelワークブックの競合でデータが変更されるときに発生するエラーを管理できます。

統合Excelワークブックに検証を追加することには、いくつかの利点があります。Fusion Webアプリケーションおよび統合Excelワークブックで検証ルールを作成して、エンド・ユーザーによるデータ入力を検証できます。

12.1.1 統合Excelワークブックの検証のユースケースおよび例

検証ルールは、無効なデータのアップロードを停止することでサーバーを保護します。たとえば、ワークシートおよび表の検証ルールを使用して、図12-1に示すように、サーバーへのアップロード時に無効なデータを取得できます。

図12-1 実行時のワークブックおよび表の検証エラー

12.1.2 統合Excelワークブックに検証を追加するための追加の機能

統合Excelワークブックで検証ルールを適用した後、必要に応じてワークブックを構成するための機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。

- 統合Excelワークブックのテスト: 統合Excelワークブックを公開してデプロイする前に、テストする必要があります。詳細は、第13章「統合Excelワークブックのテスト」を参照してください。

- 統合Excelワークブックの公開およびデプロイ: 統合Excelワークブックの設計と検証に続く最終ステップは、公開およびデプロイです。詳細は、第14章「統合Excelワークブックのデプロイ」を参照してください。

12.2 統合Excelワークブックのサーバー・サイド検証の追加

ADFデスクトップ統合は、ADFモデル・レイヤーがバインディングの属性に対して設定する検証ルールを使用します。エンド・ユーザーがADFデスクトップ統合コンポーネントの1つに入力または編集したデータ(ADF表コンポーネントなど)は、Fusion Webアプリケーションの設定ルールおよび条件に対して検証できます。Oracle ADFでの検証ルールの定義に関する一般的な情報は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発の「検証およびビジネス・ルールの宣言的な定義」の章を参照してください。

ADFモデル・レイヤーの検証の追加の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のADFモデル・レイヤーでの検証ルールの定義に関する項を参照してください。

12.3 統合Excelワークブックのクライアント・サイド検証の追加

ADFデスクトップ統合はクライアント・サイドの検証を提供しません。ただし、Excelのデータ検証機能を使用して、エンド・ユーザーがセルに入力したデータの型や値を制御することはできます。これらの機能によって、データ・エントリを一定の日付範囲に制限したり、リストを使用して選択内容を限定したり、正の整数のみをセルに入力したりすることができます。たとえば、EditWarehouses-DT.xlsxワークブックのZipCodeフィールドを構成して、ユーザーがこのフィールドのセルに整数のみを入力できるようにすることができます。

ADF表コンポーネント内の列にカスタム検証を適用した場合、実行時にADF表コンポーネントの列に値が移入されると、検証が伝播されます。ただし、設計時にTreeNodeListサブコンポーネントを参照する列に適用されたカスタム検証は、ADFデスクトップ統合によって実行時に上書きされる点に注意してください。これは、ADFデスクトップ統合が、実行時に起動される独自のリスト制約検証を適用するためです。

注意:

- 検証が失敗するとExcelにエラー・メッセージが表示されます。これらのエラー・メッセージはローカライズできません。

- ADFデスクトップ統合は、サーバー・サイドの検証の警告をサポートしていません。Fusion Webアプリケーションで定義されるルールに設定される検証の警告は、統合Excelワークブックによって表示されません。

Excelでのデータ検証の詳細は、Excelのドキュメントを参照してください。

12.4 統合Excelワークブックでレポートされるエラー

Excelワークブックと統合されるFusion Webアプリケーションをホストするサーバーは、操作の結果をフィードバックするエラー・メッセージをエンド・ユーザーに返すことができます。返されるエラー・メッセージには、検証の失敗、競合エラー、レコードの削除などがあります。

12.4.1 EL式を使用してレポートされるエラー

エンド・ユーザーにエラー・メッセージ概要を返すには、ADF出力テキスト・コンポーネントのValueプロパティにEL式を設定する必要があります。実行時には、エラーが発生すると、ADF出力テキスト・コンポーネントによりエラー・メッセージの概要がエンド・ユーザーに表示されます。

ADF出力テキスト・コンポーネントのValueプロパティに設定するEL式のタイプは、ワークシートで起動されたアクション・セットにより生成されるエラー・メッセージ概要を返すか、あるいはADF表コンポーネントやADF読取り専用表コンポーネントなど他のコンポーネントで起動されたアクションにより生成されるエラー・メッセージ概要を返すかによって異なります。次のEL式では、ワークシートでアクション・セットを起動したときに返されるエラー・メッセージの概要が表示されます。

#{worksheet.errors}

実行時には、アクション・セットが起動を開始すると、以前のエラー・メッセージ概要があればクリアされます。起動時にエラーが発生しない場合、エラー・メッセージは空白のままです。エラーが発生した場合、ADF出力テキスト・コンポーネントによってエラー・メッセージ概要が表示されます。

ワークシートで起動されたアクション・セットにより生成されるエラー・メッセージ概要を返すには、アクション・セットのAlert.FailureMessageプロパティの値に#{worksheet.errors}を設定する方法もあります。この方法では、生成されたエラー・メッセージ概要がダイアログに表示されます。

Fusion Webアプリケーションと対話するアクションを持つADF表コンポーネントやADF読取り専用表コンポーネントなどのコンポーネントも、エラー・メッセージ概要を返すことができます。ADF出力テキスト・コンポーネントのValueプロパティ、またはアクション・セットのAlert.FailureMessageプロパティに次のEL式を設定します。

#{components.componentID.errors}

componentIDは、アクションを起動するコンポーネント(ADF表コンポーネントやADF読取り専用表コンポーネントなど)のIDを指します。

ADFデスクトップ統合のSummitサンプル・アプリケーションのEditCustomers-DT.xlsxファイルは、ワークシートで起動するアクション・セットやADF表コンポーネントのアクションで生成されるエラー・メッセージの概要を返す方法を示します。図12-2に、設計モードのEL式を示します。

図12-2 ADF出力テキスト・コンポーネントでエラー・メッセージを返すEL式

12.4.2 コンポーネント・アクションを使用してレポートされるエラー

ADFデスクトップ統合は、ADF表コンポーネントまたは統合Excelワークシートにより生成されるエラー詳細を表示するアクションを提供します。

これらのアクションのいずれかを起動するアクション・セットは、アクションを1つのみ含む必要があります。一般的に、アクション・セットは起動時にエラー・ラベルとメッセージ・リストをクリアします。次のいずれかのアクションを起動するアクション・セットは、エラー・ラベルとメッセージ・リストをエンド・ユーザーに返します。

- ワークシートのDisplayWorksheetErrorsアクション
ワークシートのエラー・メッセージを表示するには、ワークシートのコンポーネントのアクション・セットまたはワークシートのリボン・ボタンを構成して、このアクションを起動します。たとえば、図12-3は、DisplayWorksheetErrorsアクションをワークシートのADF出力テキスト・コンポーネントのDoubleClickActionSet項目として構成する、コンポーネントの編集: ADF出力テキストダイアログを示します。

図12-3 DisplayWorksheetErrorsアクション

実行時にADF OutputTextコンポーネントをダブルクリックすると、図12-4に示すようにDisplayWorksheetErrorsアクションが起動します。

図12-4 DisplayWorksheetErrorsアクションの実行時の表示

ワークシートのDisplayWorksheetErrorsアクションの詳細は、A.13項「ワークシートのアクションとプロパティ」を参照してください。

- ADF表コンポーネントのDisplayRowErrorsアクション
ADF表コンポーネントで発生した行レベルの失敗を表示するには、このアクションを起動します。行レベルの失敗は、エンド・ユーザーが次のアクションを起動すると発生します。

- Upload

- DeleteFlaggedRows

- ADF表コンポーネントの列から起動されたDoubleClickActionSet

このアクションの使用の詳細は、12.5項「ADF表コンポーネントでの行ごとのステータスの追加」を参照してください。

- ADF表コンポーネントのDisplayTableErrorsアクション
ADF表コンポーネントで発生した表レベルの失敗を表示するには、このアクションを起動します。ADF表コンポーネント列のDoubleClickActionSetがこのアクションを起動することは、意図されていません。かわりに、ADF表コンポーネントのBatchOptions.CommitBatchActionIDプロパティで指定されたアクション・バインディングの起動時に失敗が発生した場合にエンド・ユーザーにエラー・メッセージを返すアクション・セットにこのアクションを追加します。

実行時にADF OutputTextコンポーネントをダブルクリックすると、図12-5に示すようにDisplayTableErrorsアクションが起動します。

図12-5 DisplayTableErrorsアクションの実行時の表示

ADF表コンポーネント・アクションの詳細は、A.9項「ADF表コンポーネントのプロパティとアクション」を参照してください。

12.5 ADF表コンポーネントでの行ごとのステータスの追加

ADF表コンポーネントには、次のADF表コンポーネント・アクションの起動後に、ADF表コンポーネントからの行が正常に処理されたかどうかをエンド・ユーザーに示すメカニズムがあります。

- DeleteFlaggedRows

- Upload

- ADF表コンポーネントの列から起動されたDoubleClickActionSet

ADF表コンポーネントは、ADF表コンポーネント・アクションの起動後に、各行のステータスを_ADF_StatusColumn列に移入します。たとえば、ADF表コンポーネントのUploadアクションの起動後に、各行のアップロード・ステータスを_ADF_StatusColumn列に移入します。

図12-6は、ADF表コンポーネントの行を示しています。Changed列の上向き矢印で示されているように、これらの行の値は変更されています。ZipCode列では、数値があるはずのところに文字列値が入力されています。

図12-6 アップロードの前に行が変更済のADF表コンポーネント

図12-7は、ADF表コンポーネントのUploadアクションの起動後にADF表コンポーネントにある同じ行を示しています。ADF表コンポーネントは、_ADF_StatusColumn列(この例の実行時はStatusというラベル付き)に、行の更新が成功したかどうかを示すメッセージを移入します。

図12-7 アップロード後に行が変更済のADF表コンポーネント

デフォルトでは、__ADF_StatusColumn列のDoubleClickActionSetは、ADF表コンポーネントのDisplayRowErrorsアクションを起動するように構成されています。エンド・ユーザーが実行時にこの列の行をダブルクリックすると、ADF表コンポーネントによりDisplayRowErrorsアクションが起動されます。エラーが存在する場合、このアクションによってその行のエラーのリストを示すダイアログが表示されます。エラーがない場合、ダイアログにはエラーが発生しなかったことを示すメッセージが表示されます。図12-8は、Status列にUpdate failedと表示される図12-7のセルをエンド・ユーザーがダブルクリックすると表示されるダイアログを示しています。

図12-8 行のエラー・メッセージを表示するダイアログ

_ADF_StatusColumn列の詳細は、7.12項「ADF表コンポーネント内の特殊な列」を参照してください。

12.6 統合Excelワークブックでのエラー・メッセージへの詳細の追加

Fusion Webアプリケーションを構成して、カスタムのエラー・ハンドラを使用してエラーを報告し、統合Excelワークブックでエンド・ユーザーに表示されるエラー・メッセージに対する詳細を提供することができます。

この機能を実装するには、カスタムのエラー・ハンドラがgetDetailedDisplayMessageメソッドを上書きして、DCErrorMessageオブジェクトを返す必要があります。実行時にADFデスクトップ統合は、カスタムのエラー・ハンドラを検出して、DCErrorMessageオブジェクトに対してgetHtmlTextメソッドを起動します。ADFデスクトップ統合には、エラー・メッセージ・リストのgetHtmlTextメソッドにより返されるHTMLが詳細として含まれます。

カスタムのエラー・ハンドラの作成の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のエラー処理のカスタマイズに関する項を参照してください。

12.7 ワークブックからデータをアップロードする際のデータ競合の処理

エンド・ユーザーの1人(User X)がFusion WebアプリケーションからExcelワークブックにダウンロードしたデータ行に変更を加えて、異なるセッションにいる別のエンド・ユーザー(User Y)が、User Xが行をダウンロードした後にFusion Webアプリケーションで同じ行を変更する場合、User Xが変更済の行のアップロード時に、User XとUser Yがそれぞれ行った変更が競合するために、エラーが発生する可能性があります。Fusion Webアプリケーションの構成によっては、User XはRowInconsistentExceptionタイプのエラー・メッセージを受信することがあります。Fusion Webアプリケーションを構成してデータを保護する方法の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発の同時に更新したデータの損失を防止する方法に関する項を参照してください。

統合Excelワークブックでこの競合を解決するには、User XがFusion Webアプリケーションから最新バージョンのデータをダウンロードする必要があります。ただし、ADF表コンポーネントのDownloadアクションを起動すると、コンポーネントがExcelワークブックにホストしているすべてのデータがリフレッシュされます。これによって、User Xが加えた他の変更で競合エラー・メッセージを生成しないものが上書きされる可能性があります。このシナリオを解決するために、ADF表コンポーネントのDownloadFlaggedRowsアクションを公開できます。このアクションが起動すると、エンド・ユーザーがダウンロード用にフラグ付けした行についてのみデータがダウンロードされます。このアクションを使用して、User Xは競合の問題を解決し、変更済データをアップロードできます。

第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」には、複数のセッションに対しての統合Excelワークブックの使用に関する情報が記載されています。行のフラグ付けの詳細は、7.11.2項「ADF表コンポーネントでの行のフラグ付け」を参照してください。コンポーネント・アクションの起動の詳細は、8.2.2項「アクション・セット内のコンポーネント・アクションの起動方法」を参照してください。ADF表コンポーネントでサポートされるコンポーネントの詳細は、A.9章「ADF表コンポーネントのプロパティとアクション」を参照してください。

12.7.1 データをアップロードする際のデータ競合を処理するためのワークブックの構成

RowData.ChangeIndicatorAttributeプロパティに対してツリー・バインディングの行に固有な属性を指定して、行が最後にADF表コンポーネントによってダウンロードされてから別のユーザーによって変更されたかどうかを判断します。

ワークブックを構成してデータの競合を処理するには:

1. 統合Excelワークブックを開きます。

2. ADF表コンポーネントのセルを選択し、「Oracle ADF」タブの「プロパティの編集」をクリックします。

3. 「コンポーネントの編集: ADF出力テキスト」で、RowData.ChangeIndicatorAttributeプロパティについて、行に固有のツリー・バインディングの属性を指定して、統合ExcelワークブックでADF表コンポーネントによって最後にダウンロードされてから、別のユーザーによって行が変更されているかを判断します。

4. 「OK」をクリックします。

12.7.2 実行時の処理: データ競合の処理方法

ADF表コンポーネントは、RowDownSyncアクションを起動する際にRowData.ChangeIndicatorAttributeの値として指定した、ツリー・バインディングの行に固有な属性の元の値をキャッシュします。ADF表コンポーネントがRowUpSyncアクションを起動する際、Fusion Webアプリケーションによってホストされるバインディングの値と、ADF表コンポーネントがキャッシュした元の値が異なるかどうかをチェックします。これらが異なる場合、Fusion Webアプリケーションによってホストされるバインディングの値が、ADF表コンポーネントがバインディングの値をダウンロードした後に変更されているため、データの競合を示します。

13 統合Excelワークブックのテスト

この章では、統合Excelワークブックを構成段階でテストおよび検証する方法、またサーバーpingテストを実行する方法について説明します。

この章の内容は次のとおりです。

- 13.1項「統合Excelワークブックのテストの概要」

- 13.2項「Fusion Webアプリケーションのテスト」

- 13.3項「統合Excelワークブックの構成の検証」

- 13.4項「統合Excelワークブックのテスト」

- 13.5項「サーバーpingテストの実行」

13.1 統合Excelワークブックのテストの概要

統合Excelワークブックを公開してエンド・ユーザーにデプロイする前にテストすると、構成した機能が予定どおり動作することを確認できます。統合Excelワークブックをテストする前に、Excelワークブックと統合するFusion Webアプリケーションをテストします。

統合Excelワークブックをデプロイする前に、検証を行い、Fusion Webアプリケーションとの統合をテストする必要があります。統合Excelワークブックのテストには、次の処理が含まれます。

- 統合Excelワークブックの検証

- 統合Excelワークブックのテスト・モードでの実行

13.1.1 統合Excelワークブックのテストのユースケースおよび例

統合Excelワークブックをテストするには「Oracle ADF」タブの「実行」ボタンをクリックし、設計モードに戻るには「停止」ボタンをクリックします。図13-1に、設計モードの場合とテスト・モードの場合の「Oracle ADF」タブのボタンを示します。

図13-1 「Oracle ADF」タブの「実行」および「停止」ボタン

13.1.2 統合Excelワークブックをテストするための追加の機能

統合Excelワークブックを検証してテストした後、必要に応じてワークブックの機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。

- 統合Excelワークブックの公開: ワークブックをテストおよび検証した後、公開する必要があります。詳細は、14.3項「統合Excelワークブックの公開」を参照してください。

- 統合Excelワークブックのデプロイ: ワークブックを公開した後、Fusion Webアプリケーションとともにデプロイできます。詳細は、14.4項「公開したワークブックをFusion Webアプリケーションとともにデプロイする方法」を参照してください。

- 切断モードでの作業: エンド・ユーザーが統合Excelワークブックにデータをダウンロードした後、サーバーに接続できない、またはサーバー・セッションが期限切れになった状態で、そのワークブックを使用することが必要になる場合があります。詳細は、15.1項「切断されたワークブックの概要」を参照してください。

13.2 Fusion Webアプリケーションのテスト

統合Excelワークブックのテストを開始する前に、Excelワークブックと統合するFusion Webアプリケーションをテストします。Fusion Webアプリケーションのテストに関する詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発を参照してください。Excelワークブックと統合するFusion Webアプリケーションについて、C.1項「Fusion WebアプリケーションによるADFデスクトップ統合のサポートの検証」の手順を行い、ADFデスクトップ統合がサポートされていることを検証してください。Fusion Webアプリケーションをテストする前に、ADFアプリケーション・モジュールのビュー・インスタンスもテストできます。ADFアプリケーション・モジュールのテストの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のOracle ADFモデル・テスターを使用したテストおよびデバッグに関する項を参照してください。

統合ExcelワークブックがFusion Webアプリケーションのアプリケーション・ソース・ディレクトリに保存されていない場合は、JDeveloperでFusion Webアプリケーションを実行する前に、すべての統合ExcelワークブックおよびExcelアプリケーションを閉じたことを確認してください。開く対象のファイルがExcelによってロックされたために、ロックされたファイルが検出されると、アプリケーション・デプロイメントは失敗します。

ヒント:

Fusion WebアプリケーションのWebページからダウンロードした統合Excelワークブックをテストする場合は、アプリケーションを再デプロイする前に再公開する必要があります。ワークブックを再公開することで、そのバージョンを確実に最新にすることができます。

アプリケーションのテストで判明した問題を解決するために、Fusion Webアプリケーションに対して変更を行う場合は、次の作業を行う必要があります。

- Excelおよびすべての統合Excelワークブックを閉じます。開く対象のファイルがExcelによってロックされたために、ロックされたファイルが検出されると、アプリケーション・デプロイメントは失敗します。

- Fusion Webアプリケーションの開発に使用するJDeveloperプロジェクトを再ビルドします。

- Fusion Webアプリケーションを実行します。

- 統合Excelワークブックに関連付けられているページ定義ファイルをリロードします。ページ定義ファイルをリロードするには、統合Excelワークブックの「Oracle ADF」タブにある「バインディングのリフレッシュ」ボタンをクリックします。

これらの手順を行うことで、Fusion Webアプリケーションでの変更が統合Excelワークブックに反映されるようになります。ページ定義ファイルの再ロード方法の詳細は、4.3.3項「Excelワークブックへのページ定義ファイルのリロード方法」を参照してください。

13.3 統合Excelワークブックの構成の検証

ADFデスクトップ統合には、統合Excelワークブックの構成に対する、一連の検証ルールが用意されています。統合Excelワークブックの作成後、テストまたはデプロイを行う前にワークブックを検証できます。

13.3.1 統合Excelワークブックの構成の検証方法

統合Excelワークブックをテストまたはデプロイする前に、ワークブックの構成を検証する必要があります。

統合Excelワークブックの構成を検証するには:

1. 統合Excelワークブックを開きます。

2. 統合Excelワークブックで「Oracle ADF」タブをクリックします。

3. 「テスト」グループで「検証」をクリックします。
構成の検証ダイアログが表示され、すべての警告とエラーが示されます。

4. 警告またはエラーが表示された場合は、クリックして選択します。ダイアログに、警告またはエラーのメッセージの説明が表示されます。
たとえば、図13-2は、無効なEL式の検証失敗のメッセージを示しています。

図13-2 検証失敗という結果になった無効なEL式

警告またはエラーが表示されなかった場合は、「閉じる」をクリックしてダイアログを閉じます。

注意:

検証失敗を解決する間、構成の検証ダイアログを開いたままにしておいて構いません。エラーまたは警告を解決できたかどうかを検証するには、再検証をクリックして検証ルールを再実行します。

13.3.2 統合Excelワークブックの検証時の処理

設計時にワークブックを検証する際、ADFデスクトップ統合では、ワークシートおよびワークシートのコンポーネント・プロパティを含むすべてのワークブック構成プロパティが、定義済の検証ルールと比較して検証されます。すべての検証失敗(エラーおよび警告)は、構成の検証ダイアログに表示されます。検証失敗を個別に選択すると、その失敗に関する背景情報、および各検証失敗を特定して修正するために必要な詳細が表示されます。

構成の検証ダイアログでは、個々の検証失敗に関する次の情報が提供されます。

- 重大度タイプ(エラーまたは警告)

- ワークシートの名前。検証失敗が特定のワークシートに該当しない場合は、「ワークブック」という単語が表示されます。

- ワークシートのコンポーネントID(検証失敗が特定のワークシート・コンポーネントに該当しない場合は、「ワークブック」または「ワークシート」)

- 検証失敗が含まれているプロパティ

- 検証失敗(エラーまたは警告)の説明

ダイアログで特定の失敗エントリを選択すると、その失敗に関する次のような追加の詳細が表示されます。

- プロパティ・コンテキストのフルパス

- プロパティ値

一部の検索ルールでは、結果が複数の異なる失敗になる場合があります。たとえば、式の検証時には、式のタイプ、式の構文、またはプロパティが公開されるワークブック構成内の場所に基づいて、異なる検証失敗が発生します。

次の式値を例にあげます。

#{bindings.EmpView1.hints.Empno.label}

この式値は、表コンポーネント内部の列ヘッダー・ラベル内で使用される場合は有効ですが、Worksheet.Title式の一部として指定される場合は無効です。

注意:

ワークブック構成プロパティのグループに対してEnabledがFalseに設定されている場合、同じグループに含まれる他のプロパティ値の検証はスキップされます。

13.3.3 検証失敗の修正方法

ワークブックの検証時には検証失敗や警告メッセージが戻されることがありますが、次の手順で簡単に修正できます。

1. エラーまたは警告メッセージの発生元であるコンポーネントを特定します。
図13-2の場合、エラーはADF出力テキスト・コンポーネントで生成されています。ワークシートの場合、 #{worksheet.error s}式を使用する出力テキスト・コンポーネントを検索します。

2. そのコンポーネントのプロパティ・エディタを開きます。

3. プロパティ・コンテキストのフルパスで識別される無効なプロパティ値にナビゲートします。

4. プロパティ値を編集して検証失敗を解決します。
図13-3に、ADF出力テキスト・コンポーネントのプロパティ・エディタおよび無効なEL式を示します。

図13-3 検証失敗の解決

5. ワークブックを再検証して、検証失敗が解決したかどうかを検証します。再検証をクリックして検証ルールを再実行します。

6. 検証失敗の修正がすべて完了したら、「閉じる」をクリックして構成の検証ダイアログを閉じます。
図13-4に、警告またはエラーのメッセージが表示されていない構成の検証ダイアログを示します。

図13-4 検証失敗メッセージが表示されていない構成の検証ダイアログ

13.3.4 統合Excelワークブックの構成の検証失敗を実行時に記録する方法

デフォルトでは、実行時に統合Excelワークブックの構成は検証されません。ただし、クライアントのログ・レベルをErrorまたはWarningに設定することで、実行時の検証失敗を記録できます。クライアント・サイド・ロギングの有効化の詳細は、C.3.2項「クライアント・サイド・ロギングの概要」を参照してください。

13.4 統合Excelワークブックのテスト

Fusion Webアプリケーションと統合するExcelワークブックを構成する際には、設計モードからテスト・モードに切り替えて、ワークブックに追加する機能をテストできます。テスト・モードと設計モードを切り替えるには、「Oracle ADF」タブを使用します。

テスト・モードでは、統合Excelワークブックの構成状況に合せて、その機能をテストできます。テスト・モードは、公開された統合Excelワークブックをエンド・ユーザーが表示および実行するときの状態に相当するため、エンド・ユーザーの視点から統合Excelワークブックを確認できます。テスト・モードの統合Excelワークブックと、公開された統合Excelワークブックとの違いは、公開された統合ExcelワークブックではユーザーがADFデスクトップ統合の作業ウィンドウを使用できない点です。

テスト・モードおよび設計モードの詳細は、5.1項「開発ツールについて」を参照してください。

統合Excelワークブックを実行する際、テスト・モードと実行時モードではいくつかの違いがあります。それらの相違点を表13-1に示します。

表13-1 テスト・モードと実行時モードの違い

テスト・モード

実行時モード

改ざんチェックは実行されません。

改ざんチェックが実行されます。

接続確認ダイアログは表示されません。

接続確認ダイアログが表示されます。

「Oracle ADF」リボン・タブが表示されます。

「Oracle ADF」タブは表示されません。

設計モードに切り替えることができます。

設計モードに切り替えることはできません。

ADFデスクトップ統合では、統合Excelワークブックでトリガーされたイベントに基づいて情報を取得するログ・ファイルを生成できます。これらのログ・ファイルの詳細は、付録C「統合Excelワークブックのトラブルシューティング」を参照してください。

注意:

統合Excelワークブックのテストを開始する前に、次のことを確認してください。

- Fusion Webアプリケーションが実行されていること。

- サーバーへのpingが正常に行われ、サーバーがADFデスクトップ統合用に構成されていること。

- ADFデスクトップ統合のサーバーおよびクライアントのバージョンが同じかまたは互換性があること。移行期間中、古いクライアント(バージョンX)は新しいサーバー(バージョンX+1)とともに適切に動作しますが、古いサーバー(バージョンX)は新しいクライアント(バージョンX+1)とは動作しない可能性があることに注意してください。

テスト・モードで統合Excelワークブックを実行するには:

- 統合Excelワークブックをテストおよび実行するには、「Oracle ADF」タブの「実行」ボタンをクリックします。
統合Excelワークブックは、設計モードからテスト・モードに切り替わります。ADFデスクトップ統合では、テスト・モードを開始する前に、すべての設計時コンポーネントのプレースホルダが消去されます。

テスト・モードを停止して統合Excelワークブックを設計モードに戻すには:

- テスト中の統合Excelワークブックの「Oracle ADF」タブで、「停止」ボタンをクリックします。
統合Excelワークブックは、テスト・モードから設計モードに切り替わります。ADFデスクトップ統合では、設計モードに切り替わる前に、表示可能なデータおよびキャッシュされたデータがワークブックのあらゆる部分からすべて削除され、設計時コンポーネントのプレースホルダが再描画されます。

注意:

エンド・ユーザーが統合Excelワークブックを開いてから変更を行っていない場合でも、これを閉じようとすると、ワークブックを保存するためのダイアログがMicrosoft Excelによって表示されます。これは予測どおりの動作であり、エンド・ユーザーが統合Excelワークブックを開くたびに、ADFデスクトップ統合によって変更が行われることに起因します。

13.5 サーバーpingテストの実行

サーバーpingテストにより、実行中のシステムでADFデスクトップ統合リモート・サーブレットのバージョンを確認できます。また、リモート・サーブレットがロードされて応答していることを確認するのにも役立ちます。認証を実施するFusion Webアプリケーションの場合、pingテストを使用して、ADFデスクトップ統合サーブレットURLに対して適切な認証構成が完了していることを確認できます。

Fusion Webアプリケーションを実行して有効なユーザーとしてログインした後、次の書式のURLを開いてリモート・サーブレットが実行されているかどうかを検証します。

http://<hostname>:<portnumber>/<context-root>/adfdiRemoteServlet

たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションを実行する場合、次のURLを開きます。

http://127.0.0.1:7101/summit/adfdiRemoteServlet

図13-5は、リモート・サーブレットのレスポンス・ページを示しています。

図13-5 リモート・サーブレットのレスポンス

注意:

サーバーpingテストを実行するには、有効なユーザー・セッションが必要です。Webアプリケーションの認証が有効になっている場合は、ログインするための有効な資格証明を求められます。

14 統合Excelワークブックのデプロイ

この章では、Fusion Webアプリケーションと統合したワークブックをエンド・ユーザーに公開してデプロイする方法を説明します。また、Fusion Webアプリケーションからのパラメータを統合Excelワークブックに渡す方法についても説明します。

この章の内容は次のとおりです。

- 14.1項「統合Excelワークブックのデプロイの概要」

- 14.2項「エンド・ユーザーがADFデスクトップ統合を使用できるようにするための処理」

- 14.3項「統合Excelワークブックの公開」

- 14.4項「公開したワークブックをFusion Webアプリケーションとともにデプロイする方法」

- 14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」

14.1 統合Excelワークブックのデプロイの概要

統合Excelワークブックの開発が終了した後、最終の統合Excelワークブックをエンド・ユーザーが使用できるようにするために、完成したFusion Webアプリケーションをアプリケーション・サーバーにデプロイします。Fusion Webアプリケーションと統合される最終のExcelワークブックをデプロイする前に、14.3項「統合Excelワークブックの公開」の説明に従って、このExcelワークブックを公開する必要があります。Excelワークブックを公開した後、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発の「Fusion Webアプリケーションのデプロイ」の章に概説されている方法のいずれかを使用してデプロイできます。

統合Excelワークブックのデプロイ対象となるエンド・ユーザーは、次の作業を行う必要があります。

- 各自のシステムでADFデスクトップ統合を設定します。
ADFデスクトップ統合のsetup.exeツールを、ネットワーク上のディレクトリなどからエンド・ユーザーが使用できるようにします。詳細は、14.2項「エンド・ユーザーがADFデスクトップ統合を使用できるようにするための処理」を参照してください。

- 必要であれば、各自のExcelアプリケーションに対してセキュリティ設定を構成します。

Fusion Webアプリケーションとともに統合Excelワークブックをデプロイする際に、ワークブックのダウンロードURLを明示的に提供する必要はありません。エンド・ユーザーは、Fusion Webアプリケーションのユーザー・インタフェースから統合Excelワークブックをダウンロードできます。詳細は、14.4項「公開したワークブックをFusion Webアプリケーションとともにデプロイする方法」を参照してください。

14.1.1 統合Excelワークブックのデプロイのユースケースおよび例

「Oracle ADF」タブの「公開」ボタンを使用して、公開の準備が整ったワークブックのコピーを保存します。図14-1に、「公開」ボタン、およびこのボタンをクリックすると開くワークブックの公開ダイアログを示します(このダイアログを使用して、公開およびFusion Webアプリケーションとともにデプロイするための準備が整った統合Excelワークブックのコピーを保存します)。

図14-1 ワークブックの公開ダイアログ

14.1.2 統合Excelワークブックをデプロイするための追加の機能

統合Excelワークブックを公開してデプロイした後、必要に応じてワークブックの機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。

- パラメータ渡し: Fusion Webアプリケーションのページを構成して、エンド・ユーザーがそのページからワークブックをダウンロードするときに、統合Excelワークブックにパラメータ値を渡すことができます。詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

- 切断されたワークブック: Fusion Webアプリケーションと接続されていない状態で、エンド・ユーザーが統合Excelワークブックを使用できます。詳細は、第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」を参照してください。

14.2 エンド・ユーザーがADFデスクトップ統合を使用できるようにするための処理

開発者が統合Excelワークブックで構成した機能をエンド・ユーザーが使用するには、ADFデスクトップ統合のランタイム・エディションをインストールする必要があります。インストール・プログラム(setup.exe)は、MW_HOME\oracle_common\modules\oracle.adf.desktopintegration_12.1.2ディレクトリのadfdi-excel-runtime-client-installer.zipファイル内にあります。MW_HOMEはミドルウェア・ホーム・ディレクトリです。

インストール・プログラムの使用の詳細は、Oracle ADFアプリケーションの管理の複数のエンド・ユーザーが利用できるADFデスクトップ統合のランタイム・エディションの作成に関する項を参照してください。

14.3 統合Excelワークブックの公開

Oracle ADFの機能を使用したExcelワークブックの構成が終了したら、これを公開する必要があります。ワークブックを公開することで、構成した統合Excelワークブックを対象となるエンド・ユーザーが使用できるようになります。

ADFデスクトップ統合では、ワークブックを公開する方法が2つ用意されています。統合ExcelワークブックをExcelから直接公開するか、JDeveloperで使用可能な公開ツールを使用してコマンドラインからワークブックを公開できます。コマンドラインの公開ツールでは、ANTビルド・スクリプトを使用して、Fusion Webアプリケーションから統合Excelワークブックを公開できます。

注意:

1つまたは複数のワークブックを公開した後で、それらのワークブックをダウンロードしてMicrosoft Excelで正常に開くために、Fusion Webアプリケーションを再起動する必要があります。Wbアプリケーションが再起動されないと、次のようなエラーが発生する可能性があります。

TampercheckErrorException: ADFDI-05537: ワークブック統合の整合性を判別できませんでした。

14.3.1 Excelから統合Excelワークブックを公開する方法

ワークブックを公開するには、「Oracle ADF」タブ上のボタンをクリックして表示されるダイアログで値を指定するか、コマンドラインの公開ツールを使用します。ワークブックを公開するためのコマンドライン公開ツールは、Fusion Webアプリケーションから使用できます。

始める前に:

統合Excelワークブックの公開方法について理解しておくと役立ちます。詳細は、14.3項「統合Excelワークブックの公開」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。

Excelからワークブックを公開するには:

1. 統合Excelワークブックを開きます。

2. 「ワークブック・プロパティの編集」ダイアログのApplicationHomeFolderおよびWebPagesFolderプロパティが正しいことを確認します。これらのプロパティが設定されていない場合、統合Excelワークブックの公開時にADFデスクトップ統合によって設定するよう求められます。
詳細は、4.2.2項「新しい統合Excelワークブックの構成方法」を参照してください。

3. 「Oracle ADF」タブで「公開」ボタンをクリックします。

4. 図14-1のように、表示されるワークブックの公開ダイアログ・ボックスで、公開するワークブックのディレクトリとファイル名を指定します。公開するワークブック用に指定するディレクトリおよびファイル名は、設計時のワークブックのディレクトリおよびファイル名とは異なるものにする必要があります。

5. 「保存」をクリックして変更内容を保存します。

14.3.2 コマンドライン公開ツールを使用した統合Excelワークブックの公開方法

この公開ツールはコマンドラインから実行するもので、MW_HOME\jdeveloper\adfdi\bin\excel\tools\publishディレクトリにあるpublish-workbook.exeを指します。公開ツールを実行する前に、ソースの統合Excelワークブックを開いて「ワークブック・プロパティの編集」ダイアログのApplicationHomeFolderおよびWebPagesFolderプロパティが正しいことを確認します。

注意:

すでに公開済のワークブックまたは実行時モードのワークブックを公開することはできません。

始める前に:

統合Excelワークブックの公開方法について理解しておくと役立ちます。詳細は、14.3項「統合Excelワークブックの公開」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。

MW_HOME\jdeveloper\adfdi\bin\excel\tools\publishディレクトリにナビゲートし、次の構文を使用して公開ツールを実行します。

publish-workbook -workbook (-w) <source-workbook-path> -out (-o) <destination-workbook-path>

source-workbook-pathはソース・ワークブックのフルパスで、destination-workbook-pathは公開されるワークブックの保存先のフルパスです。

例:

publish-workbook -workbook D:\Application1\Project1\ViewController\src\oracle\sampledemo\excel\workbook-src.xlsx -out D:\Application1\Project1\ViewController\public_html\excel\published\workbook.xlsx

ヒント:

公開ツールの必須の引数に関する詳細を参照するには、次のコマンドを実行します。

publish-workbook -help (-h)

注意:

- 必ずソースおよび保存先のワークブックの絶対パスを指定します。公開ツールでは、ワークブックの相対パスをサポートしていません。

- ワークブックのパスが異なる場合でも、保存先のワークブックにソースと同じ名前を付けることはできません。

統合Excelワークブックが正常に公開されると、公開ツールによって成功メッセージが表示されます。ワークブックの公開中にエラーが発生した場合は、公開ツールによって処理が中止され、コマンドライン・コンソールにエラー・メッセージが表示されます。

コマンドライン公開ツールを使用する場合は、デフォルトでコマンドライン・コンソールに情報レベルのメッセージが記録されます。

ANTでの公開ツールの使用

Fusion Webアプリケーションのビルド時にANTスクリプトを作成して、JDeveloperから公開ツールを実行できます。ANTを使用してユーティリティを実行するには、次のいずれかの方法を使用します。

- プロジェクト用のANTビルド・スクリプトを生成して、ワークブックのコマンドライン公開ツールを実行するためのターゲットを追加します。

- ワークブックのコマンドライン公開ツールを実行するために、別個のANTビルド・スクリプトを生成または作成します。

公開ツールを実行するためのANTビルド・スクリプトのサンプル(publish-workbook.xml)は、MW_HOME\jdeveloper\adfdi\bin\excel\samplesディレクトリにあります。このANTスクリプトのサンプルは、コマンドラインのワークブック公開ツールの起動を実例で示します。

14.3.3 統合Excelワークブックの公開時の処理

設計モードで「公開」ボタンをクリックすると、ADFデスクトップ統合では次のアクションが実行されます。

1. 必須のワークブック設定を検証します。

2. クライアント・レジストリを更新します。詳細は、11.3項「統合Excelワークブックのメタデータの整合性チェック」を参照してください。

3. 公開されるワークブックを、指定のファイル名で、指定のディレクトリに作成します。
公開によっても、ワークブック定義がエクスポートされます。公開されたワークブック定義のXMLファイルは、設計時のワークブックのコピーと同じ場所に保存されます。ワークブック定義の詳細は、5.15項「Excelワークブック統合メタデータのエクスポートおよびインポート」を参照してください。

4. 公開されるワークブックのワークブック設定からApplicationHomeFolder、WebAppRootおよびWebPagesFolderの各プロパティを消去します。

5. ワークシートが設計モードのときにワークシートに表示されるバインディング式を削除します。

6. ワークブックのモードを実行時モードに変更します。

7. Publishing Timestampプロパティをワークブックに挿入します。このプロパティは、「情報」ダイアログの「プロパティ」タブに表示されます。

14.4 公開したワークブックをFusion Webアプリケーションとともにデプロイする方法

統合ExcelワークブックがJDeveloperプロジェクトを構成する他のファイルとともにパッケージ化されていない場合は、Fusion WebアプリケーションのJDeveloperプロジェクトに統合Excelワークブックを追加します。こうすることで、最終のFusion Webアプリケーションをデプロイする際に、Fusion Webアプリケーションと統合するExcelワークブックが確実にデプロイされます。たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションは、次の場所で統合された、デプロイ済Excelワークブックを保存します。

<Summit_HOME>\ViewController\public_html\excel

ここで、Summit_HOMEはADFデスクトップ統合のSummitサンプル・アプリケーションのインストール・ディレクトリです。

統合Excelワークブックの格納先を決定したら、エンド・ユーザーが統合ExcelワークブックにアクセスできるようにFusion WebアプリケーションでWebページを構成できます。たとえば、図14-2に、Internet Explorerの「ファイルのダウンロード」ダイアログを示します。これはADFデスクトップ統合のSummitサンプル・アプリケーションのindex.jspxページで使用可能なデモ→編集可能表サンプルのメニュー・オプションをクリックすることで起動されました。

図14-2 Fusion Webアプリケーションからの統合Excelワークブックの起動

図14-2に示されている機能を有効にするには、Excelワークブックが認識されるようにFusion WebアプリケーションのHTTPフィルタ・パラメータを構成する必要があります。Fusion WebアプリケーションでADFデスクトップ統合が有効になっている場合、これらのパラメータはJDeveloperによって自動的に構成されます。HTTPフィルタ・パラメータを手動で構成する場合は、付録D「Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定」を参照してください。

Fusion WebアプリケーションのHTTPフィルタを構成した後、Fusion Webアプリケーションによってエンド・ユーザーに表示されるWebページを構成し、エンド・ユーザーがExcelワークブックを起動できるようにします。Fusion Webアプリケーションと統合されたExcelワークブックを起動できるようにする基本的な方法は、ワークブックを起動するハイパーリンクを提供することです。たとえば、Webページに次のようなHTMLを記述できます。

<a href="/excel/EditCustomers.xlsx">Editable Table Sample</a>

ここで、excelは、WebPagesFolderワークブック・プロパティによって指定されるディレクトリのサブディレクトリで、EditCustomers.xlsxはエンド・ユーザーが起動するExcelワークブックです。

ボタン、リストおよびリボン・コマンドからエンド・ユーザーがExcelワークブックを起動できるようにするための機能を提供できます。次にいくつかの例を示します。

- ボタン
クリックすると統合Excelワークブックが起動するボタンをWebページ上に表示します。

- 選択リスト
統合Excelワークブックを起動するボタンとともに、ADF Faces selectOneChoiceコンポーネントを使用します。

- メニュー
ADF Faces goMenuItemコンポーネントを使用します。

図14-2に示されている使用可能なデモのメニューでは、goMenuItemコンポーネントが使用されています。次のエントリがADFデスクトップ統合のSummitサンプル・アプリケーションのindex.jspxページに表示され、goMenuItemコンポーネントを示します。

<af:goMenuItem text="Editable Table Sample" id="gmi1"
destination="/excel/EditCustomers.xlsx"/>

Fusion WebアプリケーションのWebページの作成の詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』を参照してください。

14.4.1 実行時の処理: 公開されたワークブックのデプロイ

web.xmlがADFデスクトップ統合を使用するFusion Webアプリケーション用に構成されている場合、次のことが起こります。

- DIExcelDownloadFilterフィルタが定義されます。

- フィルタ・マッピングは、*.xlsxファイルに定義されます。

エンド・ユーザーがワークブックに対してHTTPリクエストを出す(たとえば、ユーザーがアプリケーションからWebページのリンクをクリックする)と、DIExcelDownloadFilterフィルタは、HTTPレスポンスとしてストリーム化されて戻されたWebAppRootプロパティをワークブックに埋め込みます。WebAppRootプロパティは後でADFデスクトップ統合クライアントにより使用されて、Fusion Webアプリケーションに接続し、ユーザー・セッションを確立し、データを相互に送信します。

DIExcelDownloadFilterフィルタはWebAppRoot値を、doFilter()エントリ・ポイントに渡される現在のHttpServletRequestオブジェクトから構築します。フィルタ・コードはHttpServletRequest.getRequestURL()を呼び出し、コンテキスト・パス部分の後をすべて削除する(HttpServletRequest.getContextPath()を使用)ことで、完全なURLの"root"部分を取得します。

14.5 Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法

Fusion Webアプリケーションのページを構成して、エンド・ユーザーがそのページからワークブックをダウンロードするときに、統合Excelワークブックにパラメータ値を渡すことができます。たとえば、エンド・ユーザーが商品リストを表示するページからワークブックをダウンロードする場合、エンド・ユーザーがダウンロードを起動したときにワークブックに表示される商品リストは、ページ上に表示される商品リストと一致します。それ以降にワークシートまたはFusion Webアプリケーションのページの一方でエンド・ユーザーが行った変更は、他方のデータには影響しません。

この機能を構成するには、次の作業を行う必要があります。

- エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードできるように、HTTPフィルタが構成されていることを確認します。デフォルトでは、プロジェクト内でADFデスクトップ統合を有効化すると、JDeveloperによってHTTPフィルタが適切な値で構成されます。HTTPフィルタのパラメータ値を検証するには、D.2項「ADFデスクトップ統合Excelダウンロード・フィルタの構成」を参照してください。

- エンド・ユーザーによる統合Excelワークブックのダウンロード元となるFusion Webアプリケーションのページを構成して、エンド・ユーザーがダウンロードを実行したときにそのパラメータがURL引数を介して統合Excelワークブックに渡されるようにします。

- 統合Excelワークブックのワークシートに関連付けられているページ定義ファイルを構成して、エンド・ユーザーがワークブックをダウンロードするFusion Webアプリケーションのページのパラメータを使用してワークシートが初期化されるようにします。

- エンド・ユーザーがダウンロードする統合Excelワークブックのワークブック・プロパティおよびワークシート・プロパティを構成して、エンド・ユーザーがダウンロードを起動するFusion Webアプリケーションのページのパラメータがワークブックに含まれるようにします。

14.5.1 Fusion Webアプリケーションのページを構成してパラメータを渡す方法

<af:link>タグを挿入し、エンド・ユーザーがダウンロードする統合Excelワークブックおよびダウンロードする値を参照する、このタグのプロパティ値を指定します。起動時に<af:link>タグおよびそのプロパティ値によって参照される値のリフレッシュをFusion Webアプリケーションに要求するコマンドを、ページ上に指定します。

始める前に:

Fusion Webアプリケーションから統合Excelワークブックへパラメータ値を渡す方法を理解しておくと役立ちます。詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。

Fusion Webアプリケーションのページを構成するには:

1. JDeveloperで、エンド・ユーザーによる統合Excelワークブックのダウンロード元となるページにaf:linkを挿入します。

2. 「構造」ウィンドウでaf:linkノードを右クリックし、「プロパティに移動」を選択します。

3. 「共通」セクションを開き、表14-1の説明に従ってプロパティの値を設定します。

表14-1 af:linkタグのプロパティ

タグに設定するプロパティを示しています。" title="af:linkタグのプロパティ" width="100%">

プロパティ

値

Text

実行時にエンド・ユーザーに表示されるテキストを記述します。

たとえば、次のようなテキストを記述して実行時に表示します。

Download to Excel

Destination

ダウンロードする統合Excelワークブックおよびその値をURL引数として指定するEL式を記述するための式ビルダーを起動します。

たとえば、次のようなEL式を記述します。

"/excel/workbook.xlsx?productName=#{bindings.productName.attributeValue}"

?より右の、問合せ文字列全体のURLエンコードされたランタイム値は、2048バイト未満にする必要があります。ランタイム値が2048バイトを超える場合、統合Excelワークブックに含まれるURL引数は、2048バイト内に収まる分のみです。残りのURL引数は、統合Excelワークブックに含まれません。かわりに、これらのURL引数が含まれていないことを示すログ・エントリがFusion Webアプリケーションによって書き込まれます。

たとえば、次のEL式が評価されてからURLエンコードされた結果の合計サイズは、2048バイトよりも小さい必要があります。

productName=#{bindings.productName.attributeValue}&productType=#{bindings.productType.attributeValue}.

また、URLに含まれる文字数が256を超える場合は、エンド・ユーザーが統合Excelワークブックをダウンロードして保存せずに開いたときに、例外が発生します。この問題を解決するには、URLの長さを256文字に制限するか、ワークブックを開く前に保存するようエンド・ユーザーに指示する必要があります。

4. 必要に応じて、「動作」セクションを開き、起動するとaf:linkタグおよびDestinationプロパティの値を更新するpartialTriggersプロパティのコンポーネントIDを指定します。
たとえば、NextButton、PreviousButton、FirstButtonおよびLastButtonというIDのナビゲーション・ボタンがある場合は、次のように指定します。

:NextButton :PreviousButton :FirstButton :LastButton

5. ページを保存します。
この手順で示した例を使用した場合にJDeveloperによってJSFページに生成されるエントリを、次の例に示します。

<af:link text="Download to Excel"
destination="/excel/workbook.xlsx?productName=#{bindings.productName.attributeValue}"
partialTriggers=":NextButton :PreviousButton :FirstButton :LastButton"/>

14.5.2 ワークシートのページ定義ファイルを構成してパラメータを受け取る方法

次の手順で、統合Excelワークブックのワークシートに関連付けられているページ定義ファイルを構成します。

- 14.5.3項「統合Excelワークブックでパラメータのプロパティを構成する方法」ではワークブックのParametersプロパティを構成しますが、これによって指定される値でワークシートを初期化する、parameter要素を1つ以上追加します。
次の例は、統合Excelワークブックのワークシートに関連付けられているページ定義ファイルのパラメータ要素を示しています。

<parameters>
<parameter id="ProductNameParam" />
</parameters>

- ワークシートに関連付けられているページ定義ファイルが正しく初期化されるように、invokeActionおよびメソッド・アクション・バインディングを追加します。

注意:

invokeActionを含むページ定義ファイルを統合Excelワークブックで使用すると、invokeActionで使用されるメソッドが複数回起動する可能性があります。必要であれば、メソッドをコーディングして、このような複数起動を処理します。<invokeAction>要素のRefreshおよびRefreshConditionプロパティを構成して、起動頻度を管理することもできます。

次の例は、filterByProductNameメソッド・アクション・バインディングを起動するinitializeProductTable invokeActionを示しています。invokeActionは、ProductNameParamの値が指定された場合のみリフレッシュされます。

<executables>
<invokeAction Binds="filterByProductName" id="initializeProductTable"
Refresh="deferred"
RefreshCondition="${bindings.ProductNameParam != null}"/>
...
</executables>

メソッド・アクション・バインディングによって、ビュー・オブジェクト・メソッド(filterByProductName)が起動します。このビュー・オブジェクト・メソッドにより、ProductNameParamの値を参照する1つの文字列引数(ProductNameArg)が取得されます。

<bindings>
<methodAction id="filterByProductName" RequiresUpdateModel="true"
Action="invokeMethod" MethodName="filterByProductName"
IsViewObjectMethod="true" DataControl="AppModuleDataControl"
InstanceName="AppModuleDataControl.ProductVO1">
<NamedData NDName="ProductNameArg" NDValue="${bindings.ProductNameParam}"
NDType="java.lang.String"/>
</methodAction>
. . .
</bindings>

ページ定義ファイルの構成の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

14.5.3 統合Excelワークブックでパラメータのプロパティを構成する方法

エンド・ユーザーによってFusion Webアプリケーションからダウンロードされる統合Excelワークブックが、ワークブックのダウンロードURLの問合せ文字列に含まれているパラメータ値を受け取るように、ワークブックのParametersプロパティおよびワークシートのParametersプロパティを構成します。

始める前に:

Fusion Webアプリケーションから統合Excelワークブックへパラメータ値を渡す方法を理解しておくと役立ちます。詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。

ワークブックのParametersプロパティを構成するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「パラメータ」の入力フィールドの横にある参照(...)アイコンをクリックして、「パラメータの編集」ダイアログを起動します。

4. 「追加」をクリックして新しいワークブック初期化パラメータを追加し、プロパティを次のように構成します。

- (オプション)「注釈」フィールドに、ワークブック初期化パラメータの説明を入力します。

- 14.5.1項「Fusion Webアプリケーションのページを構成してパラメータを渡す方法」でaf:linkタグのDestinationプロパティ用に構成したURL引数の名前を、「パラメータ」フィールドで指定します。
たとえば、表14-1に示したaf:link URL引数を追加した場合、Parameterプロパティの値は図14-3に示すようにproductNameになります。

図14-3 ワークブック・パラメータ

5. 必要に応じて手順4を繰り返し、他のワークブック初期化パラメータを追加します。

6. 「OK」をクリックします。
ワークブックのParametersプロパティの詳細は、表A-18を参照してください。

ワークシートのParametersプロパティを構成するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。

3. 「パラメータ」の入力フィールドの横にある参照(...)アイコンをクリックして、「パラメータの編集」ダイアログを起動します。

4. 「追加」をクリックして新しいワークシート・パラメータを追加し、図14-4のように構成します。

- (オプション)「注釈」フィールドに、ワークシート・パラメータの説明を入力します。

- 14.5.2項「ワークシートのページ定義ファイルを構成してパラメータを受け取る方法」でワークシートに関連付けられているページ定義ファイルに追加したパラメータ要素を、「パラメータ」フィールドで指定します。

- ワークブック初期化パラメータ(ワークブックのParameters配列)に対して指定したParameterプロパティの値を参照するEL式を、「値」フィールドに記述します。EL式を記述する際は、次の構文を使用します。
#{workbook.params.parameter}

parameterは、ワークブック初期化パラメータ用に指定されたParameterプロパティの値を参照します。

図14-4 ワークシート・パラメータ

5. 必要に応じて手順4を繰り返し、他のワークブック初期化パラメータを追加します。

6. 「OK」をクリックします。
ワークシートのParametersプロパティの詳細は、表A-19を参照してください。

デフォルトでは、ワークブック・パラメータは、ワークブックがメタデータをリクエストするためにサーバーに接続するとき、エンド・ユーザーがログアウトするとき、またはセッションが期限切れになるときに、その都度送信されません。必要であれば、SendParametersプロパティを構成して、初期化パラメータが送信されるようにワークブックを構成できます。

ワークシートのSendParametersプロパティを構成するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。

3. 「ワークシート・プロパティの編集」ダイアログで、表14-2および図14-5に示すように、SendParametersの値を設定します。

表14-2 SendParametersプロパティ

設定するプロパティ

設定する値

SendParameters

True: ワークブックがメタデータまたはデータをリクエストするためにサーバーに接続すると、ワークブック・パラメータが送信されます。Trueに設定した場合、すべてのユーザー・セッションにおいて、メタデータがリクエストされるたび、およびデータが初めてリクエストされたときに、パラメータが送信されます。デフォルト値はFalseです。

詳細は、15.2項「セッション間でのサーバー・データ・コンテキストのリストア」を参照してください。

図14-5 SendParametersプロパティ

4. 「OK」をクリックします。

14.5.4 実行時の処理: Fusion Webアプリケーションから統合Excelワークブックへパラメータを渡す方法

エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードすると、af:linkタグが評価され、現在の製品名が取得されてURLに組み込まれます。adfdiExcelDownloadフィルタによって、URLのすべてのパラメータの名前および値が、ダウンロードされた統合Excelワークブックに埋め込まれます。

エンド・ユーザーがワークブックをダウンロードして初めて開くときに、統合Excelワークブックのアクティブなワークシートが初期化されます。この初期化プロセスには、Webアプリケーションからのメタデータのフェッチも含まれます。格納されたワークブック・パラメータが存在する場合は、ワークシート・メタデータの取得処理の一部としてADFデスクトップ統合のリモート・サーブレットに送信されるため、<invokeAction>実行可能ファイルなどのアプリケーション・ロジックに使用できます。具体的には、これらのパラメータはバインディング・コンテナがリフレッシュされる前にBindingContainer DCParametersに送信されます。ワークシートのStartupイベントで設定されたアクションも初期化中に実行されます。初期化の後、統合Excelワークブックがディスクに保存される際に、各ワークシートの初期化ステータスが記録されます。

統合Excelワークブックを保存して閉じた後、再び開くと、前に初期化されたワークシートに対する初回の初期化はスキップされます。統合Excelワークブックの初回のダウンロード時にワークブック・パラメータが取得され、サーバー・コンテキストの設定にこれらのパラメータが必要である場合は、Worksheet.ServerContext.SendParametersプロパティをTrueに設定する必要があります。SendParametersプロパティがTrueの場合、各ユーザー・セッションにおいて、メタデータのリクエストごとに、またデータの初回のリクエスト時に、ワークブック・パラメータが送信されます。

ワークブックのすべてのワークシートの初期化状態をリセットするには、ClearAllDataアクションを起動します。ClearAllDataアクションの詳細は、表A-17を参照してください。

注意:

ShareFrameプロパティがTrueのアクション・セットでWebダイアログが起動すると、サーバーに渡されたパラメータの値がリセットされる可能性があります。これらのパラメータが使用され、それらの値がWebダイアログの起動間で維持されることが必要なカスタム・コードでは、ユーザー・セッションのデータ構造にこれらの値が保存されるようにしてください。

15 複数のWebセッション間における切断モードでの統合Excelワークブックの使用

この章では、ユースケースが複数のWebアプリケーション・セッションで適切に動作するように、統合Excelワークブックを構成する方法を説明します。

この章の内容は次のとおりです。

- 15.1項「切断されたワークブックの概要」

- 15.2項「セッション間でのサーバー・データ・コンテキストのリストア」

- 15.3項「統合Excelワークブックでの静的情報のキャッシュ」

- 15.4項「切断モードで使用する値リストのキャッシュ」

15.1 切断されたワークブックの概要

エンド・ユーザーは、統合Excelワークブックを開いて、開発者が構成したワークブック・リボン・コマンドからFusion Webアプリケーションにログオンできます。Fusion Webアプリケーションではユーザーにセッションが割り当てられます。Fusion Webアプリケーションへの接続が確立され、有効なセッションが割り当てられると、エンド・ユーザーはFusion Webアプリケーションからワークブックへデータをダウンロードできます。その後、ワークブック・リボン・コマンドを使用してFusion Webアプリケーションからログオフするか、Fusion Webアプリケーションをホストするネットワークから切断するなどしてFusion Webアプリケーションから切断することができます。

ユーザーに割り当てられたセッションがFusion Webアプリケーションでどのように終了するかは、ユーザーがFusion Webアプリケーションからどのように切断されたかによって決まります。ユーザーがワークブック・コマンドを使用してFusion Webアプリケーションからログオフした場合は、ただちにセッションが終了します。ユーザーが他の方法(たとえば、ワークブックを閉じるなど)でFusion Webアプリケーションから切断した場合、ユーザーに割り当てられたセッションは、セッション・タイムアウトが期限切れになると終了します。

Fusion Webアプリケーションから切断された統合Excelワークブックを使用して、エンド・ユーザーは次のアクションを実行できます。

- Fusion Webアプリケーションからダウンロードしたデータの変更

- ワークブック内の適切なADF表コンポーネントへの新規データの挿入

- データの変更を保存してワークブックを閉じ、再度開くこと(Fusion Webアプリケーションへのデータのアップロードは不要)

- ADF表コンポーネントでの変更の追跡および更新

15.1.1 切断されたワークブックのユースケースおよび例

公開された統合Excelワークブックをエンド・ユーザーが開くと、ワークブックに必要なデータがダウンロードされます。その後、サーバーから切断されても、統合Excelワークブックでデータの編集や更新を続行し、保存して閉じることができます。

統合Excelワークブックを保存後に開くと、更新が検出され、図15-1に示すように、変更の破棄を確認するプロンプトがエンド・ユーザーに表示されます。エンド・ユーザーが「いいえ」をクリックした場合、変更はワークブックに表示されます。エンド・ユーザーが「はい」をクリックした場合は、データをダウンロードするためにサーバーに接続することを求められます。

図15-1 切断されたワークブックの保留中の変更を破棄するダイアログ

15.1.2 切断されたワークブックの追加の機能

統合Excelワークブックを切断モードで検証してテストした後、必要に応じてワークブックの機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。

- 統合Excelワークブックのトラブルシューティング: 統合Excelワークブックの開発中またはデプロイ時に、問題が発生する可能性があります。詳細は、付録C「統合Excelワークブックのトラブルシューティング」を参照してください。

- ADFデスクトップ統合のランタイム・エディションのインストール: ADFデスクトップ統合および統合Excelワークブックをエンド・ユーザーが使用できるようにするために、開発者はADFデスクトップ統合のランタイム・エディションをインストールする必要があります。詳細は、付録H「エンド・ユーザーのアクション」を参照してください。

15.2 セッション間でのサーバー・データ・コンテキストのリストア

次のいずれかのイベントが発生し、Fusion Webアプリケーションによってエンド・ユーザーに新しいセッションが割り当てられる場合に、ビュー・オブジェクトの状態が正しくリストアされるようにページ定義ファイルを構成する必要があります。

- エンド・ユーザーが、ワークブックのデータを変更し、ワークブックを保存して閉じた後、ワークブックを再度開いて、ワークブックを保存して閉じる前に、実行した変更をアップロードしようとしました。

- ADF表コンポーネントのDownloadアクションの起動からUploadアクション(またはFusion Webアプリケーションにアクセスする他のADF表コンポーネント・アクション)の起動までの時間が、Fusion Webアプリケーションのセッションに対して指定されているセッション・タイムアウト値を超えました。

上に示した両方のシナリオには、2つのセッションが関係しています。最初のセッションは、エンド・ユーザーが統合Excelワークブックを開いてFusion Webアプリケーションにログオンしたときに割り当てられます。エンド・ユーザーがFusion Webアプリケーションからログオフするか、セッションが期限切れになると、Fusion Webアプリケーションはこのセッションを終了します。エンド・ユーザーが統合Excelワークブックを再び開いたとき、またはFusion Webアプリケーションと相互作用するアクションを起動したときに、Fusion Webアプリケーションによって2番目のセッションが割り当てられます。

ページ定義ファイルを構成する以外にも、エンド・ユーザーがFusion Webアプリケーションからログオフした場合、またはFusion Webアプリケーションに変更をコミットする前にセッションが期限切れになった場合に保留中の変更が失われないように、統合Excelワークブックの機能を構成します。たとえば、CreateInsertアクション・バインディングおよびワークシートのDownSyncアクションを起動するために、ワークシートのStartupイベントを構成します。また、UpSyncアクションおよびCommitアクション・バインディングを起動するために、「保存」というラベルのADFボタン・コンポーネントを構成します。エンド・ユーザーのセッションが終了すると、Fusion Webアプリケーションによって新しいセッションが割り当てられた後にエンド・ユーザーが「保存」ボタンをクリックした場合でも、レコードは保存されません。このようなシナリオを回避するために、「保存」というラベルのADFボタン・コンポーネントからCreateInsertアクション・バインディングを起動することをお薦めします。

別の例として、ADF表コンポーネントのDownloadForInsertアクションの動作があります。ADF表コンポーネントによるDownloadForInsertアクションの起動をサポートするために、一時レコードを作成するカスタム・メソッドをFusion Webアプリケーションで作成する場合は、DownloadForInsertアクションの起動に成功した後、これらの一時レコードを必ず削除してください。DownloadForInsertアクションの使用の詳細は、7.5項「ADF表コンポーネントに保留中の挿入行としてデータをダウンロードするためのワークシートの構成」を参照してください。

15.2.1 サーバー・データ・コンテキストをリストアするための統合Excelワークブックの構成方法

セッションとセッションの間にワークシートのServerContextプロパティ・グループの値として統合Excelワークブックにキャッシュする属性バインディングを指定します。さらに、このプロパティ・グループでは、Fusion Webアプリケーションによって統合Excelワークブックに新しいセッションが割り当てられると、キャッシュされた属性バインディング・データを使用してサーバー・サイド・コンテキストをリストアするアクション・バインディングを指定できます。

ServerContextプロパティ・グループの値を指定するには、ワークシートに関連付けられているページ定義ファイルで、サーバー・コンテキストのリストアの対象となる属性バインディングおよびアクション・バインディングを公開しておく必要があります。属性バインディングおよびアクション・バインディングのページ定義ファイルへの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。ServerContextプロパティ・グループの詳細は、表A-19のServerContextのエントリを参照してください。

始める前に:

サーバー・データ・コンテキストのリストア方法を理解しておくと役立ちます。詳細は、15.2項「セッション間でのサーバー・データ・コンテキストのリストア」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、15.1.2項「切断されたワークブックの追加の機能」を参照してください。

サーバー・データ・コンテキストをリストアするように統合Excelワークブックを構成するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。

3. ワークシート・プロパティの編集ダイアログで、表15-1の説明に従ってServerContextプロパティ・グループの値を構成します。

表15-1 サーバー・データ・コンテキストをリストアするためのServerContextプロパティ

プロパティ

入力または選択する値

CacheDataContexts

CacheDataContextsのコレクションに要素を追加します。追加する要素を次のように構成します。

- RestoreDataContextActionID
CachedServerContextsによって指定されるデータをリストアするためにFusion Webアプリケーションに接続するアクション・バインディング(たとえば、Executeアクション・バインディング)を指定します。

- CachedServerContexts
RestoreDataContextActionIDによって指定されるアクション・バインディングが起動する前にキャッシュおよび設定される属性バインディング値を識別する配列。配列(CachedServerContext)の各要素は、CachedAttributeIDプロパティおよびRestoredAttributeIDプロパティをサポートします。

CacheDataContextsプロパティおよびそのサブプロパティの詳細は、A.13項「ワークシート・プロパティ」を参照してください。

IDAttributeID

現在のワークシートに表示される行を一意に識別する属性バインディングを指定します。実行時には、サーバー・データ・コンテキストが正しくリストアされているかどうかを判断するために、このプロパティが参照する値が使用されます。

このプロパティおよびそのサブプロパティの詳細は、A.13項「ワークシート・プロパティ」を参照してください。

統合Excelワークブックでパラメータを使用しており、そのワークブックをFusion Webアプリケーションからダウンロードしてデプロイした場合は、14.5.3項「統合Excelワークブックでパラメータのプロパティを構成する方法」を参照してください。

4. 「OK」をクリックします。

注意:

Parametersおよび<invokeAction>実行可能ファイルを使用する統合Excelワークブックに関して、新しいセッションの作成時にParametersおよび<invokeAction>によってサーバー・データ・コンテキストをリストアできる場合は、RestoreDataContextActionIDおよびCachedServerContextsを構成する必要はありません。

15.2.2 実行時の処理: 統合Excelワークブックによるサーバー・データ・コンテキストのリストア方法

ワークシートでは、初期セッションが割り当てられたセッション(たとえば、session ID 1)の中で、ServerContextプロパティ・グループを使用してデータがキャッシュされます。その後、ADF表コンポーネントのUploadアクションが起動される、別のセッションID(たとえば、session ID 2)を持つセッションで、ServerContextプロパティ・グループにキャッシュされたデータがFusion Webアプリケーションに送信されます。

15.3 統合Excelワークブックでの静的情報のキャッシュ

Fusion Webアプリケーションから切断されている間にエンド・ユーザーがワークブックを使用できるように、相対的に静的な特定の種類のデータが統合Excelワークブックにキャッシュされます。表15-2に、統合Excelワークブックでキャッシュされるデータの種類を示します。また、統合Excelワークブックによってそのデータがリフレッシュされるタイミングも示します。

表15-2 統合Excelワークブックでキャッシュされるデータの種類

データの種類

キャッシュのタイミング

リフレッシュのタイミング

実行時固有のものではないページ定義構成(コントロール・バインディング・タイプ、IDおよびラベルなど)

ページ定義ファイルにバインドされている統合Excelワークシートがアクティブ化され、ページ定義ファイルの構成のキャッシュが存在しない場合。

統合Excelワークブックの新規コピーをダウンロードするか、表A-17に示すワークブック・アクションClearAllDataおよびEditOptionsを起動しないかぎり、ページ定義構成はリフレッシュされません。

ADF値リスト・コンポーネントのリスト項目

ADF値リスト・コンポーネントによってFusion Webアプリケーションからリスト項目が初めてダウンロードされるとき。

Fusion Webアプリケーションによってホストされるリスト項目の値が統合Excelワークブックによってキャッシュされたものと異なる場合。キャッシュされたリスト項目がリフレッシュされるのは、ワークブック・セッションが存在する場合のみで、ワークブック・セッションごとに1回かぎりです。

表A-17で説明しているワークブック・アクションClearAllDataおよびEditOptionsを起動した場合も、キャッシュされたリスト項目が消去されます。

リソース・バンドルの文字列

統合Excelワークブックが初めて初期化されるとき。ワークブックが初期化されるのは、変換後に初めて開いたとき、またはClearAllDataの起動後です。

統合Excelワークブックの新規コピーをダウンロードするか、表A-17に示すワークブック・アクションClearAllDataおよびEditOptionsを起動しないかぎり、リソース・バンドルの文字列のキャッシュはリフレッシュされません。

15.4 切断モードで使用する値リストのキャッシュ

ADFデスクトップ統合では、ADF値リストによって参照される値、および開発者が値リストや依存する値リストの作成に使用するTreeNodeListサブコンポーネントをキャッシュして、実行時にエンド・ユーザーが値を選択したときに、これらのコンポーネントによってFusion Webアプリケーションにリクエストが送信されないようにします。これらのコンポーネントを使用した値リストの作成の詳細は、次の各項を参照してください。

- 6.6項「ADF値リスト・コンポーネントの挿入」

- 7.14項「ADF表コンポーネント列での値リストの作成」

- 8.8項「統合Excelワークブックでの依存値リストの作成」

ADFデスクトップ統合では、各コンポーネントに対して最大250の値がキャッシュされます。値が250を超える値リストをコンポーネントが参照する場合、ADFデスクトップ統合では、最初の250の値をキャッシュして、残りの値に関する警告メッセージをクライアント・サイドのログ・ファイルに書き込みます。統合Excelワークブックを構成して、値リストによって参照される値が250を超えるFusion Webアプリケーションのページから、選択ダイアログを起動させることを検討してください。クライアント・サイドのログ・ファイルの詳細は、C.3項「統合Excelワークブックのログ・ファイルの生成」を参照してください。Fusion Webアプリケーションのページからの選択ダイアログの起動の詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」および8.5項「カスタム・ポップアップ・ピッカー・ダイアログのADF表列への挿入」を参照してください。

統合Excelワークブックにキャッシュされた値リストは、ワークブック・セッションごとに1回リフレッシュされます。このリフレッシュは、Fusion Webアプリケーションによって参照される値が、統合Excelワークブックによる最後の値リストのキャッシュ以降に変更された場合に、ユーザーがFusion WebアプリケーションとのWebセッションを再確立すると行われます。

値リストから選択した値をアップロードする際に、その選択値がFusion Webアプリケーションにすでに存在しない場合、アップロードは失敗します。このような状況が発生するのは、あるエンド・ユーザーがFusion Webアプリケーションで値を削除し、別のエンド・ユーザーが統合Excelワークブックのキャッシュされた値リストでその値を選択して変更し、変更した値をFusion Webアプリケーションにアップロードしようとした場合などです。データの競合の処理の詳細は、12.7項「ワークブックからデータをアップロードする際のデータ競合の処理」を参照してください。

Fusion Webアプリケーションをデプロイし、公開した統合Excelワークブックをエンド・ユーザーが使用するようになった後にFusion Webアプリケーションの構成を変更する場合は、統合Excelワークブックの新しいコピーをダウンロードするか、もしくはClearAllDataコマンドを実行するようエンド・ユーザーに通知する必要があります。ClearAllDataアクションの詳細は、表A-17を参照してください。

Fusion Webアプリケーションでの変更には、ワークシートで公開されているADF値リストやTreeNodeListサブコンポーネントに関連付けられているリスト・バインディングの定義の変更が含まれる場合があります。リスト・バインディング構成を変更すると、変更前にダウンロードおよび実行されたワークブックで予期しない例外が発生する可能性があります。

A ADFデスクトップ統合コンポーネントのプロパティおよびアクション

この付録では、ADFデスクトップ統合コンポーネントのプロパティを一覧表示し、それについて説明します。また、特定のコンポーネント(ADF入力テキスト、ADF出力テキスト、ADF値リスト、ADFボタン、ADF表、ワークブック、ワークシートなど)によって公開されるアクションについても説明します。

この付録の内容は次のとおりです。

- A.1項「ADFデスクトップ統合で頻繁に使用するプロパティ」

- A.2項「ADF入力テキスト・コンポーネントのプロパティ」

- A.3項「ADF出力テキスト・コンポーネントのプロパティ」

- A.4項「ADFラベル・コンポーネントのプロパティ」

- A.5項「ADF値リスト・コンポーネントのプロパティ」

- A.6項「TreeNodeListサブコンポーネントのプロパティ」

- A.7項「ModelDrivenColumnComponentサブコンポーネントのプロパティ」

- A.8項「ADFボタン・コンポーネントのプロパティ」

- A.9項「ADF表コンポーネントのプロパティおよびアクション」

- A.10項「ADF読取り専用表コンポーネントのプロパティおよびアクション」

- A.11項「アクション・セットのプロパティ」

- A.12項「ワークブックのアクションおよびプロパティ」

- A.13項「ワークシートのアクションおよびプロパティ」

A.1 ADFデスクトップ統合で頻繁に使用するプロパティ

表A-1に、多くのコンポーネントで参照されるADFデスクトップ統合のプロパティを、アルファベット順に示します。

表A-1 ADFデスクトップ統合で頻繁に使用するプロパティ

名前

型

EL

説明

ActionSet

N

アクション・セットの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

Annotation

String

N

このフィールドを使用して、ワークシートでのコンポーネントの使用に関するコメントを入力します。入力したコメントは、ワークブックの動作に影響を与えません。これは、コードのコメントに相当するものです。

ComponentID

String

N

ADFデスクトップ統合によってこの文字列が生成されることで、統合ExcelワークブックでADFコンポーネントの各インスタンスが一意に識別されます。

Label

String

Y

実行時に評価されるEL式を指定します。ADFデスクトップ統合のEL式の詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。ラベルの使用の詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

Position

N

このプロパティは、統合ExcelワークブックのOracle ADFコンポーネントの左上隅を定義します。

ReadOnly

Boolean

Y

このプロパティをTRUEに設定すると、ADFデスクトップ統合は、このプロパティを使用するコンポーネントを参照するセルにユーザーが加える変更を無視します。このプロパティは、Excelのワークブックやワークシートの保護機能とは関係ありません。ReadOnlyをTRUEに設定すると、ユーザーはセルを変更できません。TRUEの場合、Oracle ADFコンポーネントを参照するセルの動作は次のようになります。

- ADFデスクトップ統合は、ワークシートがリフレッシュされると、警告なしで変更を上書きします。

- 統合ExcelワークブックがFusion Webアプリケーションと同期される際に、Fusion Webアプリケーションに変更は送信されません。

エンド・ユーザーの混乱を避けるため、ReadOnlyをTRUEに設定したセルには、セルのコンテンツが変更不可であることを視覚的に判断できるスタイルを適用します。スタイルの適用の詳細は、9.2項「スタイルの使用」を参照してください。

ADFデスクトップ統合のワークシート保護機能を使用して、実行時にロックされたセルが編集されないようにすることもできます。詳細は、9.7項「ワークシート保護の使用」を参照してください。

リスト・バインディングをレンダリングするADF値リスト・コンポーネント、TreeNodeListサブコンポーネントまたはModelDrivenColumnコンポーネントで、ReadOnlyプロパティをTrueに設定すると、エンド・ユーザーが混乱する可能性があります。混乱を避けるために、ADF出力テキスト・コンポーネントまたはサブコンポーネントの使用を検討してください。

StyleName

String

Y

Oracle ADFコンポーネントのレンダリング時に適用される現在のExcelワークブックのスタイルを指定します。詳細は、9.2項「スタイルの使用」を参照してください。

Value

各種

Y

このプロパティは、ADF表コンポーネントのRowDownSyncアクションまたはワークシートのDownSyncアクションの起動後に評価されるEL式を参照します。結果の値は、通常、選択したコンポーネントに表示されるプライマリ値です。

多くのラベル型プロパティはオプションで、デフォルトは空の値です。実行時にプロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。プロパティの値を空として表示する場合、その値を1つの空白文字に設定するか、空の文字列に評価するEL式を指定します。

A.2 ADF入力テキスト・コンポーネントのプロパティ

表A-2に、ADF入力テキスト・コンポーネントのプロパティをアルファベット順に示します。

表A-2 ADF入力テキスト・コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

InputText.DoubleClickActionSet

ユーザーがセルをダブルクリックすると起動するアクション・セットを指定します。アクション・セットの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

InputText.ReadOnly

このプロパティの詳細は、表A-1を参照してください。

InputText.Value

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

A.3 ADF出力テキスト・コンポーネントのプロパティ

表A-3に、ADF出力テキスト・コンポーネントのプロパティをアルファベット順に示します。

表A-3 ADF出力テキスト・コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

OutputText.DoubleClickActionSet

ユーザーがセルをダブルクリックすると起動するアクション・セットを指定します。アクション・セットの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

OutputText.Value

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

A.4 ADFラベル・コンポーネントのプロパティ

ADFラベル・コンポーネントは、実行時に静的な文字列値を表示します。ADFデスクトップ統合は、Labelプロパティが参照するEL式が評価されると値を生成します。ラベルの使用の詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

表A-4に、ADFラベル・コンポーネントが参照するプロパティをアルファベット順に示します。

表A-4 ADFラベル・コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Label

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

A.5 ADF値リスト・コンポーネントのプロパティ

表A-5に、ADFラベル・コンポーネントが参照するプロパティをアルファベット順に示します。ADF値リスト・コンポーネントの作成の詳細は、6.6項「ADF値リスト・コンポーネントの挿入」を参照してください。

表A-5 ADF値リスト・コンポーネントのプロパティ

名前

型

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

ListOfValues.DependsOnListID

リスト・バインディング

N

リスト・バインディングを選択すると、依存値リストで実行時に使用できる選択肢を判断するために、その値が使用されます。

選択するリスト・バインディングは、モデルドリブン・リストでも構いません。

依存値リストの詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

ListOfValues.ListID

リスト・バインディング

N

値のリストで使用可能な値を定義するリスト・バインディングを選択します。選択するリスト・バインディングは、モデルドリブン・リストでも構いません。

ListOfValues.ReadOnly

Boolean

N

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

A.6 TreeNodeListサブコンポーネントのプロパティ

TreeNodeListは、ADF表サブコンポーネントの1つで、実行時にADF表コンポーネントの列にドロップダウン・メニューをレンダリングします。ADF値リスト・コンポーネントと同じ機能をエンド・ユーザーに提供します。

TreeNodeListサブコンポーネントは、ADFデスクトップ統合の作業ウィンドウのコンポーネント・パレットには表示されません。かわりに、A.9.2項「ADF表コンポーネントの列プロパティ」で説明しているADF表コンポーネントの表の列プロパティUpdateComponentまたはInsertComponentに対して起動するサブコンポーネントとしてTreeNodeListを指定する際に、このサブコンポーネントのプロパティを構成します。

表A-6に、TreeNodeListサブコンポーネントに対して構成するプロパティを示します。

表A-6 TreeNodeListサブコンポーネントのプロパティ

名前

型

EL

説明

DependsOnList

ツリー・バインディング属性またはリスト・バインディング

Y

依存値リストで親値リストとして機能するツリー・バインディング属性またはリスト・バインディングを指定します。

指定するツリー・バインディング属性は、モデルドリブン・リストと関連付けられている必要があります。

依存値リストの詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

リスト

ツリー・バインディング属性

Y

ADF表コンポーネントの列に表示されるランタイム・ドロップダウン・メニューで使用可能な値を定義する、モデルドリブン・リストに関連付けられているツリー・バインディング属性を指定します。

ReadOnly

Boolean

Y

このプロパティの詳細は、表A-1を参照してください。

A.7 ModelDrivenColumnComponentサブコンポーネントのプロパティ

ModelDrivenColumnComponentサブコンポーネントは、TreeNodeListコンポーネントと同様に、ADFデスクトップ統合の作業ウィンドウのコンポーネント・パレットには表示されません。かわりに、A.9.2項「ADF表コンポーネントの列プロパティ」で説明しているADF表コンポーネントの表の列プロパティUpdateComponentまたはInsertComponentに対して起動するサブコンポーネントとしてModelDrivenColumnComponentを指定する際に、このサブコンポーネントのプロパティを構成します。

表A-7に、ModelDrivenColumnComponentサブコンポーネントに対して構成するプロパティを示します。

表-7 ModelDrivenColumnComponentサブコンポーネントのプロパティ

名前

型

EL

説明

DoubleClickActionSet

ユーザーがセルをダブルクリックすると起動するアクション・セットを指定します。アクション・セットの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

ReadOnly

Boolean

Y

このプロパティの詳細は、表A-1を参照してください。

Value

各種

Y

このプロパティの詳細は、表A-1を参照してください。

A.8 ADFボタン・コンポーネントのプロパティ

表A-8に、ADFボタン・コンポーネントのプロパティをアルファベット順に示します。

表A-8 ADFボタン・コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ClickActionSet

ユーザーがセルをダブルクリックすると起動するアクション・セットを指定します。アクション・セットの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Label

このプロパティの詳細は、表A-1を参照してください。

LowerRightCorner

このプロパティはExcelセルの参照です。Positionと一緒に使用して、Excelワークシートでボタンが占有する領域を指定します。

Position

このプロパティの詳細は、表A-1を参照してください。

A.9 ADF表コンポーネントのプロパティおよびアクション

ADF表コンポーネントは、ここに示すプロパティおよびコンポーネント・アクションを使用します。

A.9.1 ADF表コンポーネントのプロパティ

表A-9に、ADF表コンポーネントが使用するプロパティをアルファベット順に示します。

表A-9 ADF表コンポーネントのプロパティ

名前

型

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

BatchOptions

このプロパティ・グループでは、ADF表コンポーネントのバッチ・オプションを構成できます。これらのプロパティの使用方法は、7.11項「ADF表コンポーネントでのバッチ処理」を参照してください。

BatchOptions.BatchSize

Integer

N

ADF表コンポーネントのアクション(UploadまたはDeleteFlaggedRows)によってCommitBatchActionIDが起動される前に処理する行数を指定します。正の整数以外の値の場合、1回のバッチですべての行が処理されます。デフォルト値は100行です。

このプロパティの値は必須です。

BatchOptions.CommitBatchActionID

アクション・バインディング

N

BatchSizeで指定した行数が処理されると起動するアクション・バインディングを指定します。アクション・バインディングは、コミット・タイプのアクションになります。

BatchOptions.LimitBatchSize

Boolean

N

このプロパティをTRUEに設定すると、行がバッチで処理され、各バッチにはBatchSizeで指定した行数が含まれます。FALSEに設定すると、すべての行が1回のバッチで処理されます。

BatchOptions.StartBatchActionID

アクション・バインディング

N

各バッチの開始時に起動するアクション・バインディングを指定します。たとえば、特定のデータベースで必要に応じて、このプロパティを「トランザクションの開始」などの操作に使用できます。

このプロパティの値はオプションです。

Columns

列の配列。配列の各列によりサポートされるプロパティの詳細は、A.9.2項「ADF表コンポーネントの列プロパティ」を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

RowActions

このプロパティ・グループでは、有効で起動可能なアクションを指定できます。

RowActions.DeleteRowActionID

アクション・バインディング

N

フラグ付けされた各行を削除するために起動するアクション・バインディングを指定します。

このプロパティの値はオプションです。

RowActions.DeleteRowEnabled

Boolean

N

TRUEに設定すると、既存の行を削除できます。FALSEがデフォルト値です。

このプロパティの値は必須です。

RowActions.FailureActionID

アクション・バインディング

N

行の処理時に不具合が発生した場合に起動するアクション・バインディングを指定します。

このプロパティの値はオプションです。

RowActions.InsertAfterRowActionID

アクション・バインディング

N

ADF表コンポーネントのUploadアクションを使用して、挿入される各行に対して起動するアクション・バインディングを指定します。このアクション・バインディングは、属性の設定後に起動されます。このプロパティはカスタム・アクションで使用するのが適切です。この場合、変数イテレータはメイン・イテレータとともに使用されます。

このプロパティの値はオプションです。

RowActions.InsertBeforeRowActionID

アクション・バインディング

N

Uploadコンポーネント・アクションを使用して、挿入される各行に対して起動するアクション・バインディングを指定します。指定したアクション・バインディングは、属性を設定する前に起動されます。

このプロパティの値はオプションです。

RowActions.InsertRowEnabled

Boolean

N

TRUEに設定すると、ADF表コンポーネントに新しい行を挿入できます。FALSEがデフォルト値です。

このプロパティをTRUEに設定した場合、次のプロパティの一方または両方の値を指定する必要があります。

- RowActions.InsertAfterRowActionID

- RowActions.InsertBeforeRowActionID

InsertAfterRowActionIDまたはInsertBeforeRowActionID)のどちらのプロパティに対して値を指定するかは、Fusion Webアプリケーションでの新しい行の作成方法によって決まります。通常、Fusion WebアプリケーションではCreateInsertアクション・バインディングを使用して新しい行の作成および挿入を行います。このシナリオでは、CreateInsertアクション・バインディングをInsertBeforeRowActionIDの値として指定します。

ADF表コンポーネントでの行の挿入の詳細は、7.7項「データを挿入するためのADF表コンポーネントの構成」を参照してください。

RowActions.InsertRowsAfterUploadEnabled

Boolean

N

TRUEに設定すると、前にアップロードされたかどうかにかかわらず、変更された行を再挿入できます。FALSEがデフォルト値です。

InsertRowEnabledがFALSEに設定されている場合、このプロパティは無視されます。

RowActions.UpdateRowActionID

アクション・バインディング

N

各行を更新するために起動するアクション・バインディングを指定します。

このプロパティの値はオプションです。

RowActions.UpdateRowEnabled

Boolean

N

TRUEに設定すると、既存の行を更新できます。デフォルト値はTRUEです。

このプロパティの値は必須です。

RowData

Fusion Webアプリケーションでの複数のセッション間で統合Excelワークブックにデータをキャッシュする場合に、CachedAttributesプロパティの値を設定します。

ChangeIndicatorAttributeIDプロパティの値を設定して、Fusion Webアプリケーションからダウンロードした行が、それ以降に別のユーザーによって変更されたかどうかを判断します。

RowData.CachedAttributes

Array

N

この配列のプロパティの値を指定して、データがキャッシュされる属性を決定します。この配列の各CachedTreeAttribute要素では、次のプロパティがサポートされます。

- Value
データのキャッシュの対象となるツリー・バインディング属性を選択します。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

エンド・ユーザーがRowData.CachedAttributes配列の要素にも指定した属性バインディングを表示または編集できるように、コンポーネント(ADF表コンポーネントの列やADF入力テキスト・コンポーネントなど)は構成しないでください。RowData.CachedAttributes配列は、ワークシートのDownSyncアクションで取得された値をキャッシュします。ワークシートのUpSyncアクションは、RowData.CachedAttributes配列でキャッシュされた値をFusion Webアプリケーションに送信します。これによって、エンド・ユーザーがワークシート内のコンポーネントを通して公開される属性バインディングに行う編集が上書きされることがあります。

RowData.CachedAttributes配列を使用したADF表コンポーネントへのデータのキャッシュの詳細は、8.5項「カスタム・ポップアップ・ピッカー・ダイアログのADF表列への追加」を参照してください。

RowData.ChangeIndicatorAttributeID

属性バインディング

Y

行固有のツリー属性バインディング値に評価されるEL式を指定します。属性値を使用して、統合Excelワークブックに最後にダウンロードした行が、それ以降別のユーザーによって変更されたかどうかを判断します。

詳細は、12.7項「ワークブックからデータをアップロードする際のデータ競合の処理」を参照してください。

RowLimit

このプロパティ・グループでは、ADF表コンポーネントまたはADF読取り専用表コンポーネントでダウンロードおよび表示する行数を構成できます。

詳細は、7.18項「表タイプ・コンポーネントがダウンロードする行数の制限」を参照してください。

RowLimit.Enabled

Boolean

N

TRUEに設定すると、ダウンロードする行数がRowLimit.MaxRowsで設定した値に制限されます。デフォルト値はTRUEです。

このプロパティの値は必須です。

RowLimit.MaxRows

Integer

Y

ダウンロードする最大行数に評価されるEL式を記述します。このコンポーネントは、Downloadアクションの起動時にEL式を評価します。デフォルト値は500です。MaxRowsが正の整数以外の場合、コンポーネントは可能なかぎり多くの行をダウンロードしようとします。ABCなどの無効な式は、-1(負の整数)として解釈されます。その結果、コンポーネントは可能なかぎり多くの行をダウンロードしようとします。

MaxRowsの値を0に設定すると、最初の0行をダウンロードするかどうかを尋ねるメッセージが表示されます。このメッセージが表示されないようにするには、MaxRowsを0以外の正の整数に設定します。

RowLimit.WarningMessage

String

Y

(オプション)ダウンロード可能な行数がRowLimit.MaxRowsで指定された数を超える場合にエンド・ユーザーに表示されるメッセージを生成するEL式を記述します。この式は、表のDownloadアクションが起動されるたびに評価されます。Excel 2007以上のバージョンのワークシートで対応できる最大行数は、約100万行です。このプロパティが空白のままの場合は、ADFデスクトップ統合に、現在のカルチャー設定に応じて翻訳された利用可能な行が多すぎます。最初の{0}行をダウンロードしますか。のようなメッセージが表示されます。

デフォルト値のかわりに使用する文字列キーを、カスタム・リソース・バンドルから指定できます。必要に応じて、デフォルトのメッセージと置き換えるカスタムのメッセージを指定することもできます。カスタム・メッセージには{0}が含まれている必要があります。{0}はMaxRows値に置き換わります。

リソース・バンドルの詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

TreeID

バインディング

N

現在のワークシートのページ定義ファイルからツリー・バインディングを指定します。行のダウンロードおよびアップロードが正しく機能するには、このプロパティの値を指定する必要があります。統合Excelワークブックのページ定義の要件の詳細は、表4-1を参照してください。

UniqueAttribute

属性バインディング

Y

一意の行固有のツリー属性バインディング値に評価されるEL式を指定します。この属性の値は、ADF表コンポーネントのDownloadアクション中に統合Excelワークブックにキャッシュされます。ADFデスクトップ統合は、所定のADF表コンポーネントの行のデータを設定または取得する前に、この値を使用して、ツリー・バインディングのイテレータが正しく配置されるようにします。

基礎となるツリー・バインディングのイテレータによってrowKeyが公開されない場合にかぎり、この値を指定する必要があります。

次の場合は、この値の指定は任意です。

- ツリー・バインディングのイテレータによってrowKeyが公開される場合(この場合、rowKeyの値は配置に使用されます)。

または

- ADF表コンポーネントが挿入専用として構成されている(RowActions.InsertRowEnabledがTrueでRowActions.UpdateRowEnabledがFalseに設定されている)場合。

A.9.2 ADF表コンポーネントの列プロパティ

表-10に、TableColumn配列の列で使用できるプロパティを示します。

表A-10 ADF表コンポーネントの列プロパティ

名前

型

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

CellStyleName

String

Y

列の各セルに適用されるExcelスタイル名に解決されるEL式を記述します。

DynamicColumn

Boolean

N

Trueに設定すると、列が動的になります。デフォルト値はFalseです。動的な列の詳細は、7.16項「ADF表コンポーネントへの動的な列の追加」を参照してください。

HeaderLabel

String

Y

実行時に評価される場合、列ヘッダーにラベルを表示するEL式を記述します。

HeaderStyleName

String

Y

列ヘッダーの各セルに適用されるExcelスタイル名に解決されるEL式を記述します。

ID

String

N

列に名前を割り当てて、列とその目的を識別します。このプロパティに割り当てる値には、機能的な影響はありません。ただし、値を指定すること、および指定する値が列のリスト内で一意であることが必要です。ADF表コンポーネントの列の追跡に役立ちます。次のIDは、ADF表コンポーネントの3つのデフォルトの列に予約されています。

- _ADF_ChangedColumn

- _ADF_FlagColumn

- _ADF_StatusColumn

これらの列の詳細は、7.12項「ADF表コンポーネント内の特殊な列」を参照してください。

InsertComponent

ADFコンポーネント

N

挿入操作のために、バインディングを表すコンポーネントのプロパティを指定します。このコンポーネントは次のいずれかになります。

- InputTextコンポーネント
このコンポーネントがサポートするプロパティの詳細は、A.2項「ADF入力テキスト・コンポーネントのプロパティ」を参照してください。

- OutputTextコンポーネント
このコンポーネントがサポートするプロパティの詳細は、A.3項「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。

- TreeNodeListコンポーネント
このコンポーネントがサポートするプロパティの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

- ModelDrivenColumnComponent
このコンポーネントがサポートするプロパティの詳細は、A.7項「ModelDrivenColumnComponentサブコンポーネントのプロパティ」を参照してください。

InsertUsesUpdateがTrueの場合、ADF表コンポーネントはInsertComponentプロパティの値を無視します。

InsertUsesUpdate

Boolean

N

挿入操作と更新操作で同じコンポーネント・タイプを使用する場合はTrueに設定します。Trueの場合、ADF表コンポーネントはInsertComponentプロパティの値を無視してUpdateComponentプロパティの値を読み取ります。

デフォルト値はTrueです。

UpdateComponent

ADFコンポーネント

N

更新操作およびダウンロード操作のために、バインディングを表すコンポーネントのプロパティを指定します。このコンポーネントは次のいずれかになります。

- InputTextコンポーネント
このコンポーネントがサポートするプロパティの詳細は、A.2項「ADF入力テキスト・コンポーネントのプロパティ」を参照してください。

- OutputTextコンポーネント
このコンポーネントがサポートするプロパティの詳細は、A.3項「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。

- TreeNodeListコンポーネント
このコンポーネントがサポートするプロパティの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

- ModelDrivenColumnComponent
このコンポーネントがサポートするプロパティの詳細は、A.7項「ModelDrivenColumnComponentサブコンポーネントのプロパティ」を参照してください。

Visible

Boolean

Y

TrueまたはFalseに解決されるEL式を記述します。Trueの場合、列はADF表コンポーネントに表示されます。Falseの場合、列は表示されません。デフォルト値はTrueです。

列を動的にする場合、ADF表コンポーネントはVisibleプロパティの値を無視します。動的な列の詳細は、7.16項「ADF表コンポーネントへの動的な列の追加」を参照してください。

A.9.3 ADF表コンポーネントのアクション

表A-11に、ADF表コンポーネントで使用できるコンポーネント・アクションを示します。

表A-11 ADF表コンポーネントのアクション

コンポーネント・アクション

説明

ClearCachedRowAttributes

ADF表コンポーネントの現在の行に対してキャッシュされた属性の値をクリアします。このアクションは、ADF表コンポーネントの列のDoubleClickActionSetのみで起動する必要があります。

DeleteFlaggedRows

ADF表コンポーネントのフラグ付けされた各行セットに対して指定のアクションを起動して、これらの行をADF表コンポーネントから削除します。

詳細は、7.10項「Fusion Webアプリケーションで行を削除するためのADF表コンポーネントの構成」を参照してください。

DisplayRowErrors

ADF表コンポーネントの現在の行に関するエラー詳細がある場合は、これを表示します。このアクションは、ADF表コンポーネントで設定された列のアクションからのみ起動する必要があります。デフォルトでは、表7-8の_ADF_StatusColumnは、このアクションを起動するアクション・セットで構成されます。

DisplayTableErrors

エラーがある場合に、ADF表コンポーネントのメッセージ・ダイアログに、詳細なエラー・リストを表示します。このアクションを、ADF表コンポーネントで設定された列のアクションから起動しないでください。かわりに、ADFボタン、ADF出力テキスト・コンポーネントまたはワークシート・リボン・ボタンに対してアクション・セットを構成して、このアクションを起動します。

Download

TreeIDの現在の状態に相当する行をダウンロードします。TreeIDの詳細は、A.9.1項「ADF表コンポーネントのプロパティ」を参照してください。

DownloadFlaggedRows

フラグのある行をTreeIDで指定したツリー・バインディングからダウンロードします。TreeIDの詳細は、表A-9を参照してください。

このアクションはダウンロードされた行にのみ適用され、挿入された行は無視されます。

DownloadForInsert

このアクションは現在サポートされていません。詳細は、7.4項「ADF表コンポーネントにデータをダウンロードするためのOracle ADFコンポーネントの構成」を参照してください。

FlagAllRows

すべての行にフラグを設定します。

このアクションを起動すると、_ADF_FlagColumn列のすべての行にフラグ文字が設定されます。フラグ文字には次のプロパティがあります。

Character Code 25CF, Unicode(hex)

これは、黒丸として表示されます。

_ADF_FlagColumn列の詳細は、7.11.2項「ADF表コンポーネントでの行のフラグ付け」および7.12項「ADF表コンポーネント内の特殊な列」を参照してください。

Initialize

このアクションは次のアクションを実行します。

- ADF表コンポーネントからすべての行のデータを削除します。

- ADF表コンポーネントの行から、キャッシュされた属性の値をクリアします。

- プレースホルダ行を作成します。

- ADF表コンポーネントにレンダリングする動的な列の数を再計算します。

- 列ヘッダーを再描画します。

統合Excelワークブックに保存されていない保留中の変更がADF表コンポーネントに含まれている場合は、このアクションの起動を取り消すことができるダイアログがエンド・ユーザーに対して表示されます。

MarkAllRowsChanged

表内のすべて行を_ADF_ChangeColumnで変更済とマークするには、このコンポーネント・アクションを指定します。

MarkAllRowsUnchanged

このコンポーネント・アクションを指定すると、_ADF_ChangedColumn列からすべてのフラグがクリアされます。

RowDownSync

現在のワークシート行に相当する、Fusion WebアプリケーションにあるADF表コンポーネントのイテレータの行のデータを、ワークシートと同期させます。このアクションは現在のワークシート行に作用するため、ADF表コンポーネントの列に関連付けられているDoubleClickActionSetのみにより、このアクションを起動する必要があります。

列のVisibleプロパティの値は、RowDownSyncの起動時にADF表コンポーネントによって評価および適用されません。列のCellStyleNameプロパティの値は、RowDownSyncの起動時にADF表コンポーネントによって評価および適用されます。列プロパティの詳細は、A.9.2項「ADF表コンポーネントの列プロパティ」を参照してください。

RowUpSync

ADF表コンポーネントがFusion Webアプリケーションを参照する現在のワークシート行の、保留中の変更を同期させます。RowUpSyncは現在のワークシート行に作用するため、ADF表コンポーネントの列に関連付けられているDoubleClickActionSetのみにより、このアクションを起動する必要があります。RowUpSyncを起動するDoubleClickActionSetは、さらに、Fusion WebアプリケーションにあるADF表コンポーネントのイテレータの位置を現在のワークシート行に変更します(イテレータがFusion Webアプリケーションに存在する場合)。

UnflagAllRows

_ADF_FlagColumn列のセルからフラグを削除します。

_ADF_FlagColumnの詳細は、7.11.2項「ADF表コンポーネントでの行のフラグ付け」および7.12項「ADF表コンポーネント内の特殊な列」を参照してください。

Upload

保留中の変更をFusion Webアプリケーションにアップロードします。行に失敗がある場合でも、正常な行はコミットします。

詳細は、7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」を参照してください。

ExcelワークブックとFusion Webアプリケーションの間でのデータ競合の解決の詳細は、12.7項「ワークブックからデータをアップロードする際のデータ競合の処理」を参照してください。

UploadAllOrNothing

保留中の変更をFusion Webアプリケーションにアップロードします。どの行にも失敗がない場合にかぎり、正常な行をコミットします。

Uploadアクションの詳細は、7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」を参照してください。UploadAllOrNothingアクションの詳細は、7.9項「UploadAllOrNothingアクションを使用して変更をアップロードするためのADF表コンポーネントの構成」を参照してください。

A.10 ADF読取り専用表コンポーネントのプロパティおよびアクション

ADF読取り専用表コンポーネントは、1つのアクション、Downloadを公開します。このアクションは、ADF読取り専用表のプロパティTreeIDで識別される表の現在の行をダウンロードします。表A-12に、ADF読取り専用表コンポーネントがサポートするTreeIDとその他のプロパティを示します。

表A-12 ADF読取り専用表コンポーネントのプロパティ

名前

型

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

Columns

Array

N

読取り専用列の配列を参照します。この配列の列がサポートできるプロパティの詳細は、表A-13を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

RowLimit

このプロパティ・グループの詳細は、表A-9を参照してください。

TreeID

ツリー・バインディング

N

ADF読取り専用表コンポーネントがワークシートにツリー・バインディングを挿入して作成された場合、現在のワークシートに関連付けられているページ定義ファイルのツリー・バインディングIDを参照します。

表A-13に、ReadOnlyColumn配列の列で使用できるプロパティをアルファベット順に示します。

表A-13 ADF読取り専用表コンポーネントの列プロパティ

名前

型

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

CellStyleName

String

Y

列の各セルに適用されるExcelスタイル名に解決されるEL式を記述します。

HeaderLabel

String

Y

列ヘッダーのラベルに解決されるEL式を記述します。

HeaderStyleName

String

Y

列ヘッダーの各セルに適用されるExcelスタイル名に解決されるEL式を記述します。

ID

String

N

列に名前を割り当てて、列とその目的を識別します。このプロパティに割り当てる値には、機能的な影響はありません。ただし、値を指定すること、および指定する値が列のリスト内で一意であることが必要です。ADF読取り専用表コンポーネントの列の追跡に役立ちます。

OutputText

ADFコンポーネント

このコンポーネントがサポートするプロパティの詳細は、A.3項「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。

A.11 アクション・セットのプロパティ

表A-14に、アクション・セットに対して構成できるプロパティをアルファベット順に示します。

表A-14 アクション・セットのプロパティ

名前

型

EL

説明

ActionOptions

このプロパティ・グループは、ローカル・アクションとリモート・アクションを起動するためのオプションを指定します。

ActionOptions.AbortOnFailure

Boolean

N

TRUEに設定した場合、1つのアクションが失敗すると、配列の残りのアクションは起動されません。FALSEの場合、以前のアクションが成功したか失敗したかにかかわらず、すべてのアクションが起動されます。デフォルト値はTRUEです。デフォルト値はTRUEです。

ActionOptions.FailureActionID

アクション・バインディング

N

アクション・セットが正常に実行されない場合に起動するアクション・バインディングを指定します。たとえば、アクション・セットの起動が失敗したときに、加えられた変更をロールバックするアクション・バインディングを指定できます。

ActionOptions.SuccessActionID

アクション・バインディング

N

アクション・セットが正常に実行された場合に起動するアクション・バインディングを指定します。たとえば、commitアクションを実行するアクション・バインディングを指定できます。

このプロパティの値はオプションです。

Actions

Array

N

アクションの順序付きの配列を指定します。アクションは次のいずれかになります。

- ADFmAction
基礎となるページ定義ファイルのアクション・バインディングまたはメソッド・アクション・バインディングを起動します。ADFmAction.ActionIDプロパティは、起動するアクション・バインディングまたはメソッド・アクション・バインディングを識別します。ページ定義ファイルの詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

- ComponentAction
ワークシートのコンポーネントが公開するアクションを起動します。ComponentAction.ComponentIDは、アクションを公開するコンポーネントを識別し、ComponentAction.Methodは、起動するアクションを識別します。

ADFデスクトップ統合のコンポーネントの中では、ADF表コンポーネントおよびADF読取り専用表コンポーネントのみがアクションを公開します。これらのアクションの詳細は、A.9項「ADF表コンポーネントのプロパティおよびアクション」およびA.10項「ADF読取り専用表コンポーネントのプロパティおよびアクション」を参照してください。 コンポーネント・アクションの起動の詳細は、8.2.2項「アクション・セット内のコンポーネント・アクションの起動方法」を参照してください。

- WorksheetMethod
ワークシート・アクションを起動します。ワークシート・アクションの詳細は、A.13項「ワークシートのアクションとプロパティ」を参照してください。

- Confirmation
確認のダイアログを起動します。このアクションで使用するプロパティの詳細は、A.11.1項「確認アクションのプロパティ」を参照してください。

- Dialog
ポップアップ・ダイアログまたはExcelの作業ウィンドウでWebページを起動します。詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

Alert

このプロパティ・グループは、リクエストしたアクションが完了したことを示す、アラート形式のダイアログを表示するかどうか、またどのように表示するかを決定します。表示されるダイアログには、ユーザーがメッセージを確認してダイアログを終了できるボタンが1つあります。アラート・メッセージの表示方法は、8.2.8項「アクション・セットの起動後にアラートを発信する方法」を参照してください。

このグループのプロパティの多くは、EL式を使用してリソース・バンドルから文字列値を取得します。EL式の使用の詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

Alert.Enabled

Boolean

N

TRUEに設定すると、アクション・セットの操作が正常に完了した場合または1つ以上の失敗が発生した場合にエンド・ユーザーに通知する、アラート・メッセージが表示されます。

詳細は、8.2.8項「アクション・セットの起動後にアラートを発信する方法」を参照してください。

Alert.FailureMessage

String

Y

アクション・セットの実行時にエラーが発生するとダイアログに表示されるメッセージに評価されるEL式を指定します。

Alert.OKButtonLabel

String

Y

ダイアログの「OK」ボタンに表示されるメッセージに評価されるEL式を指定します。

Alert.SuccessMessage

String

Y

アクション・セットの実行時にエラーが発生しなかった場合に、ダイアログに表示されるメッセージに評価されるEL式を指定します。

Alert.Title

String

Y

ダイアログのタイトル領域に表示されるメッセージに評価されるEL式を指定します。

Annotation

Annotationの詳細は、表A-1を参照してください。

Status

このプロパティ・グループは、アクション・セットの実行時にステータス・メッセージを表示するかどうか、またどのように表示するかを決定します。ステータス・メッセージの表示方法は、8.2.5項「アクション・セットの実行中にステータス・メッセージを表示する方法」を参照してください。

このグループのプロパティの多くは、リソース・バンドルで定義された文字列キーを参照するEL式を使用します。詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

Status.Enabled

Boolean

N

TRUE(デフォルト)の場合、アクション・セットの実行時にステータス・ウィンドウが表示されます。FALSEの場合、ステータス・ウィンドウは表示されません。

Status.Message

String

Y

アクション・セットの実行中に、ステータス・ウィンドウで評価および表示するEL式を指定します。

Status.Title

String

Y

アクション・セットの実行中に、ステータス・ウィンドウのタイトル領域で評価および表示するEL式を指定します。

Status.Mode

String

N

進捗バーの表示形式を選択します。有効な値は、Automatic、BothBarsAlways、MainBarOnly、DetailBarOnlyおよびMainMessageOnlyです。

Status.DetailStatusMessage

String

Y

関連するアクションの進捗として表示されるステータス・メッセージに評価されるオプションのEL式またはリテラル値を指定します。

A.11.1 確認アクションのプロパティ

表A-15に、アクション・セットのActionsの配列にあるConfirmationアクションがサポートするプロパティを、アルファベット順に示します。Actionsの配列およびアクション・セットが使用する他のプロパティの詳細は、表A-14を参照してください。

表A-15 確認アクションのプロパティ

名前

型

EL

説明

Annotation

Annotationの詳細は、表A-1を参照してください。

CancelButtonLabel

String

Y

実行時に「取消」ボタンで評価および表示されるEL式。

OKButtonLabel

String

Y

実行時に「OK」ボタンで評価および表示されるEL式。

Prompt

String

Y

実行時に確認のダイアログのメイン領域で評価および表示されるEL式。

Title

String

Y

実行時に確認のダイアログのタイトル領域で評価および表示されるEL式。

A.11.2 ダイアログ・アクションのプロパティ

表A-16に、アクション・セットのActionsの配列にあるDialogアクションがサポートするプロパティを示します。Actionsの配列およびアクション・セットが使用する他のプロパティの詳細は、表A-14を参照してください。

表A-16のプロパティを使用してFusion WebアプリケーションからWebページを起動する方法は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

表A-16 ダイアログ・アクションのプロパティ

名前

型

EL

説明

Annotation

String

N

このプロパティの詳細は、表A-1を参照してください。

Page

String

N

アクションが起動するWebページを指定します。相対URLおよび絶対URLが有効な値です。

ShareFrame

Boolean

N

TRUE(デフォルト)に設定すると、同じデータ・コントロール・フレーム内のDialog.Pageプロパティで指定されたWebページがExcelワークシートとして実行されます。絶対URLを指定した場合、ADFデスクトップ統合はDialog.ShareFrameプロパティの値を無視します。

Target

リスト

N

アクションが起動するWebページのレンダリングの状態を指定します。次のいずれかを選択します。

- 埋込みWebブラウザ内のモーダルなダイアログにWebページをレンダリングするPopup。

- ランタイム作業ウィンドウにWebページをレンダリングするTaskPane。

Title

String

Y

実行時にDialogのタイトルに解決されるEL式を記述するか、またはリテラル文字列を記述します。

WindowSize

Integer

N

表示されるダイアログの初期サイズをピクセルで指定します。有効な値の範囲は、0から2147483647です。指定された値が大きすぎるか小さすぎる場合は、実行時に適宜上方または下方修正されます。デフォルト値は、Heightが625でWidthが600です。

A.12 ワークブックのアクションおよびプロパティ

表A-17に、ワークブックで起動できるアクションを示します。これらのアクションを起動するためのリボン・ボタンの構成の詳細は、8.3.1項「実行時リボン・タブのワークブック・コマンド・ボタンの構成方法」を参照してください。

表A-17 ワークブックのアクション

アクション

説明

Login

このアクションを起動すると、統合ExcelワークブックとFusion Webアプリケーションの間に新しいセッションが作成されます。

起動時にすでにセッションが確立されていた場合は、最初にLogoutアクションが内部的に起動して、そのセッションが解放されます。認証を強制するWebアプリケーションに対して実行されるワークブックの場合、Loginアクションは、エンド・ユーザーに対して有効なユーザー資格証明の提供を求めます。

Logout

起動するとADFデスクトップ統合によってFusion Webアプリケーションにリクエストが送信され、統合ExcelワークブックとFusion Webアプリケーションの間のセッションが無効になります。このアクションの起動後、エンド・ユーザーは、次に統合ExcelワークブックがFusion Webアプリケーションにアクセスする際に認証を受ける必要があります。

ClearAllData

このアクションが起動すると、ユーザーが入力したすべてのデータが、Oracle ADFバインディングを参照するセルからクリアされます。表(ADF表コンポーネントやADF読取り専用表コンポーネントで作成された表など)は、ラベルがクリアされてヘッダー行のみが表示されるように切り捨てられます。入力テキスト・コンポーネントまたは出力テキスト・コンポーネントを参照するセルの値はクリアされます。列ヘッダーおよびラベルもクリアされます。統合Excelワークブックが使用するすべてのリソース・バンドルへの参照がクリアされます。バインディングを含まないワークシートやページ定義ファイルを参照しないワークシートは変更されません。ダイアログによって、エンド・ユーザーはこのアクションの起動の確認を求められます。エンド・ユーザーが起動を確認すると、ADFデスクトップ統合はアクションの起動後に次のイベントを実行します。

- 統合ExcelワークブックのLogoutアクションを起動します。

- ランタイム・セッションを終了して、統合Excelワークブックのすべてのデータとすべてのキャッシュをクリアします。

- 統合Excelワークブックを再初期化して、ワークブックのLoginアクションを起動します。

ClearAllDataアクションを起動しても、Fusion Webアプリケーションでホストされるデータは変更されません。Fusion Webアプリケーションでホストされるデータを変更するには、次のアクションを1つ以上起動する必要があります。

- ワークシートのUpSyncアクション
このアクションは、表以外のタイプのコンポーネントで参照されるすべてのデータを同期させます。詳細は、A.13項「ワークシートのアクションとプロパティ」を参照してください。

- ADF表コンポーネントのRowUpSyncアクションを使用して、行の保留中の変更をFusion Webアプリケーションと同期させることができます。ADF表コンポーネントのDeleteFlaggedRowsアクションを起動すると、フラグ付きの行を削除できます。ADF表コンポーネントのアクションの詳細は、A.9.3項「ADF表コンポーネントのアクション」を参照してください。

EditOptions

このアクションを起動すると、エンド・ユーザーがWebAppRootプロパティの現在の値を確認し、新しい値を入力できるダイアログが起動されます。

エンド・ユーザーがWebAppRootの値を変更する場合、「OK」をクリックすると確認のダイアログが表示されます。変更を確認すると、次のイベントが発生します。

- ワークブックのClearAllDataアクションが起動します。

- ワークブックのLogoutアクションが起動します。

- バインディングで参照されるワークブックのデータはすべて削除されます。

- WebAppRootの参照は、Excelワークブックの構成で更新されます。

- WebAppRootの値として指定されたFusion Webアプリケーションでユーザーを認証するために、ワークブックのLoginアクションが起動されます。
ClearAllDataワークブック・アクションは、統合Excelワークブックで参照されるすべてのリソース・バンドルをクリアします。WebAppRootが変更されると、統合Excelワークブックは、再初期化プロセスの中でFusion Webアプリケーションからリソース・バンドルを取得しようとします。このFusion Webアプリケーションへのリクエストにより、認証プロセスがトリガーされます。

ViewAboutDialog

このアクションを起動すると、BrandingItemsワークブック・プロパティで定義された情報および他の情報(サポートするソフトウェアのバージョンなど)を表示する「バージョン情報」ダイアログが起動します。

表A-18に、Excelワークブックで使用できるADFデスクトップ統合のプロパティをアルファベット順に示します。

表A-18 ワークブックのプロパティ

名前

型

EL

説明

ApplicationHomeFolder

String

N

デスクトップ統合プロジェクトを開発するJDeveloperアプリケーション作業領域(.jws)のルート・ディレクトリの絶対パスを指定します。

たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションと統合されたワークブックのこのプロパティの値は、次のようになります。

D:\Oracle\Applications\Summit_ADFdi

最初に統合Excelワークブックを開くときに、ADFデスクトップ統合によって、このプロパティの値の指定が求められます。

詳細は、4.2.2項「新しい統合Excelワークブックの構成方法」を参照してください。

BrandingItems

Array

N

リソース・バンドル参照に解決される名前と値のペアの配列(#{res['myAppName']}など)、またはリテラル文字列。配列の各ペアは、名前と値で構成されます。各名前と値は、リテラル文字列またはEL式を参照できます。

統合Excelワークブックのブランディングの詳細は、9.6項「統合Excelワークブックのブランディング」を参照してください。

Login.WindowSize

Integer

N

表示されるログイン・ダイアログの初期サイズをピクセルで指定します。有効な値の範囲は、0から画面の幅または高さまでです。指定された値が大きすぎるか小さすぎる場合は、実行時に適宜上方または下方修正されます。デフォルト値は、Heightが625でWidthが600です。

Parameters

Array

N

Fusion Webアプリケーションのページから統合Excelワークブックへパラメータを渡すために構成する、ワークブック初期化パラメータの配列。Fusion Webアプリケーションのページでは複数のワークブック初期化パラメータを定義できます。ページで指定するそれぞれのワークブック初期化パラメータ(URL引数を参照するパラメータ)は、この配列のParameterプロパティで指定する必要があります。指定しない場合は無視されます。

配列の各要素では、次のプロパティがサポートされます。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

- Parameter
エンド・ユーザーがダウンロードする統合Excelワークブックの元の場所であるFusion Webアプリケーションのページで定義した、ワークブック初期化パラメータの名前を指定します。

このプロパティの使用の詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

Project

String

N

現在のJDeveloper作業領域にあるJDeveloperプロジェクトの名前を指定します。ADFデスクトップ統合は、指定されたプロジェクトに相当する.jprファイルをロードしようとします。その.jprファイルが使用できない場合、または適切な形式でない場合は、エラーが表示されます。

設計モードで統合Excelワークブックを初めて開くと、ADFデスクトップ統合により親フォルダ階層で.jprファイルが検索されます。.jprファイルが検出されると、Projectの値がその.jprファイルに相当するプロジェクトの名前に設定されます。

ADFデスクトップ統合は、ApplicationHomeFolderで指定されたapplication_name.jwsファイルから、使用可能なプロジェクトの名前をロードします。

RemoteServletPath

String

N

ADFデスクトップ統合のリモート・サーブレットのパスを指定します。これは、WebAppRootに対して指定した値の相対パスにする必要があります。RemoteServletPathに指定する値は、Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)で指定する値と一致している必要があります。このプロパティのデフォルト値は次のとおりです。

/adfdiRemoteServlet

Resources

Array

N

ワークブックに登録するリソース・バンドルの配列を指定します。配列の各要素では、次のプロパティがサポートされます。

- Alias
Workbook.Resources内で一意の文字列値を指定します。EL式は、この文字列を使用してリソース・バンドルを参照します。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

- Class
完全修飾クラス名を指定しますが、ファイル拡張子は含めません。指定するクラス名は、ワークブックを統合するFusion Webアプリケーションで使用するJavaリソース・バンドル・クラスになります。

たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックは次のリソース・バンドルを参照します。

oracle.summitdi.resources.UIStrings

詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

Runtime Ribbon Tab

-

-

このプロパティ・グループは、実行時にリボン・タブをExcelに表示するかどうか、またどのように表示するかを定義します。この表の後続のエントリで、Runtime Ribbon Tabグループのプロパティを説明します。リボン・タブおよびそのコマンドの詳細は、8.3項「実行時リボン・タブの構成」を参照してください。

Runtime Ribbon Tab.Annotation

String

N

このプロパティの詳細は、A.1項「ADFデスクトップ統合で頻繁に使用するプロパティ」を参照してください。

Runtime Ribbon Tab.Visible

Boolean

N

TRUEの場合、実行時にリボン・タブが表示されます。EnabledをFALSEに設定すると、リボン・タブは表示されません。デフォルト値はTRUEです。

Runtime Ribbon Tab.Title

String

Y

タイトル領域に表示されるリボン・タブのタイトルに評価されるEL式を指定します。Excelでは、リボン・タブのタイトルの最大文字数は1024に設定されています。指定するEL式のランタイム値が1024文字を超えた場合、Excelでエラー・メッセージが生成されないように、ADFデスクトップ統合によって値が切り捨てられるため、この文字数を超えないようにしてください。

&文字を使用してキー・ヒントの文字を割り当てる場合、Runtime Ribbon Tab.Titleで文字Kを使用しないように検討してください。ワークブックがar_SAカルチャーで動作している場合、Excelではここで文字Kを使用できません。

Runtime Ribbon Tab.Workbook Commands

Array

N

この配列の各要素は、実行時のワークブックのコマンドに相当します。配列の各要素では、次のプロパティが使用されます。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

- Label
このプロパティの詳細は、表A-1を参照してください。

コマンド・ラベルに&文字を表示する場合は、&&を指定する必要があります。実行時、Excelでは単一の&文字は特殊文字として解釈され、&の次の文字がワークブック・コマンドのキーボード・アクセラレータとして割り当てられます。

- Method
ワークブックのリボン・ボタンが起動するワークブック・アクションを指定します。ワークブック・アクションの詳細は、表A-17を参照してください。

WebAppRoot

String

N

Fusion Webアプリケーションのルートの完全修飾URL。

WebPagesFolder

String

N

統合Excelワークブックで使用する予定のWebページを含むディレクトリのパスを指定します。パスに指定する値は、ApplicationHomeFolderの値の相対パスにする必要があります。

WorkbookID

String

N

統合Excelワークブックの一意の識別子。設計モードで初めてワークブックを開くと、ADFデスクトップ統合によって一意の識別子が生成されます。

この値は変更できません。ただし、「ワークブック・プロパティの編集」ダイアログの「WorkbookIDのリセット」リンクを使用すると、ADFデスクトップ統合で新しい値を生成できます。

11.3項「統合Excelワークブックのメタデータの整合性チェック」で説明しているように、このプロパティの値は改ざんチェック時に使用されます。

A.13 ワークシートのアクションおよびプロパティ

ADFデスクトップ統合のExcelワークシートでは、次のアクションを起動できます。

- UpSync
ワークシート内のADF入力テキスト・コンポーネントおよびADF値リスト・コンポーネントの保留中の変更を、Fusion Webアプリケーションに同期させます。

- DownSync
Fusion Webアプリケーションの変更を、ワークシート内のADF入力テキスト、ADF出力テキストおよびADF値リストの各コンポーネントにダウンロードします。

- DisplayWorksheetErrors
エラーがある場合に、統合Excelワークシートのメッセージ・ダイアログに、詳細なエラー・リストを表示します。このアクションは、ADFコンポーネント(ADF表タイプのコンポーネント以外)またはワークシートのリボン・ボタンによって起動されるアクション・セットで起動してください。

アクション・バインディングまたはメソッド・アクション・バインディングを起動するようにADFボタン・コンポーネントを構成する場合、ユーザーが実行時にADFボタン・コンポーネントをクリックすると起動するアクション・セットは、デフォルトで次のように移入されます。

1. UpSync

2. ADFボタン・コンポーネントに指定するアクション・バインディングまたはメソッド・アクション・バインディング

3. DownSync

空のフォームを使用してワークシートで最初に起動するアクションがUpSyncワークシート・アクションの場合、エラーが発生する可能性があります。そのため、最初に起動するアクションは必ずDownSyncワークシート・アクションにしてください。最初にDownSyncワークシート・アクションを起動するには、ADFボタン・コンポーネントのアクション・セットまたは表A-19で説明しているワークシート・イベント(StartupまたはActivate)のいずれかを構成します。

表A-19に、Excelワークシートで使用できるADFデスクトップ統合のプロパティを示します。

表A-19 ワークシートのプロパティ

名前

型

EL

説明

Annotation

String

N

このプロパティの詳細は、表A-1を参照してください。

Events

Array

N

この配列の各要素は、関連付けられたワークシートのイベントが発生した場合に起動するアクション・セットを指定します。アクション・セットの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。ワークシート・イベントの詳細は、この表のEvents.n.Eventのエントリを参照してください。

Events.nで始まるこの表の続くエントリは、この配列の要素がサポートするプロパティを示しています。nは、配列の特定の要素を指します。

Events.n.ActionSet

ActionSet

N

アクション・セットのプロパティの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

Events.n.InvokeOnceOnly

Boolean

N

このプロパティのデフォルト値はFALSEです。

TRUEに設定すると、このイベントに対するアクション・セットがワークシートによって起動されたかどうかに関する情報がワークブックに格納され、起動された場合は、ワークシートによるそのアクション・セットの2回目の起動が回避されます。ワークブックを保存しないとこの情報は失われます。つまり、次にワークブックを開いたときに、ワークシートによってイベントが再び起動されます。

Events.n.Annotation

String

N

Annotationプロパティの詳細は、表A-1を参照してください。

Events.n.Event

リスト

N

ワークシートでは、アクション・セットを起動するために構成できる、次のイベントがサポートされます。

- Startup
Excelワークブックが開き、ワークシートが初めて有効化されます。

- Shutdown
Excelワークブックが終了するか、またはExcelアプリケーションが終了します。

- Activate
ユーザーが現在のワークシートに移動します。

- Deactivate
ユーザーが現在のワークシートから離れるか、または停止イベントがトリガーされます。

ワークシート・イベントは、起動するアクション・セットが失敗した場合でも、実行を完了します。

ワークシート・イベントおよびアクション・セットの詳細は、8.2.4項「ワークシート・イベントからアクション・セットを起動する方法」を参照してください。

Protection.Mode

リスト

N

ワークシートでは次の2つのオプションが提供されます。

- オフ
実行時にワークシートの保護が使用されません。

- Automatic
実行時にワークシートの保護が自動的に有効になります。

このプロパティのデフォルト値はOffです。

Protection.Password

String

N

エンド・ユーザーが実行時にシートの保護をオフにするのを防止するためのパスワードを指定します。Excelで許可される最大パスワード長は、255文字です。

Ribbon Commands

Array

N

実行時にコマンドとして表示されるワークブック・アクションを1つ以上指定します。各コマンドは、WorksheetMenuItem配列の要素です。この配列のエントリでは、次のプロパティがサポートされます。

- Annotation

- Label

- SelectActionSet

AnnotationおよびLabelプロパティの詳細は、表A-1を参照してください。SelectActionSetプロパティの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

コマンド・ラベルに&文字を表示する場合は、&&を指定する必要があります。実行時、Excelでは単一の&文字は特殊文字として解釈され、&の次の文字がワークシート・コマンドのキーボード・アクセラレータとして割り当てられます。

Page Definition

String

N

ワークシートに関連付けるページ定義ファイルを指定します。ページ定義ファイルの詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

Parameters

Array

N

ワークブックのParametersプロパティから統合Excelワークブックのワークシートへパラメータを渡すために構成する、ワークシート・パラメータの配列。配列の各要素では、次のプロパティがサポートされます。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

- Parameter
ワークシートに関連付けられているページ定義ファイルに追加したparameter要素のIDを指定します。

- Value
ワークブック初期化パラメータ(ワークブックのParameters.Parameterプロパティ)に対して指定したParameterプロパティの値を参照するEL式を記述します。このワークシートに関連付けられているページ定義ファイルが初めて初期化されるときに、ワークブックのParameters.Parameterプロパティによってこの値が提供されます。

このプロパティの使用の詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

RowData

Fusion Webアプリケーションでの複数のセッション間で統合Excelワークブックにデータをキャッシュする場合に、CachedAttributesプロパティの値を設定します。

ChangeIndicatorAttributeIDプロパティの値を設定して、Fusion Webアプリケーションからダウンロードした行が、それ以降別のユーザーによって変更されたかどうかを判断します。

RowData.CachedAttributes

Array

N

この配列のプロパティの値を指定して、データがキャッシュされる属性を決定します。この配列の各CachedAttribute要素では、次のプロパティがサポートされます。

- AttributeID
このプロパティは、データがキャッシュされる属性バインディングを参照します。AttributeIDに関しては、属性バインディングを指定したり、同じワークシートのフォーム(たとえば、ADF入力テキスト・コンポーネント)で編集可能フィールドとして指定しないでください。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

キャッシュされた属性の値のクリアの詳細は、7.19項「ADF表コンポーネントでのキャッシュされた属性値のクリア」を参照してください。

RowData.ChangeIndicatorAttributeID

バインディング

N

統合Excelワークブックに最後にダウンロードした行が、それ以降別のユーザーによって変更されたかどうかを判断するために使用する、ツリー・バインディングの行固有の属性を指定します。

詳細は、12.7項「ワークブックからデータをアップロードする際のデータ競合の処理」を参照してください。

ServerContext

このプロパティ・グループは、現在のワークシートに表示される行を一意に識別する属性バインディングを参照するため、複数のセッション間でサーバー・データ・コンテキストを再確立することが可能になります。

詳細は、15.2項「セッション間でのサーバー・データ・コンテキストのリストア」を参照してください。

ServerContext.CacheDataContexts

Array

N

サーバー・サイド・コンテキストを再確立する必要のあるバインディング・コンテナで複数のイテレータが定義されている場合に、CacheDataContexts配列に要素を追加します。CacheDataContexts配列では、ワークシートのキャッシュされたデータ・コンテキストを保存するために次のプロパティがサポートされます。

- RestoreDataContextActionID
起動するアクション・バインディングを参照します。

- CachedServerContexts
RestoreDataContextActionIDによって指定されるアクション・バインディングが起動する前にキャッシュおよび設定される属性バインディング値を識別する配列。CachedServerContext配列の各要素は、CachedAttributeIDプロパティおよびRestoredAttributeIDプロパティをサポートします。CachedAttributeIDは、ワークシートにキャッシュする属性バインディング値を識別します。RestoredAttributeIDは、宛先の属性バインディング値がソースの属性バインディング値と異なる場合に値を指定する、オプションのプロパティです。RestoredAttributeIDの値を指定しない場合、宛先の属性バインディング値としてCachedAttributeIDの値が使用され、その値はアクション・セットの起動前に設定されます。

- Annotation
このプロパティの詳細は、A.1項「ADFデスクトップ統合で頻繁に使用するプロパティ」を参照してください。

ServerContext.IDAttributeID

バインディング

N

現在のワークシートに表示される行を一意に識別する属性バインディングを指定します。このプロパティは、サーバー・コンテキストがワークシートの表以外のタイプのコンポーネントに対して適切に再確立されているかどうかを判断するために実行時に使用されます。

ServerContext.SendParameters

Boolean

N

このプロパティのデフォルト値はFALSEです。

TRUEに設定すると、複数のセッション間でコンテキストを再確立する際に、ワークブックによってこのワークシートの初期化パラメータが送信されます。

SetupActionID

バインディング

N

バインディング・コンテナ・メタデータが取得される前に、起動されるADFmアクション・バインディングを指定します。

このプロパティの値はオプションです。

2つ以上のワークシートで同じページ定義を使用している場合、最後のワークシートで指定されたアクション・バインディングが起動されます。そのため、ワークシートごとにページ定義を作成し、複数のワークシートに同じページ定義を指定しないようにします。

Title

String

Y

文字列に解決され、ワークシートの名前を設定するEL式を記述します。設計時のEL式には長さの制限はなく、次の特殊文字を含めることができます。

[ ] \ / * ?

実行時に評価される文字列で表示できるのは最大31文字で、これらの特殊文字は無視されます。評価される文字列の長さが31文字を超える場合、余分な文字は切り捨てられ、表示されません。

Titleプロパティでは、EL式のバインディング部分をサポートしていません。リソース・タイプの式で使用されることを想定しています。

Titleプロパティ用に記述するEL式では、実行時に各ワークシートに対して一意の値が生成され、31文字未満になるようにしてください。

B ADFデスクトップ統合のEL式

この付録では、ADFデスクトップ統合のEL式の構文について説明し、EL式の記述に関するガイドラインを提供します。また、EL式での属性コントロール・ヒントの使用方法についても説明します。

この付録の内容は次のとおりです。

- B.1項「EL式を作成するガイドライン」

- B.2項「ADFデスクトップ統合コンポーネントのEL構文」

- B.3項「ADFデスクトップ統合の属性コントロール・ヒント」

B.1 EL式を作成するガイドライン

次に、統合ExcelワークブックのEL式の特性と、EL式を記述する際の提案を示します。

- Oracle ADFコンポーネントのプロパティに適した型に正しく評価されるリテラル値。次にいくつかの例を示します。

- ブール型の値trueおよびfalse

- -1、0および100などの整数値

- hello worldなどの文字列値

- 1つ以上の有効なEL式の一部を含む文字列。次に有効な構文の例を示します。

- #{row.bindings.ProductId.inputValue}

- #{components.TAB416222534.errors}

- #{res['excel.saveButton.label']}

- 有効なExcel式。Excel式の文字列は、文字=で開始する必要があります。リテラル文字列に#{...}式が含まれる場合、最初にADFデスクトップ統合がこの式を評価して、結果の値をExcel式の文字列に挿入します。その後、ExcelがExcel式を評価します。
EL式を記述する場合、次の点に注意してください。

- Excel式の要素を#{...}式の中で使用しないでください。

- EL式はADF構成内で管理されるため、EL式にExcelのセルの参照を含めることはできません。参照されるセルを移動すると、ExcelはADF構成を更新できません。これを回避するには、Excelの数式バーの「Name」ボックスを使用して、名前付きのセルの参照または範囲を定義します。名前付きセルの参照または名前付きセル範囲の参照は、EL式から参照できます。名前付きセルの参照または範囲の定義の詳細は、Excelのドキュメントを参照してください。

- ページ定義ファイルのEL式
ページ定義ファイルでEL式を記述するために使用する構文の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

- Excel式を含むEL式
EL式に含まれるExcel式は255文字を超えないようにしてください。これはコンポーネントのプロパティに条件値を設定するのに使用される式にも適用されます。

B.2 ADFデスクトップ統合コンポーネントのEL構文

表B-1に、EL式をサポートするADFデスクトップ統合コンポーネントでサポートされる式のプロパティを示します。

これらのプロパティを参照するために、EL式では次の構文を使用します。

#{components.componentID.property}

componentIDはコンポーネントのIDを参照し、propertyはプロパティ(rowCountなど)を参照します。

表B-1 ADFデスクトップ統合コンポーネントの式のプロパティ

プロパティ

コンポーネント・タイプ

プロパティの型

予期される実行時の値

設計時の値

rowCount

表

ROTable

Int

>=0

0

currentRowIndex

表

ROTable

Int

>= 0 AND < RowCount(ゼロ・ベースのインデックス)

-1

currentRowMode

表

String

"insert"

"update"

"unknown"

errors

表

String

N/A

N/A

readOnly

Table.Column

Boolean

TRUE

FALSE

FALSE

取得するものに応じて、次の構文を使用してEL式を記述します。

- 実行時のワークシート・エラー
#{worksheet.errors}

ワークシート・エラーの詳細は、12.4項「統合Excelワークブックでレポートされるエラー」を参照してください。

- ワークブック初期化パラメータ
#{workbook.params.parameterName}

parameterNameは、ワークブック初期化パラメータの名前です。これらのパラメータの使用の詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

- リソース・バンドルの文字列キーの値
#{resourceBundleAlias['resourceBundleKey']}

resourceBundleAliasはリソース・バンドルの別名で、resourceBundleKeyは文字列キーの値です。リソース・バンドルの詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

表B-2に、Oracle ADFコントロール・バインディングでサポートされる構文とプロパティを示します。ADFデスクトップ統合でサポートされる属性コントロール・ヒント(controlHint)の詳細は、表B-3を参照してください。

表B-2に示すEL式の一部は、5.8項「式ビルダーの使用」で説明している式ビルダーを使用して生成できます。その他のEL式は、表B-2の説明に従って記述する必要があります。

表B-2 Oracle ADFコントロール・バインディングの式のプロパティと構文

構文

コンポーネント・タイプ

オブジェクトのプロパティ

設計時の値

式ビルダーを使用し、次の構文でEL式を生成します。

#{bindings.attributeID}
#{bindings.attributeID.label}
#{bindings.attributeID.hints.controlHint}

また、これらのEL式を次のEL式に追加して記述することもできます。

#{bindings.attributeID.inputValue}

属性

属性コントロール・ヒント

""

式ビルダーを使用し、次の構文でEL式を生成します。

#{bindings.ListID}
#{bindings.ListID.label}
#{bindings.ListID.hints.controlHint}

リスト

属性コントロール・ヒント

""

表タイプのコンポーネントの列に対しては、次の構文でEL式を記述します。

#{row.bindings.attributeID.inputValue}

7.16項「ADF表コンポーネントへの動的な列の追加」で説明しているように、ADF表コンポーネントに動的な列を追加する場合は、次の構文でEL式を記述します。

#{bindings.TreeID.[TreeNodeID].AttributeNamePrefix*.inputValue}
#{bindings.TreeID.AttributeNamePrefix*.inputValue}
#{bindings.TreeID.[TreeNodeID].hints.AttributeNamePrefix*.controlHint}
#{bindings.TreeID.[TreeNodeID].hints.AttributeNamePrefix*.label}

AttributeNamePrefixおよび[TreeNodeID]の値はオプションですが、*は必須です。

Table.Column

inputValue

""

B.3 ADFデスクトップ統合の属性コントロール・ヒント

ADFデスクトップ統合は、表B-3に示す属性コントロール・ヒント名の値を読み取ることができます。ADFデスクトップ統合がFusion Webアプリケーションから属性コントロール・ヒントの値を取得するために使用するEL式を記述します。表B-2に、実行時に属性コントロール・ヒントの値を取得するEL式の構文を示します。

属性コントロール・ヒントは、Fusion Webアプリケーションで構成します。エンティティ・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のエンティティ・オブジェクトの属性コントロール・ヒントの定義に関する項を参照してください。ビュー・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、Oracleアプリケーション開発フレームワークによるFusion Webアプリケーションの開発のビュー・オブジェクトのUIヒントの定義に関する項を参照してください。

表B-3 ADFデスクトップ統合で使用する属性コントロール・ヒント

属性コントロール・ヒント

型

Fusion Webアプリケーションで構成する値

label

String

エンティティ・オブジェクトまたはビュー・オブジェクト用に構成されるラベル属性コントロール・ヒントの値を参照します。

updateable

Boolean

関連付けられている属性バインディングが更新可能な場合はtrueを戻します。

readOnly

Boolean

この属性コントロール・ヒントは、ADFデスクトップ統合独自のものです。関連付けられている属性バインディングが更新可能でない場合はtrueを戻します。

EL式のExcel式を評価する際の統合Excelワークブックのパフォーマンスを最適化するには、コンポーネントのReadOnlyプロパティに対して次の構文でEL式を記述する必要があります。

#{bindings.attributeID.hints.readOnly}

次の構文はお薦めしません。

=NOT(#{bindings.attributeID.hints.updateable})

属性コントロール・ヒントのreadOnlyプロパティは、A.1項「ADFデスクトップ統合で頻繁に使用するプロパティ」で説明しているADFデスクトップ統合コンポーネントのReadOnlyプロパティとは異なります。

mandatory

Boolean

関連付けられている属性バインディングの値が必須の場合はtrueを戻します。

dataType

String

属性コントロール・ヒントのデータ型を戻します。Fusion Webアプリケーションでは、複雑な名前の様々なデータ型をサポートできます。dataType属性コントロール・ヒントは、EL式の記述を簡略化するためにADFデスクトップ統合に導入されました。これにより、Fusion Webアプリケーションでサポートされるデータ型が、ADFデスクトップ統合でサポートされる次の値にマップされます。

- string

- number

- date

- boolean

- other

ADFデスクトップ統合の属性コントロール・ヒントは、Webアプリケーションのモデル構成で使用できる情報に基づきます。ADFデスクトップ統合では、ビュー・オブジェクトまたはエンティティ・オブジェクトのヒント値がサポートされますが、 ヒント値が実行時に行ごとのレベルで計算される場合は、プログラムによるヒント値のオーバーライドはサポートされません。

C 統合Excelワークブックのトラブルシューティング

この付録では、開発中に問題が発生した場合に統合Excelワークブックのトラブルシューティングを行い、ログ・ファイルを生成する方法について説明します。また、発生する可能性のあるいくつかのエラーと問題(バージョンの不一致、404エラー、「Oracle ADF」タブが統合Excelワークブックに表示されないなど)についても説明します。

この付録の内容は次のとおりです。

- C.1項「Fusion WebアプリケーションによるADFデスクトップ統合のサポートの検証」

- C.2項「統合Excelワークブックのエンド・ユーザー認証の検証」

- C.3項「統合Excelワークブックのログ・ファイルの生成」

- C.4項「ADFデスクトップ統合の一般的なエラー・メッセージと問題」

注意:

プロパティ・インスペクタは、プロパティまたはプロパティの組合せに入力した値が有効かどうかの検証は実行しません。無効な値があると、実行時にエラーが発生します。実行時のエラーを回避するには、プロパティ・インスペクタでプロパティに有効な値を指定してください。プロパティ・インスペクタの詳細は、5.6項「プロパティ・インスペクタの使用」を参照してください。

C.1 Fusion WebアプリケーションによるADFデスクトップ統合のサポートの検証

特定のURLを使用して、Fusion WebアプリケーションによってADFデスクトップ統合のリモート・サーブレット(adfdiRemote)が実行されていることを確認し、ADFデスクトップ統合のバージョンを確認できます。この情報は、統合Excelワークブックに関連するエラーが発生した場合に役立ちます。たとえば、統合Excelワークブックのトラブルシューティングを行う際に、ADFデスクトップ統合のリモート・サーブレットが稼働しているかどうかを判断できます。

ADFデスクトップ統合のリモート・サーブレットが稼働していることを検証するには:

1. Fusion Webアプリケーションにログオンします。

2. Webブラウザのアドレス・バーに、ワークブックのプロパティWebAppRootおよびRemoteServletPathを連結した値を入力します。これは、次のようなURLに相当します。
http://hostname:7101/FusionApp/adfdiRemoteServlet

ADFデスクトップ統合のリモート・サーブレットが稼働している場合、Webページが元に戻って図C-1のようなメッセージが表示されます。

図C-1 ADFデスクトップ統合のリモート・サーブレット

C.2 統合Excelワークブックのエンド・ユーザー認証の検証

統合Excelワークブックのエンド・ユーザーが、ADFのセキュリティを使用して構成されているFusion Webアプリケーションと相互作用するアクションを起動する際にユーザー認証を要求されない場合、統合ExcelワークブックまたはFusion Webアプリケーションのどちらかでセキュリティが正しく構成されていない可能性があります。次の手順を実行して、セキュアなFusion Webアプリケーションによってエンド・ユーザーが認証されること、およびセキュリティが有効であることを検証できます。

セキュアなFusion Webアプリケーションによってエンド・ユーザーが認証されることを検証するには、ADFデスクトップ統合のリモート・サーブレットが稼働中かどうかを検証するために使用したURLを、ブラウザのアドレス・バーに入力します。詳細は、C.1項「Fusion WebアプリケーションによるADFデスクトップ統合のサポートの検証」を参照してください。Fusion Webアプリケーションのセキュリティが有効である場合は、ユーザー資格証明を入力するよう求められます。

統合Excelワークブックの保護の詳細は、第11章「統合Excelワークブックの保護」を参照してください。

C.3 統合Excelワークブックのログ・ファイルの生成

ADFデスクトップ統合では、ログ・ファイルを生成して、次のソフトウェアによってADFデスクトップ統合内でトリガーされるイベントに基づいて情報を取得できます。

- Webサーバー上にある、HTTPフィルタおよびADFデスクトップ統合のリモート・サーブレット(サーバー・サイド・ロギング)
サーバー・サイド・ロギングの詳細は、C.3.1項「サーバー・サイド・ロギングの概要」を参照してください。

- Fusion Webアプリケーションと統合するExcelワークブック(クライアント・サイド・ロギング)
クライアント・サイド・ロギングの詳細は、C.3.2項「クライアント・サイド・ロギングの概要」を参照してください。

C.3.1 サーバー・サイド・ロギングの概要

サーバー・サイド・ロギングの詳細は、Oracle ADFアプリケーションの管理のサーバー・サイド・ロギングに関する項を参照してください。

C.3.2 クライアント・サイド・ロギングの概要

ADFデスクトップ統合を構成して、トリガーされるイベントのログをクライアントで保存できます。デフォルトでは、ログ・ファイルは生成されません。ログを保存するためのADFデスクトップ統合モジュールの構成方法は、C.3.2.1項「ログを保存するためのADFデスクトップ統合の構成方法」を参照してください。

C.3.2.1 ログを保存するためのADFデスクトップ統合の構成方法

ADFデスクトップ統合には、イベント・ログを生成し、ログに簡単にアクセスするためのロギング・ツールが用意されています。このロギング・ツールは、「Oracle ADF」タブの「ロギング」グループに含まれており、設計モードとテスト・モードの両方で使用できます。

図C-2に、「Oracle ADF」タブのロギング・ツールを示します。

図C-2 「Oracle ADF」タブのロギング・ツール

「ロギング」グループには次のボタンがあります。

- コンソール
統合Excelワークブックを開発およびテストしながら最新のログ・エントリを確認できる、ロギング・コンソール・ウィンドウを表示します。このコンソールには、コンソールが開いている間に記録されたエントリが表示されます。図C-3に示すロギング・コンソール・ウィンドウには、情報およびエラーのログ・エントリが表示されています。

このコンソールは、サイズ変更が可能でバッファ・サイズが64,000文字の非モーダル・ウィンドウです。バッファがいっぱいになると、古いエントリは削除されます。ログ・エントリを保存するには、テキスト・ファイルを選択してコピーします。

図C-3 ロギング・コンソール・ウィンドウ

このダイアログには次のボタンがあります。

- レベルの設定: ログ出力レベルを設定する場合は、これをクリックします。このボタンをクリックすると、目的のログ出力レベルを選択できるロギング出力レベル・ダイアログが開きます。

- クリア: ログ・バッファをクリアする場合にクリックします。

- 閉じる: ダイアログを閉じる場合にクリックします。

注意:

一般的なロギング・コンソール・ウィンドウでは、開いているすべての統合Excelワークブックのエントリが記録されます。

- 出力レベルの設定
ログ出力のレベルを選択するよう求められます。表C-1に、クライアント・サイド・ロギングがサポートするログ・レベルを示します。

図C-4 ロギング出力レベル・ダイアログ

表C-1 クライアント・サイド・ロギングのレベル

レベル

説明

クリティカル

クリティカルな情報を取得します。

エラー

重度のエラーと例外に関する情報を取得します。

警告

リカバリ不能な状況を取得します。

情報

ライフ・サイクル・イベントとコントロール・フロー・イベントを取得します。

詳細

アプリケーションの実行フローに関する詳細を取得します。

オフ

ログは取得されません。これがデフォルト値になります。

注意:

ログの出力レベルは、指定されたログ出力のすべてのリスナーに適用されます。

- ログ出力ファイルの追加
指定のファイルまたは形式にロギング出力を送るための、一時ロギング・リスナーを作成します。「新規一時ロギング出力ファイルの追加」ダイアログで、目的のファイル出力形式(テキストまたはXML)を選択し、ログ出力ファイルのパスとファイル名を指定します。

図C-5 新規一時ロギング出力ファイルの追加ダイアログ

一時リスナーは、現在のExcelセッションのロギング出力のみを送り、ADFデスクトップ統合の構成ファイルには登録されません。統合Excelワークブックを閉じると、一時リスナーは削除されます。

注意:

「ログ出力ファイルの追加」ボタンをクリックすると、新しいリスナーが作成されます。新しいリスナーによって、ADFデスクトップ統合の構成ファイルで定義された既存のリスナー、または他の一時リスナーは置換されません。

- 構成のリフレッシュ
ADFデスクトップ統合の構成ファイルをリロードします。ADFデスクトップ統合の構成ファイルによって、ADFデスクトップ統合で記録される情報のタイプが決まります。また、ログ・ファイルの場所および出力形式も決まります。

ADFデスクトップ統合の構成ファイルの作成および構成の詳細は、C.3.2.2項「ADFデスクトップ統合の構成ファイルについて」を参照してください。

C.3.2.2 ADFデスクトップ統合の構成ファイルについて

ADFデスクトップ統合の構成ファイルは、デザイナ・エディションの場合はadfdi-excel-addin.dll.config、ランタイム・エディションの場合はadfdi-excel-addin-runtime.dll.configとして保存されます。ファイルの正しい名前および場所を調べるには、「Oracle ADF」タブの「ワークブック」グループにある「バージョン情報」ボタンをクリックします。表示されるダイアログで「プロパティ」タブをクリックし、「構成」エントリで構成ファイルのファイル名および場所を調べます。

構成ファイルの要素の詳細は、Microsoft Developer Networkのドキュメントの「Configuration File Schema for the .NET Framework」の項を参照してください。トレースおよびデバッグの設定の詳細は、Microsoft Developer Networkのドキュメントの「Trace and Debug Settings Schema」の項を参照してください。

クライアント・サイド・ロギングの有効な構成方法は多数ありますが、例C-1に示す構成ファイルのサンプルはその1つで、形式の異なる(.txtおよび.xml)2つのログ・ファイルが生成されます。このファイルでは、様々な情報(ThreadId、ProcessIdおよびDateTimeなど)がVerboseロギング・レベルで取得されます。

例C-1 構成ファイルのサンプル

<?xml version="1.0"?>
<configuration>
<system.diagnostics>
<sources>
<source name="adfdi-common" switchValue="Verbose">
<listeners>
<add type="System.Diagnostics.DelimitedListTraceListener"
name="adfdi-common-excel.txt"
initializeData="c:\logs\adfdi-common-excel.txt"
delimiter="|"
traceOutputOptions="ThreadId, ProcessId, DateTime"/>
<add type="System.Diagnostics.XmlWriterTraceListener"
name="adfdi-common-excel.xml"
initializeData="c:\logs\adfdi-common-excel.xml"
traceOutputOptions="None"/>
</listeners>
</source>
</sources>
</system.diagnostics>
</configuration>

C.3.2.3 ユーザー環境変数を使用したロギングの構成方法

ADFデスクトップ統合の構成ファイルを格納するディレクトリにアクセスできないユーザーは、ユーザー環境変数の値を設定してログ・ファイルの保存場所とロギング・レベルを変更できます。ロギング・レベルとXMLログ・ファイルの場所を構成するための、2つのユーザー環境変数を追加できます。

Windowsでユーザー環境変数を追加または構成するには:

1. Windowsの「スタート」ボタン、「コントロール パネル」の順にクリックします。

2. 「コントロール パネル」で、「システム」、「システムの詳細設定」の順にクリックします。

3. 「システムのプロパティ」ダイアログの「詳細設定」タブで、「環境変数」をクリックします。

4. 「環境変数」ダイアログで「usernameのユーザー環境変数」入力フィールドの下方にある「新規」をクリックし、表C-2の説明に従って変数を追加します。

表C-2 ロギングを構成するためのユーザー環境変数

入力する変数の名前

指定する値

adfdi-common-file

ロギング情報を取得するXMLファイルのディレクトリ・パスおよびファイル名を定義する値。

ここで指定するディレクトリは、adfdi-common-file変数を追加する前に存在している必要があります。生成されるログ・ファイルはXML形式です。

adfdi-common-level

ロギングのレベルを指定する値。有効な値は表C-1を参照してください。

5. 「OK」をクリックします。

C.3.2.4 adfdi-commonオブジェクトに関する留意事項

adfdi-commonオブジェクトは、Microsoft .NET FrameworkのSystem.Diagnostics名前空間のTraceSourceクラスのインスタンスです。このオブジェクトを使用してログ・ファイルを生成すると、Fusion Webアプリケーションと統合するExcelワークブックでトリガーされるイベントの情報を取得できます。ログ・ファイルの場所を知るには、「情報」ダイアログの「プロパティ」タブの「ログ・ファイル」属性を確認します。

TraceSourceクラスの詳細は、Microsoft Developer Networkのドキュメントを参照してください。

C.4 ADFデスクトップ統合の一般的なエラー・メッセージと問題

ADFデスクトップ統合が有効なFusion Webアプリケーションまたはワークブックの使用または構成中、エラー・メッセージまたは問題が発生する可能性があります。次のリストでは、最も一般的なエラー・メッセージおよびその原因と解決策を説明しています。

エラー・メッセージ: [ADFDI-00127] SyncServletResponseにバージョンの不一致が検出されました。バージョンxが見つかりましたが、バージョンyが必要です。

原因: クライアントのADFデスクトップ統合のバージョンがWebアプリケーションのADFデスクトップ統合のバージョンと一致していません。

処置: クライアントのADFデスクトップ統合をアンインストールして、Webアプリケーションと同じバージョンのADFデスクトップ統合をインストールします。ADFデスクトップ統合クライアントのインストールの詳細は、3.4項「ADFデスクトップ統合のインストール」を参照してください。

エラー・メッセージ: 404エラー - サーブレットが見つかりません

原因: web.xmlデプロイメント・ディスクリプタの設定がWorkbook.RemoteServletPathプロパティの値と同期していません。

処置: 「ワークブック・プロパティ」エディタを開いてWorkbook.RemoteServletPathプロパティの値を確認します。

エラー・メッセージ: プログラミングによる Visual Basic プロジェクトへのアクセスは信頼性に欠けます

原因: Excelのマクロ設定が有効化されていません。

処置: 「セキュリティ センター」ダイアログの「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」チェック・ボックスが選択されていることを確認します。詳細は、3.3項「ADFデスクトップ統合と協働するExcelの構成」を参照してください。

問題: ADFデスクトップ統合のインストール後、統合Excelワークブックに「Oracle ADF」タブが表示されません。

原因: ADFデスクトップ統合のアドインがExcelで有効化されていません。

処置: Excelの「Options」ダイアログで、ADFデスクトップ統合アドインを有効にします。Excelで「Microsoft Office」ボタンをクリックし、「Excel Options」をクリックして「Excel Options」ダイアログを開きます。「Add-Ins」タブで「Manage」ドロップダウン・リストを開いてCOM Add-ins」を選択し、「Go」をクリックします。「COM Add-ins」ダイアログで、「Oracle ADF Desktop Integration Add-in for Excel」チェック・ボックスを選択し、「OK」をクリックします。

ADFデスクトップ統合のすべてのエラー・メッセージの詳細は、Oracle Fusion Middlewareのエラー・メッセージ・リファレンスを参照してください。

システム管理者の場合は、Oracle ADFアプリケーションの管理のADFデスクトップ統合の一般的なエラー・メッセージと問題に関する項も参照する必要があります。

D Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定

この付録では、Fusion Webアプリケーションでの使用を可能にするためにADFデスクトップ統合サーブレット(adfdiRemote)に対して設定する値について説明します。また、この付録では、ADFデスクトップ統合に同梱されているHTTPフィルタの動作を決めるデプロイメント・ディスクリプタ・ファイルの値について説明します。さらに、これらの値の使用例を示すデプロイメント・ディスクリプタ・ファイルからのコード例を提供します。

この付録の内容は次のとおりです。

- D.1項「ADFデスクトップ統合サーブレットの構成」

- D.2項「ADFデスクトップ統合Excelダウンロード・フィルタの構成」

- D.3項「デプロイメント・ディスクリプタ・ファイルの例」

注意:

ADFデスクトップ統合およびADFライブラリWebアプリケーション・サポートをデスクトップ統合プロジェクトに追加すると、この付録で説明するweb.xmlファイルに自動的にエントリが生成されます。詳細は、4.2項「Fusion Webアプリケーションへの統合Excelワークブックの追加」を参照してください。

D.1 ADFデスクトップ統合サーブレットの構成

Excelワークブックと統合するFusion WebアプリケーションでadfdiRemoteサーブレットを使用するには、そのデプロイメント・ディスクリプタ・ファイル(web.xml)にエントリを含める必要があります。Fusion Webアプリケーションと統合するExcelワークブックは、このサーブレットをコールしてFusion Webアプリケーションとデータを同期させます。このサーブレットは、次のディレクトリのadf-desktop-integration.jarファイルに格納されます。

MW_HOME\oracle_common\modules\oracle.adf.desktopintegration_12.1.2

MW_HOMEはミドルウェア・ホーム・ディレクトリです。

4.2項「Fusion Webアプリケーションへの統合Excelワークブックの追加」の説明に従ってADFデスクトップ統合をプロジェクトに追加すると、Fusion Webアプリケーションでサーブレット(DIRemoteServlet)を有効化するために必要なエントリを使用して、デプロイメント・ディスクリプタが自動的に構成されます。必要であれば、サーブレットを手動で構成できます。

ADFデスクトップ統合サーブレットを構成するには:

1. JDeveloperで、対象となるADFデスクトップ統合プロジェクトのデプロイメント・ディスクリプタ・ファイル(web.xml)を探して開きます。
通常、このファイルはプロジェクトのWEB-INFディレクトリにあります。

2. 「サーブレット」ページをクリックして「追加」アイコンをクリックし、「サーブレット」表に行エントリを作成します。このアイコンは、「サーブレット」表の右上隅にあります。

Fusion WebアプリケーションでadfdiRemoteサーブレットを有効化するために、表D-1に従って値を入力します。

表D-1 adfdiRemoteサーブレットを有効化するための値

プロパティ

入力する値

名前

adfdiRemote

型

サーブレット・クラス

サーブレット・クラス/JSPファイル

oracle.adf.desktopintegration.servlet.DIRemoteServlet

3. 「サーブレット」ページで「サーブレット・マッピング」タブ→「追加」アイコンをクリックして、「サーブレット・マッピング」表に行を作成します。
Fusion WebアプリケーションでadfdiRemoteサーブレットのURLパターンを追加するために、表D-2に従って値を入力します。入力する値は、統合ExcelワークブックでRemoteServletPathワークブック・プロパティに対して指定する値と一致する必要があります。これらの値では、大/小文字が区別されます。

表D-2 adfdiRemoteサーブレットにURLパターンを追加するための値

プロパティ

入力する値

URLパターン

/adfdiRemoteServlet

図D-1に、ADFデスクトップ統合のSummitサンプル・アプリケーションのweb.xmlの「サーブレット」ページを示します。

図D-1 デプロイメント・ディスクリプタの「サーブレット」ページ

4. 「フィルタ」ページをクリックし、「フィルタ」表にadfBindingsフィルタが含まれているかどうか確認します。エントリが存在する場合はそれを選択し、次の手順に進みます。該当するエントリがない場合は、「追加」アイコンをクリックして「フィルタ」表に行エントリを作成します。このアイコンは、「フィルタ」表の右上隅にあります。
ADFバインディング・フィルタをadfdiRemoteサーブレットに追加するために、表D-3に従って値を入力します。

表D-3 adfdiRemoteサーブレットにバインディング・フィルタを追加するための値

プロパティ

入力する値

名前

adfBindings

クラス

oracle.adf.model.servlet.ADFBindingFilter

5. 「フィルタ」ページで「フィルタ・マッピング」タブ→「追加」アイコンをクリックして、「フィルタ・マッピング」表に行を作成します。
マッピング・フィルタをadfdiRemoteサーブレットに追加するために、表D-4に従って値を入力します。このフィルタ・マッピングは、手順2のサーブレットの名前と一致する必要があります。

表D-4 adfdiRemoteサーブレットにマッピング・フィルタを追加するための値

プロパティ

入力する値

マッピング・タイプ

サーブレット

マッピング

adfdiRemote

図D-2に、ADFデスクトップ統合のSummitサンプル・アプリケーションのweb.xmlの「フィルタ」ページを示します。

図D-2 デプロイメント・ディスクリプタの「フィルタ」ページ

6. デプロイメント・ディスクリプタ・ファイルを保存して、行った変更を適用するためにADFデスクトップ統合プロジェクトを再ビルドします。

D.2 ADFデスクトップ統合Excelダウンロード・フィルタの構成

ADFデスクトップ統合の次のディレクトリに格納されているadf-desktop-integration.jarに、HTTPフィルタが含まれています。

MW_HOME\oracle_common\modules\oracle.adf.desktopintegration_12.1.2

MW_HOMEはミドルウェア・ホーム・ディレクトリです。

エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードする前に、アプリケーションによってHTTPフィルタが起動されて統合Excelワークブックで変更が行われるように、Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)でエントリを構成します。この変更が行われることにより、エンド・ユーザーが開いたときに統合Excelワークブックが正しく機能します。HTTPフィルタは次の変更を行います。

- WebAppRoot
このプロパティの値を、エンド・ユーザーによる統合Excelワークブックのダウンロード元となるFusion Webアプリケーションの完全修飾URLに設定します。

- ワークブックのモード
統合Excelワークブックが誤って設計モードまたはテスト・モードのままになっている場合に、ワークブックのモードを実行時モードに変更します。

注意:

adfdiExcelDownloadフィルタを使用しない場合は、かわりにワークブック管理ツールを使用して、ワークブックでWebAppRootプロパティを設定できます。詳細は、Oracle ADFアプリケーションの管理のワークブック管理ツールの使用に関する項を参照してください。

デフォルトでは、プロジェクトでADFデスクトップ統合を有効化すると、JDeveloperによってADFデスクトップ統合プロジェクトにHTTPフィルタが追加されます。

HTTPフィルタを構成するには:

1. JDeveloperで、対象となるADFデスクトップ統合プロジェクトのデプロイメント・ディスクリプタ・ファイル(web.xml)を探して開きます。
通常、このファイルはプロジェクトのWEB-INFディレクトリにあります。

2. 「フィルタ」ページをクリックし、「フィルタ」表にadfBindingsフィルタが含まれていることを確認します。エントリが存在する場合はそれを選択し、次の手順に進みます。該当するエントリがない場合は、「追加」アイコンをクリックして「フィルタ」表に行エントリを作成します。
フィルタを作成するため、または値を構成して既存のHTTPフィルタを変更するために、表D-5に従って値を入力します。

表D-5 HTTPフィルタを構成するためのプロパティ

プロパティ

入力する値

名前

adfdiExcelDownload

クラス

oracle.adf.desktopintegration.filter.DIExcelDownloadFilter

表示名

(オプション)「一般フィルタ」タブで、JDeveloperに表示されるフィルタの表示名を入力します。

説明

(オプション)「一般フィルタ」タブで、フィルタの説明を入力します。

3. 「フィルタ」ページで「フィルタ・マッピング」タブ→「追加」アイコンをクリックして、「フィルタ・マッピング」表に行を作成します。
表D-6に従って値を入力し、デフォルトのファイル形式(.xlsx)を使用する統合Excelワークブックのフィルタ・マッピングを追加します。

表D-6 フィルタ・マッピングを構成するためのプロパティ

プロパティ

入力する値

マッピング・タイプ

URLパターン

マッピング

*.xlsx

ディスパッチャ・タイプ

このプロパティには値は不要です。

4. 表D-7に従って値を入力し、マクロ有効ワークブック形式(.xlsm)を使用する統合Excelワークブック用に、別のフィルタ・マッピングを追加します。

表D-7 フィルタ・マッピングを構成するためのプロパティ

プロパティ

入力する値

マッピング・タイプ

URLパターン

マッピング

*.xlsm

ディスパッチャ・タイプ

このプロパティには値は不要です。

図D-3に、ADFデスクトップ統合のSummitサンプル・アプリケーションのweb.xmlの「フィルタ」ページを示します。

図D-3 デプロイメント・ディスクリプタの「フィルタ」ページ

5. 「アプリケーション」ページをクリックし、「MIMEマッピング」セクションを開いて「追加」アイコンをクリックします。
表D-8に従って値を入力し、デフォルトのファイル形式(.xlsx)を使用する統合ExcelワークブックのMIMEタイプを追加します。

表D-8 MIMEマッピングを追加するためのプロパティ

プロパティ

入力する値

拡張子

*.xlsx

MIMEタイプ

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

6. 表D-9に従って値を入力し、マクロ有効ワークブック形式(.xlsm)を使用する統合Excelワークブック用に、別のMIMEタイプを追加します。

表D-9 MIMEマッピングを追加するためのプロパティ

プロパティ

入力する値

拡張子

*.xlsm

MIMEタイプ

application/vnd.ms-excel.sheet.macroEnabled.12

図D-4に、ADFデスクトップ統合のSummitサンプル・アプリケーションのweb.xmlの「アプリケーション」ページを示します。

図D-4 デプロイメント・ディスクリプタの「アプリケーション」ページ

7. デプロイメント・ディスクリプタ・ファイルを保存して、行った変更を適用するためにADFデスクトップ統合プロジェクトを再ビルドします。

web.xmlファイルでフィルタおよびフィルタ・マッピング情報を更新する際には、Fusion Webアプリケーションから統合Excelワークブックをダウンロードできるように、adfdiExcelDownloadフィルタ・エントリの下にADFライブラリWebアプリケーション・サポート(<filter-name>ADFLibraryFilter</filter-name>)が表示されるようにしてください。

D.3 デプロイメント・ディスクリプタ・ファイルの例

次の例は、ADFデスクトップ統合が含まれているFusion Webアプリケーションのweb.xmlファイルからの抜粋で、デスクトップ統合プロジェクト用に構成するエントリを示しています。フィルタの順序の詳細は、4.4.4項「ADFデスクトップ統合をJDeveloperプロジェクトに追加する際の処理」を参照してください。

<filter>
<filter-name>adfBindings</filter-name>
<filter-class>
oracle.adf.model.servlet.ADFBindingFilter</filter-class>
</filter>
<filter>
<filter-name>adfdiExcelDownload</filter-name>
<filter-class>
oracle.adf.desktopintegration.filter.DIExcelDownloadFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<servlet-name>adfdiRemote</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>adfdiExcelDownload</filter-name>
<url-pattern>*.xlsx</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfdiExcelDownload</filter-name>
<url-pattern>*.xlsm</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>adfdiRemote</servlet-name>
<servlet-class>
oracle.adf.desktopintegration.servlet.DIRemoteServlet
</servlet-class>
<init-param>
<param-name>ClientServerVersionCheck.Precision</param-name>
<param-value>2</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>adfdiRemote</servlet-name>
<url-pattern>/adfdiRemoteServlet</url-pattern>
</servlet-mapping>
<mime-mapping>
<extension>xlsx</extension>
<mime-type>
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xlsm</extension>
<mime-type>
application/vnd.ms-excel.sheet.macroEnabled.12
</mime-type>
</mime-mapping>

E オーバーライド可能なリソースの文字列キー

この付録では、オーバーライド可能な予約済リソース・バンドルの文字列キーについて説明します。

表E-1に、文字列キーおよび対応する現在の英語の値を示します。表E-1の文字列キーおよび実行時に表示する値を定義するための、リソース・バンドルを作成します。予約済リソース・バンドルのオーバーライド方法は、10.2.2項「構成不可能なリソースの上書き方法」を参照してください。

表E-1 予約済リソース・バンドルの文字列キーおよび値

実行時の文字列キー値の表示対象

文字列キー

ADFデスクトップ統合の予約済リソース・バンドルの英語の値

説明

Upload Options

UPLOAD_OPTIONS_TITLE

Upload Options

Upload Options

UPLOAD_OPTIONS_PROMPT

Specify options to use during the Upload operation

Upload Options

UPLOAD_OPTIONS_CONTINUE_ON_FAIL_LABEL

On failure, continue to upload subsequent rows

Upload Options

UPLOAD_OPTIONS_DOWNLOAD_AFTER_LABEL

Download all rows after successful upload

Table.Download

DOWNLOAD_OVERWRITE_TITLE

Download

Table.Download

DOWNLOAD_OVERWRITE_PROMPT

Do you wish to discard the pending changes?

Table.Download

ROWLIMIT_WARNINGS_TITLE

Row limit exceeded

Table.Initialize

INITIALIZE_OVERWRITE_TITLE

Initialize

Table.Initialize

INITIALIZE_OVERWRITE_PROMPT

Do you wish to discard the pending changes?

Workbook.ClearAllData

CLEARDATA_CONFIRM_TITLE

Clear all data

Workbook.ClearAllData

CLEARDATA_CONFIRM_PROMPT

This command will log you out of your current session and clear all the data from all worksheets in the workbook.Are you sure?

Workbook.Logout

LOGOUT_STATUS_TITLE

Logout

Workbook.Logout

LOGOUT_STATUS_PROMPT

You have been logged out from your current session.

Table.Upload

COMPONENTS_TABLE_DYN_COLS_NOT_AVAIL_TITLE

Upload

Table.Upload

COMPONENTS_TABLE_DYN_COLS_NOT_AVAIL_PROMPT

One or more dynamic columns is no longer available, do you wish to continue?

表のステータス

UPLOAD_STATUS_NO_UPDATES

No updates detected

表のステータス

TABLE_UPLOAD_RECORD_NOT_FOUND

Record not found

表のステータス

TABLE_UPLOAD_CANNOT_INSERT_MORE_THAN_ONCE

Cannot insert record more than once

表のステータス

TABLE_COMMIT_FAILED_1

See Error Detail {0}

{0}はバッチ番号です。

表のステータス

TABLE_COMMIT_FAILURE_DETAILS_2

Error Detail {0}:{1}

{0}はバッチ番号です。

{1}はエラー・メッセージです。

表のステータス

TABLE_UPLOAD_ROW_UPDATE_SUCCESS

Row updated successfully

表のステータス

TABLE_UPLOAD_ROW_INSERT_SUCCESS

Row inserted successfully

表のステータス

TABLE_UPLOAD_ROW_UPDATE_FAILURE

Update failed

表のステータス

TABLE_UPLOAD_ROW_INSERT_FAILURE

Insert failed

表のステータス

TABLE_DELETE_ROW_FAILURE

Delete failed

表のステータス

TABLE_ROW_KEY_VALUE_INVALID

Key value invalid

表のステータス

TABLE_DOWNLOAD_FAILURE

Download failed

表のステータス

TABLE_DOWNLOAD_ROW_FAILURE

Row download failed

表のステータス

TABLE_DOWNLOAD_FLAGGED_FAILURE

Download flagged rows failed

表のステータス

TABLE_DOWNLOAD_FOR_INSERT_FAILURE

Download for insert failed

表のステータス

MESSAGE_DETAILS_NONE

No error details available

表のステータス

MESSAGE_DETAILS_ROW_TITLE

Row Errors

表のステータス

MESSAGE_DETAILS_ROW_PROMPT

Errors for this row:

表のステータス

MESSAGE_DETAILS_TABLE_TITLE

Table Errors

表のステータス

MESSAGE_DETAILS_TABLE_PROMPT

Error details for this table:

表のステータス

表のエラー

ワークシート・エラー

MESSAGE_DETAILS_HELP_LABEL

Click on each error to reveal additional information

エラー・リストに表示されます。

表のステータス

表のエラー

ワークシート・エラー

MESSAGE_LABEL_DEFAULT_CONTEXT

アクション

ワークシート・エラー

MESSAGE_DETAILS_WORKSHEET_TITLE

Worksheet Errors

ワークシート・エラー

MESSAGE_DETAILS_WORKSHEET_PROMPT

Error details for this worksheet:

ワークシート・エラー

MESSAGE_DETAILS_PARSE_FAILURE

A problem has occurred while retrieving the error details.The information is no longer available.

ワークシート・エラー

MESSAGE_LABEL_FAILED_1

{0} failed

{0}はコンテキスト・ラベルです。

Workbook.EditOptions

SETTINGS_EDIT_TITLE

Edit Options

Workbook.EditOptions

SETTINGS_EDIT_PROMPT

Enter a value for WebAppRoot.For example: http://localhost:1234/MyApp.

Workbook.EditOptions

SETTINGS_CONFIRM_TITLE

Web App Root

Workbook.EditOptions

SETTINGS_CONFIRM_PROMPT

Changing the Web App Root will log you out of your current session and clear all the data from all worksheets in the workbook.Are you sure?

注意:

表E-1に記載されているキーは、次の構文のEL式には使用できません。

#{_ADFDIres['key']}

F ADFデスクトップ統合でサポートされるJavaのデータ型

この付録では、ADFデスクトップ統合プロジェクトでサポートされるJavaのデータ型のリストを提供します。

Javaプリミティブ型

- boolean

- double

- float

- int

- long

- short

Javaオブジェクト型

- java.lang.Boolean

- java.lang.Double

- java.lang.Float

- java.lang.Integer

- java.lang.Long

- java.lang.Short

- java.lang.String

- java.math.BigDecimal

- java.sql.Date

- java.sql.Time

- java.sql.Timestamp

- java.util.Date

- oracle.jbo.domain.Date

- oracle.jbo.domain.Number

- oracle.jbo.domain.RowID

- oracle.jbo.domain.Timestamp

- oracle.jbo.domain.TimestampLTZ

- oracle.jbo.domain.TimestampTZ

注意:

このリストに記載されていないデータ型を使用すると、実行時にエラーが生成されます。

G ADFデスクトップ統合モデルAPIの使用

ツリー・バインディングに使用可能な行がない場合でもADF表データをアップロードできるようにする特定のユースケースがある場合があります。この付録では、使用可能な実際の行がない場合に、アップロード・プロセスでクライアントから送信される属性値にアクセスするために、カスタムJavaコードのADFデスクトップ統合モデルAPIライブラリを使用する方法について説明します。

この付録の内容は次のとおりです。

- G.1項「一時行オブジェクトの概要」

- G.2項「ADFデスクトップ統合モデルAPIの概要」

- G.3項「ADFデスクトップ統合モデルAPIのクラスおよびメソッド」

G.1 一時行オブジェクトの概要

各ADF表コンポーネントは、ページ定義内で定義されているツリー・バインディングにバインドされます。各ツリー・コントロール・バインディングには、1つ以上のノードが定義されています。親子関係の場合、ツリー・バインディングには2つのノードがあり、一方は親表用、もう一方は子表用です。実行時に、ADF表コンポーネントは各ワークシート行に親と子の両方の属性を表示します。アップロード時に、ADFデスクトップ統合は親ノードと子ノードの両方に属性値を設定します。

特定の状況では、Table.Uploadリクエストの処理中に使用できる実際のデータ行が特定のツリー・ノードにないことがあります。ツリー・ノードにデータがない場合について、一般的な2つのシナリオを次に示します。

- ツリー・ノードのイテレータ結果セットに、使用できるデータ行がありません。この原因は、ゼロ行を戻す問合せの可能性があります。

- 親子関係で外部キーが親表に移入されていない場合は、親と子のツリー・ノード間のリンクに実際の行が含まれていない可能性があります。

状況によっては、サーバー上に使用可能な実際の行がない場合でも、エンド・ユーザーがワークシートに値を入力してサーバーにアップロードできるようにすることがあります。アップロード時に、ADFデスクトップ統合は一時行オブジェクトを作成し、ワークシート行からアップロードされた値を格納します。ADFデスクトップ統合モデルAPIを使用すると、カスタムのJavaコードを記述して一時行オブジェクトにアクセスし、その値を収集できます。

アップロード時にカスタムのJavaコードをコールするには、pageDefアクション・バインディングを介してカスタムのJavaコードを公開し、ADF表コンポーネントのUpdateRowActionIDまたはInsertAfterRowActionIDを構成してpageDefアクション・バインディングを指すようにする必要があります。

G.2 ADFデスクトップ統合モデルAPIの概要

データをアップロードする際にADF表コンポーネントのツリー・ノードに実際の行がない場合、ADFデスクトップ統合のリモート・サーブレットにより、属性値を格納する一時行オブジェクトが作成されます。一時行オブジェクトおよびその属性値にアクセスするには、ADFデスクトップ統合モデルAPIライブラリを使用するカスタムのJavaコードを記述する必要があります。

注意:

EJBまたはTopLinkのデータ・コントロールでは、ADFデスクトップ統合モデルAPIはサポートされていません。

APIで使用できるクラスおよびメソッドの詳細は、G.3項「ADFデスクトップ統合モデルAPIのクラスおよびメソッド」を参照してください。

G.2.1 JDeveloperプロジェクトへのADFデスクトップ統合モデルAPIライブラリの追加方法

通常、ADFデスクトップ統合モデルAPIライブラリはアプリケーションのデータ・モデル・プロジェクトに追加します。このライブラリは独立ライブラリで、いずれの機能にも含まれません。これは「プロジェクト・プロパティ」ダイアログ・ボックスを介して追加できます。

ADFデスクトップ統合モデルAPIライブラリをプロジェクトに追加するには:

1. 「アプリケーション」ウィンドウでデータ・モデル・プロジェクトを右クリックして、「プロジェクト・プロパティ」を選択します。

2. 「プロジェクト・プロパティ」ダイアログで、「ライブラリとクラスパス」を選択して、使用可能なライブラリのリストを表示します。

3. 「ライブラリの追加」をクリックし、「ライブラリの追加」ダイアログで「ADFデスクトップ統合モデルAPI」ライブラリを選択します。

図G-1 「ライブラリの追加」ダイアログ

4. 「OK」をクリックします。ライブラリ名が「クラスパス・エントリ」リストに追加されます。

5. 「OK」をクリックして「プロジェクト・プロパティ」ダイアログ・ボックスを閉じます。

G.3 ADFデスクトップ統合モデルAPIのクラスおよびメソッド

ADFデスクトップ統合モデルAPIライブラリには1つのpublicクラスがあり、一時行オブジェクトを取得するためのAPIが含まれています。

G.3.1 oracle.adf.desktopintegration.model.ModelHelperクラス

ModelHelperクラスはpublicクラスであり、モデルAPIを公開します。次の各項で、このクラスで使用できるメソッドについて説明します。

G.3.1.1 getAdfdiTempChildRowメソッド

このメソッドは、特定のマスター行に関連付けられている一時子行オブジェクト(ViewRowImplオブジェクト)を参照するために使用します。使用可能な実際のViewRowImplオブジェクトがない場合には、必要に応じてサーブレット・コードによって一時オブジェクトViewRowImplが作成され、属性値が格納されます。

このメソッドは、ワークシートから送られる、属性値を含む一時子オブジェクトViewRowImplを戻します。

メソッド構文

public static final ViewRowImpl getAdfdiTempChildRow(ViewRowImpl masterRow, java.lang.String childAccessor)

パラメータ

- masterRow – マスター行オブジェクト

- childAccessor – 子属性名

G.3.1.2 getAdfdiTempRowForViewメソッド

このメソッドは、特定のビューに関連付けられている一時子行オブジェクト(ViewRowImplオブジェクト)を参照するために使用します。使用可能な実際のViewRowImplオブジェクトがない場合には、必要に応じてサーブレット・コードによって一時オブジェクトViewRowImplが作成され、属性値が格納されます。

このメソッドは、ワークシートから送られる、属性値を含む一時子オブジェクトViewRowImplを戻します。

メソッド構文

public static final ViewRowImpl getAdfdiTempRowForView(ApplicationModuleImpl am,java.lang.String viewDefName)

パラメータ

- am – アプリケーション・モジュール・インスタンス

- viewDefName – ビュー定義名

G.3.1.3 getChildViewDefメソッド

このメソッドは、ビュー・リンクの宛先属性によって1つ以上の子識別子属性が指定される場合に、多相子ビュー定義を参照するために使用します。マスター行のソース属性は、ViewObjectImpl.findViewDefFromDiscrValues APIを介して正しい多相子ビュー定義を参照します。子識別子属性が定義されていない場合、または子ビューが多相でない場合は、デフォルトの子オブジェクトViewDefImplが戻されます。

このメソッドは、ワークシートから送られる、属性値を含む一時子オブジェクトViewRowImplを戻しますが、オブジェクトが見つからない場合はNULLを戻します。

メソッド構文

public static final ViewDefImpl getChildViewDef(ViewRowImpl masterRow,java.lang.String childAccessor)

パラメータ

- masterRow – マスター行オブジェクト

- childAccessor – 子属性名

H エンド・ユーザーのアクション

この付録では、アプリケーションおよび統合Excelワークブックの使用時にエンド・ユーザーが実行するアクションについて説明します。たとえば、ADFデスクトップ統合のランタイム・エディションのインストール、統合Excel以外のワークブックからのデータのインポート、実行時のワークブックの変更、ワークブックでの日付/時刻の値のタイムゾーン変換の処理について説明します。

この付録で説明するアクションは、開発したFusion WebアプリケーションがMaster Price Listモジュールのように機能することを前提としています。

この付録の内容は次のとおりです。

- H.1項「ADFデスクトップ統合のランタイム・エディションのインストール、アップグレードおよび削除」

- H.2項「統合されていないExcelワークシートからのデータのインポート」

- H.3項「個人情報の削除」

- H.4項「実行時の統合Excelワークブックの編集」

- H.5項「実行時の統合Excelワークブックの制限」

- H.6項「統合Excelワークブックの使用」

- H.7項「タイムゾーン変換の処理」

H.1 ADFデスクトップ統合のランタイム・エディションのインストール、アップグレードおよび削除

エンド・ユーザーはADFデスクトップ統合のランタイム・エディションを、クライアント・インストーラを使用してインストールできます。

ADFデスクトップ統合のクライアント・インストーラを実行すると、必要なソフトウェアがシステムにインストールされているかどうかが検証されます。必要なソフトウェアの詳細は、次の項を参照してください。

- 3.2項「必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア」

- 3.3項「ADFデスクトップ統合と協働するExcelの構成」

注意:

- ADFデスクトップ統合のランタイム・エディションは、JDeveloperからインストールできません。

- ADFデスクトップ統合のランタイム・エディションのインストールには、JDeveloperは必要ありません。

H.1.1 ADFデスクトップ統合のランタイム・エディションのインストール方法

ランタイム・エディションをインストールするには、クライアント・インストーラがエンド・ユーザーのローカル・システムで使用可能になっている必要があります。システム管理者に、エンド・ユーザーがクライアント・インストーラ・ファイルを使用できるように依頼します。

ADFデスクトップ統合のランタイム・エディションをインストールするには:

1. MW_HOME\oracle_common\modules\oracle.adf.desktopintegration_12.1.2ディレクトリ(MW_HOMEはミドルウェア・ホーム・ディレクトリ)にナビゲートします。

2. adfdi-excel-runtime-client-installer.zipの内容をエンド・ユーザーのローカル・ファイル・システムの一時ディレクトリ(D:\Oracle\ADFDI_Clientなど)に抽出します。
一時ディレクトリの完全修飾パスは248文字よりも少なくする必要があります。

3. adfdi-excel-runtime-client-installer.zipファイルの抽出先ディレクトリにあるsetup.exeファイルを実行します。
図H-1に、setup.exeファイルのローカル・システム上の場所およびランタイム・エディションのインストールの例を示します。

図H-1 ADFデスクトップ統合のランタイム・エディションのインストール

4. setup.exeで起動したダイアログ・ボックスに表示される手順に従い、必要なコンポーネントを正しくインストールします。

5. プロンプトが表示された場合は「はい」をクリックしてシステムを再起動し、ADFデスクトップ統合の設定を完了します。

警告:

ADFデスクトップ統合のランタイム・エディションのインストール後、クライアント・インストーラ・ファイルをコピーしたディレクトリを削除しないでください。ADFデスクトップ統合のランタイム・エディションをシステムから削除した後は、それらのファイルを削除できます。

H.1.2 ADFデスクトップ統合のランタイム・エディションの削除方法

Microsoft Windowsの「コントロール パネル」を使用して、ADFデスクトップ統合のランタイム・エディションをシステムから削除します。

ADFデスクトップ統合のアドインを削除するには:

1. Windowsの「スタート」ボタンをクリックして、「コントロール パネル」を選択します。

2. 「コントロール パネル」で、「プログラムと機能」を選択して開きます。

3. 「プログラムのアンインストールまたは変更」ウィンドウでOracle ADFデスクトップ統合のExcel用ランタイム・アドインのエントリを選択して「アンインストール」をクリックします。

H.1.3 ローカル・システムのADFデスクトップ統合のランタイム・エディションのアップグレード方法

ADFデスクトップ統合のランタイム・エディションをアップグレードするには、古いクライアント・バージョンをアンインストールし、新しいバージョンをインストールします。ランタイム・エディションのアンインストールの詳細は、H.1.2項「ADFデスクトップ統合のランタイム・エディションの削除方法」を、ランタイム・エディションのインストールの詳細は、H.1.1項「ADFデスクトップ統合のランタイム・エディションのインストール方法」を参照してください。

共有ファイル・サーバーまたはWebサーバーからADFデスクトップ統合のランタイム・エディションがインストールされる場合、デフォルトでは、サーバーの起動時または更新の最終チェックから24時間経過したときに、ExcelはサーバーをチェックしADFデスクトップ統合の更新の有無を確認します。24時間経過するのを待たずに更新を手動で確認する場合は、Microsoft Windowsの「コントロール パネル」から確認できます。

ADFデスクトップ統合のランタイム・エディションを手動でアップグレードするには:

1. Windowsの「スタート」ボタンをクリックして、「コントロール パネル」を選択します。

2. 「コントロール パネル」で、「プログラムと機能」を選択して開きます。

3. 「プログラムのアンインストールまたは変更」ウィンドウでOracle ADFデスクトップ統合のExcel用ランタイム・アドインのエントリを選択します。

4. 選択されたエントリで、「更新情報」リンクをクリックします。

注意:

ADFデスクトップ統合のランタイム・エディションがWebサーバーからインストールされる場合は、Internet Explorerの「更新情報」リンクを開いてインストーラを実行します。他のブラウザはサポートされていません。

5. ダイアログ・ボックスに表示される手順に従って、ADFデスクトップ統合のアップグレードを完了します。

H.2 統合されていないExcelワークシートからのデータのインポート

統合ExcelワークブックのADF表コンポーネントを使用して、Fusion Webアプリケーションにデータ行の大規模なバッチをアップロードする場合、エンド・ユーザーは、統合されていないExcelワークシートでこれらのデータ行を準備できます。その後、ADF表コンポーネントのUploadアクションを起動する前に、ADF表コンポーネントにデータを挿入できます。

統合されていないExcelワークブックでデータを準備するには:

1. 統合されていないExcelワークシートで、統合ExcelワークブックのADF表コンポーネントのレイアウトと一致するように、データのレイアウトを配置します。

たとえば、ADF表コンポーネントにProduct、PriceおよびDescriptionなどの列が含まれている場合、統合されていないExcelワークシートでこのレイアウトを複製します。

ヒント:

ADF表コンポーネントの列ヘッダーを、統合されていないExcelワークシートにコピーします。

2. Excelの機能を使用して、手順1で配置した、統合されていないExcelワークシートの列の下に、データ行をインポートします。

3. TreeNodeListサブコンポーネントを使用するADF表コンポーネントの列に挿入される行の値は、値リストに含まれる選択肢の1つと一致する必要があります。

ヒント:

このような行に対して適切な制約が定義され、複製が可能になるように、ADF表コンポーネントの行を統合Excelワークブックから同じワークブックの別のワークシートへコピーします。

統合されていないExcelワークブックからADF表コンポーネントへデータを挿入するには:

1. ADF表コンポーネントで、n行のダウンロードされた既存の行またはADF表コンポーネントの最後にある新しい行を選択します(nは挿入する行数)。

2. 右クリックして、コンテキスト・メニューから「挿入」を選択します。

3. 統合されていないExcelワークシートで、手順2で作成したADF表コンポーネントの行に挿入するセルを選択します。

警告:

統合されていないExcelワークシートで、行や列ではなく、セルを選択してください。

4. Excelリボンで「ホーム」→「コピー」を選択します。

5. ADF表コンポーネントで、手順2で挿入した行の左上隅のセルを選択します。

6. Excelリボンで「ホーム」→「貼り付け」を選択します。

7. 7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」に従って構成した専用の機能を使用して、ADF表コンポーネントのUploadアクションを起動できます。

H.3 個人情報の削除

Excelワークブックと統合するFusion Webアプリケーションで、シングル・サインオンなどのセキュリティ・メカニズムを使用する場合、 エンド・ユーザーが統合ExcelワークブックにアクセスするシステムのCookieに、個人識別情報を格納できます。エンド・ユーザーは、Microsoft Internet Explorerを使用してこの情報を削除できます。エンド・ユーザーは、アクティブなCookieベースのWebセッションをすべて無効にするために、ログアウトしてすべての統合Excelワークブックを閉じる必要があります。

個人情報の削除の詳細は、Microsoft Internet Explorerのドキュメントを参照してください。

H.4 実行時の統合Excelワークブックの編集

開発者が第14章「統合Excelワークブックのデプロイ」に従って最終の統合Excelワークブックを公開およびデプロイした後、エンド・ユーザーは実行時にワークブックに対して次の変更を行えます。

- ADF表コンポーネントまたはADF読取り専用表コンポーネントからの列の削除

- ADFボタン・コンポーネント以外のADFコンポーネントを移動するためのセルのドラッグ・アンド・ドロップ

- ADF表コンポーネントへの新しい行の挿入

- ADF表コンポーネントまたはADF読取り専用表コンポーネントの列の順序変更

- ADF表コンポーネントまたはADF読取り専用表コンポーネントの列間への統合されていない列の挿入

ただし、実行時のワークブックへの変更には、統合の破損を引き起こす、サポート対象外のものもあります。実行時に許可されない変更の詳細は、H.5項「実行時の統合Excelワークブックの制限」を参照してください。

H.5 実行時の統合Excelワークブックの制限

ADFデスクトップ統合コンポーネントの実行時の変更には、既知の制限があります。

- ADF表コンポーネントおよびADF読取り専用表コンポーネントの列の移動 – エンド・ユーザーが、(たとえばExcelのネイティブの切取り-挿入操作を使用して)列を最後の表の列の右に移動すると、列は表境界の外側にあると見なされます。ADFデスクトップ統合は、後続の表操作時に、列を表コンポーネントの一部として認識しなくなります。
かわりに、実行時に表コンポーネントの最後の列を変更するために、エンド・ユーザーは次のいずれかのアクションを実行できます。

- 目的の最後の列の右にあるすべて列を、目的の最後の列の左に移動します。

- 最初に、目的の最後の列を現在の最後の列のすぐ左に移動し、次に現在の最後の列を目的の最後の列の左に移動します。

表の最も左の列になるように、同様のアクションを実行して列を移動する必要があります。

- 統合Excelワークシートの削除 – エンド・ユーザーが統合Excelワークシートを削除した場合、エンド・ユーザーが統合Excelワークブックを保存しようとすると、ADFデスクトップ統合によって例外が生成されます。
この問題を解決するには、変更を保存せずにワークブックを閉じて開きなおす必要があります。

その他の既知の制限:

- Excelの「条件付き書式」機能は、ADFデスクトップ統合の表コンポーネントでは効果的に使用できません。

- エンド・ユーザーが統合Excelワークシートで拡大または縮小を行うと、ADFボタン・コンポーネントは無効になります。ADFボタン・コンポーネントがアクティブになるのは、ズームが100%の場合のみです。

- ネイティブのExcel動作が原因で、「値」列の依存リストを実行時にソートしても、セル・リスト検証は適切にソートされません。

H.6 統合Excelワークブックの使用

ADFデスクトップ統合テクノロジおよび統合Excelワークブックを初めて使用するエンド・ユーザーは、次に示す一般的なアクションについて理解しておく必要があります。

- 変更済データのアップロード後にすべての行をダウンロードするには、「アップロード・オプション」ダイアログ・ボックスの「正常にアップロードした後はすべての行をダウンロードします」チェック・ボックスが選択されていることを確認します。

- 変更をアップロードする前に、変更されたすべての行の「変更済」列に、上向き三角形のマークが付いていることを確認してください。上向き三角形をダブルクリックすると、このマークが削除され、関連する行のデータはアップロードされません。

- テキスト・スタイルで書式設定されているセルの数値または日付値の書式が、データのアップロード時にExcelで保持されるようにするには、値を入力する前にアポストロフィ記号(')を追加します。アポストロフィ記号はエスケープ文字として機能するため、値と一緒に表示されません。

- 表のキー列のいずれのセルも、削除、編集またはクリアしないでください。これらの値を変更すると、アップロードの失敗およびデータの破損につながる可能性があります。

- Excelの「シートの保護」または「ブックの保護」の設定を変更しないでください。これらの設定は、「校閲」タブの「変更」グループに含まれています。

- Webアプリケーションと統合されているセルから値を消去するには、Excelのセルを削除するのではなく、セルの値をクリアします。

- Fusion Webアプリケーションがhttpsプロトコル上で実行されていて、クライアントにセキュリティ証明書をインストールしていない場合、統合Excelワークブックではログイン時にエラーが発生し、接続は確立されません。接続を確立するには、セキュリティ証明書をインストールする必要があります。Excelから証明書をインストールできない場合は、Internet Explorerを開いて同じWebサイトにナビゲートします。証明書のインストールを求めるプロンプトが表示されます。

- 一部のADFコンポーネントに含まれるセルが、ダブルクリックに反応してアクションを実行するように構成されていることがあります。ADF表コンポーネントの「ステータス」列のセルは、その一例です。これらのセルを右クリックして、「処理の起動」を選択することもできます。

行の挿入または削除、ADF表のデータのソートなどの一般的なアクションについては、後続の項で説明します。

H.6.1 統合ExcelワークブックのADF表コンポーネントに行を挿入する方法

ADF表コンポーネントに行を挿入する際には、ワークシートの行全体を挿入し、すべての必須列にデータを追加します。詳細は、7.7項「データを挿入するためのADF表コンポーネントの構成」を参照してください。

1つ以上の行があるADF表の場合、表の最後の行の後にはプレースホルダ行がありません。そのため、表の最終行の後のワークブック・セルに挿入されたデータは、アップロードされません。最終行の後の行のデータをアップロードするには、Excelの行全体を挿入する必要があります。

ADF表コンポーネントに行を挿入するには:

1. ADF表コンポーネントで行ヘッダーをクリックし、新しい行の挿入位置の下の行全体を選択します。

2. 行を選択した状態で右クリックし、「挿入」を選択します。
選択した行の上に、新しい行が挿入されます。

注意:

- 表ヘッダーから表の最後の行まで、Excelの行全体を挿入します。表の最後の行の後に新しい行を挿入しないでください。

- ADF表にデータ行がない場合は、表の最初の行がプレースホルダ行として機能します。

H.6.2 統合ExcelワークブックのADF表のデータをソートする方法

表のデータをソートするには、Excelの「並べ替えとフィルタ」コマンドを選択します。

特定の列を基準にADF表のデータをソートするには:

1. ソートする列のヘッダーまたは任意のセルを選択します。

2. 「ホーム」タブの「編集」グループで、「並べ替えとフィルタ」をクリックします。ドロップダウン・リスト・オプションから、目的のソート順序を選択します。

複数の列を基準に表のデータをソートするには:

1. 表の任意のセルを選択します。

2. 「ホーム」タブの「編集」グループで、「並べ替えとフィルタ」をクリックして「ユーザー設定の並べ替え」選択します。

3. 「並べ替え」ダイアログで列を追加し、その優先順序を設定します。「先頭行をデータの見出しとして使用する」チェック・ボックスが選択されていることを確認してください。

4. 「OK」をクリックします。

H.6.3 統合ExcelワークブックのADF表の行を削除する方法

行のセルの値をクリアしても行は削除されず、Excelワークシートから行を削除しても、その行はWebアプリケーションから削除されません。

ADF表コンポーネントの行を削除するには、「フラグ付き」列の各セルをダブルクリックして行にフラグを付け、それぞれの削除ボタンをクリックします。行のフラグ付けの詳細は、7.11.2項「ADF表コンポーネントでの行のフラグ付け」を参照してください。

注意:

表に「フラグ付き」列が含まれていない場合、その表から列を削除することはできません。

H.7 タイムゾーン変換の処理

統合Excelワークブックを構成して、日時を表すデータ値の取得、編集および送信を実行できます。システム・タイムゾーンの変更時に日時データを管理するための固有のサポートがExcelには用意されていないため、ADFデスクトップ統合は、ワークブックのタイムゾーンの変更を追跡し、検出します。ワークブックを開いたときにエンド・ユーザーにタイムゾーンの更新を通知し、その後、ワークブックの日時データをシステムの現在のタイムゾーン設定に変換します。

たとえば、アリゾナ(GMT -07:00)にいるエンド・ユーザーがサーバーから統合Excelワークブックへデータをダウンロードし、ワークブックの日時データを編集して保存したものの、アップロードしなかったとします。その後、ソウルに旅行してコンピュータのタイムゾーンの選択をGMT +09:00に変更したとします。このソウルのタイムゾーンに変更した後、エンド・ユーザーがワークブックを開き、メッセージを受信すると、ADFコンポーネントのすべての日時データの値がGMT -07:00(アリゾナ)からGMT +09:00(ソウル)に変換されます。

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2014, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。