Oracle® Fusion Middleware

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

12c (12.2.1.1)

E77396-01(原本部品番号:E67043-01)

2016年6月

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

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

E77396-01

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

原本著者: Walter Egan

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

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

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

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の登録商標です。

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

目次

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

はじめに

- 対象読者

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

- 関連ドキュメント

- 表記規則

このガイドでの12c (12.2.1.1)の新機能

- 12c (12.2.1.1)の新機能と変更された機能

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

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.2.1 アプリケーション・リソースのダウンロード方法

- 2.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デスクトップ統合のインストール

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- 4.4 ExcelワークブックでのADFデスクトップ統合の有効化

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

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

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

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

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

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

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

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ボタン・コンポーネントの挿入

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

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

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

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

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

- 6.9.2 フォーム・コンポーネントおよびマージされたセルの使用

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表コンポーネントへのデータのダウンロード

- 7.4.1 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表コンポーネントからの変更のアップロード

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

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

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

- 7.8.4 実行時の処理: アップロード中の行エラーの処理

- 7.8.5 アップロード・オプションに関する必知事項

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

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

- 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 データのアップロード中のエラーのトラブルシューティング

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

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

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

- 7.13.1 キー列の構成方法

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

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

- 7.14.1 動的な列の構成方法

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

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

- 7.14.4 動的な列のスタイルの指定方法

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

- 7.16 実行時にデータに基づいて列をサイズ変更するためのADF表コンポーネントの構成

- 7.16.1 実行時に列をサイズ変更するようにADF表コンポーネントを構成する方法

- 7.16.2 実行時にADF表コンポーネントの列をサイズ変更するようにアクション・セットを構成する方法

- 7.16.3 実行時の処理: ADF表の列のサイズ変更方法

- 7.16.4 実行時のADF表コンポーネントの列のサイズ変更に関する必知事項

- 7.17 ADF表コンポーネントでの列のグループ化

- 7.17.1 ADF表コンポーネントで列をグループ化する方法

- 7.17.2 動的な列でレンダリングする列をグループ化する方法

- 7.17.3 実行時の処理: ADF表コンポーネントによる列のグループ化

- 7.18 読取り専用にするためのADF表コンポーネントの構成

- 7.18.1 読取り専用になるようにADF表コンポーネントを構成する方法

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

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

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

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

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

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

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

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

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

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

8 値リストの使用

- 8.1 統合Excelワークブックの値リストについて

- 8.1.1 統合Excelワークブックへの値リストの追加のユースケースおよび例

- 8.1.2 統合Excelワークブックに値リストを追加するための追加の機能

- 8.2 Excelワークシートでの値リストの作成

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

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

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

- 8.4 ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加

- 8.4.1 ADF表コンポーネントのモデルドリブン・リスト・ピッカーに関する必知事項

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

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

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

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

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

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

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

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

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

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

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

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

- 9.2.3 コンポーネント・アクションを起動するアクション・セットに関する必知事項

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

- 9.2.5 アクション・セットの実行中に進捗バーを表示する方法

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

- 9.2.7 進捗バーに関する必知事項

- 9.2.8 エンド・ユーザーがアクション・セットを実行しながらExcelの作業を続行できるようにする方法

- 9.2.9 実行時の処理: エンド・ユーザーがアクション・セットを実行しながら作業を続行する方法

- 9.2.10 アクションの取消しに関する必知事項

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

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

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

- 9.2.14 ユーザーにアクション・セットの確認を求める方法

- 9.2.15 実行時の処理: ユーザーにアクション・セットの確認を求める方法

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

- 9.3.1 実行時リボン・タブのワークブック・リボン・コマンドの定義方法

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

- 9.3.3 実行時の処理: リボン・タブのリボン・コマンド

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

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

- 9.4.2 ポップアップ・ダイアログでのWebページ検索フォームの表示方法

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

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

- 9.4.4.1 統合ExcelワークシートとFusion Webアプリケーション・ページ間のデータの送信

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

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

- 9.5 表の列での行レベルのアクション・セットの使用

- 9.5.1 行レベルのアクション・セット・モデル管理を有効化する方法

- 9.5.2 実行時の処理: RowActionSetModelMgmtEnabledがtrueに設定される

- 9.5.3 RowUpSyncNoFailを使用してADF表コンポーネントからの変更を同期化する方法

- 9.5.4 実行時の処理: RowUpSyncNoFailアクションの起動

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

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

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

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

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

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

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

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

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

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

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

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

- 10.2 スタイルの使用

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

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

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

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

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

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

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

- 10.3.3 スタイルを適用するEL式に関する必知事項

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

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

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

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

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

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

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

- 10.6 ADFデスクトップ統合コンポーネントでのツールチップの表示

- 10.6.1 ADF表コンポーネントへのツールチップの追加方法

- 10.6.2 フォーム・タイプ・コンポーネントへのツールチップの追加方法

- 10.6.2.1 フォーム・タイプ・コンポーネントのツールチップに関する必知事項

- 10.6.3 表の列のツールチップに関する必知事項

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

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

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

- 10.7.3 ワークシートの保護に関する必知事項

- 10.8 ADFデスクトップ統合ELベースのプロパティとカスタム属性プロパティの使用

- 10.8.1 統合Excelワークブックでカスタム属性プロパティを有効化する方法

- 10.8.2 実行時の処理: CustomAttributePropertiesEnabledがtrueに設定される

- 10.8.3 CustomAttributePropertiesEnabledプロパティに関する必知事項

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

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

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

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

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

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

- 11.2.2 構成不可能なリソースのオーバーライド方法

- 11.2.3 実行時の処理: 構成不可能なリソースのオーバーライド

- 11.2.4 リソース・バンドルに関する必知事項

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

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

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

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

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

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

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

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

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

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

- 12.2.2 実行時の処理: Webアプリケーション・セッションの終了

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

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

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

- 12.4 統合Excelワークブックの保護に関する必知事項

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

- 12.5.1 ADFデスクトップ統合が無効になったワークシートに関する必知事項

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

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

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

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

- 13.2 ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート

- 13.2.1 ステータス・ビューアの自動表示を管理する方法

- 13.3 統合Excelワークブックのデータ入力の検証の追加

- 13.3.1 ADFデスクトップ統合を使用したデータ入力の検証の追加

- 13.3.1.1 ADFデスクトップ統合のデータ入力の検証を有効化または無効化する方法

- 13.3.2 Excelを使用したデータ検証の追加

- 13.3.3 Fusion WebアプリケーションにExcelのセルのエラーをアップロードする方法

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

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

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

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

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

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

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

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

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

- 14.1.2 統合Excelワークブックをテストするための追加の機能

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- 15.4.2 実行時の処理: 公開されたワークブックのエンド・ユーザーによるリクエスト

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

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

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

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

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

- 15.6 実行時のワークブック統合メタデータのカスタマイズ

- 15.6.1 実行時のワークブックのカスタマイズを有効にする方法

- 15.6.2 実行時の処理: ワークブック統合メタデータがカスタマイズされた場合

- 15.6.3 ワークブック統合メタデータのカスタマイズに関する必知事項

- 15.7 Fusion WebアプリケーションへのADFワークブック・コンポーザの統合

- 15.7.1 Fusion WebアプリケーションにADFワークブック・コンポーザを統合する方法

- 15.7.2 実行時の処理: ADFワークブック・コンポーザの起動

- 15.7.3 ADFワークブック・コンポーザに関する必知事項

16 複数のWebセッション間における統合Excelワークブックの使用

- 16.1 複数のWebセッション間における統合Excelワークブックの使用について

- 16.1.1 複数のWebセッション間における統合Excelワークブックの使用のユースケースおよび例

- 16.1.2 複数のWebセッション間で統合Excelワークブックを使用するための追加機能

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

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

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

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

- 16.4 複数のWebセッション間で使用するための値リストのキャッシング

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

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

- 16.5.2 明示的なワークシート設定アクションに関する必知事項

17 ADFデスクトップ統合の管理

- 17.1 ADFデスクトップ統合のインストールおよびアップグレード

- 17.1.1 ADFデスクトップ統合アドインのインストールの前提条件

- 17.1.2 Microsoft ExcelでADFボタン・コンポーネントを使用する統合Excelワークブックを構成する

- 17.1.3 WebサーバーからADFデスクトップ統合アドインをインストールする方法

- 17.1.4 ADFデスクトップ統合アドインのアップグレード方法

- 17.1.5 コマンド・ラインからADFデスクトップ統合インストーラを実行する方法

- 17.1.6 エンド・ユーザーに対するシステム・チェックの表示を管理する方法

- 17.2 クライアント・ヘルス・チェック・ツールの実行

- 17.3 Fusion Webアプリケーションへの接続の問題のトラブルシューティング

- 17.4 ADFデスクトップ統合のログ

- 17.5 ADFデスクトップ統合でのセキュリティ

- 17.5.1 エンド・ユーザー認証

- 17.5.2 Fusion Webアプリケーションでのセキュリティ構成に関する必知事項

- 17.5.3 Webページのリソース権限に関する必知事項

- 17.6 ADFデスクトップ統合のクライアント・バージョンの確認

- 17.6.1 「クライアントサーバー・バージョン確認」ダイアログの「インストール」オプションを無効にする方法

- 17.7 統合Excelワークブックのメタデータの確認

- 17.7.1 Fusion Webアプリケーションでのメタデータ改ざんチェックを無効にする方法

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

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

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

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

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

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

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

- A.6 ADFイメージ・コンポーネントのプロパティ

- A.7 ADF入力日コンポーネントのプロパティ

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

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

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

- A.11 ADF表コンポーネントのプロパティおよびアクション

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

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

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

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

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

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

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

- A.14 ワークブックのアクションおよびプロパティ

- A.15 ワークシートのアクションおよびプロパティ

- A.16 ADFデスクトップ統合互換性のプロパティ

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

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

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

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

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

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

- C.2 ADFデスクトップ統合診断レポートの生成

- C.2.1 ADFデスクトップ統合診断レポートの生成方法

- C.2.2 ADFデスクトップ統合診断レポートに関する必知事項

- C.3 Fusion Webアプリケーションへの接続の問題のトラブルシューティング

- C.4 統合Excelワークブックのエンド・ユーザー認証の確認

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

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

- C.5.2 Oracle Diagnostics Log Analyzerを使用したADFデスクトップ統合サーブレット・リクエストの分析

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

- C.5.3.1 常時有効なロギングに関する必知事項

- C.5.3.2 1つのユーザー・セッションに対する一時的な詳細ロギングの有効化

- C.5.3.3 「Oracle ADF」タブのロギングの構成方法

- C.5.3.4 ADFデスクトップ統合の構成ファイルについて

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

- C.5.3.6 常時有効なロギングに関する必知事項

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

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

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

- D.3 ADFデスクトップ統合のためのADFライブラリ・フィルタの構成

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

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

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

- F.1 Javaプリミティブ型

- F.2 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 個人情報の削除

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

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

- H.4.1 ADF表コンポーネントでの行の挿入または貼付け方法

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

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

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

- H.6 テクニカル・サポートへの診断とロギングの情報の提供

はじめに

『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 Application Development FrameworkによるFusion Webアプリケーションの開発

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

表記規則

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

表記規則

意味

太字

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

イタリック

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

固定幅フォント

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

このガイドでの12c (12.2.1.1)の新機能

次の各トピックでは、ADFデスクトップ統合の新機能と変更機能およびこのガイドで説明する主な変更について紹介し、追加情報へのリンクを示します。

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

12c (12.2.1.1)の新機能と変更された機能

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

- このリリースでは、ADFボタン・コンポーネントは非推奨です。統合ExcelワークブックのADFボタン・コンポーネントをリボン・コマンドに置き換えることをお薦めしますが、必須ではありません。詳細は、「実行時リボン・タブの構成」を参照してください。

- 新しいプロパティのFailureMessageでは、アクション・セットが失敗した場合に、エンド・ユーザーに表示するメッセージを指定できます。詳細は、「アクション・セットのエラー処理の構成方法」を参照してください。

- 新しいプロパティ(ActionOptions.NonBlocking)をTrueに設定すると、アクション・セットの実行中にユーザーが他のExcelの機能を利用できます。100,000行のTable.Downloadアクションなど、完了に時間がかかるアクション・セットで、このプロパティをTrueに設定します。詳細は、「エンド・ユーザーがアクション・セットを実行しながらExcelの作業を続行できるようにする方法」を参照してください。

- ADFデスクトップ統合で、接続の失敗が発生したときや取り消されたときに、エンド・ユーザーが診断情報のある接続レポートを保存できるようになりました。詳細は、「ADFデスクトップ統合診断レポートの生成」および「Fusion Webアプリケーションへの接続の問題のトラブルシューティング」を参照してください。

- ADFデスクトップ統合で、デフォルトでクライアント・サイドのロギング(Informationレベル)が有効になりました。詳細は、「クライアント・サイド・ロギングの概要」を参照してください。

- このリリースでは、診断レポートを生成し、選択したディレクトリのXMLファイルへの詳細ロギングを有効にできる新しいメニュー・オプションが導入され、エンド・ユーザーが容易にアクセスできるようになりました。詳細は、次を参照してください。

- ADFデスクトップ統合診断レポートの生成方法

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

- テクニカル・サポートへの診断とロギングの情報の提供

- エンド・ユーザーは、期間(来週、来月など)を選択して、ADFデスクトップ統合のクライアントのバージョンがサーバーのバージョンと一致するようアップグレードを求めるプロンプトを次に受信するタイミングを決定できるようになりました。詳細は、「ローカル・システムのADFデスクトップ統合のアップグレード方法」および「ADFデスクトップ統合のクライアント・バージョンの確認」を参照してください。

- コマンド・ラインからADFデスクトップ統合インストーラを使用して、ADFデスクトップ統合アドインをローミング・アプリケーション・データ・フォルダ(%appdata%)にインストールできるようになりました。詳細は、「コマンド・ラインからADFデスクトップ統合インストーラを実行する方法」を参照してください。

- このリリースには、統合Excelワークブックを使用するよう環境が構成されているか確認する、クライアント・ヘルス・チェック・ツールが含まれています。詳細は、「クライアント・ヘルス・チェック・ツールの実行」を参照してください。

- エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードしようとしたときに表示される、システム・チェックの表示を制御する方法を説明する項が追加されました。詳細は、「エンド・ユーザーに対するシステム・チェックの表示を管理する方法」を参照してください。

- ADFデスクトップ統合は統合ExcelワークブックがFusion Webアプリケーションに送信するExcelセルのエラー値を拒否します。その結果、そのような値は正常にアップロードされません。この動作の構成方法を含む詳細は、「統合Excelワークブックのデータ入力の検証の追加」を参照してください。

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

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

- このガイドに、以前は『Oracle ADFアプリケーションの管理』で公開されていた「ADFデスクトップ統合の管理」の章が含まれるようになりました。

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

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

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

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

- 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 Application Development FrameworkによるFusion Webアプリケーションの開発』のOracle ADFアーキテクチャに関する項を参照してください。

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

- ADFデスクトップ統合

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

- ADFモデル・レイヤー

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

ADFデスクトップ統合の詳細は、次の場所にある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との統合をサポートしています。

注意:

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

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

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

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

使用

目的

JDeveloper

- Fusion Webアプリケーションを作成します。
Fusion Webアプリケーションの作成に関する詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』を参照してください。

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

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

Excel

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

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

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

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

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

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

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

- Fusion WebアプリケーションとExcelワークブックの統合が完了すると、エンド・ユーザーが使用できるようにこの統合をデプロイします。
このタスクの詳細は、「統合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ワークブックが含まれています。

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

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

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

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

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

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

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

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

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

ADFデスクトップ統合のSummitサンプル・アプリケーションを実行するには、次の手順を実行する必要があります。

1. 「アプリケーション・リソースのダウンロード方法」の説明に従って、アプリケーション・リソースをダウンロードします。

2. 「ADFデスクトップ統合のSummitサンプル・アプリケーションの実行方法」の説明に従って、Summitサンプル・アプリケーションを実行します。

2.2.1 アプリケーション・リソースのダウンロード方法

Oracle Technology Networkからアプリケーション・リソースをダウンロードします。

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

1. Oracle JDeveloperをダウンロードしてインストールします。詳細は、『Oracle JDeveloperのインストール』を参照してください。

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

注意:

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

3. Summit ADFスキーマをダウンロードしてインストールします。詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のSummit ADFスキーマのインストール方法に関する項を参照してください。

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

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

詳細は、「ADFデスクトップ統合のSummitサンプル・アプリケーションの実行方法」を参照してください。

2.2.2 ADFデスクトップ統合のSummitサンプル・アプリケーションの実行方法

Summitサンプル・アプリケーションを実行するには、zipファイルの内容を抽出し、JDeveloperで.JWSファイルを開きます。

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

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

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

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

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

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

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

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

プロパティ

説明

ユーザー名

c##summit_adf

パスワード

summit_adf

ホスト名

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

例:

localhost

JDBCポート

データベースのポート。

例:

1521

SID

データベースのSID。

例:

ORCLまたはXE

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

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

8. ViewControllerプロジェクトを選択して、JDeveloperのメイン・メニューの「実行」ボタンをクリックします。

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ワークブックが提供されます。エンド・ユーザーは、アプリケーションのMainPage.jsfから、様々なワークブックをナビゲートおよびダウンロードできます。エンド・ユーザーがリンクをクリックしてワークブックをダウンロードすると、ADFデスクトップ統合アドインがエンド・ユーザーのマシンに存在することをJavaアプレットが確認します。アドインが検出されると、ワークブックのダウンロードが自動的に開始されます。ない場合は、ADFデスクトップ統合により、エンド・ユーザーにアドインのインストールを求めるプロンプトが表示されます。Javaがエンド・ユーザーのマシンにインストールされていない場合、またはエンド・ユーザーのセキュリティ設定によって無効になっている場合は、JavaアプレットがADFデスクトップ統合アドインの存在を確認できません。ADFデスクトップ統合は、アドインのインストールが確認できないことをエンド・ユーザーに通知します。ワークブックのダウンロード、およびアドインのインストールのオプションをエンド・ユーザーに提示します。

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

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

メニュー・オプション

説明

顧客サンプルの編集

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

倉庫の在庫サンプルの編集

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

すべての在庫サンプルの編集

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

顧客サンプルの検索

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

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

ADFデスクトップ統合のSummitサンプル・アプリケーションは、CustomerSearch.xlsx、EditAllInventory.xlsx、EditCustomers.xlsx、およびEditWarehouseInventory.xlsx統合Excelワークブックを提供します。

CustomerSearch.xlsxワークブックは、読取り専用として構成されたADF表コンポーネントにデータをダウンロードする前に、検索の実行にカスタムWebページをどのように使用できるかを示します。

EditAllInventory.xlsxワークブックは、非正規化されたマスター/詳細の関係を含む、編集可能な表を作成する方法を示します。これは、日付ピッカーの使用方法、列のグループ化の方法、および既存のデータ・レコードの削除方法も示します。

EditCustomers.xlsxワークブックは、一般的に使用されるADFデスクトップ統合のADF表コンポーネント機能を示します。データをダウンロード、挿入、更新およびコミットできます。これは、選択リストから値を選択する複数の方法も示します。

EditWarehouseInventory.xlsxワークブックは、詳細な表を含むコンポーネントからADFデスクトップ統合を使用する方法を示します。マスター・フォームおよびその詳細表のデータをダウンロードおよび更新できます。このサンプルは、ワークブック・パラメータを使用してワークブックの初期化を制御する方法も示します。

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

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

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

図2-2 「顧客」実行時タブ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- アクション・セットの詳細は、「統合Excelワークブックへの対話性の追加」を参照してください。

- 値リストの詳細は、「値リストの使用」を参照してください。

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

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

3 開発環境の設定

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

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

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

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

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

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

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

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

開発環境を設定するには、「必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア」の説明に従い、正しいバージョンのJDeveloperおよびMicrosoft Officeをインストールしている必要があります。

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

- 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ページでこのリリースの「Certification Information」リンクを参照してください。

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

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

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

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

ADFデスクトップ統合は、他のExcelファイル形式の使用をサポートしていません。サポートされているExcelのバージョンの詳細は、次のOTNページでこのリリースの「Certification Information」リンクを参照してください。

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

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

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

ADFデスクトップ統合のインストーラを実行した後で、クライアント・ヘルス・チェックを実行し、環境が正しく構成されているか確認することを検討してください。詳細は、「クライアント・ヘルス・チェック・ツールの実行」を参照してください。

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

ADFデスクトップ統合のインストーラを実行する際は、次のリストにあるソフトウェアがアドインをインストールするシステム上にインストールされているかどうかが検証されます。ソフトウェアのこれらの部分の1つ以上がインストールされていないと、インストーラは自動的にダウンロードし、指定した順序でインストールします。

1. Windows Installer 3.1

2. Microsoft .NET Framework

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

注意:

- Microsoft .NET Framework 4.5.2が必要な最小バージョンです。ADFデスクトップ統合はMicrosoft .NET Framework 4.6とも互換性があります。

- 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から、または次のディレクトリにあるadfdi-excel-addin-installer.exeインストーラからインストールできます。

MW_HOME\oracle_common\modules\oracle.adf.desktopintegration

ADFデスクトップ統合の設定方法の詳細は、「ADFデスクトップ統合のインストール方法」を参照してください。ADFデスクトップ統合に対応するFusion Webアプリケーションからインストールすることもできます。詳細は、「WebサーバーからADFデスクトップ統合アドインをインストールする方法」を参照してください。

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

3.3.1 ADFデスクトップ統合のインストール方法

ADFデスクトップ統合アドインをJDeveloperからインストールして、統合Excelワークブックを作成およびテストできます。

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

開始する前に:

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

ADFデスクトップ統合をインストールする手順:

1. JDeveloperを開きます。

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

注意:

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

3. ExcelのOracle ADF Desktop Integration 12cアドイン・ウィザードのADFデスクトップ統合インストーラ・ページで、「インストール」をクリックします。

ダイアログ・ボックスに表示される手順に従い、必要なコンポーネントを正しくインストールします。インストール処理中にエラーが発生した場合、説明が記載されたエラー・メッセージが表示され、インストールがロールバックされます。詳細は、ユーザー・プロファイルのtempディレクトリにあるadfdi-installer-log.txtエラー・ログ・ファイルを確認してください。

4. プロンプトが表示された場合は「はい」をクリックしてシステムを再起動し、ADFデスクトップ統合のインストールを完了します。
Microsoft Excelを開き、インストールの実行を許可する追加のプロンプトを受け入れる必要がある場合もあります。

インストールに関して、次の点に留意してください。

- ADFデスクトップ統合は、次のディレクトリにあるadfdi-excel-addin-installer.exeを実行してインストールすることもできます。
MW_HOME/oracle_common/modules/oracle.adf.desktopintegration

インストーラを実行する前に、ADFデスクトップ統合アドインのインストーラでは、デフォルトでデザイナ機能が有効になっていないことに注意してください。統合Excelワークブックを作成および編集するには、アドインのデザイナ機能を有効にする必要があります。

ウィザードのADFデスクトップ統合インストーラ・ページで、開発者オプション.をクリックし、開発者オプション・ページで「有効」を選択して、「インストール」をクリックします。「有効」オプションを選択しないと、図3-1に示す「Oracle ADF」タブはMicrosoft Excelに表示されません。

図3-1 Microsoft Excelの「Oracle ADF」タブ

- ADFデスクトップ統合をJDeveloperからインストールしている場合、デザイナ機能は自動的に有効になります。

- ADFデスクトップ統合をコマンド行からインストールすることもできます。

ADFデスクトップ統合をエンド・ユーザーにインストールする場合は、「ADFデスクトップ統合のインストール、アップグレードおよび削除」を参照してください。

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

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

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

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

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

3. 「Oracle ADF Desktop Integration 12c Add-in for Excel」プログラムを選択して「アンインストール」をクリックします。

注意:

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

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

新しいバージョンを実行するには、新しいバージョンからADFデスクトップ統合インストーラを実行します。古いバージョンを最初にアンインストールする必要はありません。

インストールは次から実行できます。

- JDeveloperツールのメニュー

- 実行中のFusion Webアプリケーションのようこそページ(「Fusion WebアプリケーションがADFデスクトップ統合をサポートするかどうかの検証」を参照)

- ファイル・システム(「ADFデスクトップ統合のインストール方法」の注意に関する項を参照)

注意:

- 以前のリリースからアップグレードしている場合は、互換性のないインストーラでADFデスクトップ統合がインストールされた旨のメッセージが表示されることがあります。この場合は、インストーラを実行する前に、ADFデスクトップ統合アドインをインストールする必要があります。

- 統合Excelワークブックをテストするときに、ADFデスクトップ統合によってテスト・サーバーが使用するアドインのバージョンをインストールするよう求めるダイアログが表示されることがあります。このダイアログにはスキップのオプションが含まれますが、開発者はダイアログが提案するアドインのバージョンのインストールをスキップしないでください。クライアントが使用するアドインと、ADFデスクトップ統合のサーブレットのバージョンを同期させておくことが重要です。

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

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

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

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

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

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

- ExcelワークブックでのADFデスクトップ統合の有効化

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

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

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

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

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

注意:

開始する前に、ADFデスクトップ統合のデザイナ・ツールが有効になっていること確認してください。詳細は、「ADFデスクトップ統合のインストール」を参照してください。

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

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

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

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

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

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

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

追加の説明

ADF入力テキスト

属性バインディング

ADF出力テキスト

属性バインディング

ADFラベル

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

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

ADF値リスト

リスト・バインディング

ADF読取り専用表

ツリー・バインディング

ADF表

ツリー・バインディング

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

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

Fusion WebアプリケーションのADFデータ・バインディングとページ定義ファイルの詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「Fusion WebアプリケーションでのADFモデルの使用」の章を参照してください。

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

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

開始する前に:

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

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

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

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

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

4. 「新規ギャラリ」で、「クライアント層」を展開して「ADFデスクトップ統合」を選択し、続いて「ADFデスクトップ統合ページ定義」を選択して「OK」をクリックします。

図4-1は、「新規ギャラリ」と「ADFデスクトップ統合」カテゴリおよび「ADFデスクトップ統合ページ定義」オプションを示します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

開始する前に:

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

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

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

2. Excelワークブックで、「Oracle ADF」タブのコンポーネント・グループの「バインディングのリフレッシュ」・ボタンをクリックします。

「バインディングのリフレッシュ」ボタンの詳細は、「開発ツールについて」を参照してください。

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

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

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

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

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

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

Dynamic (${})

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

注意:

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

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

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

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

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

開始する前に:

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

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

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

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

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

4. 「新規ギャラリ」で、「クライアント層」を展開して「ADFデスクトップ統合」を選択し、続いて「Microsoft Excelワークブック」を選択して「OK」をクリックします。

図4-4は、「新規ギャラリ」と「ADFデスクトップ統合」カテゴリおよび「Microsoft Excelワークブック」オプションを示します。

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

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

5. 「ADFデスクトップ統合対応Excelワークブックの作成」ダイアログで、目的の場所を確認して、一意のワークブック名を入力します。後で公開できるように、接尾辞-DTを追加することを検討してください。たとえば、MyWorkbook-DT.xlsxなどです。

デフォルトでは、統合Excelワークブックは、選択されたプロジェクトの<PROJECT_HOME>\src\excelディレクトリにadfdi-workbook-DT.xlsxとして保存されます。ワークブックはどこにでも保存できますが、Fusion Webアプリケーションの他のファイルとともに保存する必要があります。

後でファイナライズ済の統合Excelワークブックを公開して配信するときに、ADFデスクトップ統合が-DTなどの接尾辞を削除して、エンド・ユーザーにわかりやすいファイル名が表示されるようにします。たとえば、Summitサンプル・アプリケーションでは、EditCustomers-DT.xlsxではなくEditCustomers.xlsxのファイル名を使用して、顧客の編集をするワークブックを公開しています。

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

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

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

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

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

開始する前に:

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

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

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

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

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

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

- ワークブックを別の場所に保存した場合、「新しい統合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-7に、JDeveloperのADFデスクトップ統合のSummitサンプル・アプリケーションおよび統合Excelワークブックに使用されるWebコンテキスト・ルートを示します。

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

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

http://localhost:7101/summit

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

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

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

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

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

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

注意:

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

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

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

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

開始する前に:

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

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

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

2. 「ページ定義の選択」ダイアログ・ボックスで、ページ定義ファイルを選択します。

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

4.4 ExcelワークブックでのADFデスクトップ統合の有効化

「Fusion Webアプリケーションへの統合Excelワークブックの追加」で説明されているように、作成するワークブックは、ADFデスクトップ統合機能を使用するように自動的に構成されます。既存のExcelワークブックの場合、ワークブックでADFデスクトップ統合を有効化して、統合Excelワークブックになるようにし、新しく統合されたExcelワークブックにいくつかのプロパティを構成する必要があります。

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

既存のワークブックをADFデスクトップ統合が有効化されたFusion Webアプリケーションに統合するには、そのワークブックでADFデスクトップ統合を手動で有効にする必要があります。Fusion Webアプリケーションとの統合のために使用可能な、サポートされているExcelワークブックのファイル形式の詳細は、「必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア」を参照してください。

開始する前に:

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

既存のExcelワークブックでADFデスクトップ統合を有効にするには:

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

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

3. ワークブックの有効化ダイアログで、図4-9に示すように「はい」をクリックします。

図4-9 ワークブックの有効化ダイアログ

ADFデスクトップ統合がワークブックを準備して、ADFデスクトップ統合のデザイナの作業ウィンドウを表示し、「フォルダの参照」ダイアログが開きます。詳細は、「新しい統合Excelワークブックの手動による構成方法」を参照してください。

4. ワークブックを保存します。

Fusion Webアプリケーションと統合するExcelワークブックはどこにでも保存できますが、Fusion Webアプリケーションの他のファイルとともに保存するメリットがいくつかあります。たとえば、次のようなものです。

- ワークブックのソースの管理

- Webページからのワークブックのダウンロードの円滑化

- 最初にワークブックを開いたときに表示されるファイル・システム・フォルダ・ピッカーは、ワークブックを保存する場所をデフォルトとします。

たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションは統合するExcelワークブックを次のサブディレクトリに保存します。

Summit_HOME\ViewController\src\oracle\summitdi\excel

ここで、Summit_HOMEはADFデスクトップ統合のSummitサンプル・アプリケーションのソース・ファイルを保存するルート・ディレクトリです。

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

ワークブックでADFデスクトップ統合を手動で有効にした後、それを構成する必要があります。

開始する前に:

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

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

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

図4-10に示すように、「フォルダの参照」ダイアログが自動的に表示されます。

図4-10 フォルダの参照ダイアログ

「フォルダの参照」ダイアログを使用して、JDeveloperアプリケーションのホーム・ディレクトリを選択します。一般的なJDeveloperのプロジェクトでは、JDeveloperアプリケーションのホーム・ディレクトリにapplication_name.jwsファイルが保存されます。選択した値がApplicationHomeFolderワークブックのプロパティに割り当てられます。

注意:

ワークブックがJDeveloperアプリケーションのワークスペース内にある場合、「フォルダの参照」ダイアログは表示されません。この場合、ApplicationHomeFolderワークブックのプロパティの値は、自動的に割り当てられます。

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

3. 「ワークブック・プロパティの編集」ダイアログで、「新しい統合Excelワークブックの構成方法」の手順3で説明したプロパティを構成します。

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

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

6. 「ワークシート・プロパティの編集」ダイアログで、「ページ定義」入力フィールドの横にある参照(...)アイコンをクリックし、図4-11に示す「ページ定義」ダイアログからページ定義ファイルを選択します。

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

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

作業ウィンドウに、ADFデスクトップ統合とともにExcelのワークシートが表示されます。手順6で選択したページ定義ファイルのバインディングが、「バインディング」タブに表示されます。

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

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

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

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

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

開始する前に:

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

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

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

2. 「アプリケーション」ウィンドウで、ADFデスクトップ統合を追加するプロジェクトを右クリックして、「プロジェクト・プロパティ」を選択します。

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

3. 「プロジェクト・プロパティ」ダイアログで、「機能」を選択して、使用可能な機能のリストを表示します。

4. 「機能の追加」をクリックします。

5. 「機能の追加」ダイアログで、「ADFデスクトップ統合」機能を選択して、図4-12に示すように「選択されたもの」リストに追加します。

図4-12 機能の追加ダイアログ

6. 「OK」をクリックして、「機能の追加」ダイアログを閉じます。

7. 「OK」をクリックして、「プロジェクト・プロパティ」ダイアログを閉じます。

ADFデスクトップ統合を追加する際の処理の詳細は、「ADFデスクトップ統合をJDeveloperプロジェクトに追加する際の処理」を参照してください。

注意:

EARファイルやJARファイルを介してADFライブラリ・ファイルを追加し、統合Excelワークブックを分散する予定があれば、「ADFライブラリWebアプリケーション・サポート」をプロジェクトに追加してください。詳細は、「ADFライブラリWebアプリケーション・サポートの追加」を参照してください。

4.5.2 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-20にあるRemoteServletPathワークブックのプロパティの値と一致する必要があります。

- adfdiExcelDownloadという名前のフィルタ

- ExcelファイルのMIMEマッピング(.xlsxと.xlsm)

これらのエントリがすべてではありません。ADFデスクトップ統合をプロジェクトに追加すると、web.xmlに他の変更が加えられます。web.xmlの一部のエントリは、このファイルにまだ表示されない場合にのみ追加される点に注意してください。

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

統合ワークブックをADFライブラリ・ファイルに追加して配布する予定があれば、ADFライブラリWebアプリケーションのサポートをFusion Webアプリケーションに追加します。詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のADFライブラリへの再利用可能なADFコンポーネントのパッケージ化に関する項を参照してください。

web.xmlファイルでフィルタおよびフィルタ・マッピング情報を更新する際には、Fusion Webアプリケーションから統合Excelワークブックをダウンロードできるように、adfdiExcelDownloadフィルタ・エントリの下にADFライブラリWebアプリケーション・サポート(<filter-name>ADFLibraryFilter</filter-name>)が表示されるようにしてください。

図4-13は、JDeveloperのweb.xmlの概要エディタの「フィルタ」タブを示します。

図4-13 web.xmlのフィルタ・タブ

図4-14に示すように、include-extension-list初期化パラメータを更新して、Excelファイル拡張子(.xlsxおよび.xlsmなど)を追加する必要もあります。

図4-14 include-extension-listパラメータを使用するADFLibraryFilter

web.xmlの詳細は、「Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定」を参照してください。

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

旧バージョンのADFデスクトップ統合を実行するシステムで、新しいバージョンのADFデスクトップ統合で作成または最後に更新された統合Excelワークブックを、ユーザーまたはそのユーザーのエンド・ユーザーが開いた場合、旧バージョンのADFデスクトップと互換性のない機能が統合Excelワークブックに含まれていると、ダイアログが表示されます。

このダイアログで「OK」をクリックすると、ADFデスクトップ統合により、統合Excelワークブックが無効になり、エンド・ユーザーは、ワークブックでADFデスクトップ統合機能を使用できません。ワークブックのデータは削除されませんが、ADFデスクトップ統合はワークブックを統合されていないワークブックとして扱います。

互換性のない機能が統合Excelワークブックに含まれない場合、ダイアログは表示されず、ワークブックは正常に機能します。互換性のない機能を含む統合Excelワークブックの場合は、「ADFデスクトップ統合のアップグレード」の説明に従って、ADFデスクトップ統合のクライアント・バージョンをアップグレードします。エンド・ユーザーは、「ローカル・システムのADFデスクトップ統合のアップグレード方法」の説明に従って、各自のクライアント・バージョンをアップグレードできます。

12c (12.2.1)以前のADFデスクトップ統合を使用して作成した統合Excelワークブックには、ADFデスクトップ統合12c (12.2.1)クライアントと互換性のない機能は含まれません。今後のリリースのADFデスクトップ統合では、12c (12.2.1)以前のADFデスクトップ統合を使用するクライアントと互換性のない機能が導入される可能性があります。

注意:

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

5 開発ツールのスタート・ガイド

この章では、ADFデスクトップ統合により提供される開発ツール(バインディング・パレット、コンポーネント・パレット、プロパティ・インスペクタ、式ビルダーなど)の使用方法を説明します。ADFデスクトップ統合がExcelリボン内で公開する開発環境の概要を説明します。

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

- 開発ツールについて

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

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

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

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

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

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

- 式ビルダーの使用

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

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

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

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

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

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

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

5.1 開発ツールについて

ADFデスクトップ統合には、Fusion Webアプリケーションと統合できるように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ラベルなど他のADFデスクトップ統合コンポーネントは、コンポーネント・パレットから挿入して、プロパティ・インスペクタと式ビルダーを使用して構成できます。

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

必要なコンポーネントを追加してワークブックを構成した後で、ワークブックの外観の変更やローカライズなど、追加の機能が必要となることがあります。次の各項では、使用可能なその他の機能について説明します。

- 対話性: Fusion Webアプリケーションと統合するために、1つ以上のアクション・セットを統合Excelワークブックに追加します。詳細は、「統合Excelワークブックへの対話性の追加」を参照してください。

- ローカライズ: Fusion Webアプリケーションでの国際化およびローカライズの処理の一部として、統合Excelワークブックをカスタマイズできます。詳細は、「統合Excelワークブックの国際化」 を参照してください。

- スタイル: 事前定義済のExcelのスタイルをいくつか使用して、コンポーネントの表示を構成できます。詳細は、「スタイルの使用」を参照してください。

- EL式: EL式をADFデスクトップ統合コンポーネントとともに使用できます。詳細は、「ADFデスクトップ統合のEL式」を参照してください。

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

統合ワークブックやワークシート・プロパティの構成、Oracle ADFコンポーネントの挿入およびそれらのプロパティの編集、テスト・モードでのワークブックの実行、ワークブックの公開など、様々なタスクで「Oracle ADF」タブ(デザイナ・リボン・タブとも呼ばれます)を使用します。「Oracle ADF」タブ(図5-3)には、設計モードで様々なボタンが用意されています。

図5-3 設計モードの「Oracle ADF」タブ

ヒント:

[Alt]を押しながら[C]を押して、「Oracle ADF」タブにアクセスし、キーボードから「Oracle ADF」タブのリボン・コマンドのショートカット・キーを表示します。

「Oracle ADF」タブのボタンを使用して、表5-1に示すアクションを起動できます。

表5-1 「Oracle ADF」タブのオプション

グループ

クリックするボタン

目的

ボタンが使用可能なモード

ワークブック

「ワークブック・プロパティの編集」ダイアログを表示して、統合Excelワークブックのプロパティを閲覧および編集します。

このボタンは、ADFデスクトップ統合を統合Excel以外のワークブックで有効にするときにも使用します。

設計

ワークブック

「ワークシート・プロパティの編集」ダイアログを表示して、現在のワークシートのプロパティを閲覧および編集します。

設計

ワークブック

統合Excelワークブックのバージョンとプロパティ情報を提供する、「ADFデスクトップ統合について」ダイアログを開きます。ダイアログでは、「ADFデスクトップ統合診断レポートの生成」で説明されている診断レポートにもアクセスできます。

このボタンは、ADFデスクトップ統合のインストール後は統合Excel以外のワークブックでも使用可能です。

設計、テスト

ワークブック

「ワークブック定義に名前を付けて保存」ダイアログを開き、現在のワークブック定義を.xmlファイルとしてエクスポートします。

設計

ワークブック

「インポートするワークブック定義ファイルの選択」ダイアログを開き、保存された.xmlファイルからワークブック統合メタデータをインポートします。

設計

ADFコンポーネント

選択したセルに挿入可能なOracle ADFコンポーネントのドロップダウン・リストを表示します。

設計

ADFコンポーネント

選択したコンポーネントのコンポーネント・プロパティを閲覧および編集する「プロパティ・インスペクタ」ウィンドウを表示します。

設計

ADFコンポーネント

選択したコンポーネントをExcelワークシートから削除します。

設計

ADFコンポーネント

- 統合Excelワークブックのワークブック・プロパティが参照するアプリケーション・ワークスペース・ファイル(.jws)およびプロジェクト・ファイル(.jpr)をリロードします。

- アクティブな統合Excelワークブックで使用されるページ定義ファイルからすべての情報をリフレッシュします。

JDeveloperプロジェクトのページ定義ファイルに加えたすべての変更が、Excelワークブックで使用可能になります。詳細は、「Excelワークブックへのページ定義ファイルのリロード方法」を参照してください。

設計

テスト

Excelワークブックの構成をADFデスクトップ統合の検証ルールに対して検証します。

ワークブックの検証の詳細は、「統合Excelワークブックの構成の検証」を参照してください。

設計

テスト

Excelワークブックを設計モードからテスト・モードに切り替えます。このボタンは、設計モードの場合のみアクティブになります。

設計

テスト

Excelワークブックをテスト・モードから設計モードに切り替えます。このボタンは、テスト・モードの場合のみアクティブになります。

設計モードとテスト・モードの切替えの詳細は、「統合Excelワークブックのテスト」を参照してください。

テスト

ロギング

クライアント・サイドの最新のログ・エントリを表示するウィンドウを表示します。詳細は、「クライアント・サイド・ロギングの概要」を参照してください。

設計、テスト

ロギング

クライアント・サイド・ログ出力レベルを選択する出力レベルの設定ダイアログを表示します。詳細は、「クライアント・サイド・ロギングの概要」を参照してください。

設計、テスト

ロギング

クライアント・サイド・ログ出力ファイルとして機能する新しい一時ロギング・リスナーを作成します。詳細は、「クライアント・サイド・ロギングの概要」を参照してください。

設計、テスト

ロギング

ADFデスクトップ統合の構成ファイルをリロードします。詳細は、「クライアント・サイド・ロギングの概要」を参照してください。

設計、テスト

公開

ExcelワークブックとFusion Webアプリケーションの統合を完了した後に、Excelワークブックを公開します。

統合されたExcelワークブックの公開の詳細は、「統合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フレームワークの基底にある情報などです。ダイアログでは、「ADFデスクトップ統合診断レポートの生成」で説明されている診断レポートにもアクセスできます。ログインに成功すると、サーバーの現在のクライアント・インストーラにもアクセスできます。

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

バインディング・パレットには、Excelワークシートに挿入できるOracle ADFバインディングが表示されます。現在のExcelワークシートのページ定義ファイルによって、バインディング・パレットに表示されるOracle ADFバインディングが決まります。図5-6に、Oracle ADFバインディングが移入された、ADFデスクトップ統合デザイナの作業ウィンドウのバインディング・パレットを示します。バインディング・パレットには統合Excelワークブックで使用できないバインディングは表示されないため、ここに表示されるバインディングは、JDeveloperに表示されるページ定義ファイル内のバインディングとは異なることがあります。無視されたバインディングのログを確認します(「統合Excelワークブックのログ・ファイルの生成」を参照)。

図5-6 ADFデスクトップ統合デザイナの作業ウィンドウのOracle ADFバインディング・パレット

バインディングを挿入するには、設計モードでバインディング・パレットを使用します。バインディングを挿入しようとする際、ADFデスクトップ統合により、選択したバインディングに適切なOracle ADFコンポーネントを選択および挿入するように求められます。また、ADFデスクトップ統合もOracle ADFコンポーネントのプロパティに適切な値を移入します。たとえば、図5-6に示すようにCustomers (tree)のようなバインディングを挿入する場合、「コンポーネントの選択」ダイアログが表示され、ADF表コンポーネントを選択および挿入できます。

Oracle ADFバインディングを挿入するには、Excelワークシート内のバインディングを参照する、Oracle ADFコンポーネントを配置するセルを選択し、次のいずれかの方法でバインディングを挿入します。

- 挿入するOracle ADFコントロール・バインディングをダブルクリックします。

- 挿入するバインディングを選択し、それを目的のセルにドラッグします。

- コントロール・バインディングを選択して、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コンポーネント、ExcelワークシートまたはExcelワークブックのプロパティを表示および編集できるダイアログです。プロパティ・インスペクタは次のいずれかの方法で開くことができます。

- コンポーネントまたはバインディングを選択し、「Oracle ADF」タブで「プロパティの編集」アイコンをクリックします。

- コンポーネントまたはバインディングを選択し、右クリックして「ADFコンポーネント・プロパティの編集」を選択します。

- コンポーネントまたはバインディングをダブルクリックします。
ADF表またはADF読取り専用表の適切なインスペクタを開くには、表の部分の任意のセルをダブルクリックします。

注意:

「ADFボタン」は右クリックまたはダブルクリックのアクションをサポートしていないので、ボタンをクリックして適切なインスペクタ・ダイアログを開きます。

ExcelワークシートにOracle ADFバインディングまたはコンポーネントを挿入した後にも、プロパティ・インスペクタが自動的に表示されます。図5-8に、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値リスト・コンポーネントのListIDプロパティは、リスト・バインディングをサポートします。したがって、図5-9に示すように、バインディングIDピッカーは、ページ定義ファイルのバインディングをフィルタ処理して、リスト・バインディングのみが表示されるようにします。

図5-9 バインディングIDピッカー

ADFデスクトップ統合コンポーネントのプロパティ、およびそれらがサポートするバインディングの詳細は、「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のスタイルを一覧表示します。詳細は、「スタイルの使用」を参照してください。

ワークブック

Workbook.Parametersで定義されているパラメータを一覧表示します。

ワークシート

errors式を一覧表示します。

Excel関数

ADFデスクトップ統合で使用可能なサンプルのExcel関数を一覧表示します。詳細はExcelのドキュメントを参照してください。

式ビルダーの使用の詳細は、「EL式を使用した動的なスタイルの適用」を参照してください。ADFデスクトップ統合のEL式の構文と、これらの式を記述するガイドラインの詳細は、「ADFデスクトップ統合のEL式」を参照してください。

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

Webページ・ピッカーを使用して、Fusion WebアプリケーションからWebページを選択します。実行時にOracle ADFコンポーネント(リボン・コマンドなど)によって、そのOracle ADFコンポーネントに関連付けられているWebページを起動できます。

Webページ・ピッカーは、アクション・コレクタ・エディタで設定されたアクションにDialogアクションを追加するときに起動できます。図5-11に示すように、Webページ・ピッカーを使用して、DialogアクションのPageプロパティにWebページを指定します。

図5-11 Webページ・ピッカーのダイアログ

統合ExcelワークブックでのWebページの表示の詳細は、「Fusion WebアプリケーションからのWebページの表示」を参照してください。

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

ファイル・システム・フォルダ・ピッカーを使用して、Windowsファイル・システム内を移動し、フォルダを選択できます。このピッカーを使用して、次のワークブックのプロパティの値を指定します。

- ApplicationHomeFolder

- WebPagesFolder

初めてExcelワークブックを開くときにピッカーが表示され、前述のプロパティの値を設定できます。初めてExcelワークブックを開くときに設定するプロパティの詳細は、「新しい統合Excelワークブックの構成方法」を参照してください。

図5-12に、ワークブックのプロパティWebPagesFolderの値を選択するファイル・システム・フォルダ・ピッカーを示します。

図5-12 ファイル・システム・フォルダ・ピッカー

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

ページ定義ピッカーを使用して、ページ定義ファイルのページ定義IDを選択し、ファイルをワークシートに関連付けます。ピッカーは、統合Excelワークブックで統合されていないワークシートを初めて有効にしたときに表示されます。また、図5-13に示すように、ワークシートのプロパティPageDefinitionの値を設定する際にも起動できます。

図5-13 ページ定義ピッカー

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

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

ADFデスクトップ統合では、コレクション・エディタを使用してコレクション内の要素のプロパティを管理します。コレクション・エディタのタイトル・バーに表示されるタイトルは、コレクション・エディタにより構成可能な対象を示します。コレクション・エディタのタイトルの例としては、CachedAttributesの編集、列の編集、アクションの編集などがあります。これらのコレクション・エディタを使用して、キャッシュされたデータ、ADF表コンポーネントの表列、アクション・セットのアクションのコレクションを構成できます。図5-14は、コレクション・エディタを示しています。

図5-14 コレクション・エディタ

ヒント:

アクションの編集ダイアログに追加する各要素の「注釈」フィールドで、説明を記述してください。記述する説明は「メンバー」リスト・ビューに表示されます。記述する説明によっては、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デスクトップ統合コンポーネントの削除

コンポーネントの削除時には、次のことに注意してください。

- 複数のセルがあるコンポーネント(表コンポーネントまたはマージされたセルのコンポーネントなど)を削除するには、コンポーネント全体を選択する必要はありません。選択した範囲がコンポーネントのセルと交差すれば削除されます。

- 選択した中に1つまたは複数のADFデスクトップ統合コンポーネントが含まれている場合、ワークブックのセルを削除またはクリアできません。必ず「削除」リボン・コマンドを使用してADFデスクトップ統合コンポーネントを削除します。

- ADFコンポーネントを含むセルに隣接するセルを削除し、削除したセルの位置にこのセルをシフトすると、ADFデスクトップ統合はADFコンポーネントを削除するよう提案します。

- ADFデスクトップ統合のコンテキスト・メニュー・オプションは、コンテキスト・メニューが起動されたときに複数のセルが選択されている場合には使用できません。

- ADFデスクトップ統合コンポーネントを削除したら、削除したコンポーネントへの参照を見つけるために、統合Excelワークブック構成を検証するようにしてください。ワークブックの検証の詳細は、「統合Excelワークブックの構成の検証」を参照してください。

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

ワークブック定義として知られるワークブック統合メタデータは、指定のワークブックを特定のFusion Webアプリケーションに統合する方法を示す一連の情報です。コンポーネントの配置と構成、およびワークブック・レベルとワークシート・レベルのプロパティが含まれています。ワークブック統合メタデータは、Oracle ADFによって定義されます。Excelに元からあるワークブックの設定は含まれません。

Excelワークブック統合メタデータを、指定した名前と場所のXMLファイルにエクスポートできます。XMLファイルには、ワークブックの各ワークシートの子要素、リモート・サーブレットの相対パスのようなリソースなどが含まれます。エクスポートされたXMLファイルを使用すると、次のアクションを実行できます。

- Excelワークブック統合メタデータを編集または分析します。たとえば、xmlファイルを検索してカスタム・ポリシー違反を確認するプログラムを作成する場合などがあります。

- XMLエディタを使用した、ワークシートとワークブックの間のコンポーネントのコピーまたは移動。

- ボタン間またはイベント間のアクション・セット定義のコピー。

- グローバルな検索および置換操作の実行。

- 表コンポーネントの列の素早い再配置またはコピー。

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

次の手順では、統合ExcelワークブックからXML構成メタデータをエクスポートする方法を説明します。

開始する前に:

ワークブック統合メタデータを理解しておくと役立ちます。詳細は、「Excelワークブック統合メタデータのエクスポートおよびインポート」を参照してください。

統合Excelワークブックからワークブック統合メタデータをエクスポートするには:

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

2. 「Oracle ADF」タブで、「エクスポート」をクリックします。

「ワークブック定義に名前を付けて保存」ダイアログ・ボックスが開きます。

3. エクスポートされたメタデータを格納するXMLファイルの名前と場所を指定し、「保存」をクリックします。ADFデスクトップ統合によって、ワークブック定義が指定されたファイルに書き込まれます。

4. 「ワークブック・メタデータのエクスポート」ダイアログで、「OK」をクリックしてエクスポート・プロセスを完了します。

注意:

エクスポートされたXMLファイルには、名前付きスタイル、名前付き範囲、セル・プロパティ、バインドなしセル内のコンテンツなど、ネイティブなExcel設定は含まれません。ファイル名は、-workbook-defintion.xmlという接尾辞が付いた設計時ワークブックの完全な名前から構成されます。たとえば、EditCustomers-DT.xlsxのエクスポートされたXMLファイル名はEditCustomers-DT.xlsx-workbook-definition.xmlです。

ワークブックの公開によっても、ワークブック定義がエクスポートされます。ワークブックの公開の詳細は、「統合Excelワークブックの公開」を参照してください。

ワークブック定義をエクスポートしたら、JDeveloperなどのXMLエディタでXMLファイルを編集できます。図5-18は、JDeveloperでのEditCustomers-DT.xlsxのワークブック定義を示しています。JDeveloperでワークブック定義ファイルを編集する際、JDeveloperはワークブック定義スキーマと照らしあわせて変更を自動的に検証します。後で問題の回避に役立つ警告も表示します。

図5-18 JDeveloperでのワークブック定義の編集

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

編集後は、エクスポート元のオリジナルのワークブックまたは空の統合ワークブックにワークブック定義ファイルをインポートして、ソースの統合Excelワークブックのコピーを作成できます。メタデータをインポートする前に、ADFデスクトップ統合で空のワークブックを有効にする必要があります。

次の手順では、統合ExcelワークブックにXML構成メタデータをインポートする方法を説明します。

開始する前に:

ワークブック統合メタデータを理解しておくと役立ちます。詳細は、「Excelワークブック統合メタデータのエクスポートおよびインポート」を参照してください。

XMLファイルから統合メタデータをインポートする前に、XMLコードが適切に形成されているかどうか、XMLファイルにルート要素が含まれているかどうかなど、基本的なXML検証を実行します。ワークブック定義は、ワークブック定義のエクスポート元のワークブックにインポートすることも、新しいワークブックにインポートすることもできます。

統合Excelワークブックにワークブック統合メタデータをインポートするには:

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

2. 「Oracle ADF」タブで、「インポート」をクリックします。

「インポートするワークブック定義ファイルの選択」ダイアログ・ボックスが表示されます。

3. ワークブック統合メタデータを格納するXMLファイルを選択し、「開く」をクリックします。

4. 「ワークブック・メタデータのインポート」ダイアログで、「OK」をクリックしてインポート・プロセスを完了します。

ワークブック定義内の変更は、統合Excelワークブックに自動的に表示されます。この方法を使用して、新しい(および個別の)統合Excelワークブックを既存のワークブックから作成する場合は、2つの統合Excelワークブックが同じワークブックIDを共有しないように、インポートの完了後に、ワークブックIDを必ずリセットしてください。詳細は、「ワークブックIDのリセット方法」を参照してください。

たとえば図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式を使用してこれらのコンポーネント内で計算されたデータを表示する方法について説明します。

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

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

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

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

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

- ADF入力日コンポーネントの挿入

- ADFイメージ・コンポーネントの挿入

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

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

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

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

ADFデスクトップ統合フォーム・タイプ・コンポーネントを使用すると、エンド・ユーザーが統合ExcelワークブックでFusion Webアプリケーションから取得したデータを管理できるようになります。ADFデスクトップ統合では、次のコンポーネントを使用して、統合Excelワークブックにフォーム・タイプ機能を作成します。

- ADF入力テキスト

- ADF入力日

- ADF出力テキスト

- ADFラベル

- ADF値リスト

- ADFイメージ

図6-1に、これらのコンポーネントの一部を示します。図6-1に示すリボン・コマンドは、実行時に統合ExcelワークブックのExcelリボンに表示されるワークシートレベルのリボン・コマンドです。詳細は、「実行時リボン・タブの構成」を参照してください。

ADF値リスト・コンポーネントの使用は、「Excelワークシートでの値リストの作成」に説明されています。

図6-1 ADFデスクトップ統合フォーム・タイプ・コンポーネント

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

ADFデスクトップ統合フォーム・タイプ・コンポーネントは、ユーザーの入力やFusion Webアプリケーションからの出力用に統合Excelワークブックでフォームをビルドするときに使用されます。図6-2に示すように、EditWarehouseInventory-DT.xlsxのナビゲーション・フォームに使用されるフォーム・タイプ・コンポーネントにより、エンド・ユーザーはデータを容易にナビゲートおよび更新できます。

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

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

ワークシートにコンポーネントを追加した後、イベントやエンド・ユーザーのアクションに対する応答など、機能を追加しなければならないことがあります。フォーム・コンポーネントで使用可能な他の機能へのリンクは次のとおりです。

- 値リスト: ADF値リスト・コンポーネントを使用して、統合Excelワークブックに値リストを作成できます。詳細は、「値リストの使用」を参照してください。
マネージドBeanからの出力を表示するためのADFラベルまたはADF出力テキスト・コンポーネント。詳細は、「ADFコンポーネントのマネージドBeanからの出力の表示」を参照してください。

- マネージドBeanからの出力の表示: ADFラベル・コンポーネントまたはADF出力テキスト・コンポーネントを使用して、マネージドBeanからの出力を表示できます。詳細は、「ADFコンポーネントのマネージドBeanからの出力の表示」を参照してください。

- スタイル: 事前定義済のExcelのスタイルをいくつか使用して、フォーム・タイプ・コンポーネントの表示を構成できます。詳細は、「スタイルの使用」を参照してください。

- EL式: EL式をフォーム・タイプ・コンポーネントとともに使用できます。詳細は、「ADFデスクトップ統合のEL式」を参照してください。

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

ADFラベル・コンポーネントは、静的な文字列値を表示するために、アクティブなワークシートに挿入できるコンポーネントです。プロパティ・インスペクタのLabelの入力フィールドに値を指定するか、式ビルダーを起動して、実行時に文字列に解決されるEL式を記述します。取得される文字列は、リソース・バンドルまたはエンティティあるいはビュー・オブジェクトの属性コントロールのヒント内で定義できます。たとえば、次のEL式は実行時にCountryId属性のラベルの値に解決されます。

#{bindings.CountryId.label}

ADFラベル・コンポーネントや他のOracle ADFコンポーネントでLabelプロパティに指定する値は、Oracle ADFコンポーネントをホストするワークシートが初期化(初めて開く)されるときに評価されます。

プロパティ・インスペクタを使用して、スタイルや位置などのコンポーネントのプロパティをワークシートで構成できます。

図6-3に、ADFラベル・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADFラベル・コンポーネントは、実行時にCountryId属性のラベルに解決されるEL式を参照します。

図6-3 設計モードのADFラベル・コンポーネント

ADFラベル・コンポーネントを挿入するには:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADFラベル」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、「コンポーネントの挿入」ドロップダウン・リストから「ADFラベル」を選択します。

4. プロパティ・インスペクタで、コンポーネントの外観、設計およびレイアウトを決定するプロパティを構成します。

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

図6-4は、実行時のADFラベル・コンポーネント(黒線の枠内)の例を示しています。

図6-4 実行時のADFラベル・コンポーネント

注意:

ADFラベル・コンポーネントは1回のみレンダリングされ、Worksheet.DownSyncのコール後は更新されません。表示される値をWorksheet.DownSyncのコール後に変更する場合は、かわりにADF出力テキスト・コンポーネントを使用することを検討してください。

統合Excelワークブックでのラベルの使用の詳細は、「統合Excelワークブックでのラベルの使用」を参照してください。

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

ADF入力テキスト・コンポーネントは、コンポーネント・パレットを使用して、アクティブなワークシートに挿入するコンポーネントです。コンポーネントを挿入したワークシートのアクティブなセルには、実行時に、ワークシートDownSyncアクションが起動された後のコンポーネントのバインディングの現在の値が表示されます。エンド・ユーザーは実行時にこの値を編集できます。エンド・ユーザーが行った値の変更がFusion Webアプリケーションに転送されるように、ワークシートUpSyncアクションを構成します。Fusion Webアプリケーションの変更をコミットするように、Commitアクション・バインディングを構成します。

ユーザーがプロパティ・インスペクタを使用してワークシートのセル(DoubleClickActionSetプロパティ)をダブルクリックすると、位置やスタイル、動作といったコンポーネントのプロパティの多くを構成できます。DoubleClickActionSetの詳細は、「アクション・セットの使用」を参照してください。

図6-5に、ADF入力テキスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF入力テキスト・コンポーネントは、ADFデスクトップ統合のSummitサンプル・アプリケーションのCity属性バインディングへバインドされます。ユーザーは、このコンポーネントに市の名前を入力します。

図6-5 設計モードのADF入力テキスト・コンポーネント

ADF入力テキスト・コンポーネントを挿入するには:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADF入力テキスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、「コンポーネントの挿入」ドロップダウン・リストから「ADF入力テキスト」を選択します。

4. プロパティ・インスペクタで、コンポーネントの外観、レイアウトおよび動作を決定するプロパティを構成します。表6-1は、値を指定する必要のあるいくつかのプロパティの概要を示します。このコンポーネントの他のプロパティの詳細は、「ADF入力テキスト・コンポーネントのプロパティ」を参照してください。

表6-1 ADF入力テキストのプロパティ

プロパティ

指定する内容

InputText.Value

コンポーネントが参照するバインディングを決定するValueプロパティのEL式。

ValueプロパティにExcel式を指定する場合、コンポーネントはReadOnlyプロパティがTrueに設定されているかのように動作します。コンポーネントは、ReadOnlyプロパティの実際の値を無視します。

InputText.ReadOnly

エンド・ユーザーが加える変更がアップロードされるようにFalseに解決されるEL式。コンポーネントで変更を無視する場合は、Trueに解決されるEL式を記述してください。デフォルト値はFalseです。

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

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。

コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は、「ADFデスクトップ統合コンポーネントの削除」を参照してください。

図6-6は、実行時のADF入力テキスト・コンポーネント(黒線の枠内)の例を示します。

図6-6 実行時のADF入力テキスト・コンポーネント

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

ADF出力テキスト・コンポーネントは、コンポーネント・パレットを使用して、アクティブなワークシートに挿入できるコンポーネントです。コンポーネントの挿入時、ワークシートのアクティブなセルには、ワークシートDownSyncアクションを起動した後のコンポーネントのバインディングの現在の値が表示されます。コンポーネントにより表示される値は読取り専用です。エンド・ユーザーがセルの値に加える変更で、コンポーネントを配置するものは、変更がFusion Webアプリケーションに送信される際に無視されます。セルの内容をエンド・ユーザーが変更できないようにするには、「ワークシート保護の使用」の説明に従って、ワークシート・プロパティで自動シート保護を有効にします。

また、このコンポーネントはADF表コンポーネントおよびADF読取り表コンポーネントのサブコンポーネントとして機能することができます。ADF表コンポーネントおよびADF読取り専用コンポーネントの列は、ADF出力テキスト・コンポーネントを使用するように構成できます。

スタイル、セルをダブルクリックしたときの動作(DoubleClickActionSetプロパティ)および位置など、コンポーネントの様々なプロパティを、プロパティ・インスペクタを使用してワークシートで構成できます。

図6-7に、ADF出力テキスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。

図6-7 設計モードのADF出力テキスト・コンポーネント

ADF出力テキスト・コンポーネントを挿入するには:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADF出力テキスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、「コンポーネントの挿入」ドロップダウン・リストから「ADF出力テキスト」を選択します。

4. プロパティ・インスペクタで、コンポーネントの外観、レイアウトおよび動作を決定するプロパティを構成します。

たとえば、ADF出力テキスト・コンポーネントが何を参照するかを決定するために、ValueプロパティにEL式を記述または指定する必要があります。ADF出力テキスト・コンポーネントのプロパティに指定する値の詳細は、「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。

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

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。

コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は、「ADFデスクトップ統合コンポーネントの削除」を参照してください。

図6-8は、実行時のADF出力テキスト・コンポーネント(黒線の枠内)の例を示します。

図6-8 実行時のADF出力テキスト・コンポーネント

6.5 ADF入力日コンポーネントの挿入

ADF入力日コンポーネントでは、エンド・ユーザーが日付型フィールドで日付値を選択できる日付ピッカーが実行時に表示されます。実行時に「値」.の入力フィールドの日付/時刻の値に解決される、属性バインディングまたはEL式を設計時に指定できます。その他の日付/時刻の値はサポートされていません。

図6-9に、設計時のADF入力日コンポーネントを示します。

図6-9 設計モードのADF入力日コンポーネント

ADF入力日コンポーネントをフォーム内のフィールドまたは表コンポーネント内の列として挿入できます。日付属性を含むモデルドリブン列として、ADF入力日コンポーネントを追加することもできます。

ADF入力日コンポーネントを挿入する手順:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADF入力日」を選択して、「コンポーネントの挿入」をクリックします。または、「Oracle ADF」タブで、「コンポーネントの挿入」ドロップダウン・リストから「ADF入力日」を選択します。

4. プロパティ・インスペクタで、コンポーネントが実行時に起動するアクションと、コンポーネントの外観、設計およびレイアウトを決定するプロパティを構成します。表6-2は、値を指定する必要のあるいくつかのプロパティの概要を示します。このコンポーネントの他のプロパティの詳細は、「ADF入力日コンポーネントのプロパティ」を参照してください。

表6-2 ADF入力日コンポーネントのプロパティ

プロパティ

指定する内容

ReadOnly

エンド・ユーザーの変更を更新するには、このプロパティをFalseに変更します(または、EL式を書き込みます)。アップロード中にエンド・ユーザーの変更を無視するには、このプロパティをTrueに設定します。Trueに設定されている場合、日付ピッカーは実行時に表示されません。

デフォルト値はFalseです。

Value

日付属性。実行時に日付/時刻の値に解決されるEL式を指定することもできます。実行時に日付/時刻の値に解決されない属性またはEL式は、エラーの原因になります。

日付/時刻の値が設計時に指定されていない場合、カレンダには、実行時にセルの現在値に対応する日付が表示されます。セルが空(日付値が含まれていない)場合、カレンダは今日の日付にデフォルトで設定されます。

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

図6-10に、実行時のADF入力日コンポーネントの例を示します。

図6-10 実行時のADF入力日コンポーネント

選択した場合、ADF入力日コンポーネントでは、実行時にカレンダがモードレス・ウィンドウに表示されます。エンド・ユーザーは、表示されている月から日付を選択したり、矢印アイコンを使用して他の月に移動したりできます。月または年をクリックして、他の月や年に移動したり、10年単位で移動することもできます(図6-11を参照)。

エンド・ユーザーは、ADF入力日コンポーネントをホストするセルに、時刻を手動で入力できます。エンド・ユーザーからのこの入力を受け入れるには、ADF入力日コンポーネントをホストするセルに時刻値と日付値を入力できるように、Excelの「セルの書式設定」のプロパティを構成します。ADFバインディング・タイプにより、使用される時刻値が決定されます。デフォルトでは、時刻値は0:00になっています。

図6-11 実行時のADF入力日コンポーネントでのナビゲーション

6.6 ADFイメージ・コンポーネントの挿入

ADFイメージ・コンポーネントを使用して、統合Excelワークシートにイメージ(企業のロゴなど)を挿入できます。設計時にSourceにイメージ・ファイルのURLを指定すると、ADFイメージ・コンポーネントが実行時にイメージをレンダリングします。イメージは、実行時に元のサイズでレンダリングされます。

実行時に、ADFイメージ・コンポーネントがレンダリングされるときに、ADFデスクトップ統合によってSourceプロパティ値が絶対URLか相対URLかが判断されます。ソースURLは、httpおよびhttpsで開始する場合は絶対とみなされます。これらのスキームのみサポートされます。URLが絶対の場合は、イメージをフェッチするためにそのまま使用され、そのイメージがワークシートに挿入されます。URLが絶対でない場合、部分的なURIがワークブックのWebAppRootの相対と想定されます。このような場合、WebAppRoot値およびSource値は完全なイメージURLを形成するために連結されます。

どのような理由でもイメージが実行時にレンダリングされない場合(例: 無効なURL)、設計時に構成した短い説明テキストがイメージのかわりに表示され、ADFデスクトップ統合でログ・エントリが作成されます。失敗に関する技術的な詳細は、クライアント・ログにレポートされます。ADFデスクトップ統合は、ワークシートの初期化を中断せず、警告またはエラー・メッセージをエンド・ユーザーに表示しません。エンド・ユーザーには、成功した場合に、イメージが表示されるセル位置にイメージの短い説明が表示されます。

図6-12に、設計時のADFイメージ・コンポーネントを示します。

図6-12 設計モードのADFイメージ・コンポーネント

ADFイメージ・コンポーネントを挿入する手順:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADFイメージ」を選択して、「コンポーネントの挿入」をクリックします。または、「Oracle ADF」タブで、「コンポーネントの挿入」ドロップダウン・リストから「ADFイメージ」を選択します。

4. プロパティ・インスペクタで、コンポーネントの外観、レイアウトおよび動作を決定するプロパティを構成します。表6-3は、値を指定する必要のあるいくつかのプロパティの概要を示します。このコンポーネントの他のプロパティの詳細は、「ADFイメージ・コンポーネントのプロパティ」を参照してください。

表6-3 ADFイメージ・コンポーネントのプロパティ

プロパティ

指定する内容

Source

イメージ・ファイルのURL。

絶対または相対URLをイメージのソースとして使用できます。URLが絶対でない場合、部分的なURIがワークブックのWebAppRootの相対と想定されます。

例:

/images/myLogo.png

/resourceServlet?image=myLogo

http://www.oracle.com/ocom/groups/public/@otn/documents/digitalasset/110224.gif

Sourceプロパティでは、EL式はサポートされません。

サポートされるイメージ形式のリストは、Microsoft Excelのドキュメントを参照してください。

ShortDesc

イメージが見つからないかレンダリングできない場合のイメージの代替テキストとしての文字列メッセージ。イメージ・コンポーネントの代替テキストに解決されるEL式も指定できます。

ShortDescプロパティでは、バインディング式はサポートされません。

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

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。

コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は、「ADFデスクトップ統合コンポーネントの削除」を参照してください。

図6-13に、実行時のADFイメージ・コンポーネントの例を示します。

図6-13 実行時のADFイメージ・コンポーネント

注意:

ワークシートが保護されていない場合、エンド・ユーザーは実行時にイメージをサイズ変更または移動できます。イメージのサイズによっては、他のADFデスクトップ統合コンポーネントなど、他のワークシート・コンテンツの上に表示され、そのコンテンツを非表示にすることがあります。

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

ADFボタン・コンポーネントは非推奨になりました。統合ExcelワークブックにADFボタン・コンポーネントを新しく追加しないでください。既存のADFボタン・コンポーネントをワークシートレベルのリボン・コマンドに置き換えます。詳細は、「実行時リボン・タブのワークシート・リボン・コマンドの構成方法」を参照してください。

ADFボタン・コンポーネントは、実行時にExcelワークシートのボタンをレンダリングします。エンド・ユーザーはこのボタンをクリックして、ClickActionSetプロパティ・グループで指定される1つ以上のアクションを起動します。

ADFボタン・コンポーネントのプロパティの詳細は、「ADFボタン・コンポーネントのプロパティ」を参照してください。次の注意では、ADFボタン・コンポーネントの技術的な制限について説明しています。

注意:

- Excelワークシートのビュー・モードをページ・レイアウトまたはページ・ブレーク・モードに変更した場合、ADFボタン・コンポーネントは予期しない位置にレンダリングされる可能性があります。ボタンを元の位置でレンダリングするために、ワークブックを保存せずに通常モードに戻り、統合Excelワークブックを実行して停止する必要があります。

- ワークシートでセルを選択することで、後でコンポーネントのプロパティを変更できます。ADFボタン・コンポーネントをクリックすると、そのプロパティ・インスペクタが開きます。

- ADFボタン・コンポーネントは100%ズームの状態でのみアクティブであり、エンド・ユーザーが統合Excelワークシートでズームインやズームアウトすると無効になります。

- コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は、「ADFデスクトップ統合コンポーネントの削除」を参照してください。

ヒント:

設計モードでは、ボタンにフォーカスがある場合に、ボタンをクリックしたりスペースバーを押してプロパティ・インスペクタを開くことができます。ボタンはマウスの右クリックに反応しません。

統合ExcelワークブックでADFボタン・コンポーネントを使用する場合は、次の手順を1回実行する必要があります。

ExcelでADFボタン・コンポーネントを使用する統合Excelワークブックを実行するには:

1. Excelを開きます。

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

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

4. 図6-14に示すように、「セキュリティ センター」ダイアログで、「マクロの設定」タブを選択し、「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」チェック・ボックスを選択します。

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

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

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

ADFコンポーネントを構成して、マネージドBeanからの出力をFusion Webアプリケーションで表示できます。Fusion WebアプリケーションでマネージドBeanを使用する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のFusion WebアプリケーションでのマネージドBeanの使用に関する項を参照してください。統合Excelワークブック内のマネージドBeanはEL式を通じて参照します。Excelワークシートに関連付けるページ定義ファイルにメソッド・アクション・バインディングを追加して、マネージドBeanの値を取得し、それを属性バインディングに割り当てます。EL式を使用して、実行時に属性バインディングの値を取得します。

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

EL式は、EL式をサポートするプロパティ(Labelプロパティなど)に記述します。

開始する前に:

マネージドBeanに関する知識が役立つ場合があります。詳細は、「ADFコンポーネントのマネージドBeanからの出力の表示」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「ADFデスクトップ統合フォーム・タイプ・コンポーネントの追加機能」を参照してください。

マネージドBeanからの出力を表示するには:

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

2. マネージドBeanからの出力を表示するADFコンポーネントを選択し、そのプロパティ・インスペクタを開きます。

図6-15に、ADFラベル・コンポーネントが、アクション・バインディングにより移入された値を持つ属性バインディングからの出力を表示するように構成されている例を示します。

図6-15 実行時にマネージドBeanからの出力を表示するADFラベル・コンポーネント

3. 実行時にマネージドBeanからの出力を取得するEL式を記述します。

図6-15の例は、resリソース・バンドルからの文字列キー(excel.connectionPrefix)の値とloggedInUser属性バインディングの値を取得するEL式を示します。この属性バインディングは、マネージドBeanからの出力を参照します。

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

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

メソッド・アクション・バインディングは、マネージドBeanからの値を取得して属性バインディングに移入します。記述するEL式は、属性バインディングからの値を取得し、出力を表示するように構成したADFコンポーネントを通じてそれをエンド・ユーザーに表示します。たとえば、図6-16に示す設計モードのADFラベル・コンポーネントは、実行時に次のような文字列を表示します。

Connected as sking

図6-16 実行時のマネージドBeanからの出力

図6-16では、skingは統合Excelワークブックを介してFusion Webアプリケーションにログオンしているユーザーのユーザー名です。

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

ADFデスクトップ統合モジュールは、コンポーネント内で、1つのコンポーネントにより、計算または複数のバインディング式の連結に基づいたデータを表示可能なEL式をサポートしています。

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

EL式は、入力テキストまたは出力テキスト・コンポーネントのValueプロパティに対して記述します。

図6-17に、ADF出力テキスト・コンポーネントが2つのフィールド、List PriceおよびCost Price間のマージンを表示するように構成されているEL式の例を示します。

図6-17 計算されたデータを表示するADF出力テキスト・コンポーネント

開始する前に:

ADFコンポーネント内での連結または計算されたデータの表示方法を理解しておくと役立ちます。詳細は、「コンポーネント内での連結または計算されたデータの表示」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「ADFデスクトップ統合フォーム・タイプ・コンポーネントの追加機能」を参照してください。

計算されたデータを表示するEL式を作成するには

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

2. 計算されたデータを表示する、ADF入力テキストまたはADF出力テキストのコンポーネントを選択します。

3. プロパティ・インスペクタを開き、Valueプロパティの参照(...)アイコンをクリックします。

4. 2つ以上の式から出力を取得するEL式を記述します。

次の例は、2つのフィールド、List PriceとCost Priceの値の差異を計算し、それをCost Price列の値で割ってマージンを生成するEL式を示しています。

=(("#{row.bindings.ListPrice.inputValue}"-"#{row.bindings.CostPrice.inputValue}")/"#{row.bindings.CostPrice.inputValue}")

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

EL式の詳細は、「ADFデスクトップ統合のEL式」を参照してください。

注意:

ADF入力テキスト・コンポーネントのValueプロパティに式が含まれる場合、ReadOnlyプロパティの値に関係なく、ADF入力テキスト・コンポーネントは実行時に読取り専用となります。

6.9.2 フォーム・コンポーネントおよびマージされたセルの使用

フォーム・コンポーネントやバインディングをマージされたセルに挿入、またはフォーム・コンポーネントやバインディングの挿入後にセルをマージすることはできますが、複数のフォーム・コンポーネントをマージされたセルに挿入、または異なるフォーム・コンポーネントがあるセルをマージすることはできません。

コンポーネントをマージされたセルに挿入する前に、次のことに注意してください。

- ドラッグ・アンド・ドロップ機能は、コンポーネントのマージされたセルへの挿入ではサポートされません。

- コンポーネント・セルを、上または左にある空白ではないセルとマージしないでください。2つ以上のセルがマージされる場合、Excelでは最も左上のセルのデータおよびスタイルが保持され、残りのセルのデータは破棄されます。そのため、コンポーネント・セルを、上または左にある空白ではないセルとマージすると、コンポーネント・データが上書きされることになります。

- 値またはバインディングがない空のコンポーネント・セルを、上または左の空白のセルと、マージしないでください。空のコンポーネント・セルを、上または左にある空白のセルとマージすると、コンポーネント・セルのスタイルが上書きされることになります。

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

この章では、ADFデスクトップ統合により提供される表タイプ・コンポーネント、その構成方法と使用方法、Fusion Webアプリケーションからデータをダウンロードする方法、統合Excelワークブックで表タイプ・コンポーネントからデータ行の挿入、更新、削除を行う方法、変更内容の追跡方法、表タイプ・コンポーネントで特殊な列を構成する方法、および表タイプ・コンポーネントを使用して実行できるその他のタスクについて説明します。

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

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

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

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

- ADF表コンポーネントへのデータのダウンロード

- ADF表コンポーネントへの保留中の挿入行および保留中の更新行のダウンロード

- ADF表コンポーネントの既存のデータの更新

- ADF表コンポーネントでのデータの挿入

- ADF表コンポーネントからの変更のアップロード

- UploadAllOrNothingアクションを使用したADF表コンポーネントからの変更のアップロード

- Fusion WebアプリケーションでのADF表コンポーネント行の削除

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

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

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

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

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

- 実行時にデータに基づいて列をサイズ変更するためのADF表コンポーネントの構成

- ADF表コンポーネントでの列のグループ化

- 読取り専用にするためのADF表コンポーネントの構成

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

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

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

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

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

ADFデスクトップ統合には、構造化データを表示するためのADF表コンポーネントがあります。エンド・ユーザーには、データ行をダウンロードする機能が提供されます。また、ダウンロードしたデータの編集または削除、新しいデータ行の挿入、および新しいデータ行または編集済のデータ行のアップロードをエンド・ユーザーが行えるようにします。この目的を達成するには、データ・コントロールのメソッドを公開し、ページ定義ファイルでアクション・バインディングを作成して、ExcelワークシートがホストするADF表コンポーネントのプロパティを設定する必要があります。図7-1に、ADF表コンポーネントを示します。

図7-1 ADFデスクトップ統合表タイプ・コンポーネント

それぞれのADF表コンポーネントには、「キー」列が1つ含まれています。「キー」列には、ADFデスクトップ統合で表が正しく機能するために使用される重要な情報が含まれるため、削除しないでください。「キー」列を削除したり、「キー」列のセルを変更すると、エラーおよびデータ破損が発生します。「キー」列の詳細は、「ADF表コンポーネントのキー列の構成」を参照してください。

これらの表タイプ・コンポーネントとともに使用可能な他のADFデスクトップ統合コンポーネントの詳細は、「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」および「値リストの使用」を参照してください。

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

表は、構造化された情報を表示するときに使用されます。たとえば、表7-2は、ADFデスクトップ統合のSummitサンプル・アプリケーションのADF表コンポーネントと、それぞれのFusion Webアプリケーションからダウンロードされたデータを示します。

図7-2 ADF表コンポーネントとダウンロードされたデータ

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

統合Excelワークブックに表コンポーネントを追加した後、表を構成するために追加機能が必要になることがあります。表コンポーネントで使用可能な他の機能へのリンクは次のとおりです。

- 「検索および選択」ダイアログ: 「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」で説明されているように、表の列のModelDrivenColumnComponentサブコンポーネントを構成して、エンド・ユーザーがデータを検索および選択できるダイアログを表示できます。

- 依存値リスト: 表コンポーネントに依存値リスト・コンポーネントを追加できます。詳細は、「統合Excelワークブックでの依存値リストの作成」を参照してください。

- スタイル: 事前定義済のExcelのスタイルをいくつか使用して、フォーム・タイプ・コンポーネントの表示を構成できます。詳細は、「スタイルの使用」を参照してください。

- ツールチップ: 追加の情報や指示テキストをエンド・ユーザーに表示するようにツールチップを構成できます。詳細は、「ADFデスクトップ統合コンポーネントでのツールチップの表示」を参照してください。

- EL式: EL式を表タイプ・コンポーネントとともに使用できます。詳細は、「ADFデスクトップ統合のEL式」を参照してください。

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

ADF表コンポーネントは、ADFデスクトップ統合が公開するOracle ADFコンポーネントの1つです。これは、ADFデスクトップ統合デザイナの作業ウィンドウのコンポーネント・パレットに表示されます。Excelワークシートに挿入された後は、次の操作が可能です。

- 読取り専用

- 挿入専用

- 更新専用

- 挿入と更新

ADF表コンポーネントに固有のページ定義ファイルの要件の詳細は、次の項を参照してください。

エンド・ユーザーにデータ・エントリ機能を提供するようADF表コンポーネントを構成するには、Excelワークシートの基礎となるページ定義ファイルにADFバインディングをあらかじめ構成しておく必要があります。統合Excelワークブックのページ定義ファイルの要件の概要は、「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

ADF表コンポーネント作成のためにページ定義ファイルを作成する際に、次のコントロール・バインディングを公開します。

- 目的の属性バインディングを公開するツリー・バインディング。ADFデスクトップ統合では、ビュー・オブジェクトに対して、スクロール可能な範囲ページング・アクセス・モードのみをサポートしています。他のアクセス・モードはサポートされていません。
統合Excelワークブックで大量のデータをダウンロードする必要がある場合は、範囲ページング・アクセス・モードを使用することを検討してください。詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の範囲ページ移動を使用した大きい結果セットの効率的なスクロールに関する項を参照してください。

範囲ページング・アクセス・モードを使用する場合は、ADFデスクトップ統合で使用する前に、このアクセス・モードがアプリケーションのビュー・オブジェクトでサポートされていることを確認してください。詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の上位N問合せのサポート方法の理解に関する項を参照してください。

また、範囲ページング・アクセス・モードを使用したビュー・オブジェクトは、ポストされていない行ではスクロールできません。このため、保留中の変更がADFデスクトップ統合のアクション・セットで想定どおりコミットまたはロールバックされることを確認してください。ADF表コンポーネントのDownloadアクションを起動する前に、保留中の変更がコミットまたはロールバックされないと、アプリケーションで次の例外がレポートされます。

An attempt has been made to navigate a rowset in range paging mode when the rowset has pending changes.

新しい行を挿入する前に、イテレータにより、必要に応じて最初の行に再配置されます。これは、最初の行の後に新しい行を挿入すると、予期しないスクロールが発生する場合があるためです。この動作は、ADF表コンポーネントのUploadアクションおよび挿入行のダブルクリック・アクション・セットに適用されます。

- ADF表コンポーネントのRowActionsおよびBatchOptionsプロパティ・グループの値を構成する場合、メソッド・アクション・バインディングおよびアクション・バインディング(Execute、Commit、CreateInsertなど)になります。これらのプロパティ・グループに値を設定する手順の例には、次のものがあります。

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

- ADF表コンポーネントでのデータの挿入

- ADF表コンポーネントへの保留中の挿入行および保留中の更新行のダウンロード

図7-3に、ページ定義ファイルExcelCustomers.xmlに含まれるバインディングを示します。このページ定義ファイルは、関連付けられているExcelワークシートでのADF表コンポーネントの使用をサポートします。

図7-3 ADF表コンポーネントの使用をサポートするADFバインディング

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

ページ定義ファイルを正しく構成した後、ADF表コンポーネントをワークシートに挿入して、そのプロパティを構成し、必要な機能を使用可能にできます。ADF表コンポーネントを使用して、データ行のダウンロード、編集、アップロードを行うことができます。

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

次のいずれかの方法を使用して、ADF表コンポーネントを挿入します。

- ADFデスクトップ統合デザイナの作業ウィンドウのバインディング・パレットで、使用するツリー・バインディングを選択して、バインディングの挿入をクリックします。
次の手順では、バインディング・パレットを使用してADF表コンポーネントを挿入する方法について説明します。他の2つの方法ではなく、この方法を使用する利点の1つは、実行時にコンポーネントに表示する各列を手動で追加する必要がないことです。

- 「Oracle ADF」タブで、「コンポーネントの挿入」ドロップダウン・リストから「ADF表」を選択します。

- ADFデスクトップ統合デザイナの作業ウィンドウのコンポーネント・パレットで、「ADF表」を選択して、「コンポーネントの挿入」をクリックします。

開始する前に:

ADF表コンポーネントについて理解しておくと役立ちます。詳細は、「ExcelワークシートへのADF表コンポーネントの挿入」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネントをExcelワークシートに挿入する手順:

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

2. ADF表コンポーネントを挿入するExcelワークシートのセルを選択します。

セルを選択する場合、次を確認します。

- 2つの表のデータが実行時に重複しない

- 選択したセルがマージされたセルではない

3. ADFデスクトップ統合デザイナの作業ウィンドウのバインディング・パレットで、使用するツリー・バインディングを選択して、バインディングの挿入をクリックします。

4. 表示されたダイアログで、「ADF表」を選択して「OK」をクリックします。

注意:

- デフォルトでは、バインディング・パレットを使用してADF表コンポーネントを挿入する際に、ModelDrivenColumnComponentサブコンポーネントは、すべての列のサブコンポーネント・タイプとして定義されます。
列で異なるサブコンポーネント・タイプを使用する場合は、ADF表プロパティ・インスペクタを開き(ADF表コンポーネントの任意のセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリック)、Columnsプロパティの参照(...)アイコンをクリックします。「列の編集」ダイアログで列を選択し、UpdateComponentプロパティの参照(...)アイコンをクリックします。「コンポーネントの選択」ダイアログで、目的のサブコンポーネント・タイプを選択し、バインディングおよび他のプロパティを確認して、「OK」をクリックします。

- 複数の<nodeDefinition>要素(子ノード)を含むツリー・バインディングの場合、UpdateComponentおよびInsertComponentのValueプロパティの式に使用される属性名は、すべての<nodeDefinitions>で一意である必要があります。

5. 表7-1の説明に従って、図7-4に示すプロパティ・インスペクタを使用して、ADF表コンポーネントのプロパティを構成します。

図7-4 ADF表プロパティ・インスペクタ

表7-1 ADF表コンポーネントのプロパティ

設定するプロパティ

設定する値

BatchOptions.CommitBatchActionID

ページ定義ファイルで公開されたCommitアクション・バインディング。

UniqueAttribute

ツリー・バインディングに関連付けられたイテレータの各行を一意に識別するバインディング式を指定します。ツリー・バインディングのイテレータが行キーをサポートしていない場合は、UniqueAttributeプロパティ値のみを指定してください。

RowLimit

(オプション) ADF表コンポーネントでダウンロードされる行数を決定するように、このプロパティ・グループを構成します。

詳細は、「表タイプ・コンポーネントがダウンロードする行数の制限」を参照してください。

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

7. 「コンポーネントの挿入: ADF表」ダイアログで適切なオプションを選択します。

- はい: 新しい表でデータをダウンロードおよびアップロードするためのデフォルトのリボン・コマンドを作成します。これらのリボン・コマンドは後で削除または編集できます。デフォルトのリボン・コマンド・ラベルを変更することをお薦めします。詳細は、「実行時リボン・タブのワークシート・リボン・コマンドの構成方法」を参照してください。

- いいえ: 「ADF表コンポーネントへのデータのダウンロード」および「ADF表コンポーネントからの変更のアップロード」で説明されているように、データを後でダウンロードおよびアップロードする場合、または利用可能なその他のいずれかの方法を使用する場合(例: ワークシート・イベント)。

図7-5は、設計モードでのEditCustomers-DT.xlsxにおけるADF表コンポーネントを示しています。

図7-5 設計モードのADF表コンポーネント

図7-6は、実行時のEditCustomers-DT.xlsxにおけるADF表コンポーネントを示しています。

図7-6 実行時のADF表コンポーネント

ADF表コンポーネントに設定可能なプロパティの詳細は、「ADF表コンポーネントのプロパティおよびアクション」を参照してください。

表コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は、「ADFデスクトップ統合コンポーネントの削除」を参照してください。

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

ツリー・バインディングを使用せずに表を挿入した場合(例: コンポーネント・パレットから表を挿入した場合)、列を表に追加して、表に表示する各属性のデータを表示します。たとえば、顧客の表には、顧客の名前、電話番号、信用評価などを表示する列があります。

ツリー・バインディングを使用して挿入した表に列を追加する場合も、手順は同じです。

開始する前に:

ADF表コンポーネントについて理解しておくと役立ちます。詳細は、「ExcelワークシートへのADF表コンポーネントの挿入」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネントに列を追加するには:

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

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 「コンポーネントの編集: ADF表」ダイアログで、Columnsプロパティの参照(...)アイコンをクリックします。

「列の編集」ダイアログが表示され、選択したADF表コンポーネントのすべての列が一覧表示されます。

4. 「追加」をクリックして、新しい列を追加します。新しい列が、Membersリストの末尾に挿入されます。列を特定の位置に移動するには、列を選択して「上」と「下へ」の配列キーを使用します。

5. ダイアログの右側ウィンドウにある新しい列のプロパティを構成します。

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

ADFデスクトップ統合では、ADF表コンポーネントに追加できる列の数に制限はありません。Excelのバージョンでサポートされる数の列を追加できます。ただし、表の幅が広くなると、操作性とパフォーマンスが低下する場合があります。パフォーマンスが低下した場合は、他の原因を調査する前に、表の列の数を減らしてみてください。ADFデスクトップ統合では、パフォーマンスと操作性を最適化するために、可能であれば、1つの表当たり30列未満の構成にすることをお薦めします。

7.4 ADF表コンポーネントへのデータのダウンロード

ワークシートにADF表コンポーネントを追加したら、Fusion Webアプリケーションからデータをダウンロードするようにワークシートを構成します。これを実行するには、ワークシート・リボン・コマンドなどのOracle ADFコンポーネントを構成して、アクション・セットを起動します。起動されるアクション・セットには、起動されるアクションの中からADF表コンポーネントDownloadアクションを含める必要があります。

ADF表コンポーネントに含まれる行数は、Fusion Webアプリケーションからダウンロードする行数に基づいて増減します。Excelが表タイプ・コンポーネントがダウンロードするデータを受け入れるために行を挿入するときに、複製する場合を除いて、表タイプ・コンポーネントの左右には何も配置しないでください。実行時に表タイプ・コンポーネントに対して位置が維持されるため、表タイプ・コンポーネントの上下には他のコンポーネントを配置できます。

7.4.1 ADF表コンポーネントへのデータのダウンロード方法

ADF表コンポーネントのDownloadアクションを起動するリボン・コマンドを構成します。

開始する前に:

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

ADFコンポーネントを構成してデータをADF表データ・コンポーネントにダウンロードする方法を理解しておくと役立ちます。詳細は、「ADF表コンポーネントへのデータのダウンロード」を参照してください。

データをADF表コンポーネントにダウンロードする手順:

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

2. 「Oracle ADF」タブで、「ワークシート・プロパティ」ボタンをクリックし、リボン・コマンドを追加します。ワークシートにリボン・コマンドを追加する方法の詳細は、「実行時リボン・タブのワークブック・リボン・コマンドの定義方法」を参照してください。

注意:

リボン・コマンドを追加するかわりに、実行時にアクション・セットを起動するように、ワークシート・イベントを構成できます。

3. アクションの編集ダイアログを開き、アクション・セットを構成します。アクション・セットの起動の詳細は、「アクション・セットの使用」を参照してください。

4. 実行時に起動するアクション・セットに、次のアクションを次の順に追加します。

- ADFmAction Executeアクション・バインディング: ADF表コンポーネントのTreeIDプロパティで参照されるイテレータ・バインディングで問合せを実行します。これにより、アクション・セットでADF表コンポーネントのDownloadアクションを起動する前に、バインディングが最新になります。

- ADF表コンポーネントのDownloadアクション。
ADF表コンポーネントDownloadアクションは、ADF表コンポーネントTreeIDプロパティにより参照されるバインディングの現在の状態をダウンロードします。

図7-7に、Excelリボンの「ダウンロード」リボン・コマンドで起動されるアクション・セットが構成される、EditCustomers-DT.xlsxワークブックのアクションの編集ダイアログを示します。

図7-7 ADF表コンポーネントにデータをダウンロードするアクション・セット

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

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

エンド・ユーザーは、構成されたアクション・セットを起動します。アクション・セットは、指定されたアクションのリストを順に起動します。これには、ADF表コンポーネントのDownloadアクションを起動するアクションが含まれます。起動時に、Downloadアクションは、ADF表コンポーネントTreeIDプロパティにより参照されるツリー・バインディングからすべての行をダウンロードします。

実行時にDownloadアクションが起動される場合は、次の点に注意してください。

- Downloadアクションの起動時に、行が変更済とマークされている場合、エンド・ユーザーは、アクションを確認して続行するように求められます(図7-8を参照)。エンド・ユーザーが「いいえ」を選択すると、アクションとアクション・セットはエラーなしで中止されます。

- 既存のすべてのExcel行がExcelの表から削除されます。

- ステータス列からすべてのメッセージが消去されます。

- Excelのフィルタ機能を使用してワークシートに適用された条件は、Uploadアクションの前に自動的にクリアされます。

図7-8 データをADF表にダウンロードする前の確認プロンプト

アクションによりダウンロードされる行数は、ADF表コンポーネントでRowLimitグループ・プロパティに設定された値によって異なります。詳細は、「表タイプ・コンポーネントがダウンロードする行数の制限」を参照してください。

7.5 ADF表コンポーネントへの保留中の挿入行および保留中の更新行のダウンロード

保留中の挿入行は、アップロード時に、新しいデータ行としてイテレータに挿入されるデータのあるワークシートの表の行です。たとえば、エンド・ユーザーが、右クリックのコンテキスト・メニューにある「挿入」オプションを使用して表に新しい行を作成する場合、新しい行は保留中の挿入行として扱われ、アップロード時にイテレータに挿入されます。

保留中の更新行は、アップロード時に、イテレータの既存のデータを更新するデータのあるワークシートの表の行です。たとえば、ツリー・バインディングのイテレータにデータベースから取得した行が含まれている場合、その行がADF表にダウンロードされると、その行は保留中の更新行として扱われます。エンド・ユーザーがこれらの行を変更しアップロードすると、イテレータ内の既存の行はADF表の行の新しい値で更新されます。

大部分の場合、ツリー・バインディングのイテレータ内の行は保留中の更新行としてADF表にダウンロードされます。一部の行を保留中の挿入としてダウンロードする場合は、これらの行の状態をSTATUS_INITIALIZEDに設定する必要があります。行の状態をSTATUS_INITIALIZEDに設定する方法の詳細は、Oracle Fusion Middleware Oracle ADFモデルJava APIリファレンスのsetNewRowStateメソッドを参照してください。

保留中の挿入行と保留中の更新行には次の違いがあります。

- 保留中の挿入行には、ADF表コンポーネントの各列に関連付けられた挿入コンポーネントに対するEL式の値が移入される(InsertUsesUpdate列プロパティがFalseに設定されている場合)のに対し、保留中の更新行には、ADF表コンポーネントの各列に関連付けられた更新コンポーネントに対するEL式の値が移入されます。

- 保留中の挿入行の検証時に、EL式#{components.componentID.currentRowMode}はInsertを返します。これに対し、保留中の更新行の場合は、同じEL式がUpdateを返します。
EL式#{components.componentID.currentRowMode}のcomponentID部分は、ADF表コンポーネントのIDを参照します。

EL式の詳細は、「ADFデスクトップ統合のEL式」を参照してください。

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

Downloadアクションが起動されると、そのアクションはイテレータ内の各行の状態を確認します。状態がSTATUS_INITIALIZEDの行は保留中の挿入行として表にダウンロードされ、他の状態の行は保留中の更新行としてダウンロードされます。

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

STATUS_INITIALIZED行を使用して、保留中の挿入行の一部の属性またはすべての属性の値を事前移入できます。STATUS_INITIALIZED行は検証されないため、Downloadアクションが起動される前に、STATUS_INITIALIZED行の一部を移入し、その行をイテレータに挿入するアクションを構成できます。Downloadアクションはこの行を保留中の挿入行として扱うため、事前移入された行に基づいて新しい行を挿入できます。

STATUS_INITIALIZED行は、ダウンロード中にイテレータから自動的に削除されることに注意してください。ダウンロード後にSTATUS_INITIALIZED行を削除する別のアクションを構成できます。たとえば、次の操作でアクション・セットを構成できます。

1. STATUS_INITIALIZED行を作成するADFmAction

2. Table.Downloadアクション

3. STATUS_INITIALIZED行をクリーン・アップするADFmAction

7.5.3 DownloadForInsertアクションに関する必知事項

ADFデスクトップ統合は、DownloadForInsertと呼ばれる表アクションもサポートしています。DownloadForInsertは現在サポートされていないアクションであり、Downloadアクションと置き換えることができます。DownloadForInsertは、以前のリリースと同様に、引き続き使用できます。Downloadとの主な違いは、DownloadForInsertはイテレータにあるSTATUS_INITIALIZED状態の行のみを考慮する点です。

7.6 ADF表コンポーネントの既存のデータの更新

この項では、表の既存のデータ行に対する変更を編集およびエンド・ユーザーがアップロードできるように、ADF表コンポーネントをどのように構成するかについて説明します。「ADF表コンポーネントからの変更のアップロード」では、変更したデータ行をエンド・ユーザーがアップロードできるように、ADF表コンポーネントをどのように構成できるかについて説明します。

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

エンド・ユーザーが既存のデータを編集できるようにしながら、データ行の追加や削除を制限する場合、追加の構成は必要ありません。次の手順に示すように、プロジェクトおよびADF表コンポーネントが構成されていることを確認します。

データをアップロードするようにADF表コンポーネントを構成する手順:

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

2. 存在しない場合は、Commitアクション・バインディングを、ADF表コンポーネントをホストするExcelワークシートに関連付けられたページ定義ファイルに追加します。

詳細は、「統合Excelワークブックのページ定義ファイルの使用」と「ADF表コンポーネントのページ定義の要件」を参照してください。

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

4. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

5. 表7-2や図7-9に示すように、ADF表コンポーネントのRowActionプロパティが設定されていることを確認してください。

表7-2 ADF表コンポーネントのRowActionプロパティ

プロパティ

値

InsertRowEnabled

False

DeleteRowEnabled

False

UpdateRowEnabled

True

図7-9 データを更新するためのADF表のRowActionsプロパティ

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

エンド・ユーザーが行のデータを変更すると、ADFデスクトップ統合によりその行にマークが付けられ、上向きの三角形が_ADF_ChangedColumn列の行に表示されます。既存のデータを更新した後、エンド・ユーザーはアップロード処理を開始して変更を保存します。ADF表コンポーネントのアップロード処理の詳細は、「ADF表コンポーネントからの変更のアップロード」を参照してください。

Excelは、統合ワークブックで変更された行を、行ごとにではなくバッチ処理でアップロードします。アップロードされる行数をバッチごとに構成し、行のバッチのアップロードおよびコミット時にADF表コンポーネントが起動するアクションを構成できます。バッチ処理の詳細は、「ADF表コンポーネントでのバッチ処理」を参照してください。

ADF表コンポーネントに設定可能なプロパティの詳細は、「ADF表コンポーネントのプロパティおよびアクション」を参照してください。

注意:

Excelのフィルタ機能を使用してワークシートに適用された条件は、Uploadアクションの前に自動的にクリアされます。

7.7 ADF表コンポーネントでのデータの挿入

エンド・ユーザーが新しいデータ行を挿入できるようにADF表コンポーネントを構成できます。このタスクを完了したら、「ADF表コンポーネントからの変更のアップロード」の説明に従って、エンド・ユーザーが新規および変更済データ行をアップロードできるようにコンポーネントを構成することもできます。

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

ADF表コンポーネントでエンド・ユーザーが行った変更をコミットするには、ADF表コンポーネントをホストするExcelワークシートに関連付けられているページ定義ファイルに、アクション・バインディングを追加し、ADF表コンポーネントのいくつかのプロパティを構成します。

開始する前に:

ADF表コンポーネントを構成してデータを挿入する方法を理解しておくと役立ちます。詳細は、「ADF表コンポーネントでのデータの挿入」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

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

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

2. プロジェクトがない場合は、CreateInsertとCommitアクション・バインディングを、ADF表コンポーネントをホストするExcelワークシートに関連付けられたページ定義ファイルに追加します。

詳細は、「統合Excelワークブックのページ定義ファイルの使用」と「ADF表コンポーネントのページ定義の要件」を参照してください。

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

4. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

5. コンポーネントの編集: ADF表ダイアログで、表7-3に示すようにADF表コンポーネントのRowActionsプロパティを構成します。

表7-3 ADF表コンポーネントのRowActionsプロパティ

設定するプロパティ

設定する値

AutoConvertNewRowsEnabled

True。Trueの場合、エンド・ユーザーは、ADF表コンポーネントの行を編集したり、新しいデータをコンポーネントの行に直接貼り付けて、それらをADF表コンポーネントの行に変換したりできます(ワークシートProtection.ModeプロパティがOff (デフォルト値)に設定されている場合)。

ワークシート・プロパティの詳細は、「ワークシートのアクションおよびプロパティ」を参照してください。

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プロパティを構成します。

注意:

「ADF表コンポーネントの挿入方法」の説明に従ってADF表を挿入する際にツリー・バインディングを選択した場合、ADFデスクトップ統合により自動的に適切なプロパティ値が設定されます。(オプション)必要に応じて、他の列プロパティ値を確認して調整します。詳細は、「ADF表コンポーネントの列プロパティ」を参照してください。

表7-5 ADF表コンポーネントのColumnsプロパティ

設定するプロパティ

設定する値

InsertUsesUpdate

True

UpdateComponent

- UpdateComponentプロパティのValueフィールドを、ページ定義ファイルから属性を更新するように設定します。たとえば、#{row.bindings.ProductId.inputValue}とします。

- UpdateComponentのReadOnlyプロパティが正しく設定されていることを検証します。ユーザーが列の値を編集できるようにするには、ReadOnlyをFalseに設定します。それ以外の場合はTrueに設定します。ReadOnlyプロパティのデフォルト値はFalseです。
詳細は、「ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加」を参照してください。

8. Uploadアクションの起動時にコミットするデータを含む列ごとに、手順7を繰り返します。

ADF表コンポーネント・プロパティの詳細は、「ADF表コンポーネントのプロパティおよびアクション」 を参照してください。

注意:

- 多相ビュー・オブジェクトを使用中に新しい行を挿入する場合は、デフォルトのCreateInsertアクション・バインディングでは不十分です。新しく作成した行でも識別子の値を設定するカスタム・メソッドを作成する必要があります。
カスタム・メソッドを作成する際に、ページ定義ファイルでカスタム・メソッドをアクション・バインディングとして公開する必要があります。このアクション・バインディングは、CreateInsertではなくInsertBeforeActionIdとして指定してください。

- InsertRowsAfterUploadEnabledプロパティがFalseに設定されていて、エンド・ユーザーが挿入済のデータをもう一度アップロードしようとすると、行を二度挿入することはできないというエラー・メッセージがステータス列に表示されます。

7.8 ADF表コンポーネントからの変更のアップロード

エンド・ユーザーがADF表コンポーネントでデータに加える変更をFusion Webアプリケーションにアップロードできるように、ADF表コンポーネントおよびホストされるワークシートを構成します。この機能を構成するには、どのようなユーザーによる操作やワークシート・イベントが、ADF表コンポーネントのUploadアクションを起動するアクション・セットを起動するかを決定します。

Uploadアクションは、一部の行で失敗があっても、正常なすべての行をコミットします。1つ以上の行で失敗があったときに行の変更がコミットされないようにする場合は、かわりにUploadAllOrNothingアクションを使用します(「UploadAllOrNothingアクションを使用したADF表コンポーネントからの変更のアップロード」を参照)。Fusion WebアプリケーションからのWebページで、エンド・ユーザーにデフォルトのアップロード用ダイアログとは異なるアップロード・オプションを提供するには、ADF表コンポーネントのUploadを起動するアクションの前に、アクション・セットでDialogアクションを指定する必要があります。詳細は、「カスタムのアップロード・ダイアログの作成方法」を参照してください。

注意:

マスター/ディテール関係では、ADFデスクトップ統合はViewLinkソース属性の編集をサポートしていません。これは、子のビュー・オブジェクトの選択が結果的に変わるためです。誤って編集されないようにするため、ViewLinkソース属性を読取り専用にするか、マスターとディテール間のビュー・リンクを含まないモデル構成を使用してください。

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

ワークシート・リボン・コマンドなどの、ADFコンポーネントを構成し、アクション・セットを起動します。これは、続いてADF表コンポーネントのUploadアクションを起動します。

開始する前に:

ADFコンポーネントを構成してデータをADF表データ・コンポーネントからアップロードする方法を理解しておくと役立ちます。詳細は、「ADF表コンポーネントからの変更のアップロード」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

ADFコンポーネントを構成してADF表コンポーネントに変更済データをアップロードするには:

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

2. 「アクションの編集」ダイアログを開いて、ADF表コンポーネントのUploadアクションを起動するアクション・セットを構成します。

アクション・セットの詳細は、「アクション・セットの使用」を参照してください。

3. ADF表コンポーネントのUploadアクションを、実行時にアクション・セットにより起動されるアクションのリストに追加します。

図7-10は、EditCustomers-DT.xlsxワークブックの「編集実行時」ダイアログを示しています。ここでは、実行時にUploadのラベルの付いたリボン・コマンドにより起動されるアクション・セットが構成されます。

図7-10 ADF表コンポーネントからデータをアップロードするアクション・セット

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

5. 「アップロード・オプション」ダイアログを表示しない場合は、ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

「表のプロパティ」ダイアログでDisplayUploadOptionsをFalseに設定して、「OK」をクリックします。

注意:

このアクション・セットには、ADF表コンポーネントのバッチ・オプションにCommitへのコールがすでに含まれるため、コミット・タイプのアクションのコールは含まれません。詳細は、「ADF表コンポーネントのバッチ・オプションの構成方法」を参照してください。

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

実行時に、エンド・ユーザーは、構成したメカニズム(ADFコンポーネント、ワークシート・リボン・コマンドまたはワークシート・イベント)でアクション・セットを起動します。これによって、次の一連のイベントがトリガーされます。

1. ADF表コンポーネントに動的な列が含まれる場合、ADFデスクトップ統合は前回ADF表コンポーネントのDownloadアクションが起動されたときに展開された動的な列が、まだFusion Webアプリケーションに存在するかどうかを検証します。列が存在しない場合は、ADFデスクトップ統合はアップロード処理を続行するかどうか決めるようエンド・ユーザーにプロンプトを表示します。エンド・ユーザーが続行しないと決めた場合、ADFデスクトップ統合は実行中のアクション・セットに中止コードを返します。

2. ADF表コンポーネントにアップロードする保留中の変更がない場合、ADF表コンポーネントのUploadアクションは実行中のアクション・セットに成功コードを返します。

3. ADF表コンポーネントは、変更した行を1行ずつではなく、バッチでアップロードします。バッチ・オプションはBatchOptionsプロパティ・グループを使用して構成できます。ADF表コンポーネントのバッチ・オプションの詳細は、「ADF表コンポーネントでのバッチ処理」を参照してください。
各バッチ行は次のように処理されて、各バッチの変更されたすべての行が終わるまで処理が続けられます。

a. 挿入された行の場合は、InsertBeforeRowActionIDアクションが起動されます(指定されている場合)。

b. 編集済の行の場合は、ツリー・バインディング・イテレータを正しい行に配置します。

c. キャッシュされたすべての行属性の値を含む、ワークシートからの属性をモデルに設定します。

d. 編集された行の場合、UpdateRowActionIDアクションを起動し、挿入された行については、InsertAfterRowActionIDアクションを起動します(指定されている場合)。

e. アップロードされた行ごとに、成否が「ステータス」列に示されるステータス・メッセージを表示します。行のアップロードに失敗した場合は、「ステータス」列にメッセージが表示されます(例: Update Failed)。失敗の詳細は、失敗した行のセルをエンド・ユーザーがクリックすると、ステータス・ビューアに表示されます。詳細は、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」を参照してください。
「ステータス」列の詳細は、「ADF表コンポーネント内の特殊な列」を参照してください。

f. 行について失敗があった場合、ADF表コンポーネントでAbortOnFailの値が検証されます。AbortOnFailがFalseに設定されている場合、アップロード処理は続行されます。それ以外の場合は、コンポーネントはデータのアップロードを停止し、Commitアクションを起動します。

4. データをアップロードする際、ADF表コンポーネントは次の条件に基づいて実行中のアクション・セットに成功または失敗のコードを返します。

- ADF表コンポーネントがすべてのバッチを問題なくコミットした場合、実行中のアクション・セットに成功のステータスが返されます。Table.DisplayUploadOptionsプロパティがTrueに設定されており、エンド・ユーザーが「アップロード・オプション」ダイアログで「正常にアップロードした後はすべての行をダウンロードします」オプションを選択した場合、ADF表コンポーネントはFusion Webアプリケーションからすべての行をダウンロードします。

- ADF表コンポーネントがすべてのバッチを正常にコミットしなかった場合、アクション・セットはRowActions.FailureActionIDプロパティで指定されたアクションを起動します(このプロパティにアクションが指定されている場合)。ADFデスクトップ統合は、アクション・セットに失敗コードを返します。

Table.DisplayUploadOptionsプロパティがTrueに設定されており、「アップロード・オプション」ダイアログで「失敗した場合は、引き続き後続の行をアップロードします」チェック・ボックスを選択した場合、一部の行で検証に失敗した場合でも、Uploadアクションはアクション・セットに成功コードを返します。

注意:

Excelフィルタが適用されたADF表でUploadアクションが起動されると、Excelフィルタの条件がクリアされ、非表示のExcelワークシート行が表示されますが、フィルタは削除されません。

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

実行時にADF表コンポーネント列のReadOnlyプロパティがTrueに評価された場合、ADF表コンポーネントのUploadアクションは列のセルにあるすべての変更を無視します。

変更トラッキングに関する詳細は、「読取り専用プロパティのEL式の評価」を参照してください。

7.8.4 実行時の処理: アップロード中の行エラーの処理

ADF表コンポーネントがデータのアップロードを開始すると、ADFデスクトップ統合はアップロード処理を開始する前にDataControlFrameセーブポイントを作成します(アップロードされた行のバッチごとに1回)。なんらかのエラーがあった場合、ADFデスクトップ統合はセーブポイントまで戻り、Fusion Webアプリケーションのサーバー・サイドの状態の整合性を維持します。

アップロードされた行のバッチの各行ごとに、ADFデスクトップ統合は次の処理を実行します。

1. 構成されたアクションを起動し、行の属性値の変更を適用して、データの検証を実行。

2. なんらかのエラーがあった場合、セーブポイントの状態に復元。

注意:

必要に応じて2度目の繰り返しが実行され、アップロードに成功したすべての行でその後のアップロード・エラーによって変更が元に戻されたものが再度アップロードされます。

セーブポイントの詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のツリーを使用したマスター/ディテール・オブジェクトの表示に関する項を参照してください。

7.8.5 アップロード・オプションに関する必知事項

実行時、エンド・ユーザーが統合ExcelワークブックからFusion Webアプリケーションにデータをアップロードすると、ADFデスクトップ統合は、行で失敗があった場合に、後続のデータ行を引き続きアップロードし、アップロードに成功すると、すべての行のデータをリフレッシュまたはダウンロードしません。

図7-11に示すように、Table.DisplayUploadOptionsプロパティを設定することで、必要に応じて「アップロード・オプション」ダイアログを有効または無効にできます。DisplayUploadOptionsがTrueに設定されている場合、ADFデスクトップ統合には「アップロード・オプション」ダイアログが表示されます。

図7-11 デフォルトのアップロード・ダイアログ

注意:

Table.DisplayUploadOptionsプロパティは、Table.DisplayUploadOptionsプロパティが含まれていないバージョンのADFデスクトップ統合で作成された統合ExcelワークブックのADF表コンポーネントでは、デフォルトでTrueに設定されます。

「アップロード・オプション」ダイアログを使用して、エンド・ユーザーは次のオプションを有効または無効にできます。

- 失敗した場合は引き続き後続の行をアップロードする。これはデフォルトの動作です。
無効にすると、行で失敗があった場合に、ADFデスクトップ統合はアップロード処理を中断します。

- 正常にアップロードした後はすべてのデータ行をダウンロードする。この動作はデフォルトで無効になっています。
有効にした場合、アップロードが成功すると、ADFデスクトップ統合は、ビュー・オブジェクト・キャッシュから最新のデータをダウンロードします。

注意:

正常にアップロードした後はすべてのデータ行をダウンロードする。チェック・ボックスが選択されている場合、ADFデスクトップ統合は、データベースではなく、ビュー・オブジェクト・キャッシュから最新のデータをダウンロードします。

したがって、エンド・ユーザーが更新したのと同じ行を別のユーザーが更新すると、そのエンド・ユーザーには、データ行のダウンロード後に、別のユーザーが行った更新が表示されません。

エンド・ユーザーが「アップロード・オプション」ダイアログの「取消」をクリックした場合、ADFデスクトップ統合は実行中のアクション・セットに中止コードを返します。エンド・ユーザーが「OK」をクリックすると、アクション・セットはアップロード操作のダイアログで指定したオプションの実行を続けます。

カスタムのアップロード・ダイアログを作成することもできます。詳細は、「カスタムのアップロード・ダイアログの作成方法」を参照してください。

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

デフォルトのアップロード・ダイアログのものとは異なるオプションをエンド・ユーザーに提供する、Fusion Webアプリケーションからのページを表示します。アクション・セットでADF表コンポーネントのUploadアクションを起動するアクションの前に、Dialogアクションを追加します。

注意:

「アップロード・オプションに関する必知事項」で説明されているように、DisplayUploadOptionsプロパティをFalseに設定することで、標準の「アップロード・オプション」ダイアログを表示しないようにできます。

開始する前に:

ADFコンポーネントを構成してデータをADF表データ・コンポーネントからアップロードする方法を理解しておくと役立ちます。詳細は、「ADF表コンポーネントからの変更のアップロード」を参照してください

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

カスタムのアップロード・ダイアログを作成するには:

1. Fusion Webアプリケーションを開発するJDeveloperプロジェクトにページを作成します。このページの作成方法の詳細は、「Fusion WebアプリケーションからのWebページの表示」を参照してください。

2. 「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アプリケーションからのページを表示する詳細は、「Fusion WebアプリケーションからのWebページの表示」を参照してください。

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

カスタムのダイアログが表示されるときに、デフォルトのアップロード・ダイアログではなく、表示されるアクション・セットでDialogアクションを構成するFusion Webアプリケーションからのページが表示されます。

注意:

エンド・ユーザーがデータをアップロードしようとしてサーバーに接続されていない場合、Dialogアクションでカスタムのアップロード・ページが見つからないとエンド・ユーザーにエラーが表示されます。サーバーへの接続がない場合、ADFデスクトップ統合が標準のダイアログに戻ることはありません。

Fusion Webアプリケーションからのページを表示する詳細は、「Fusion WebアプリケーションからのWebページの表示」を参照してください。それ以外の、データをアップロードするために構成するアクション・セットの実行時の動作については、「実行時の処理: ADF表コンポーネントによるデータのアップロード」を参照してください。

7.9 UploadAllOrNothingアクションを使用したADF表コンポーネントからの変更のアップロード

ADFデスクトップ統合は、Table.Upload操作時に正常にアップロードされたすべての行の変更を、1つ以上の行で失敗があった場合でもコミットします。たとえば、100行がアップロードされ、3行のみで失敗があった場合は、97行がデータベースにコミットされます。詳細は、「ADF表コンポーネントからの変更のアップロード」を参照してください。

UploadAllOrNothingアクションを使用すると、すべての行が正常にアップロードされた場合にかぎり変更されたすべての行をコミットするように、アップロード・プロセスを構成できます。たとえば、100行がアップロードされ、いくつかの行で失敗があった場合は、行はデータベースにコミットされません。

UploadAllOrNothingアクションで非常に多くの変更済ワークシート行をアップロードすると、アプリケーション・サーバーでのメモリー消費量が大幅に増加する可能性があります。これは、すべての行が正常に処理された場合のみUploadAllOrNothingアクションがコミットするためです。このため、UploadAllOrNothingアクションは、大きいデータ・セットでの使用を対象にしていません。UploadAllOrNothing.ChangedDataLimitサーブレット・パラメータを使用して、UploadAllOrNothingアクションでアップロードできるデータの量を制限できます。UploadAllOrNothing.ChangedDataLimitサーブレット・パラメータの詳細は、「UploadAllOrNothingアクションを使用してアップロードできる変更済データの量の制限」を参照してください。

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

ワークシート・リボン・コマンドなどのADFコンポーネントを構成し、アクション・セットを起動します。これは、続いてADF表コンポーネントのUploadAllOrNothingアクションを起動します。

開始する前に:

ADFコンポーネントを構成してデータをADF表データ・コンポーネントからアップロードする方法を理解しておくと役立ちます。詳細は、「UploadAllOrNothingアクションを使用したADF表コンポーネントからの変更のアップロード」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

UploadAllOrNothingアクションを使用するためにADFコンポーネントを構成するには:

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

2. 「Oracle ADF」タブで、「ワークシート・プロパティ」ボタンをクリックし、実行時にエンド・ユーザーがアクション・セットを起動するのに使用するリボン・コマンドを追加します。ワークシートにリボン・コマンドを追加する方法の詳細は、「実行時リボン・タブのワークシート・リボン・コマンドの構成方法」を参照してください。

3. アクションの編集ダイアログを開いて、ADF表コンポーネントのアクションを起動するアクション・セットを構成します。

アクション・セットの詳細は、「アクション・セットの使用」を参照してください。

4. ADF表コンポーネントのUploadAllOrNothingアクションを、実行時にアクション・セットにより起動されるアクションのリストに追加します。

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

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

UploadAllOrNothingアクションを選択した場合、ADFデスクトップ統合は、すべての行が正常にアップロードされた場合にかぎり、行の変更をコミットします。

注意:

UploadAllOrNothingアクションは、Uploadアクションと同じ方法でデータをアップロードします。UploadアクションおよびUploadAllOrNothingアクション時にデータがアップロードされる方法の詳細は、「実行時の処理: ADF表コンポーネントによるデータのアップロード」を参照してください。

UploadAllOrNothingアクション時に、ADFデスクトップ統合は、CommitBatchActionIDによって指定されたアクションが起動される前に、変更されたすべてのワークシート行をアップロードします。1つ以上の行レベルの失敗があると、FailureActionIDによって指定されたアクションは起動されますが、CommitBatchActionIDによって指定されたアクションは起動されません。

失敗があると、「変更済」列のすべての値は未変更のままになります。「ステータス」列には、エラーを含む行に対してメッセージが表示されますが、エラーのない行ではすべて空のままです。すべての行が正常にコミットされると、「変更済」列の値は消去され、アップロードされた行の「ステータス」列は成功を示します。

注意:

- UploadAllOrNothingアクションは、データベース・トランザクションをサポートするデータ・コントロールでのみサポートされます。

- CommitBatchActionIDが構成されておらず、アクション・セットにUploadAllOrNothingアクションが含まれている場合は、検証エラーが報告されます。

- UploadAllOrNothingアクションは、すべての更新および挿入行を単一のバッチとして扱います。つまり、ADF表コンポーネントRowData.BatchOptionのStartBatchActionIDおよびCommitBatchActionIDプロパティで指定されたアクション・バインディングは、操作ごとに1回起動されます。

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

UploadAllOrNothingアクションで非常に多くの変更済ワークシート行をアップロードすると、アプリケーション・サーバーでのメモリー消費量が大幅に増加する可能性があります。このため、これは、大きいデータ・セットでの使用を対象にしていません。UploadAllOrNothingアクションの実行時にエンド・ユーザーが非常の多くのデータをアップロードすることを防ぐために、アップロードできる変更済データの合計を制限するUploadAllOrNothing.ChangedDataLimitサーブレット・パラメータを設定します(Kbで指定)。パラメータ値が指定されない場合は、デフォルトの制限値の10,240 Kbが使用されます。このサーブレット・パラメータにデフォルトより大きい値を指定する場合は、パフォーマンスおよびスケーラビリティのテストと分析を実行し、アプリケーション・サーバーへの影響を測定するようにしてください。

変更済データのアップロードの合計がUploadAllOrNothing.ChangedDataLimit値を超過すると、エンド・ユーザーにエラー・メッセージが報告され、UploadAllOrNothingアクションが中止されます。変更済データの制限を超過すると、Table.RowActions.FailureActionIDによって指定されたアクションが起動されます。

アップロード可能な変更済データの量の上限を変更する手順:

1. Fusion Webアプリケーションのweb.xmlファイルを開きます。

2. 表7-7の説明に従って、UploadAllOrNothing.ChangedDataLimitサーブレット・パラメータを追加します。

表7-7 アップロード可能な変更済データの量の制限

プロパティ

値

Name

サーブレット・パラメータの名前を次のように入力します。

UploadAllOrNothing.ChangedDataLimit

Value

アップロード可能な変更済データの合計量をKB単位で指定します。

3. web.xmlファイルを保存します。

4. Fusion Webアプリケーションをリビルドして再起動します。

例7-1 UploadAllOrNothing.ChangedDataLimitサーブレット・パラメータを含むweb.xmlファイル

<servlet>
<servlet-name>adfdiRemote</servlet-name>
<servlet-class>oracle.adf.desktopintegration.servlet.DIRemoteServlet</servlet-class>
<init-param>
<param-name>UploadAllOrNothing.ChangedDataLimit</param-name>
<param-value>10240</param-value>
</init-param>
</servlet>

例7-1に、ADFデスクトップ統合のweb.xmlファイルのSummitサンプル・アプリケーションのUploadAllOrNothing.ChangedDataLimitのエントリを示します。

7.10 Fusion WebアプリケーションでのADF表コンポーネント行の削除

ADF表コンポーネントは、アクション(DeleteFlaggedRows)を公開します。このアクションは起動されると、ADF表コンポーネントでフラグの付いた行に対応するFusion Webアプリケーションの行を削除します。ADF表コンポーネントでフラグの付けられた行とは、「ADF表コンポーネントでのバッチ処理」に示すように、エンド・ユーザーがダブルクリックしたか、_ADF_FlagColumn列のセルに文字を入力した行です。_ADF_FlagColumn列を構成してFusion Webアプリケーションの行を削除するには、列がADF表コンポーネントに存在する必要があります。

また、ADF表コンポーネントをホストするワークシートに関連付けるページ定義ファイルは、Deleteアクション・バインディングを公開する必要があります。

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

ADF表コンポーネントから行を削除するには、Deleteアクション・バインディングをページ定義ファイルに追加し、ADF表コンポーネントのRowActionsプロパティ・グループを構成して、さらにアクション・セットを構成してDeleteFlaggedRowsアクションを起動する必要があります。

開始する前に:

ADF表コンポーネントを構成してFusion Webアプリケーションのデータ行を削除する方法を理解しておくと役立ちます。詳細は、「Fusion WebアプリケーションでのADF表コンポーネント行の削除」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネントを構成して、Fusion Webアプリケーションで行を削除するには:

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

2. 存在しない場合は、Deleteアクション・バインディングを、ADF表コンポーネントをホストするExcelワークシートに関連付けられたページ定義ファイルに追加します。

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

3. ADF表コンポーネントのプロパティ・インスペクタを開いて、表7-8に示すようにRowActionsプロパティ・グループの値を設定します。

表7-8 ADF表コンポーネントのRowActionsプロパティ

設定するプロパティ

目的

DeleteRowActionID

ページ定義ファイルで公開されたDeleteアクション・バインディング。指定したDeleteアクション・バインディングは、イテレータの現在の行を削除するように想定されています。

DeleteRowEnabled

Trueに設定すると、ADF表コンポーネントでFusion Webアプリケーションの行を削除できます。

デフォルト値はFalseです。

ADF表コンポーネント・プロパティの詳細は、「ADF表コンポーネントのプロパティおよびアクション」 を参照してください。

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

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

6. 「Oracle ADF」タブで、「ワークシート・プロパティ」ボタンをクリックし、実行時にエンド・ユーザーがアクション・セットを起動するのに使用するリボン・コマンドを追加します。ワークシートにリボン・コマンドを追加する方法の詳細は、「実行時リボン・タブのワークシート・リボン・コマンドの構成方法」を参照してください。

7. ADF表コンポーネントのDeleteFlaggedRowsアクションを、実行時にアクション・セットにより起動されるアクションのリストに追加します。

アクション・セットの起動の詳細は、「アクション・セットの使用」を参照してください。

8. (オプション)失敗した場合でも、アクション・セットで処理を継続する場合は、DeleteFlaggedRowsアクションのOptions.AbortOnFailureプロパティをFalseに設定します。デフォルト値はTrueです。

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

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

エンド・ユーザーは、「ADF表コンポーネントでの行のフラグ付け」で説明されているように、削除する行にフラグを付けます。それからエンド・ユーザーはアクション・セットを起動します。次に示す一連のイベントが発生します。

1. 指定があれば、BatchOptions.StartBatchActionIDプロパティに参照されるアクション・バインディングが起動されます。
この手順での失敗はエラーとして処理されます。エラーがあると、アクション・セットの起動が停止します。また、アクション・セットにエラー条件が返されます。ActionSet.FailureActionIDプロパティにアクション・バインディングが指定されている場合、アクション・セットは指定されたアクション・バインディングを起動します。

バッチ・オプションの構成の詳細は、「ADF表コンポーネントでのバッチ処理」を参照してください。

2. アクション・セットは、ADF表コンポーネントでフラグ付けされた行ごとに、ツリー・バインディング・イテレータを正しい行に配置し、RowActions.DeleteRowActionIDで指定されたdelete-typeアクション・バインディングを起動します。

注意:

ADF表コンポーネントのDownloadアクションを最後に起動した後に挿入され、Fusion Webアプリケーションにアップロードされていない行は、削除のフラグが付いていても無視されます。

3. ADF表コンポーネントでフラグ付けされた各行について、RowActions.DeleteRowActionIDで指定されたdelete-typeアクション・バインディングが失敗した場合、次のイベントはDeleteFlaggedRowsアクションのOptions.AbortOnFailureプロパティで指定した値に依存します。Falseの場合、アクション・セットは、最初の失敗時に停止することなく、フラグ付けされたすべての行の削除を試みます。フラグ付けされた行の削除がアクション・セットで失敗すると、その行は次のようになります。

- ADF表コンポーネントに残る

- ADF表コンポーネントの「ステータス」列でFailedとマークされる

- 正常に削除されたフラグ付きの行のバッチをアクション・セットがコミットする際にスキップされる

- 「フラグ付き」列のセルにフラグを付けたままにする

DeleteFlaggedRowsアクションのOptions.AbortOnFailureプロパティがTrue (デフォルト値)に設定されている場合、ADF表コンポーネントはDeleteFlaggedRowsアクションの起動を停止します。

4. BatchOptions.CommitBatchActionIDプロパティにアクション・バインディングが指定されている場合、アクション・セットがそれを起動します。この手順に失敗した場合、アクション・セットはバッチ処理を停止します。失敗がなかった場合、アクション・セットはBatchOptions.StartBatchActionIDプロパティによって指定されたアクション・バインディングを起動することにより、すべてのバッチがアクションによって処理されるまで次のバッチを処理します。

5. アクション・セットがすべてのバッチを正常に処理した場合、ActionOptions.SuccessActionIDプロパティにアクション・バインディングが指定されていれば、このプロパティにより指定されたアクション・バインディングが起動されます。RowActions.DeleteRowActionIDで指定されているdelete-typeアクション・バインディングが起動して、Fusion Webアプリケーションにより削除された行がワークシートから削除され、アクション・セットに成功コードが戻されます。
アクションがバッチを処理する間に失敗があった場合、アクション・セットはそのActionOptions.FailureActionIDプロパティで指定されたアクション・バインディングを起動します(このプロパティにアクション・バインディングが指定されている場合)。このアクション・バインディングは、アクション・セットに失敗コードを返します。

6. アクション・セットがアクションを起動する際に予期しない例外が発生した場合、アクション・セットにエラー・コードが返されます。関連するすべてのエラー・メッセージがステータス・ビューアに表示されます。詳細は、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」を参照してください。

注意:

Excelフィルタが適用されたADF表でDeleteFlaggedRowsアクションが起動されると、Excelフィルタの条件がクリアされ、非表示のExcelワークシート行が表示されますが、フィルタは削除されません。

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

パフォーマンスとスケーラビリティを最適化するために、ADF表コンポーネントのUploadおよびDeleteFlaggedRowsアクションは、行単位ではなく、バッチで変更をコミットします。バッチのサイズや、バッチのアップロード時にADF表コンポーネントが起動するアクションを決定するバッチ・オプションのプロパティを構成できます。

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

ADF表コンポーネントには、ADF表コンポーネントによる行のバッチの管理を構成できるプロパティ・グループ(BatchOptions)があります。これらのプロパティの詳細は、「ADF表コンポーネントのプロパティおよびアクション」 を参照してください。

開始する前に:

ADF表コンポーネントのアップロード・データ、削除データ、およびバッチ・プロセスの両方のタスクについて理解しておくと役立ちます。詳細は、「実行時の処理: ADF表コンポーネントによるデータのアップロード」、「実行時の処理: Fusion Webアプリケーション内でのADF表コンポーネントによる行の削除」および「ADF表コンポーネントでのバッチ処理」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネントのバッチ・オプションを構成するには:

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

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 表示されたプロパティ・インスペクタでBatchOptionsプロパティ・グループの値を設定します。

表7-9 RowData.BatchOptionsプロパティ

設定するプロパティ

目的

BatchSize

ADF表コンポーネント・アクション(UploadまたはDeleteFlaggedRows)がCommitBatchActionIDにより指定されたアクション・バインディングを起動する前に、どれだけの行を処理するかを指定します。正の整数以外の値の場合、1回のバッチですべての行が処理されます。デフォルト値は100行です。

CommitBatchActionID

ADF表コンポーネントがそれぞれのバッチを処理した後で起動するアクション・バインディング。通常これはCommitアクション・バインディングです。

LimitBatchSize

True

Trueの場合、ADF表コンポーネントはBatchSizeの値により決定されるバッチで行を処理します。デフォルト値はTrueです。

Falseの場合、ADF表コンポーネントは変更されたすべての行を1つのバッチでアップロードします。

ADF表コンポーネントですべての行をアップロードする場合、または失敗時に行をアップロードしない場合、このプロパティをFalseするだけでは十分ではありません。かわりに、「UploadAllOrNothingアクションを使用したADF表コンポーネントからの変更のアップロード」の説明に従って、UploadAllOrNothingアクションを起動する必要があります。

StartBatchActionID

(オプション)各バッチの開始時に起動するアクション・バインディングを指定します。

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

エンティティ・レベルでの失敗はバッチの失敗とは見なされません。コミット・レベルでの失敗(たとえば、外部キー属性の間違った値)はバッチの失敗と見なされます。

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

ADF表コンポーネントからデータをアップロードする際に、特定の状況でエンド・ユーザーにエラーがレポートされる可能性があります。バッチからの変更を記録した後に、ADFデスクトップ統合はCommitBatchActionIDで指定されたアクションを実行します。CommitBatchActionIDによって指定されたアクションの実行中に失敗があったバッチの行では、失敗の詳細がステータス・ビューアに表示されます。変更があったバッチの行は、失敗時にBatch Failedが「ステータス」列に表示される前に、サーバーに正常にポストされます。

コミット・アクション中に発生したエラーは、それ以降のレコードのバッチにエラーがなくても、後に続くバッチ・コミット・アクションで引き続き報告される可能性があります。これは、CommitBatchActionIDアクションが失敗し、保留中のモデル更新が自動的に元に戻らなかった場合に発生する可能性があります。このようなエラーを回避するには、コミットが失敗した後に存在する保留中のモデル更新を明示的に元に戻す必要があります。たとえば、最初に保留中のモデル変更をコミットしようとするカスタムのアクションをCommitBatchActionIDに作成します。ただし、コミット中に例外が発生した場合は、カスタム・メソッドは後に続くすべてのバッチ・コミットが成功するように、最初に保留中のモデル変更をロールバックする必要があります。

注意:

クライアントで期待されるとおりにコミット・エラーが報告されるように、ロールバック後にコミットの例外がスローされることが重要です。

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

ADF表コンポーネントには、ワークシートにADF表コンポーネントを挿入する際にいくつかの列がデフォルトで含まれています。これらの列は、必要に応じてそのまま残しておくことも、削除することもできます。次に、これらの列とその目的を示します。

- _ADF_ChangedColumn
この列のセルは、ADF表コンポーネントの行の変更を追跡します。ダウンロードまたは最後に成功したアップロード以降にADF表コンポーネントの行のデータを変更した場合、上向き矢印のような記号が、_ADF_ChangedColumn列の対応するセルに表示されます。ユーザーのこの列のセルをダブルクリックすると、この記号は切り替わります(表示または非表示)。図7-12に例を示します。

図7-12 ADF表コンポーネントの変更された列

注意:

エンド・ユーザーがADF表コンポーネントのUploadアクションで、この列によってマークされた行の変更をアップロードしない場合、ユーザーは対応するセルに表示されるエントリをクリアする必要があります。

ADF表コンポーネントがUploadアクションを起動すると、空でないセルを含むすべての行が_ADF_ChangedColumn列にアップロードされます。詳細は、「ADF表コンポーネントからの変更のアップロード」を参照してください。

- _ADF_FlagColumn
エンド・ユーザーがこの列のセルをダブルクリックすると、対応する行がフラグ付けされた行処理としてフラグ付けされます。実線の円記号が表示され、フラグ付けされた行処理のために行にフラグが付けられたことが示されます。この列の使用の詳細は、「ADF表コンポーネントでの行のフラグ付け」を参照してください。

注意:

デフォルトでは、実線の円記号はフラグ付けされた行処理としてフラグ付けされた行を示します。ただし、_ADF_FlagColumnの空白でないセルは、フラグ付けされた行処理のために対応する行にフラグを付けます。

- _ADF_StatusColumn
この列は、DeleteFlaggedRowsやUploadなどのADF表コンポーネント・アクションの起動の結果をレポートします。

_ADF_StatusColumnのセルにメッセージが表示され、対応する行の起動結果が示されます。エンド・ユーザーがADF表列で定義されたDoubleClickActionSetを起動してエラーが発生した場合、そのエラーは対応する行の「ステータス」列でもレポートされます。図7-13に、アップロードが失敗した行の「ステータス」列のメッセージの例を示します。ステータスの詳細は、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」で説明されているステータス・ビューアに表示されます。

図7-13 ADF表コンポーネントのステータス列

- _ADF_RowKeyColumn
「キー」列とも呼ばれるこの列には、実行時にADFデスクトップ統合によって使用されるADF表コンポーネントに関する重要な情報が含まれます。この列は実行時と設計時の両方に表示されます。「キー」列は、ADF表コンポーネントが正しく機能するために必要なため、削除しないでください。その外観に関連するプロパティを構成できます。

_ADF_RowKeyColumnの詳細は、「ADF表コンポーネントのキー列の構成」を参照してください。

ADF表コンポーネントでは、_ADF_ChangedColumn列、_ADF_FlagColumn列、_ADF_RowKeyColumn列および_ADF_StatusColumn列のプロパティは、それが参照する他の列のプロパティとは別の方法で処理されます。InsertComponent、InsertUsesUpdate、UpdateComponentなどのプロパティの値セットは、表A-13に示すようなDisplayRowErrorsアクションを起動する場合を除いて無視されます。CellStyleNameやHeaderStyleNameなど、スタイルや外観に関連するプロパティの値が読み取られます。

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

ADF表コンポーネントには、フラグの付いた処理で行を簡単に選択できる_ADF_FlagColumn列がデフォルトで含まれています。_ADF_FlagColumn列のセルをダブルクリックすると、対応する行にコンポーネント・アクションによって起動されるアクションによる処理のフラグが付きます。

エンド・ユーザーが_ADF_FlagColumn列のセルをダブルクリックすると、セルに実線の円が表示されるか非表示になり、その行にフラグが付いているかどうかが示されます。図7-14はフラグの付いた列の例を示します。

図7-14 ADF表コンポーネントのフラグ付けされた列

注意:

デフォルトでは、実線の円記号はフラグ付けされた行処理としてフラグ付けされた行を示します。ただし、_ADF_FlagColumn列の空白でないセルは、フラグ付けされた行処理のために対応する行にフラグを付けます。

次のコンポーネント・アクションは、フラグ付けされた行に対して起動できます。

- DeleteFlaggedRows

- DownloadFlaggedRows

すべての行にフラグを付けるにはFlagAllRowsコンポーネント・アクションを、ADF表コンポーネントのすべての行からフラグを取るにはUnflagAllRowsコンポーネント・アクションを使用できます。

注意:

- ADF表コンポーネントのDownloadFlaggedRowsアクションは、最後にDownloadやDownloadForInsertアクションを起動した後の表列構造の変更をサポートしていません。表列構造は通常、動的な列を使用していたり、Visibleプロパティに複雑な式がある列が表に含まれる場合に変わります。

- DownloadFlaggedRowsアクションは挿入された行には適用できません。

これらのコンポーネント・アクションの使用は、ADF表コンポーネントの_ADF_FlagColumn列があるかどうかによって決まります。ADF表コンポーネントから_ADF_FlagColumn列を削除すると、これらのコンポーネント・アクションはいずれも起動できません。これらのコンポーネント・アクションの詳細は、「ADF表コンポーネントのアクション」を参照してください。

実行時にはエンド・ユーザーは以前にリストされたすべてのコンポーネント・アクションをアクション・セットから起動できます。起動されたコンポーネント・アクションは、フラグ付けされたすべての行を処理します。たとえば、フラグ付けされたすべての行をダウンロードまたは削除します。コンポーネント・アクションを起動するアクション・セットの構成の詳細は、「アクション・セット内のコンポーネント・アクションの起動方法」を参照してください。

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

統合ExcelワークブックにADF表を追加すると、設計時に「キー」列(列ID: _ADF_RowKeyColumn)が自動的に表示されます。「キー」列には、ADFデスクトップ統合で表が正しく機能するために使用される重要な情報が含まれます。実行時には「キー」列を削除しないでください。

7.13.1 キー列の構成方法

「キー」列の位置、スタイルのプロパティ、ヘッダー・ラベルを構成できます。デフォルトでは、Key Cellスタイルが適用されます。

開始する前に:

ADF表コンポーネントのキー列について理解しておくと役立ちます。詳細は、「ADF表コンポーネントのキー列の構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

「キー」列を構成するには:

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

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 「コンポーネントの編集: ADF表」ダイアログで、Columnsの入力フィールドの横にある参照(...)アイコンをクリックします。

「列の編集」ダイアログが表示され、選択したADF表コンポーネントのすべての列が一覧表示されます。

4. IDが_ADF_RowKeyColumnの列を選択します。

5. 必要に応じて列のプロパティを変更します。ただし、次のプロパティは変更しないでください。

- DynamicColumn

- InsertComponent

- InsertUsesUpdate

- UpdateComponent

- ID

- Visible

6. 必要に応じて、上矢印キーと下矢印キーを使用して列の位置を変更し、列の外観を決定するプロパティの値(Label、TooltipおよびStyle)を変更します。

7. 「OK」をクリックして、「列の編集」ダイアログを閉じます。

8. 「OK」をクリックして、コンポーネントの編集: ADF表ダイアログを閉じます。

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

旧バージョンのADFデスクトップ統合を使用して準備および構成された統合Excelワークブックを使用する場合、設計時に「キー」列は使用できません。この列は実行時にのみ表示されます。「キー」列のプロパティを構成するには、設計時にこれをワークブックに追加します。

開始する前に:

ADF表コンポーネントのキー列について理解しておくと役立ちます。詳細は、「ADF表コンポーネントのキー列の構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

設計時に手動で「キー」列を追加するには:

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

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 表7-10の説明に従って、ADF表に新しい列を追加してプロパティを指定します。列の追加の詳細は、「ADF表コンポーネントへの列の追加方法」を参照してください。

表7-10 「キー」列のプロパティ

設定するプロパティ

値

CellStyleName

Key Cell

HeaderStyleName

Column Header

DynamicColumn

False

HeaderLabel

#{_ADFDIres[COMPONENTS_TABLE_ROWKEY_COL_LABEL]}

ID

_ADF_RowKeyColumn

InsertUsesUpdate

True

UpdateComponent

OutputText

Valueのプロパティは空白にする必要があります。

Visible

True

必要に応じて、上矢印キーと下矢印キーを使用して列の位置を変更し、列の外観を決定するプロパティの値(Label、TooltipおよびStyle)を変更します。

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

注意:

新しい列のIDプロパティを_ADF_RowKeyColumnに指定する必要があります。そうしなければ、この列は「キー」列と見なされず、実行時に別の「キー」列が自動的に表示されます。

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

ビュー・オブジェクトによって返される使用可能な属性に応じて、実行時にADF表コンポーネントが拡張または収縮するように、ADF表コンポーネントに動的な列を追加できます。TableColumn配列内にあるColumnsグループのDynamicColumnプロパティによって、この動作は制御されます。列を動的にするには、DynamicColumnプロパティをTrueに設定します。TableColumn配列の動的な列とは、属性名が設計時に認識されていないツリー・バインディングまたはツリー・ノード・バインディングにバインドされている列です。動的な列は、実行時に複数のワークシートの列に拡張できます。

ADF表コンポーネントの動的な列は、次のサブコンポーネント・タイプをサポートしています。

- ModelDrivenColumnComponent

- 入力テキスト

- 出力テキスト

注意:

ADFデスクトップ統合は、動的な列にあるサブコンポーネント・タイプTreeNodeListをサポートしていません。

モデルドリブンの値リストのサポート

また、動的な列を構成して、サブコンポーネント・タイプが実行時のモデルの構成から決定される値リスト・サブコンポーネントをサポートできます。設計時には、UpdateComponentプロパティまたはInsertComponentプロパティに対して、サブコンポーネント・タイプをModelDrivenColumnComponentと指定します。実行時には、動的な列の拡張の際に、値リストをキャッシュする前にモデルドリブンのランタイム・コンポーネントが決定されます。リモート・サーブレットによって、クライアントはモデル構成を取得でき、クライアントは希望する列のサブコンポーネント・タイプを選択できるようになります。詳細は、「ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加」および「ADF表コンポーネント列での値リストの作成」を参照してください。

注意:

複数の<nodeDefinition>要素を含むツリー・バインディングがADF表コンポーネントで使用される場合、動的な列に使用されるモデルドリブン・リストの名前は、すべてのノードで一意である必要があります。

7.14.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}

宣言型SQLモードによるビュー・オブジェクトのサポート

宣言型SQLモードで構成され、実行時にカスタマイズされたビュー・オブジェクトをサポートするために、属性が定義されていないページ定義ファイルのツリー・バインディングを公開します。例:

<tree IterBinding="DeclSQLModeIterator" id="DeclSQLModeTree">
<nodeDefinition Name="DeclSQLModeTreeNode"/>
</tree>

実行時に、ツリー・バインディングは選択した属性を、基礎となる宣言型SQLモード・ビュー・オブジェクトから統合Excelワークシートへ戻します。

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

ADF表コンポーネントのDownloadアクションまたはDownloadForInsertアクションが起動されると、ADF表コンポーネントは一致する属性の最新のセットが含まれるように動的な列を自動的に更新します。Downloadが起動されるたびに、ADFデスクトップ統合は動的な列に対して、すべての行に同じ属性セットがあることを要求します。Downloadの際に属性のセットが行ごとに異なる場合、エラーが発生することがあります。

動的な列がInsert操作とUpdate操作をどちらもサポートする場合、動的な列のInsertComponentサブコンポーネントとUpdateComponentサブコンポーネントについて、Valueプロパティに同じEL式を指定する必要があります。実行時には、ADF表コンポーネントはEL式により返される属性バインディングの値を表示する動的な列を含むように拡張します。

通常、一致する属性のセットは、ADF表コンポーネントのDownloadアクションの起動からUploadアクションの起動までの間は変更されません。ただし、ADF表コンポーネントがUploadアクションを起動したときに、以前にダウンロードした属性がツリー・バインディングにもう存在しない場合、統合Excelワークブックは、データのアップロードを続行するかどうか決めるようエンド・ユーザーにプロンプトを表示します。前述のシナリオ(ダウンロードした属性がツリー・バインディングにもう存在しない)を回避する方法の詳細は、「複数のWebセッション間における統合Excelワークブックの使用」を参照してください。

注意:

ADF表コンポーネントは、列を動的として構成する場合、列のVisibleプロパティの値を無視します。ADF表コンポーネントの列プロパティの詳細は、表A-12を参照してください。

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

次の構文を使用して、動的な列のHeaderLabelプロパティにEL式を記述します。

#{bindings.TreeID.[TreeNodeID].hints.AttributeNamePrefix*.label}

または

#{bindings.TreeID.hints.AttributeNamePrefix*.label}

動的な列でInsert操作およびUpdate操作がサポートされている場合、動的な列のInsertComponentおよびUpdateComponentのValueプロパティに指定するものと同じツリー・バインディングID、ツリー・ノード・バインディングID、および属性名の接頭辞の値を、動的な列のHeaderLabelプロパティで指定します。

エンド・ユーザーが値を入力しなければならない必須の列に、記号や文字列でマークを付ける場合は、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.14.4 動的な列のスタイルの指定方法

展開したすべての列に同じスタイルを適用できる場合は、動的な列のCellStyleNameプロパティにリテラル・スタイル名を指定します。

ただし、展開した別の列に異なるスタイルが必要な場合、動的な列のCellStyleNameプロパティにEL式を指定する必要があります。

adfdiCellStyleなどのカスタム属性プロパティを使用して、属性ごとに異なるスタイルを指定できます。次の構文は、CellStyleName EL式に使用されます。

#{bindings.TreeID.[TreeNodeID].hints.*.adfdiCellStyle}

カスタム属性プロパティの詳細は、「ADFデスクトップ統合ELベースのプロパティとカスタム属性プロパティの使用」を参照してください。

または、より複雑なEL式をスタイル名の計算に使用して、属性ごとに異なるスタイルを指定できます。

次の例では、すべてのdate列にMyDateStyleスタイルが適用され、他のデータ型の列にはMyDefaultStyleが適用されます。

=IF("#{bindings.MyTree.[myapp.model.MyChildNode].hints.*.dataType}"="date", "MyDateStyle", "MyDefaultStyle")

EL式の詳細は、「ADFデスクトップ統合のEL式」を参照してください。

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

ModelDrivenColumnComponentは、ADF表コンポーネントを挿入したときのデフォルトのサブコンポーネントです。列サブコンポーネントのタイプは、サーバー上に指定された列の属性のコントロール・タイプのヒントにより、実行時に決まります。

設計時には、列について、UpdateComponentプロパティまたはInsertComponentプロパティに対して、サブコンポーネント・タイプをModelDrivenColumnComponentと指定します。実行時に、属性に関連付けられたモデルドリブン・リストがある場合、列は、モデルドリブン・リスト項目を含むドロップダウン・リストを使用します。

注意:

- 日付属性を含むモデルドリブン列に(オプションの)日付ピッカーを使用するには、Compatibility.TableComponents.ModelDrivenColumns.DatePickerEnabledプロパティをTrueに設定します。詳細は、「ADFデスクトップ統合互換性のプロパティ」を参照してください。

- 属性に関連付けられたモデルドリブン・リストがなかったり、リストに基づいていないコントロール・タイプが指定されている場合、列で入力テキスト・サブコンポーネントが使用されます。コントロール・タイプがcombo_lovのモデルドリブン・リストがある場合、列は入力テキスト・サブコンポーネントを使用します。

- 依存値リストの実装では、ADF表コンポーネントで複数のModelDrivenColumnComponentサブコンポーネントが使用される場合に、ADFデスクトップ統合は、各リストのサブコンポーネントが別のモデルドリブン・リストに依存するかどうかを決定します。これを行うために、リストに指定されたバインド変数が、別のリストにバインドされた属性を参照するかどうかが検証されます。詳細については、表8-1を参照してください。

モデルドリブン・リストの作成の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のモデルドリブン・リストの作成方法に関する項を参照してください。

7.16 実行時にデータに基づいて列をサイズ変更するためのADF表コンポーネントの構成

ADF表コンポーネントの列幅を構成して、実行時に自動的にサイズ変更されるようすることができます。列は、Excelの列幅の自動調整機能を使用してサイズ変更できます。この機能は、列のデータ値に基づいて幅を決定します。ADFデスクトップ統合では、EL式から導出された明示的な幅値を使用して列をサイズ変更することもできます。

ADF表の列のサイズ変更の動作は、表レベルで構成されます。その後、列レベルでオーバーライドできます。

実行時の列幅のサイズ変更は、2ステップのプロセスです。まず、目的の幅関連プロパティ値で表の列を構成します。次に、ADF表コンポーネントのResizeColumnsアクションを目的のアクション・セットに追加します。通常は、アクション・セットのADF表コンポーネントのDownloadアクションの後に。このアクションを追加します。「ADFデスクトップ統合のサンプル・アプリケーションの概要」に説明されているSummitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックは、この実装を示します。

7.16.1 実行時に列をサイズ変更するようにADF表コンポーネントを構成する方法

設計時ResizeColumnsModeプロパティを使用して、ADF表コンポーネントのすべての列の共通サイズ変更動作を指定できます。ResizeColumns表コンポーネント・メソッドを使用して、サイズ変更がいつ行われるかを制御します。特定の列のサイズ変更動作をオーバーライドするには、列のResizeModeプロパティを使用します。

開始する前に:

これは、ADF表の列のサイズ変更動作の構成を理解するのに役立つことがあります。詳細は、「実行時にデータに基づいて列をサイズ変更するためのADF表コンポーネントの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表の列のサイズ変更動作を構成する手順:

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

2. ADF表コンポーネントのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 「コンポーネントの編集: ADF表」ダイアログで、ResizeColumnsModeプロパティを表7-11の説明に従って構成および設定します。

表7-11 ADF表コンポーネントのResizeColumnsMode値

値

説明

UseColumnValue

デフォルトです。表のすべての列のサイズは、そのColumn.ResizeModeプロパティ値に基づいて変更されます(または変更されません)。InheritFromTableを含む列のサイズは変更されません。Column.ResizeModeプロパティがInheritFromTable以外の値に設定されている個々の列は、適宜サイズ変更されます。

AutoFitAllWithHeader

表の境界内のすべての列が、Excelの自動調整サポートを使用して最適なサイズに変更されます。ヘッダー・セルを含む列のセルのデータ値が最適なサイズの決定に使用されます。

Column.ResizeModeプロパティがInheritFromTable以外の値に設定されている個々の列は、適宜サイズ変更されます。

表の上または下にある列のセルの値は、最適なサイズの検出時に考慮されません。

AutoFitAllWithoutHeader

表の境界内のすべての列が、Excelの自動調整サポートを使用して最適なサイズに変更されます。ヘッダー・セルを除く列のセルのデータ値が最適なサイズの決定に使用されます。

Column.ResizeModeプロパティがInheritFromTable以外の値に設定されている個々の列は、適宜サイズ変更されます。

表の上または下にある列のセルの値は、最適なサイズの検出時に考慮されません。

4. コマンドのサイズ変更動作を構成し、表レベルのサイズ変更動作をオーバーライドするには、ResizeModeプロパティを設定します。

「コンポーネントの編集: ADF表」ダイアログで、Columnsプロパティを展開し、ResizeModeプロパティを表7-12の説明に従って設定します。

表7-12 ADF表の列プロパティのResizeMode値

値

説明

Manual

列はサイズ変更されません。列幅は現在の設定のままになります。

InheritFromTable

デフォルトです。列は表のResizeColumnsMode設定に基づいてサイズ変更されます。

ResizeColumnsModeがUseColumnValueに設定されている場合、サイズ変更は行われません。

AutoFitWithHeader

ヘッダー・セルを含め、列はExcelの自動調整サポートを使用して最適なサイズに変更されます。

AutoFitWithoutHeader

ヘッダー・セルを除き、列はExcelの自動調整サポートを使用して最適なサイズに変更されます。

SpecifiedWidth

ADFデスクトップ統合では、Widthプロパティを使用して目的の列幅を決定します。数値またはEL式を指定できます。

5. ADF表コンポーネントのResizeColumnsModeプロパティがUseColumnValueに設定され、列のResizeModeプロパティがSpecifiedWidthに設定されている場合は、Column.Widthプロパティを、列に表示する文字数に設定します。

列のWidthプロパティは、リテラル数値、または1から255までの数値に評価されるEL式に設定できます。属性としてUIヒントdisplayWidthを利用するWidthのEL式の例を次に示します。

#{bindings.Customers.hints.Name.displayWidth}

注意:

- 式を評価できない場合、または式が1未満か255より大きい値に評価される場合、ResizeModeはManualと見なされ、列はサイズ変更されません。

- 環境の「地域と言語」の設定に関係なく、小数値を指定する場合は、小数点を使用します。(フランス語のロケールに見られるような) "小数点を表すカンマ"はサポートされていません。

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

7.16.2 実行時にADF表コンポーネントの列をサイズ変更するようにアクション・セットを構成する方法

ADF表コンポーネントのResizeColumnsアクションを呼び出すように、ワークシート・リボン・コマンドまたはワークシート・イベントのアクション・セットを構成できます。

多くの列および多くの行のある表のサイズ変更には時間がかかることがあります。

開始する前に:

これは、ADF表の列のサイズ変更動作の構成を理解するのに役立つことがあります。詳細は、「実行時にデータに基づいて列をサイズ変更するためのADF表コンポーネントの構成」および「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネントの列をサイズ変更するようにアクション・セットを構成する手順:

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

2. 「Oracle ADF」タブで、「ワークシート・プロパティ」ボタンをクリックし、リボン・コマンドを追加します。ワークシートにリボン・コマンドを追加する方法の詳細は、「実行時リボン・タブのワークブック・リボン・コマンドの定義方法」を参照してください。

注意:

リボン・コマンドを追加するかわりに、実行時にアクション・セットを起動するように、ワークシート・イベントを構成できます。

3. アクションの編集ダイアログを開き、アクション・セットを構成します。アクション・セットの起動の詳細は、「アクション・セットの使用」を参照してください。

4. ADF表コンポーネントResizeColumnsアクションを、実行時にアクション・セットにより起動されるアクションのリストに追加します。ResizeColumnsはコンポーネント・アクションです。

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

図7-15に、EditCustomers-DT.xlsxワークブックのワークシートEventsプロパティに構成されている設計時のResizeColumnsアクションを示します。

注意:

ワークシートStartupイベントで起動されるアクション・セットを構成し、Downloadアクション後に、このアクション・セットがADF表コンポーネントのResizeColumnsアクションを起動する場合は、Downloadアクションの前に、アクション・セットがADF表コンポーネントのInitializeアクションを起動することを確認してください。図7-15に、この構成を示します。

図7-15 ResizeColumnsアクション

7.16.3 実行時の処理: ADF表の列のサイズ変更方法

ADF表の列は、アクション・セット内のTable.ResizeColumnsコンポーネント・アクションの実行結果としてサイズ変更されます(「実行時にADF表コンポーネントの列をサイズ変更するようにアクション・セットを構成する方法」を参照)。

7.16.4 実行時のADF表コンポーネントの列のサイズ変更に関する必知事項

ADF表コンポーネントの列を含むワークシート全体の列は、Table.ResizeColumnsModeおよびColumn.ResizeModeプロパティの値に応じてサイズ変更されます。表の列のサイズ変更は、表の境界外の同じExcelワークシート列にあるセルまたは他のコンポーネント(フォーム・コンポーネントなど)の内容に影響します。

実行時に列のサイズが変更されるようにアクション・セットで構成されたADF表コンポーネントがワークシートに2つ以上含まれる場合、ADF表コンポーネントは、それらのサイズを個別に変更することを試みます。ただし、最後に実行されるADF表コンポーネントのResizeColumnsアクションは、列の幅を設定します。

ヒント:

複数のADF表コンポーネントを含むワークシートの場合は、プライマリ表に対してのみResizeColumnsアクションをコールします。

注意:

- Column.Widthプロパティでは、行固有のバインディングはサポートされません。

- 一般的な戦略は、ダウンロード・アクションの1つの後にResizeColumnsをコールすることです。例は図7-15を参照してください。

- 大きい表の列のサイズを変更すると、時間が大幅にかかる場合があります。このような余分な作業により、ダウンロードが遅くなるとエンド・ユーザーが感じる場合があります。通常のデータ・ロードでワークブックをテストし、各自のユースケースで、遅延してもサイズ変更する必要があるかどうかを判断してください。

- Excelでは、指定されたWidth値が整数のピクセル値に四捨五入されます。たとえば、8.5文字の値は、64ピクセルに等しい8.43に丸められます。

- スタイル定義で「テキストの折返し」が選択されたセルに対して自動調整サイズ変更モードの1つを使用すると、期待どおりにサイズ変更されないことがあります。SpecifiedWidthモードを使用する、設計時に表のセルの行の高さを明示的に設定する、またはスタイルから「テキストの折返し」設定を削除すると、より適切な結果が生成されることがあります。

- 自動調整サイズ変更モードの1つを使用して、実行時にテキストが折り返されないようにする場合、設計時にExcel列を広くしておくと便利です。これは、Excelの自動調整サイズ変更モードの機能によるものです。

7.17 ADF表コンポーネントでの列のグループ化

たとえば、ADF表コンポーネントにレンダリングされる列のグループ・ヘッダーをレンダリングし、列のグループに説明ラベルを使用することで、エンド・ユーザーに直感的なインタフェースを提供できます。図7-22に、ADFデスクトップ統合のSummitサンプル・アプリケーションのEditAllInventory-DT.xlsxワークブックで、「製品」から補充日の列を在庫の詳細グループ・ヘッダーにグループ化し、「倉庫」から「国」の列が倉庫の詳細の列のグループにグループ化されている例を示します。

図7-16 ADF表コンポーネントの列でのグループ化ヘッダーの指定

ADFデスクトップ統合には、実行時に、ADF表コンポーネントの標準の表ヘッダー行の上部に追加の表ヘッダー行をレンダリングすることで、図7-16に示す機能が実装されます。ADF表コンポーネントのいずれかの列定義にGroupHeaderプロパティを構成すると、この追加の表ヘッダー行がレンダリングされます。この機能を動的な列に実装することもできます。この機能を動的な列に実装する場合は、「動的な列でレンダリングする列をグループ化する方法」に説明されているカスタム属性を定義する必要があります。静的および動的な列にGroupHeaderプロパティを構成する方法の詳細は、「ADF表コンポーネントで列をグループ化する方法」を参照してください。

実行時に、既存のデータとスタイルが上書きされ、追加の表ヘッダー行がレンダリングされるため、グループ列に追加の表ヘッダー行をレンダリングする場合は、ADF表コンポーネントの上の行にデータとスタイルがない状態にします。

7.17.1 ADF表コンポーネントで列をグループ化する方法

列のグループの開始列と終了列にGroupHeaderプロパティを構成して、ADF表コンポーネントの列をグループ化します。

開始する前に:

ADF表コンポーネントで列をどのようにグループ化できるかについて理解しておくと役立ちます。詳細は、「ADF表コンポーネントでの列のグループ化」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

動的な列にレンダリングされるヘッダー列をグループ化する場合は、「動的な列でレンダリングする列をグループ化する方法」の説明に従って、カスタム属性プロパティを定義します。この手順は、静的な列でヘッダー列をグループ化する場合は不要です。

ADF表コンポーネントで列をグループ化する手順:

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

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 「コンポーネントの編集: ADF表」ダイアログで、Columnsプロパティの参照(...)アイコンをクリックします。

「列の編集」ダイアログが表示され、選択したADF表コンポーネントのすべての列が一覧表示されます。

4. 「列の編集」ダイアログで、列のグループを開始する列を選択します。

5. 「列の編集」ダイアログの右側ウィンドウで、「レイアウト」フィールドのGroupHeaderプロパティを展開し、表7-13の説明に従って、プロパティを構成します。

表7-13 ADF表コンポーネントのグループの開始列のGroupHeaderプロパティ

設定するプロパティ

設定する値

Boundary

startまたはstartに評価されるEL式に設定します。

これにより、列が列のグループの開始として定義されます。

列のグループの開始として動的な列を定義する場合は、「動的な列でレンダリングする列をグループ化する方法」の説明に従って、startの値のカスタム属性プロパティを定義することをお薦めします。このカスタム属性プロパティの値を取得するEL式を記述します。

Label

このプロパティを文字列、または実行時に列グループ・ヘッダーのラベルに評価されるEL式に設定します。評価された値は、開始列のセルにレンダリングされます。列グループ・ヘッダーの開始列には、このプロパティの値が必要です。値を指定しないと、実行時に列グループ・ヘッダーが形成されません。ラベルの詳細は、「統合Excelワークブックでのラベルの使用」を参照してください。

ラベル・テキストが表示されるExcelセルを編集して、このプロパティを編集することもできます。セルのテキストを編集すると、このプロパティのみが直接影響を受けます。Boundaryプロパティには影響はありません。

StyleName

このプロパティをワークブックで定義するスタイル、またはスタイル名に評価されるEL式に設定します。名前付きスタイルは、実行時に列グループのヘッダー・セルに適用されます。スタイルの詳細は、「統合Excelワークブックの外観の構成」を参照してください。

Tooltip

(オプション)ツールチップを指定します。指定したツールチップは、グループの終了列の追加の表ヘッダー・セルからレンダリングされます。詳細は、「実行時の処理: ADF表コンポーネントによる列のグループ化」を参照してください。

ツールチップの詳細は、「ADF表コンポーネントへのツールチップの追加方法」を参照してください。

図7-17に、図7-16に示すEditAllInventory-DT.xlsxワークブックの在庫の詳細の列のグループを開始するようにGroupHeaderに構成された値を示します。

図7-17 列のグループの開始列の構成

6. 「列の編集」ダイアログで、列のグループを終了する列を選択します。

注意:

列のグループを終了するように列を構成しない場合は、手順5で開始列として構成した列は、単一列のグループとしてレンダリングされます。

7. 「列の編集」ダイアログの右側ウィンドウで、「レイアウト」カテゴリのGroupHeaderプロパティを展開し、次のプロパティを構成します。

- Boundary: endまたは、endに評価されるEL式に設定します。
これにより、列が列のグループの終了として定義されます。

列のグループの終了として動的な列を定義する場合は、「ADF表コンポーネントで列をグループ化する方法」の説明に従って、endの値のカスタム属性プロパティを定義し、このカスタム属性プロパティの値を取得するEL式を記述します。

- 残りのプロパティの値はGroupHeaderに設定しないでください。手順5で開始列に設定した値により、実行時に列のヘッダーのグループにレンダリングされるラベル、スタイルおよびツールチップが決定されます。

注意:

開始列と終了列の間の列には、プロパティを設定する必要はありません。

実行時に、統合Excelワークブックで、終了列として構成した列の左側に開始列が見つからない場合、終了列に指定した値は無視されます。

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

注意:

実行時に、既存のデータとスタイルが上書きされ、ADF表コンポーネントの上に表示される追加の表ヘッダー行がレンダリングされるため、列をグループ化する場合は、ADF表コンポーネントの上の行にデータとスタイルがない状態にしてください。

7.17.2 動的な列でレンダリングする列をグループ化する方法

動的な列は、実行時に複数のワークシートの列に拡張できます。実行時に、統合Excelワークブックは、動的な列の展開後に、GroupHeaderプロパティに定義されたEL式を評価します。GroupHeaderプロパティの評価結果に応じて、列グループが形成され、統合Excelワークブックによって、動的な列にグループ化済ヘッダーがレンダリングされます。

動的な列にレンダリングされる列のGroupHeaderプロパティを構成するには、実行時に動的な列にレンダリングされるビュー・オブジェクト属性で、最初にカスタム属性プロパティを定義します。

実行時に動的な列のグループ化済ヘッダーの開始境界線と終了境界線をレンダリングする属性に、カスタム属性プロパティを定義します。EL式を使用して、実行時にGroupHeader Boundary、Label、StyleNameおよびTooltipプロパティで参照される開始属性にカスタム属性プロパティを構成します。EL式を使用して、実行時にGroupHeader Boundaryプロパティで参照される終了属性にカスタム属性プロパティを構成します。

カスタム属性プロパティの定義の詳細は、「ADFデスクトップ統合ELベースのプロパティとカスタム属性プロパティの使用」を参照してください。

図7-18に、グループ化されたヘッダーを開始するカスタム属性プロパティを定義する属性(住所)を示します。

図7-18 動的な列でグループ化されたヘッダーを開始するカスタム属性プロパティ

図7-19に、グループ化されたヘッダーを終了するカスタム属性プロパティを定義する属性(コメント)を示します。

図7-19 動的な列でグループ化されたヘッダーを終了するカスタム属性プロパティ

実行時に、動的な列が展開し、ビュー・オブジェクトの属性の列がレンダリングされます。この例では、展開された列は、グループ化されたヘッダーをレンダリングするように構成された「住所」、「市区町村」および「コメント」です。図7-20に、設計時に動的な列に構成するGroupHeaderプロパティを示します。実行時に、図7-18および図7-19に示す構成済のカスタム属性プロパティの値がEL式で取得され、評価されます。「詳細」のラベルの付いたグループ化されたヘッダーにより、「住所」、「市区町村」および「コメント」の列が形成されます。

GroupHeaderプロパティの構成方法の詳細は、「ADF表コンポーネントで列をグループ化する方法」を参照してください。

図7-20 動的な列でのグループ化されたヘッダーの開始

7.17.3 実行時の処理: ADF表コンポーネントによる列のグループ化

GroupHeaderプロパティに値を構成すると、実行時に、ADF表コンポーネントの標準の表ヘッダー行の上に、追加の表ヘッダー行がレンダリングされます。各グループの開始列のLabel、StyleNameおよびTooltipプロパティに指定した値により、グループ・ヘッダーのラベル、スタイルおよびツールチップが決定されます。列グループの他の列のこれらのGroupHeaderプロパティに構成した値は無視されます。

開始列として構成した列のGroupHeader.StyleNameプロパティによって指定されたスタイルは、グループのすべての列の追加の表ヘッダー・セルに適用されます。グループ・ヘッダー・ラベルの水平方向の配置は、グループのすべての列の追加の表ヘッダー・セルの中央になります。

開始列のGroupHeader.Tooltipプロパティによって定義されたツールチップは、図7-21に示すように、グループの終了列の追加の表ヘッダー・セルにレンダリングされます。

図7-21 スタイルをレンダリングしてツールチップを表示するグループ化された列

開始列および終了列として構成した列が実行時にレンダリングされることを確認します。開始列として構成した列が実行時にレンダリングされない場合、列グループは形成されません。たとえば、列1を開始列、列3を終了列として構成し、そのVisibleプロパティがfalseを返すために、列1が実行時にレンダリングされない場合、列グループは形成されません。同様に、列3がレンダリングされないと、列1、列2および列3にまたがる列グループも形成されません。かわりに、列1が単一列のグループとしてレンダリングされます。

7.18 読取り専用にするためのADF表コンポーネントの構成

ADF表コンポーネントには、「ADF読取り専用表コンポーネントの作成」に説明されているADF読取り専用表コンポーネントで使用できない機能が複数用意されています。ADF表コンポーネントで使用可能な機能の例には、動的な列、列のグループ化機能、および列のサイズ変更の機能があります。このため、ADF読取り専用表コンポーネントを作成するのではなく、ADF表コンポーネントを作成して、読取り専用として構成するようにしてください。Summitサンプル・アプリケーションのCustomerSearch-DT.xlsxワークブックには、読取り専用として構成されているADF表コンポーネントが含まれます。

7.18.1 読取り専用になるようにADF表コンポーネントを構成する方法

ADF表コンポーネントを読取り専用にするには、RowActions UpdateRowEnabledおよびInsertRowEnabledプロパティをFalseに設定して、_ADF_ChangedColumn、_ADF_FlagColumnおよび_ADF_StatusColumn列をADF表コンポーネントから削除します。

開始する前に:

ADF表コンポーネントについて理解しておくと役立ちます。詳細は、「読取り専用にするためのADF表コンポーネントの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

「ExcelワークシートへのADF表コンポーネントの挿入」の説明に従って、ADF表コンポーネントを統合Excelワークブックに挿入します。

ADF表コンポーネントを読取り専用に構成する手順:

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

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 「コンポーネントの編集: ADF表」ダイアログで、ADF表コンポーネントのRowActions.UpdateRowEnabledプロパティをFalseに設定します。

4. 「コンポーネントの編集: ADF表」ダイアログで、Columnsプロパティの参照(...)アイコンをクリックします。

「列の編集」ダイアログが表示され、ADF表コンポーネントのすべての列がリストされます。

5. _ADF_ChangedColumn、_ADF_FlagColumnおよび_ADF_StatusColumn列を選択し、「列の編集」の削除をクリックして、これらの列を削除します。

注意:

「キー」列は削除しないでください。「キー」列の詳細は、「ADF表コンポーネントのキー列の構成」を参照してください。

6. (オプション)各列のUpdateComponentコンポーネント・タイプ値をModelDrivenColumnComponentからOutputTextに変更することを検討してください。

これは、ビュー・オブジェクトが読取り専用として構成されている場合は不要です。これは、ADF表コンポーネントをツリー・バインディングから作成する場合に、各UpdateComponentのReadOnlyプロパティが、対応するreadOnly属性ヒントにデフォルトでバインドされているためです。CustomerSearch-DT.xlsxワークブックは、この実装を示しています。

7. (オプション)読取り専用のセルと編集可能なセルを視覚的に区別できるように、各列のCellStyleNameプロパティをRead-only Cellに変更することを検討してください。

詳細は、「スタイルの使用」を参照してください。

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

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

実行時、ADF読取り専用表コンポーネントは、参照するツリー・バインディングのデータを表示する、連続した範囲のセルにまたがる表をレンダリングします。エンド・ユーザーが編集できないデータを表示する場合に、このコンポーネントを使用します。

注意:

ADF表コンポーネントには、ADF読取り専用表コンポーネントで使用できない機能が複数用意されています。このため、ADF読取り専用表コンポーネントを作成するのではなく、ADF表コンポーネントを作成して、読取り専用として構成することを検討してください。詳細は、「読取り専用にするためのADF表コンポーネントの構成」を参照してください。

ADF読取り専用表コンポーネントは、Downloadアクションの起動時にコンポーネントがダウンロードする行数を決定するRowLimitなどの複数のプロパティをサポートします。また、これには実行時にExcelワークシートに表示されるツリー・バインディングの列を決定するプロパティ・グループ(Columns)も含まれます。TreeIDプロパティは、コンポーネントが参照するツリー・バインディングを指定します。これらのプロパティや、ADF読取り専用表コンポーネントがサポートする他のプロパティの詳細は、「ADF読取り専用表コンポーネントのプロパティおよびアクション」を参照してください。

注意:

- 実行時には、ADF読取り専用表コンポーネントに行を挿入すると、新しいExcelの行がダウンロードされたデータ・セットの一部であるかのような動作をしますが、新しい行はExcelのみに存在します。新しい行のデータはサーバーにアップロードされず、Fusion Webアプリケーションのデータには影響しません。

- 読取り専用列には、ダブルクリックのアクション・セットが含まれます。ただし、このようのアクションは現在の行に確実に配置できません。そのため、ADF読取り専用表コンポーネントで行レベルのアクション・セットを使用した場合の結果に一貫性がありません。行レベルのアクション・セットを行に確実に配置して使用する必要がある場合は、ADF読取り専用表コンポーネントのかわりにADF表コンポーネントを使用します。

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

ADFデスクトップ統合デザイナの作業ウィンドウを使用して、ADF読取り専用表コンポーネントをワークシートに挿入します。

開始する前に:

ADF読取り専用表コンポーネントについて理解しておくと役立ちます。詳細は、「ADF読取り専用表コンポーネントの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

ADF読取り専用表コンポーネントを挿入するには:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

表コンポーネントへの挿入の際、2つの表のデータが実行時に重複しないことと、選択したセルがマージされたセルでないことを確認する必要があります。

3. バインディング・パレットで、ADF読取り専用表コンポーネントを作成するバインディングを選択して、バインディングの挿入をクリックします。

4. 表示されるダイアログで、「ADF読取り専用表」を選択します。

注意:

または、コンポーネント・パレットまたは「Oracle ADF」タブを使用しても、ADF読取り専用表コンポーネントを挿入できます。「ADF読取り専用表」を選択して、コンポーネントの挿入をクリックします。コンポーネント・パレットを使用してコンポーネントを作成する場合は、実行時にコンポーネントに表示されるそれぞれの列を追加する必要があります。

5. 表示されるプロパティ・インスペクタでプロパティを構成し、表示される列とコンポーネントが実行時に起動するアクションを決定します。

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

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。

表コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は、「ADFデスクトップ統合コンポーネントの削除」を参照してください。

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

ADF表またはADF読取り専用表コンポーネントがダウンロードする行数は、コンポーネントのRowLimitプロパティ・グループの値を設定すれば後世できます。また、必要に応じて、ダウンロード可能な行数が指定した行数を超過したときにエンド・ユーザーに警告する警告メッセージを表示できます。

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

Downloadアクションを起動するときにコンポーネントがダウンロードする行数を、RowLimit.MaxRowsプロパティの値として指定します。オプションで、ダウンロード可能な行数がRowLimit.MaxRowsで指定した値を超過した場合に、エンド・ユーザーがメッセージを受信するように、RowLimit.WarningMessageプロパティのEL式を記述します。

開始する前に:

ADF表コンポーネントにデータをダウンロードする際に行数を制限する方法を理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントがダウンロードする行数の制限」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「表タイプ・コンポーネントの追加機能」を参照してください。

表タイプ・コンポーネントがダウンロードする行数を制限するには:

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

2. 表タイプ・コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

詳細は、「アクション・セットの使用」を参照してください。

3. 表7-14の説明に従って、 RowLimitプロパティ・グループのプロパティを構成します。これらのプロパティの詳細は、「ADFデスクトップ統合で頻繁に使用するプロパティ」を参照してください。

表7-14 RowLimitプロパティ・グループ

設定するプロパティ

設定する値

RowLimit.Enabled

Trueに設定すると、ダウンロードする行数がRowLimit.MaxRowsで設定した値に制限されます。

RowLimit.MaxRows

ダウンロードする最大行数に評価されるEL式を記述します。

RowLimit.WarningMessage

このプロパティにEL式を記述して、ダウンロード可能な行数がRowLimit.MaxRowsで指定した値を超過した場合にエンド・ユーザーにメッセージを生成します。

このプロパティの値がNULLの場合、Downloadアクションは、エンド・ユーザーにデフォルトの警告メッセージを表示して、RowLimit.MaxRowsで指定した行数をダウンロードします。

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

図7-22は、ADF表コンポーネントの行の制限が構成されているEditCustomers-DT.xlsxワークブックの「コンポーネントの編集」ダイアログを示しています。

図7-22 ADF表コンポーネントの行数の制限

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

表タイプ・コンポーネントのDownloadアクションが起動されると、RowLimit.MaxRowsの値として指定した行数がFusion Webアプリケーションからダウンロードされます。RowLimit.MaxRowsにEL式を指定したり、デフォルト値を変更しない場合、図7-23に示すものに似たメッセージ・ダイアログが表示されます。

図7-23 行の制限を超過した場合の警告メッセージ

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

エンド・ユーザーは、ADF表コンポーネントをホストする統合Excelワークブックのセルで、データを作成したり変更できます。

列が更新可能で読取り専用でなければ、変更の追跡がアクティブ化されます。エンド・ユーザーが次の変更を行うと、変更の追跡がアクティブ化されます。

- セルの値の編集

- セルの値の挿入または削除

- どこかでコピーした値をADF表コンポーネント列のセルに貼り付ける場合

エンド・ユーザーが対応する行のデータを変更した場合、上向きの矢印に似た記号が_ADF_ChangedColumn列に表示されます。図7-24に例を示します。

図7-24 ADF表コンポーネントの変更された列

この記号は、コンポーネントのReadOnlyプロパティの値がFalseに設定されているコンポーネントによってホストされているデータを、エンド・ユーザーが変更すると表示されます。ModelDrivenColumnComponentなどの様々なサブコンポーネントに、ReadOnlyプロパティがあります。TrueあるいはFalseに評価されるこのReadOnlyプロパティに、EL式またはリテラル文字列を記述できます。Trueに評価される静的な文字列またはEL式を記述する場合、_ADF_ChangedColumn列には記号は表示されません。読取り専用EL式と変更トラッキングに関する詳細は、「読取り専用プロパティのEL式の評価」を参照してください。

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

表の列の読取り専用プロパティのEL式にバインディング式(#{row.bindings.color.inputValue}など)が含まれる場合、その式の実行時の評価は、評価が行われるタイミングによって異なります。評価は次のときに行われます。

- データのダウンロード(Download、DownloadFlaggedRows、DownloadForInsert)

- データのアップロード(Upload、UploadAllOrNothing)および変更トラッキング

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

Download中、EL式は想定どおりに現在のバインディング値で評価されます。

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

Upload中、またはエンド・ユーザーが変更可能表の値を変更する場合、EL式はDownloadとは異なる方法で評価されます。具体的には、EL式の評価の前に、空白の文字列がバインディング式に対して置換されます。

たとえば、次のEL式が編集可能コールにある場合:

=IF("#{row.bindings.color.inputValue}"="RED", True, False)

Upload中、またはエンド・ユーザーが変更可能表の値を変更する場合、EL式は=IF(""="RED", True, False),に評価され、常にFalseが返されます。

注意:

変更のトラッキング中に、列コンポーネントValueプロパティは評価されません。このため、たとえば、構成した値のEL式に関係なく、新しく挿入した行のセル値は空白になります。

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

Uploadおよび変更トラッキング中に、EL式を適切に評価するためには、サーバーとの追加のデータ転送がバインディング値を取得するために必要です。サーバーとの追加のデータ転送はパフォーマンスにマイナスの影響を与え、エンド・ユーザーに現在有効なセッションがない場合には新しいログインが必要になることもあります。

注意:

同じEL式の評価の動作は、表の変更トラッキング中に新しいワークシートの行を挿入する場合、CellStyleName EL式に適切に適用されます。

動作の違いにより、可能ならば、バインディング式を含む読取り専用EL式は避ける必要があります。ただし、指定したユースケースが読取り専用式で属性値を使用することが重要な場合、ワークシートの保護をAutomaticへ設定することを検討する必要があります。ワークシート保護の詳細は、「ワークシート保護の使用」を参照してください。

たとえば、次のEL式がセルにある場合:

=IF("#{row.bindings.color.inputValue}"="RED", True, False)

Download中に、この列のREDセルをLockedに設定すると、エンド・ユーザーはこれらのセルを編集できません。

8 値リストの使用

この章では、ドロップダウン値リスト(依存値リストを含む)を統合Excelワークブックおよびワークブック内の表に作成する方法、およびユーザーがワークブックから起動できるFusion Webアプリケーションから「検索および選択」リスト・ピッカー・ダイアログを表示する方法について説明します。

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

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

- Excelワークシートでの値リストの作成

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

- ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加

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

8.1 統合Excelワークブックの値リストについて

エンド・ユーザーが値の範囲から選択できるようにしたり、エンド・ユーザーが統合Excelワークブックに入力できる値を成約したりするシナリオでは、統合Excelワークブックに値リストを実装することを検討してください。ADFデスクトップ統合では、これらのユースケースに複数の方法で対応できます。たとえば、次を構成できます。

- Excelワークシート・セルのドロップダウン値リスト

- あるリストに表示される値(子の値リスト)が、別のリストで選択した値(親の値リスト)に依存する、依存値リスト

- リストから値を選択するための高度な機能を提供する「検索および選択」リスト・ピッカー・ダイアログの表示を構成します。

エンド・ユーザーが選択できる値の完全セットが比較的小さい(例: 値の数が30未満)シナリオでは、統合Excelワークブックに値リストを構成することを検討してください。Fusion Webアプリケーションからページの「検索および選択」リスト・ピッカー・ダイアログを使用すると、値リストの値が30未満の場合、操作性が向上する可能性があります。

8.1.1 統合Excelワークブックへの値リストの追加のユースケースおよび例

ADFデスクトップ統合からADF値リスト・コンポーネントおよび他のサブコンポーネントを使用すると、エンド・ユーザーにデータを表示して選択できる様々なインタフェースを作成できます。図8-1に、この章の以降の項で詳しく後述する、Summitサンプル・アプリケーション・ワークブックいくつかの例を示します。

図8-1 Summitサンプル・アプリケーション・ワークブックでの値リストの実装

8.1.2 統合Excelワークブックに値リストを追加するための追加の機能

統合Excelワークブックに値リストを追加した後、ワークブックを構成するために追加機能が必要になることがあります。次の各項では、使用可能なその他の機能について説明します。

- スタイル: 事前定義済のExcelのスタイルをいくつか使用して、フォーム・タイプ・コンポーネントの表示を構成できます。詳細は、「スタイルの使用」を参照してください。

- EL式: EL式をフォーム・タイプ・コンポーネントとともに使用できます。詳細は、「ADFデスクトップ統合のEL式」を参照してください。

- ツールチップ: 追加の情報や指示テキストをエンド・ユーザーに表示するようにツールチップを構成できます。詳細は、「ADFデスクトップ統合コンポーネントでのツールチップの表示」を参照してください。

- アクション・セット: 「統合Excelワークブックへの対話性の追加」で説明されているように、1つ以上のアクションの順序付けられたリストを構成して、対話性を統合Excelワークブックに追加できます。

8.2 Excelワークシートでの値リストの作成

ADF値リスト・コンポーネントは、実行時にドロップダウン値リストをExcelワークシート・セルに作成する場合に使用します。ADF値リスト・コンポーネントは、たとえば多くても20または30項目の簡単な選択リストを対象にしていますが、最大で250の値を実行時に表示できます。ADF値リスト・コンポーネントは、Excelワークシートのセルに挿入できます。図8-2に、リージョンのリストで有効な値のいずれかを選択するのをユーザーが制約される、Summitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsxからの実装を示します。

図8-2 Excelワークシートの実行時の値リスト

ListIDプロパティの値を指定する必要があります。ListIDプロパティは、ワークブックDownSyncアクションを起動した後で実行時にドロップダウン・メニューに値リストを移入するリスト・バインディングを参照します。

図8-3に、ADF値リスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF値リスト・コンポーネントは、実行時にExcelワークシートのドロップダウン・メニューに値を移入するリスト・バインディング(RegionId)を参照します。

注意:

- ADF表コンポーネントの列にドロップダウン・メニューを表示できます。詳細は、「ADF表コンポーネント列での値リストの作成」を参照してください。

- 日付値を使用するADF値リスト・コンポーネントはサポートされていません。

- ADF値リストでは、複数列のリストをサポートしていません。設計時に、複数の属性を選択すると、ADF値リスト・コンポーネントは最初の属性でリストをレンダリングします。

図8-3 ADF値リスト・コンポーネント

ADF値リスト・コンポーネントを挿入するには:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADF値リスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、「コンポーネントの挿入」ドロップダウン・リストからADF値リストを選択します。

4. ListIDプロパティの入力フィールドの横にある参照(...)アイコンをクリックしてバインディングIDピッカーを起動し、ページ定義ファイルで公開されたリスト・バインディングを選択します。

5. プロパティ・インスペクタで、コンポーネントの外観、設計およびレイアウトを決定する他のプロパティを構成します。ADF値リスト・コンポーネントのプロパティの詳細は、「ADF値リスト・コンポーネントのプロパティ」を参照してください。

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

注意:

- コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、「ADFコンポーネント・プロパティの編集」を選択し、プロパティ・インスペクタを開きます。
コンポーネントを削除するには、「削除」リボン・コマンドを使用します。詳細は、「ADFデスクトップ統合コンポーネントの削除」を参照してください。

- Excelフォームは、フォームのバインド・イテレータに行が存在しないと予想される場合は、モデルドリブン・リスト・バインディングを使用するADF値リスト・コンポーネントを使用するようには構成できません。解決策として、かわりに動的なリスト・バインディングを使用するように、ADF値リスト・コンポーネントを構成できます。

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

ADF表コンポーネント列でドロップダウン値リストをレンダリングする場合は、ModelDrivenColumnComponentサブコンポーネントを使用します。値リスト・コンポーネントは、たとえば多くても20または30項目の簡単な選択リストを対象にしていますが、最大で250の値を実行時に表示できます。他のADFデスクトップ統合コンポーネントとは異なり、ModelDrivenColumnComponentサブコンポーネントは、「コンポーネント・パレットの使用」で説明されているコンポーネント・パレットには表示されません。かわりに、ADF表コンポーネントの列のUpdateComponentプロパティの値を指定するときに、サブコンポーネントとして選択します。ADF表コンポーネント列のプロパティの詳細は、「ADF表コンポーネントの列プロパティ」を参照してください。モデルドリブン・リストの作成の詳細は、「ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加」を参照してください。

ModelDrivenColumnComponentサブコンポーネントを指定したら、モデルドリブン・リストに関連付けられたツリー・バインディング属性を、ModelDrivenColumnComponenサブコンポーネントのValueプロパティの値として指定する必要があります。ツリー・バインディング属性のモデルドリブン・リストは、実行時にADF表コンポーネントの列のドロップダウン・メニューに値リストを移入します。モデルドリブン・リストの作成の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のモデルドリブン・リストの作成方法に関する項を参照してください。

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

ADF表コンポーネント列に列を追加して、ModelDrivenColumnComponentをサブコンポーネントとして選択します。それから、ツリー・バインディング属性をModelDrivenColumnComponentサブコンポーネントのValueプロパティの値に指定します。モデルドリブン・リストは、指定するツリー・バインディング属性に関連付ける必要があります。

注意:

- ModelDrivenColumnComponentサブコンポーネントは、コントロール・タイプがcombo_lovのモデルドリブン・リストをサポートしていません。

- コントロール・タイプがinput_text_lovのツリー属性は、ADF値リスト・コンポーネントとしてレンダリングしません。かわりに、「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」に説明されている、モデルドリブン・リスト・ピッカー機能を公開します。

- 日付値を使用するADF値リスト・コンポーネントはサポートされていません。

- ModelDrivenColumnComponentサブコンポーネントは、すべての場合において、EJBベースのデータ・コントロールのモデルドリブン・リストをサポートしないことがあります。

開始する前に:

ADF表コンポーネントでの値リストの作成方法を理解しておくと役立ちます。詳細は、「ADF表コンポーネント列での値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックに値リストを追加するための追加の機能」を参照してください。

ADF表コンポーネント列に値リストを作成するには:

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

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 「コンポーネントの編集: ADF表」ダイアログで、Columnsの入力フィールドの横にある参照(...)アイコンをクリックします。

「列の編集」ダイアログが表示され、選択したADF表コンポーネントのすべての列が一覧表示されます。

4. 「追加」をクリックして、新しい列を追加します。

5. 新しく作成した列に適切なオプションを選択します。

- UpdateComponentの入力フィールドの横にある参照(...)アイコンをクリックして、更新操作とダウンロード操作の実行時の値リストを構成します。

- (オプション) InsertComponentの入力フィールドの横にある参照(...)アイコンをクリックして、挿入操作の実行時の値リストを構成します。これは滅多にありません。

両方のオプションでも、作成するサブコンポーネントの選択ダイアログが表示されます。

6. ModelDrivenColumnComponentを選択して「OK」をクリックします。

7. 手順5で選択したプロパティを展開して、Valueプロパティのモデルドリブン・リストに関連付けられたツリー・バインディング属性を選択します。

ユーザーに列の値を編集させる場合は、ReadOnlyプロパティをFalseに設定し、それ以外の場合は、Trueに設定します。

図8-4に、Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックにレンダリングされるクレジット評価列のプロパティ・インスペクタを示します。

図8-4 値リストを表示するように構成されたADF表コンポーネント列

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

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

実行時には、ADF表コンポーネントはDownloadアクションを起動して、それぞれの列に値を移入します。また、このアクションは値リストをレンダリングするよう構成した列に値リストを移入します。図8-5に、Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックの例を示します(クレジット評価は、値リストを表示するように構成されます)。

図8-5 値リストを表示するADF表コンポーネント列の実行時のビュー

8.4 ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加

ADF表コンポーネントを構成し、Fusion Webアプリケーションの既存のモデルレイヤー・メタデータを使用して、統合Excelワークブックに「検索および選択」リスト・ピッカー・ダイアログを表示できます。

「検索および選択」リスト・ピッカー・ダイアログは、検索アイコンをまたはボタンをクリックして、ADF Facesページでaf:inputListOfValuesコンポーネントの「検索および選択」ポップアップを開いた場合に表示されるダイアログと似ています。図8-6に、EditCustomers-DT.xlsxワークブックからの例を示します(エンド・ユーザーは、新しい値を入力するセルをダブルクリックします)。表示されるポップアップから新しい値を検索して選択します。

ヒント:

値を選択するために、ユーザーに列のセルをダブルクリックするように指示する列ヘッダーのツールチップを追加することを検討してください。

図8-6 表の列のセルから起動されるモデルドリブン・リスト・ピッカー

ADF表コンポーネントにモデルドリブン・リスト・ピッカーを追加する手順:

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

2. af:inputListOfValuesコンポーネントを使用するのと同じ方法で、ビュー・オブジェクトを構成します。

a. ビュー・アクセッサを追加します。
ビュー・アクセッサの作成の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のエンティティ・オブジェクトまたはビュー・オブジェクトのビュー・アクセッサの作成方法に関する項を参照してください。

b. 属性の値リスト(LOV)を作成します。
値リスト・コンポーネントの作成の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の値リスト(LOV)の作成に関する項を参照してください

c. LOVのUIヒントを設定します。「デフォルトのリスト・タイプ」が「値リストと共にテキストを入力します」に設定されていることを確認します。
UIヒントの設定の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のビュー・オブジェクトのLOV有効属性にユーザー・インタフェース・ヒントを設定する方法に関する項を参照してください。

d. ワークシートで使用されるページ定義のツリー・バインディングとして、ビュー・オブジェクトを公開します。

3. アプリケーションのweb.xmlファイルがADFライブラリWebアプリケーション・サポートのフィルタ(<filter-name>ADFLibraryFilter</filter-name>)を構成することを確認します。
詳細は、「ADFデスクトップ統合のためのADFライブラリ・フィルタの構成」を参照してください。

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

5. LOV対応の属性にバインドされる表の列の場合は、ModelDrivenColumnComponentコンポーネント・タイプを列構成に使用してください。表の列がこのように構成されていると、UpdateComponentおよびInsertComponentのDoubleClickActionSetプロパティは実行時に無視されます。
図8-7に、ModelDrivenColumnComponentに設定されたUpdateComponentプロパティのコンポーネントのタイプを示します。

図8-7 ADF表コンポーネントのUpdateComponentプロパティ

6. まだ設定されていない場合は、Workbook.Compatibility.TableComponents.ModelDrivenColumns.InputListOfValuesPickerEnabledプロパティをTrueに設定します。
InputListOfValuesPickerEnabledプロパティの詳細は、「ADFデスクトップ統合互換性のプロパティ」を参照してください。

7. (オプション)基底にあるイテレータ上の異なる属性をモデルドリブン・リスト・ピッカーのアクションで設定する必要がある場合、ADF表コンポーネントにRowData.CachedAttributesを構成します。たとえば、EditCustomers-DT.xlsxワークブックでは、「営業担当者」列でModelDrivenColumnComponentサブコンポーネントが公開されているだけでなく、SalesRepIdがRowData.CachedAttributeの値としても定義されています。

Fusion Webアプリケーション、統合Excelワークブックおよび表の列を構成したら、ワークブックを実行し、LOV対応の属性を公開する表の列をダブルクリックして、モデルドリブン・リスト・ピッカー・ダイアログを開きます。

8.4.1 ADF表コンポーネントのモデルドリブン・リスト・ピッカーに関する必知事項

デフォルトでは、バインディング・パレットでツリー・バインディングをダブルクリックして、ADF表コンポーネントを作成すると、ModelDrivenColumnComponentサブコンポーネントを使用するように、表のすべての列が構成されます。コントロール・タイプがinput_text_lovのモデルドリブン・リストにバインドされているツリー属性は、実行時に「検索および選択」リスト・ピッカー・ダイアログのレンダリングを自動的にサポートします。つまり、特別な構成は不要です。

ツリー属性がモデルドリブン・リストにバインドされていない、またはカスタム・ピッカーのユーザー・インタフェースが必要な場合は、「Fusion WebアプリケーションからのWebページの表示」を参照してください。

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

ADFデスクトップ統合は、統合Excelワークブックでの値リストの作成に使用する次のコンポーネントを提供します。

- ADF値リスト
Excelワークシートで値リストを作成するときに、このコンポーネントのプロパティを構成します。

- ModelDrivenColumnComponentサブコンポーネント
ADF表コンポーネント列で値リストを作成するときに、このサブコンポーネントのプロパティを構成します。

これら2つのコンポーネントを使用して、統合Excelワークブックに依存値リストを作成できます。依存値リストとは、値リスト・コンポーネント(子の値リスト)で、値は別の値リスト・子(親の値リスト)によって決定されます。

サーバーサイド・リスト・バインディングを、親の値リストの選択された項目が変更になったときに、使用可能な子の値リストの項目が正しく更新されるように定義する必要があります。図8-8は、EditWarehouseInventory-DT.xlsxワークブックの2つの画面を使用した例で、ここでは「リージョン」フィールド(親の値リスト)の値が変わると、「国」フィールド(子の値リスト)が変更になります。

図8-8 値リストと依存値リスト

表8-1は、以前にリストしたコンポーネントを使用して作成できる依存値リストの実装と、それぞれの実装を完了するための要件を示します。

表8-1に説明する実装には、モデルドリブン・リストが必要なものがあります。モデルドリブン・リストの作成の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のモデルドリブン・リストの作成方法に関する項を参照してください。

表8-1 依存値リストの構成オプション

構成

要件

ADF値リスト・コンポーネントを使用して、Excelワークシートで親と子の値リストの両方をレンダリングします。

ADF値リスト・コンポーネントの両方のインスタンスがリスト・バインディングを参照する必要があります。参照するリスト・バインディングの1つまたは両方をモデルドリブン・リストにすることができます。

両方のリスト・バインディングがモデルドリブン・リストを参照できるのは、基底にあるイテレータに少なくとも1つのデータ行がある場合のみです。実行時に基底のイテレータにデータ行がなく、エンド・ユーザーが親リスト(ADF値リスト・コンポーネントのDependsOnListIDプロパティにより参照されるリスト・バインディング)からの値を選択する場合、子の値リスト(ADF値リスト・コンポーネントのListIDプロパティにより参照されるリスト・バインディング)は、エンド・ユーザーが選択する値に基づいてフィルタ処理されません。

このシナリオを回避するには、次のオプションのいずれかを選択します。

- 基底にあるイテレータに少なくとも1つのデータ行があることを確認

- 複数のイテレータを公開して、必要なすべてのイテレータがリフレッシュされる別のリスト・バインディング構成を使用

詳細は、「Excelワークシートでの依存値リストの作成方法」を参照してください。

ModelDrivenColumnComponentサブコンポーネントを使用して、ADF表コンポーネント列で親と子の両方の値リストをレンダリングします。

親と子の値リスト(ModelDrivenColumnComponentサブコンポーネント)は、どちらもモデルドリブン・リストに関連付けられたツリー・バインディング属性を参照する必要があります。

両方の列(親と子の値リスト)でInsertUsesUpdate列プロパティに同じ値が使用されている必要があります。

サーバー・サイド・リストのバインディングの従属性は、同じツリー・ノードにあるリストについてのみ判断されます。次のツリー・ノード・リストのバインディングはサポートされていません。

- 異なるツリーまたはツリー・ノード内のリスト・バインディングに依存するバインディング

- ページ定義ファイル内のリスト・バインディングに依存するバインディング

詳細は、「ADF表コンポーネント列での依存値リストの作成方法」を参照してください。

依存値リストを作成する場合は、次の点に注意してください。

- 親の値リストでの選択が変更されると、ユーザーへの警告なしに子の値リストがリセットされます。

- DependsOnList(またはDependsOnListID)プロパティで指定されたリストがExcelワークシートのコンポーネントで参照されていないかぎり、依存値リストは機能しません。

- 再帰的な依存関係が定義されている場合(リストAがリストBに依存し、リストBがリストAに依存)、最初の依存関係(リストAがリストBに依存)が期待される動作をトリガーします。ADFデスクトップ統合は、他の依存関係を誤った構成と見なします。

- 次のようにして依存関係の連鎖を作成できます。

- リストAがリストBに依存

- リストBがリストCに依存

このシナリオでは、リストCの変更(祖父母の値リスト)がリストA(孫の値リスト)とリストB(子の値リスト)の両方を更新します。同様のシナリオを作成する場合、親の値リストの選択内容が変わったときに、孫の値リストと子の値リストがどちらも確実にリフレッシュされるようにする必要があります。孫の値リストに2つのバインド変数を指定し、ビュー属性に暗示的な依存関係を設定することにより、これを行います。もうひとつの方法は、モデルドリブン・リストが構成されているそれぞれのビュー属性間に明示的な属性の依存関係を制限することです。たとえば、属性Aが属性Bと属性Cに依存し、属性Bが属性Cに依存するように指定します。

- 依存値リストのキャッシュの詳細は、「複数のWebセッション間で使用するための値リストのキャッシング」を参照してください。

- ADFデスクトップ統合は、依存値リストに表示される値をキャッシュします。したがって、親リストの選択に対する依存リストの項目の値は、ADF表コンポーネントのすべての行で一貫している必要があります。

- 日付値を使用するADF値リスト・コンポーネントはサポートされていません。

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

ADF値リスト・コンポーネントの2つのインスタンスを使用して、Excelワークシートで依存値リストを作成します。

親のADF値リスト・コンポーネントによって参照されるリスト・バインディングを、子のADF値リスト・コンポーネントのListOfValues.DependsOnListIDプロパティの値に指定します。

ADF値リストの詳細は、「ADF値リスト・コンポーネントのプロパティ」を参照してください。

開始する前に:

依存値リストについて理解しておくと役立ちます。詳細は、「統合Excelワークブックでの依存値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックに値リストを追加するための追加の機能」を参照してください。

Excelワークシートで依存値リストを作成するには:

1. 存在しない場合は、必要なリスト・バインディングをページ定義ファイルに追加します。

ページ定義ファイルへのバインディングの追加の詳細は、「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

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

3. 「Excelワークシートでの値リストの作成」の説明に従って、2つのADF値リスト・コンポーネントを統合Excelワークブックに挿入します。

4. 依存値リストで親となるADF値リスト・コンポーネントのプロパティ・インスペクタで、ListOfValues.ListIDプロパティの値を親となるリスト・バインディングに設定します。

5. 依存値リストで子となるADF値リスト・コンポーネントのプロパティ・インスペクタで、次のプロパティを設定します。

- ListOfValues.ListID
依存値リストで子となるリスト・バインディングを指定します。

- ListOfValues.DependsOnListID
手順4でADFリスト値コンポーネントに親として指定したリスト・バインディングを選択します。

図8-9は、子のADF値リストのプロパティ・インスペクタを示しています(ここでは、RegionIdリスト・バインディングが親の値リストとして指定され(DependsOnListIDプロパティ)、CountryIdリストが依存値リストです(ListID)プロパティ)。

図8-9 Excelワークシートの設計時の依存値リスト

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

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

実行時にはADFデスクトップ統合は、ADF値リスト・コンポーネントの両方のインスタンスをレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。

図8-10は、依存値リストのCountryが、選択されたRegionリスト値からの状態のみを表示する様子を示しています。

図8-10 Excelワークシートの実行時の依存値リスト

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

ModelDrivenColumnComponentサブコンポーネントのインスタンスを使用して、ADF表コンポーネント列の依存値リストで両方の値リストを実行時にレンダリングします。

ツリー・バインディング属性を親のModelDrivenColumnComponentサブコンポーネントのValueプロパティの値に指定します。また、ツリー・バインディング属性を子のModelDrivenColumnComponentサブコンポーネントのValueプロパティの値に指定します。両方のツリー・バインディング属性が、ツリー・バインディングをページ定義ファイルに追加する前に、モデルドリブン・リストに関連付けられていることを確認してください。また、親と子のモデルドリブン・リスト間の依存性がサーバーで構成されていることも確認します。

Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックの「リージョン」および「国」列は、ADF表コンポーネントの依存値リストの実装を示しています。

次の各リンクでは、次の内容について説明します。

- モデルドリブン・リストの作成は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のモデルドリブン・リストの作成方法に関する項を参照してください。

- 依存モデルドリブン・リストの定義は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のLOVが有効なビュー・オブジェクトの属性に対してカスケード・リストを定義する方法に関する項を参照してください。

- ページ定義ファイルへのツリー・バインディングの追加は、「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

- ModelDrivenColumnComponentサブコンポーネントの詳細は、「ModelDrivenColumnComponentサブコンポーネントのプロパティ」を参照してください。

開始する前に:

依存値リストについて理解しておくと役立ちます。詳細は、「統合Excelワークブックでの依存値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックに値リストを追加するための追加の機能」を参照してください。

ADF表コンポーネントに依存値リストを作成するには:

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

2. 存在しない場合は、ADF表コンポーネントを挿入します。

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

3. Columnsの入力フィールドの横にある参照(...)アイコンをクリックすることにより、ADF表コンポーネントのプロパティ・インスペクタで、「列の編集」ダイアログを起動します。

4. 新しい列を追加(または既存の列を変更)して親の値リストとします。列のサブコンポーネント・タイプとしてModelDrivenColumnComponentを指定します。値リストの作成の詳細は、「ADF表コンポーネント列での値リストの作成」を参照してください。

5. 新しい列を追加(または既存の列を変更)して子の値リストとします。列のサブコンポーネント・タイプとしてModelDrivenColumnComponentを指定し、親の値リストの列と同じ値をInsertUsesUpdate列プロパティに指定します。両方の列(親と子の値リスト)でInsertUsesUpdate列プロパティに同じ値が使用されている必要があります。値リストの作成の詳細は、「ADF表コンポーネント列での値リストの作成」を参照してください。

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

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

実行時に、ADF表コンポーネントは、ModelDrivenColumnComponentサブコンポーネントの両方のインスタンスを、これらのインスタンスを表示するよう構成した列にレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。

図8-11は、Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックの例を示しています(ここでは、「リージョン」列の値リストでエンド・ユーザーが選択する値が、「国」列の値リストに表示されるサブカテゴリの対応する値となります)。

図8-11 ADF表コンポーネント列の実行時の依存値リスト

注意:

エンド・ユーザーが親リストの選択を変更すると、子のリスト項目が現在の行のみで変更されます。

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

この章では、UploadおよびDownloadなどのアクションをユーザーが起動できるようにアクション・セットを構成する方法、リボン・タブを構成する方法、およびExcel式でEL式を使用する方法について説明します。

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

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

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

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

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

- 表の列での行レベルのアクション・セットの使用

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

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

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

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

アクション・セットなどの機能を使用し、実行時リボン・タブの構成や依存値リストの作成によって、統合ワークブックをエンド・ユーザーに対して対話形式にすることができます。図9-1は、対話機能のいくつかを示します。

図9-1 統合Excelワークブックの対話機能

統合Excelワークブックに対話性を追加すると、エンド・ユーザーがワークブックでOracle ADFの機能を起動するアクション・セットを実行できるようになります。また、これらのアクション・セットの実行時に統合Excelワークブックでステータス・メッセージやアラート・メッセージ、エラー処理も提供されます。アクション・セットを起動するADFデスクトップ統合コンポーネントでのエンド・ユーザーの動作(ダブルクリック、クリック、選択)の他に、エンド・ユーザーが実行時にアクション・セットを起動するために使用する、ワークブックおよびワークシート・リボン・コマンドを構成できます。

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

統合Excelワークブックに対話性を追加するために、エンド・ユーザーの動作により起動されるアクション・セットを使用できます。たとえば、図9-2に示すように、CustomerSearch-DT.xlsxのすべての顧客のダウンロード・リボン・コマンドでは、2つのアクションを含むアクション・セットを使用して、ワークシートに関連付けられている問合せ値をリセットします。図9-2では、エンド・ユーザーが検索機能を起動できるリボン・コマンド(顧客の検索)も示されています。

図9-2 すべての顧客のダウンロード・リボン・コマンドのアクション・セット

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

アクション・セットと実行時リボン・タブの他に、その他の機能を追加してワークブックを構成できます。次の各項では、使用可能なその他の機能について説明します。

- Webページの表示: Excelワークブックと統合するFusion Webアプリケーションからページを表示できます。詳細は、「Fusion WebアプリケーションからのWebページの表示」を参照してください。

- 依存値リスト: ADF値リスト・コンポーネントを、別の値リスト・コンポーネントによって値が決まる依存値リスト・コンポーネントとして構成できます。詳細は、「統合Excelワークブックでの依存値リストの作成」を参照してください。

- スタイル: 事前定義済のExcelのスタイルをいくつか使用して、フォーム・タイプ・コンポーネントの表示を構成できます。詳細は、「スタイルの使用」を参照してください。

- マクロ: マクロとExcel式を使用して、Fusion Webアプリケーションからダウンロードするデータ、またはFusion Webアプリケーションにアップロードするデータを管理します。詳細は、「統合Excelワークブックでの計算済セルの使用」と「統合Excelワークブックでのマクロの使用」を参照してください。

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

アクション・セットは、特定の順序で実行される1つ以上のアクションからなる、順序付けされたリストです。アクションのタイプには次のようなものがあります。

- ADFmAction

- ComponentAction

- WorksheetMethod

- Confirmation

- Dialog

アクション・セットは、エンド・ユーザーの動作(リボン・コマンドのクリックなど)またはExcelワークシート・イベントによって起動できます。エンド・ユーザーの動作によってアクション・セットが起動される場合、ADFコンポーネントのプロパティ・インスペクタのアクション・セットのプロパティ名には、必要な動作の名前が先頭に付きます。次のリストは、ADFデスクトップ統合がプロパティ・インスペクタで表示するプロパティ名と、アクション・セットを起動するユーザーの動作を示します。

- DoubleClickActionSetはADF入力テキストまたはADF出力テキスト・コンポーネント用で、エンド・ユーザーが関連のアクション・セットを起動するためにこれらのコンポーネントをダブルクリックするときに使用されます。

- SelectActionSetはワークシート・リボン・コマンド用で、エンド・ユーザーが関連のアクション・セットを起動するためにリボン・コマンドを選択したときに使用されます。

- ActionSetはワークシート・イベント用で、アクション・セットを起動するときに明示的なエンド・ユーザーの動作は必要ありません。

ADFコンポーネントやワークシート・リボン・コマンド、またはワークシート・イベントからアクションの編集ダイアログを起動して、アクション・セットを定義あるいは構成します。アクション・セットが起動するアクションを定義する他に、アクション・セットのAlertプロパティを構成して、アクション・セットの起動の結果に対するフィードバックを提供できます。アクション・セットのStatusプロパティを構成して、定義したアクションをアクション・セットが実行する際に、エンド・ユーザーに進捗バーを表示します。「アクションの編集」ダイアログを開く方法の詳細は、「コレクション・エディタの使用」を参照してください。

ADFデスクトップ統合のSummitサンプル・アプリケーションには、使用されるアクション・セットの多くの例が用意されています。1つの例は、EditCustomers-DT.xlsxワークブックで実行時にUploadというラベルの付くリボン・コマンドです。このリボン・コマンドには、ADF表コンポーネントのUploadアクションを起動するアクション・セットが構成されています。図9-3は、設計モードでのアクションの編集ダイアログを示しています。

デフォルトでは、エンド・ユーザーはアクション・セットの実行中に別の統合Excelワークブックを開くことはできません。アクション・セットが長時間実行されることがわかっている場合は、そのアクション・セットを非ブロッキングにして、エンド・ユーザーが長時間実行するアクション・セットの完了を待機している間に他の作業を行えるようにします。

図9-3 EditCustomers-DT.xlsxワークブックのアップロード・リボン・コマンドのアクション・セット

ヒント:

アクションの編集ダイアログに追加するアクションごとに、「注釈」フィールドに説明を記述します。記述する説明は「メンバー」リスト・ビューに表示され、複数の項目を効率的に管理できます。

注意:

ADFデスクトップ統合は、 Membersリスト・ビューで指定した順にアクション・セット内のアクションを起動します。

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

1つのアクション・セットで複数のメソッド・アクション・バインディングを起動できます。ページ定義ファイルは、Fusion Webアプリケーションと統合するワークシートで起動可能なアクション・バインディングを定義します。統合Excelワークブックのページ定義ファイルとアクション・バインディングの詳細は、「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

「アクションの編集」ダイアログを使用して、起動するメソッド・アクション・バインディングを指定します。

開始する前に:

アクション・セットについて理解しておくと役立ちます。詳細は、「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットでメソッド・アクションを起動するには:

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

2. 「アクションの編集」ダイアログを開いて、ここに示す「追加」ボタンからドロップダウン・リストを起動します。

3. ADFmActionを選択して、次のリストにあるようにプロパティを構成します。

- ActionID
ActionIDの入力フィールドの横にある参照(...)アイコンをクリックして、バインディングIDピッカーを起動し、アクション・セットが起動するメソッド・アクション・バインディングを選択します。たとえば、図9-4は、Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックのDownloadアクション・セットで起動される最初のアクションである、Executeアクション・バインディングを示します。

- Annotation
オプションで、構成するアクションの目的に関するコメントを入力します。このプロパティに設定する値には、機能的な影響はありません。

図9-4 アクション・バインディングの実行

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

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

ADF表コンポーネントなどの一部のコンポーネントは、Fusion Webアプリケーションと統合するExcelワークシート間のデータ送信の管理に使用できるアクションを公開します。ADFデスクトップ統合コンポーネントで使用可能なアクションの詳細は、「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。

アクション・セットのアクションの配列にコンポーネント・アクションを追加することで、1つ以上のコンポーネント・アクションを起動するアクション・セットを構成できます。たとえば、図9-5は、Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックに存在するADF表コンポーネントによって公開されるDownloadアクションを、そのワークブックの「ダウンロード」リボン・コマンドのSelectActionSetアクション・セットによる起動に選択できる「コンポーネント・アクションの選択」ダイアログを示します。

図9-5 コンポーネント・メソッドの選択ダイアログ

注意:

コンポーネント・アクションを公開するコンポーネントが現在のワークシートに含まれない場合、「コンポーネント・アクションの選択」ダイアログは空の状態で表示されます。

開始する前に:

アクション・セットについて理解しておくと役立ちます。詳細は、「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットからコンポーネント・アクションを起動するには:

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

2. 「アクションの編集」ダイアログを開いて、ここに示す「追加」ボタンからドロップダウン・リストを起動します。

3. ComponentActionを選択して、次のリストにあるようにプロパティを構成します。

- ComponentID
ComponentIDの入力フィールドの横にある参照(...)アイコンをクリックして、「コンポーネント・メソッドの選択」ダイアログを起動し、アクション・セットが実行時に起動するコンポーネント・アクションを選択します。これによって、ComponentIDとActionの各入力フィールドに値が移入されます。

- Action
アクション・セットが実行時に起動するコンポーネント・アクション。

- Annotation
オプションで、構成するアクションの目的に関するコメントを入力します。このプロパティに設定する値には、機能的な影響はありません。

- DetailStatusMessage
「ステータス・メッセージ」ウィンドウに表示されるオプションのリテラル値またはEL式を指定します(「アクション・セットの実行中に進捗バーを表示する方法」を参照)。

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

9.2.3 コンポーネント・アクションを起動するアクション・セットに関する必知事項

統合Excelワークブックでのアクション・セットの動作に関する次の情報に注意してください。

ログイン前のアクション・セットの起動

ADF表コンポーネントのDownloadアクションなど、一部のコンポーネント・アクションでは、Fusion Webアプリケーションへの接続を正常に完了する必要があります。このようなコンポーネント・アクションが含まれるアクション・セットをエンド・ユーザーが起動する場合、統合ExcelワークブックはFusion Webアプリケーションに接続しようと試み、必要があれば「Excelワークブック・ユーザーの認証」で説明されている認証プロセスを起動します。

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

アクション・セットを作成する際は、ワークシートに複数のインスタンスのコンポーネントが含まれる場合、正しいコンポーネントのインスタンスからコンポーネント・アクションを起動するようにしてください。図9-6は、2つのインスタンスのADF表コンポーネントが表示される「コンポーネント・アクションの選択」ダイアログを示します。表A-1に示すComponentIDプロパティの値を使用して、コンポーネント・アクションを起動するコンポーネントのインスタンスを正しく識別してください。

図9-6 「コンポーネント・アクションの選択」ダイアログ

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

ADFデスクトップ統合には、ワークシート・イベントがいくつか用意されており、これはトリガーされるとアクション・セットを起動できます。次のワークシート・イベントはアクション・セットを起動できます。

- Startup

- Shutdown
DialogアクションのTargetプロパティがTaskPaneに設定されている場合、このイベントからDialogアクションを起動しないでください。

- Activate

- Deactivate

Eventsワークシート・プロパティによって参照されるイベントの配列(WorksheetEventリスト)に要素を追加します。イベントと、追加する要素の中でそれによって起動されるアクション・セットを指定します。Eventsワークシート・プロパティおよびアクション・セットを起動できるワークシート・イベントの詳細は、表A-21を参照してください。アクション・セットの詳細は、表A-16を参照してください。

「イベントの編集」ダイアログを使用して、ワークシート・イベントによって起動されるアクション・セットを指定します。

開始する前に:

アクション・セットについて理解しておくと役立ちます。詳細は、「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ワークシート・イベントからアクション・セットを起動するには:

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

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

3. 「ワークシート・プロパティの編集」ダイアログで、Eventsプロパティの入力フィールドの横にある参照(...)アイコンをクリックします。

4. 「イベントの編集」ダイアログで、「追加」をクリックして、イベントおよびそれが起動する対応するアクション・セットを指定する新しい要素を追加します。

図9-7は、EditCustomers-DT.xlsxファイルの例を示しています。ここでは、ワークシート・イベントのStartupが、ADF表コンポーネントのDownloadアクションを起動するアクション・セットを起動します。

図9-7 ワークシートのStartupイベントにより起動されるアクション・セット

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

9.2.5 アクション・セットの実行中に進捗バーを表示する方法

アクション・セットでStatusプロパティの値を指定することにより、アクション・セットの実行時にエンド・ユーザーに対してステータス・メッセージおよび進捗バーを表示できます。

アクション・セットのStatusプロパティを使用しながら、進捗バーを使用して進行状況を視覚的に示すことができます。StatusプロパティのMode属性により、実行時の進捗バーの外観を選択できます。メインの進捗バーと詳細進捗バーの、2種類の進捗バーが使用可能です。メインの進捗バーはアクション・セットのアクションを使用して進捗を示し、詳細進捗バーは現在のアクションの進捗を示します。

アクション・セットにStatusプロパティを構成するアクション・セットにプロパティ・インスペクタを使用します。たとえば、実行時にリボン・コマンドで起動されるSelectActionSetのStatusプロパティを構成する場合は、リボン・コマンドの編集ダイアログを使用します。

開始する前に:

アクション・セットについて理解しておくと役立ちます。詳細は、「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ステータス・メッセージを表示するには:

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

2. たとえば、アクション・セットを起動するリボン・コマンドのアクションの編集ダイアログを開きます。

3. 表9-1の説明に従って、Statusプロパティ・グループのプロパティの値を設定します。

表9-1 Statusプロパティ・グループ

プロパティ

入力または選択する値

AllowCancel

ステータス・ダイアログ・ボックスに「取消」ボタンを表示する場合はTrue。

アクション・セットの実行をエンド・ユーザーが取り消せるかどうかを示します。

「取消」ボタンの詳細は、「アクションの取消しに関する必知事項」を参照してください。

Enabled

Trueに設定すると、ステータス・メッセージが表示されます。デフォルト値はTrueです。

Message

実行時に表示するステータス・メッセージに解決されるオプションのEL式またはリテラル値。

たとえば、EditCustomers-DT.xlsxファイルの「アップロード」リボン・コマンドでは、Messageプロパティに次のEL式が構成されています。

#{res['excel.customers.ribbon.upload.message']}

Mode

進捗バーの表示形式を選択します。

- Automatic: ADFデスクトップ統合は、アクションセットを分析し、表示する進捗バーを判別します。

- BothBarsAlways: メインの進捗バーと詳細進捗バーの両方を表示します。

- MainBarOnly: 1つの進捗バーのみを表示します。このバーはアクションのリストを使用して進捗を表示します。

- DetailBarOnly: 1つの進捗バーのみを表示します。このバーは現在のアクションの進捗を表示します。

- MainMessageOnly: いずれの進捗バーも表示しません。

Title

実行時に表示するステータス・メッセージのタイトルに解決されるオプションのEL式またはリテラル値。

たとえば、EditCustomers-DT.xlsxファイルの「アップロード」リボン・コマンドでは、Titleプロパティに次のEL式が構成されています。

#{res['excel.customers.ribbon.upload.title']}

注意:

ADFデスクトップ統合では、表9-1で説明されているように、MessageおよびTitleプロパティに値を指定しない場合、実行時に汎用テキストがレンダリングされます。このため、アクション・セットの機能コンテキストに固有のこれらのプロパティに値を指定することをお薦めします。

図9-8に、ADF表コンポーネントのUploadアクションのStatusプロパティ・グループ用に構成された、プロパティ値およびそれに対応するビジュアル要素を示します。

図9-8 アクション・セットのステータス・メッセージ・プロパティ

Statusプロパティ・グループの詳細は、表A-16のStatusのエントリを参照してください。

オプションのDetailStatusMessageプロパティを使用して、追加の情報をユーザーに提供することもできます。DetailStatusMessageプロパティの詳細は、「アクション・セット内のコンポーネント・アクションの起動方法」を参照してください。

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

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

アクション・セットが起動されると、Statusプロパティがステータス・メッセージを表示するように構成されていれば、ステータス・メッセージが表示されます。図9-9は、EditCustomers-DT.xlsxワークブックのUploadリボン・コマンドに構成されているアクション・セットが実行される際、実行時に表示されるステータス・メッセージを示しています。

図9-9 ステータス・メッセージの実行時の表示

実行時にMessageプロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。Titleプロパティが空の場合、アクション・セット・コンテナ(リボン・コマンドなど)のラベルが使用されます。コンテナのラベルも空の場合、ADFデスクトップ統合により提供されたデフォルト値が使用されます。

9.2.7 進捗バーに関する必知事項

進捗バーに関する次の情報に気をつけてください。

- アクション(alert、confirm、dialogまたはupload optionsなど)がユーザーの入力を求めると、進捗バー・ウィンドウは自動的に非表示になります。

- ADFmActionなどの一部のアクション・タイプは、詳細バーでの進捗の増分の表示をサポートしていません。たとえば、図9-10に、ModeがBothBarsAlwaysに設定されたCommitアクションの進捗バーを示します。詳細バーは表示されていますが、進捗を示してはいないことに注意してください。

図9-10 ADFmActionタイプの進捗バー

- Automaticモードで、アクション・セットに3つよりも少ないアクションしかない場合、ステータス・メッセージ・ダイアログには詳細な進捗バーのみが表示されます。アクション・セットに3つ以上のアクションがある場合、ダイアログにメイン・バーは必ず表示されますが、詳細な進捗バーは、アクション・セット内のいずれかのアクションが進捗の増分に対応している場合にのみ表示されます。どのアクションも進捗の増分に対応していない場合は、詳細バーは表示されません。

- 必要な場合、メインの進捗バーを表示せずに、詳細な進捗バーを表示することができます。このような構成は、問合せを実行した後にデータをダウンロードするといった、1つのすばやいアクションと1つの長いアクションを含むアクション・セットには有用な場合があります。

- 非常にすばやいアクション・セット(Worksheet.DownSyncなど)またはダイアログのみを表示するアクション・セットの場合、ベスト・プラクティスはステータス・メッセージを無効にすることです。

9.2.8 エンド・ユーザーがアクション・セットを実行しながらExcelの作業を続行できるようにする方法

長時間実行するアクション・セットによって、エンド・ユーザーが他の統合Excelワークブックやワークシートを使用できなくならないように、統合Excelワークブックを構成できます。

長時間実行するアクション・セット(100,000行のTable.Downloadアクションが含まれるアクション・セットなど)を実行する統合Excelワークブックは、エンド・ユーザーがMicrosoft Excelを使用して他の統合Excelワークブックやワークシート、統合以外のExcelワークブックやワークシートにアクセスすることをブロックします。長時間実行するアクションを含むことがわかっているアクション・セットを、エンド・ユーザーがアクション・セットの完了を待っている間に、Excelを使用して他のワークブックやワークシートに引き続きアクセスできるように構成できます。これを行うには、アクション・セットのActionOptions.NonBlockingプロパティをTrueに設定します。デフォルト値は、Falseです。

ActionOptions.NonBlockingプロパティをTrueに設定した場合は、「取消」ボタンがある進行状況ダイアログを表示して、エンド・ユーザーがアクション・セットを取り消せるようにすることも検討してください。詳細は、「アクション・セットの実行中に進捗バーを表示する方法」を参照してください。

エンド・ユーザーがアクション・セットの実行中にMicrosoft Excelを引き続き利用できるようにするには:

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

2. 実行時に長時間実行するアクション・セットを起動するコンポーネントのプロパティ・インスペクタを開き、ActionOptionsプロパティ・グループに移動します。

3. NonBlockingプロパティをTrueに設定します。
たとえば、図9-11に示すプロパティ・インスペクタでは、リボン・コマンドが起動するTable.Download アクションのNonBlockingプロパティをTrueに設定しています。

図9-11 アクション・セットの実行中にExcelの利用をエンド・ユーザーに許可するNonBlockingプロパティ

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

9.2.9 実行時の処理: エンド・ユーザーがアクション・セットを実行しながら作業を続行する方法

実行時には、統合ExcelワークシートがNonBlockingプロパティをTrueに設定したActionSetを起動すると、ADFデスクトップ統合はバックグラウンド処理を開始します。

バックグラウンド操作で非ブロッキングのActionSetが処理されている間に、エンド・ユーザーは次のような他の操作を実行できます。

- ワークブックやワークシートの切替

- 統合Excelワークシートを含む他のワークシートのセルの編集

エンド・ユーザーは、バックグラウンド処理が完了するまで非ブロッキングのActionSetを含む統合Excelワークシートの編集はできません。

エンド・ユーザーが、ADFデスクトップ統合対応Fusion Webアプリケーションとの通信が必要な別の操作を実行する場合、ADFデスクトップ統合はバックグラウンド処理が進行中であることを知らせる通知を送信します。たとえば、バックグラウンド処理の進行中にワークシートを保存しようとしたエンド・ユーザーには次の通知が表示されます。

図9-12 バックグラウンド処理が完了するまで操作を処理できないことを示す通知メッセージ

バックグラウンド処理が完了すると、エンド・ユーザーはバックグラウンド処理を起動した統合Excelワークシートを再び使用できます。バックグラウンド処理が完了したときに、エンド・ユーザーが現在アクティブにしているワークシートが非ブロッキングのActionSetワークシートと異なる場合は、バックグラウンド処理が完了したことを示す通知メッセージが表示されます。

9.2.10 アクションの取消しに関する必知事項

アクション・セット内の各アクションは、中断不能、中断可能またはダイアログとして分類できます。

中断不能アクションはアトミックであり、操作中に取消しまたは中断できません。次のアクションは中断不能です。

- ワークシート・アクション: UpSync、DownSync

- ADFmAction

- 表アクション: RowUpSync、RowUpSyncNoFail、RowDownSync、ClearCachedRowAttributes、FlagAllRows、UnflagAllRows、MarkAllRowsChanged、MarkAllRowsUnchanged、Initialize

中断不能アクションの実行中に「取消」ボタンがクリックされると、次の処理が行われます。

1. 現在のアクションが完了します。

2. アクション・セットが中止され、失敗としては扱われません。

3. ActionSet.Alertがスキップされます。

4. アクション・セットに対して構成されている成功または失敗アクションは実行されません。

5. ステータス・ビューア(開かれている場合)のワークシートのメッセージ・コンテンツは変更されません。ステータス・ビューアの詳細は、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」を参照してください。

中断可能アクションは、操作中に取り消すことができます。次の表アクションは中断可能です。

- Upload、UploadAllOrNothing

- Download、DownloadFlaggedRows、DownloadForInsert

- DeleteFlaggedRows

中断可能アクションの実行中に「取消」ボタンがクリックされると、次の処理が行われます。

1. 現在の操作が完了せずに停止します。

2. 表がクリーンアップされます。

- Uploadアクション: 「取消」ボタンがクリックされる前に正常にアップロードされた行の場合は、「変更済」列セル・フラグがクリアされるかそのまま残され、CommitBatchActionIDアクションが実行されます。アップロード中に行が失敗した場合、「変更済」列セルは影響を受けず、エラー・ステータスが表示されます。アップロードされていない行の「変更済」列には変更済ステータスが引き続き表示され、「ステータス」列は変更されません。

- UploadAllOrNothingアクション: CommitBatchActionIDアクションは実行されません。すべての行の「変更済」列フラグは設定されたままになります。失敗した行ではエラー・メッセージが表示されます。正常にアップロードされた行には「ステータス」セルがあり、エラー行は移入されません。

- Download、DownloadForInsertアクション: 「取消」ボタンがクリックされる前にダウンロードされた行はそのままの状態になり、削除されません。表は適宜サイズ変更されます。

- DownloadFlaggedRowsアクション: 「取消」ボタンがクリックされる前にダウンロードされたフラグ付きの行は、フラグ・セルがクリアされます。残りのフラグ付きの行にはフラグ・ステータスが引き続き表示されます。

- DeleteFlaggedRowsアクション: 「取消」ボタンがクリックされる前にサーバーで削除された行は、ワークシートから削除されます。残りのフラグ付きの行にはフラグ・ステータスが引き続き表示されます。

3. Table.FailureActionIDは実行されません。

4. アクション・セット内の残りのアクションはスキップされます。

5. ステータス・ビューアは、取消し前に処理された行のステータスを反映します。

ダイアログ・アクションでは、取消しまたは閉じることのできるモーダル・ダイアログが表示されます。アクション・セット・ステータス・メッセージ・ダイアログは、これらのいずれかのアクションの実行中は表示されません。次のアクションはダイアログ・タイプです。

- Confirmation

- Dialog

- DisplayWorksheetErrors、DisplayRowErrors、DisplayTableErrors

エンド・ユーザーがアクション・セットを取り消すことができる「取消」ボタンを表示するには、「アクション・セットの実行中に進捗バーを表示する方法」で説明されているように、AllowCancelプロパティをTrueに設定する必要があります。エンド・ユーザーがアクション・セットを取り消すと、「取消」ボタンが無効になり、操作を取り消したことをユーザーに通知する警告メッセージが表示され、アクション・セットが中止されます。

ヒント:

アクション・セットの操作を取り消すには、エンド・ユーザーはキーボードのスペース・バーを押します。

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

エンド・ユーザーに対して、アクション・セットの操作が正常に完了したか、または失敗したかを通知するアラート・メッセージを表示できます。たとえば、アクション・セットのすべてのアクションが成功したときや、少なくとも1つは失敗があった場合にメッセージを表示できます。この動作は、ActionSet.Alertプロパティ・グループで構成します。非常にすばやく実行するが、対話形式のアクションのないアクション・セットには、アラート・メッセージを使用することを検討してください。このような場合は、ActionSet.Statusプロパティ・グループを無効にして、ActionSet.Alertプロパティを有効にしてください。

注意:

エンド・ユーザーがアクション・セットの実行をキャンセルした場合、アラート・メッセージは表示されません。たとえば、ポップアップ・ダイアログのWebページを起動するアクション・セットが実行を完了した後に表示されるようにアラート・メッセージを構成します。実行時には、エンド・ユーザーは、ポップアップ・ダイアログをホストするExcel Webブラウザ・コントロールの「閉じる」ボタンを使用してポップアップ・ダイアログを閉じることにより、アクション・セットの実行をキャンセルします。このシナリオでは、アラート・メッセージは表示されません。Webページの表示の詳細は、「Fusion WebアプリケーションからのWebページの表示」を参照してください。

開始する前に:

アクション・セットについて理解しておくと役立ちます。詳細は、「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットにアラートを追加するには:

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

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

3. 「ワークシート・プロパティの編集」ダイアログで、リボン・コマンド・ノードを展開して、アラートを表示するSelectActionSetを含むリボン・コマンドを選択します。

4. アクション・セットの「アラート」プロパティ・グループを展開して、表9-2の説明に従って値を設定します。

たとえば、図9-13は、Alertプロパティ・グループのSuccessMessageプロパティ用に構成された値を示します。

表9-2 ActionSet.Alertプロパティ・グループ

プロパティ

入力または選択する値

Enabled

ドロップダウン・リストからTrueを選択すると、アクション・セットの完了時にアラート・メッセージが表示されます。デフォルト値は、Falseです。

FailureMessage

アクション・セットの実行時にエラーが発生した場合に、ダイアログに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

エラー処理の詳細は、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」を参照してください。

OKButtonLabel

ダイアログの「OK」ボタンに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

SuccessMessage

アクション・セットの実行時にエラーが発生しなかった場合に、ダイアログに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

図9-13 アクション・セットのアラート・メッセージ・プロパティ

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

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

たとえば、図9-14は、実行時にアクション・セットの実行が正常に完了した場合に表示されるAlertプロパティ・グループのSuccessMessageプロパティ用に構成されたアラート・メッセージを示します。

図9-14 アラート・メッセージの実行時の表示

実行時にFailureMessage、OKButtonLabelまたはSuccessMessageプロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。

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

アクション・セットのActionOptionsプロパティの値を指定して、次のイベントのいずれかが発生したときのアクション・セットの動作を決定します。

- アクション・セットのアクションの失敗

- アクション・セットのすべてのアクションが正常に完了

これらのエディタの起動方法、またはADFコンポーネントのプロパティ・インスペクタの詳細は、「開発ツールのスタート・ガイド」を参照してください。アクション・セットのプロパティの詳細は、「アクション・セットのプロパティ」を参照してください。

開始する前に:

アクション・セットについて理解しておくと役立ちます。詳細は、「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

統合Excelワークブックでは、ステータス情報および実行時に発生したエラーをステータス・ビューアでエンド・ユーザーにレポートします。詳細は、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」を参照してください。

アクション・セットのエラー処理を構成するには:

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

2. 適切なエディタまたはプロパティ・インスペクタを開いて、表9-3に従ってアクション・セットのActionOptionsプロパティの値を構成します。

表9-3 ActionOptionsプロパティ

設定するプロパティ

目的

AbortOnFailure

True(デフォルト値)に設定すると、現在のアクションが失敗した場合、アクション・セットはそれ以降のアクションを一切実行しません。Falseに設定すると、前のアクションが成功か失敗かにかかわらず、アクション・セットはすべてのアクションを実行します。

FailureActionID

(オプション)アクション・セットが正常に完了しなかった場合に起動するADFモデル・アクションを指定します。

たとえば、アクション・セットの起動が失敗したときに、加えられた変更をロールバックするADFモデル・アクションを指定できます。

FailureActionIDメソッドの実行中にレコード・セットの通貨を変更するアクション・セットの呼び出しは、サポートされていません。また、ロールバック・メソッドは、アクション・セットでFailureActionIDとして指定しないでください。

SuccessActionID

(オプション)アクション・セットが正常に完了した場合に起動するADFモデル・アクションを指定します。

たとえば、commitアクションを実行するアクション・バインディングを指定できます。このプロパティの値はオプションで、commitアクションを実行するアクション・バインディングなど、最終のアクションをアクション・セット自体に指定できます。

SuccessActionIDメソッドの実行中にレコード・セットの通貨を変更するアクション・セットの呼び出しは、サポートされていません。

3. オプションで、実行時にアクション・セットが失敗した場合にエンド・ユーザーに表示するメッセージを、評価するアクション・セットのFailureMessageプロパティに対するEL式に書き込みます。このメッセージは、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」で説明されているステータス・ビューアのワークシート領域に表示されます。

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

9.2.14 ユーザーにアクション・セットの確認を求める方法

確認アクションはエンド・ユーザーに対して、Confirmationアクションのプロパティで指定されたタイトルとプロンプトのメッセージを表示する簡単なメッセージ・ダイアログを提供します。

アクション・セットの実行は、エンド・ユーザーが提供されたボタンをクリックするまで一時停止します。ユーザーが「OK」をクリックすると、アクション・セットはアクション・セットの残りのアクションを続けます。ユーザーが「取消」をクリックすると、その時点でアクション・セットは中止され、残りのアクションは起動されません。エラーや成功がないため、FailureActionIDアクションやSuccessActionIDアクションは起動されません。

開始する前に:

アクション・セットについて理解しておくと役立ちます。詳細は、「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

Confirmationアクションをコンポーネントから起動するには:

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

2. 「アクションの編集」ダイアログを開き、ここの説明にあるように「追加」ボタンの下向き矢印をクリックしてドロップダウン・リストを開きます。

3. 「確認」を選択して、次のリストにあるようにプロパティを構成します。

- CancelButtonLabel
ダイアログの「取消」ボタンに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

- OKButtonLabel
ダイアログの「OK」ボタンに表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

- Prompt
ダイアログのプロンプトとして表示されるメッセージに評価されるオプションのEL式またはリテラル値を指定します。

- Title
実行時に表示する確認ダイアログのタイトルに解決されるオプションのEL式またはリテラル値を指定します。

4. オプションで、構成するアクションの目的に関するコメントをAnnotationプロパティに入力します。このプロパティに設定する値には、機能的な影響はありません。

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

注意:

ビジネス・ユースケースに固有のTitleおよびPromptプロパティの値を指定することをお薦めします。

図9-15に、アクションの編集ダイアログおよびSummitサンプル・アプリケーションのEditAllInventory-DT.xlsxワークブックのフラグ付きの行の削除リボン・コマンドのデフォルトの属性値を示します。

図9-15 確認アクションの属性

9.2.15 実行時の処理: ユーザーにアクション・セットの確認を求める方法

一度アクション・セットが起動されると、ユーザーに対して確認のプロンプトが表示されます。ユーザーが「OK」をクリックすると、次のアクションが実行され、「取消」をクリックすると、アクション・セットの実行はエラーなしに終了します。

注意:

ユーザーがConfirmationアクションをキャンセルする場合、FailureActionIDバインディングは実行されません。

図9-16に、Summitサンプル・アプリケーションのEditAllInventory-DT.xlsxワークブックのフラグ付きの行の削除リボン・コマンドをクリックしたときに表示される「確認」ダイアログを示します。

図9-16 「確認」ダイアログ

実行時にCancelButtonLabel、OKButtonLabelまたはPromptプロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。Titleプロパティが空の場合、アクション・セット・コンテナ(リボン・コマンドなど)のラベルが使用されます。コンテナのラベルも空の場合、ADFデスクトップ統合により提供されたデフォルト値が使用されます。

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

Oracle ADF機能を起動するリボン・コマンドを含む統合Excelワークブックに、Excelリボンの実行時リボン・タブを追加できます。実行時リボン・タブは、これらのアイテムをワークブックとワークシートの2つにグループ化します。「ワークブックのアクションおよびプロパティ」に説明されているワークブック・アクションを起動するリボン・コマンドが表示されるようにワークブック・グループを構成し、アクティブなワークシートで一定の範囲のアクションを起動するようにワークシート・グループを構成します。

図9-17に、ワークブックおよびワークシートの両方のグループにリボン・コマンドを構成する、EditAllInventory-DT.xlsxワークブックの在庫実行時リボン・タブを示します。ワークブック・グループでは、標準のデフォルト・ワークブック・アクションを起動するリボン・コマンドを公開しますが、ワークシート・グループでは、ワークシートにレンダリングされるADF表コンポーネントによって公開される複数のコンポーネント・アクション(UploadやDeleteFlaggedRowsなど)を起動するリボン・コマンドを公開します。

図9-17 EditAllInventory-DT.xlsxのリボン・タブの実行時の表示

ワークシートのコマンド・アイテムは、ワークシートがアクティブな場合に表示されます。ワークブック・コマンドを削除すると、そのワークブックの実行時タブに表示されなくなります。指定されたグループのすべてのコマンドを削除すると、統合Excelワークブックまたはワークシートがアクティブの場合に、グループは表示されません。

実行時にリボン・タブをExcelリボンに表示するには、Visibleワークブック・プロパティをTrueに設定します。図9-18に示すように、Titleプロパティに指定した値によって、エンド・ユーザーに対して実行時に表示されるタブのタイトルが決定されます。

図9-18 実行時リボン・タブのワークブック・プロパティ

ワークブック・リボン・コマンドを定義する方法の詳細は、「実行時リボン・タブのワークブック・リボン・コマンドの定義方法」を参照してください。ワークブック・リボン・コマンドを構成する方法の詳細は、「実行時リボン・タブのワークシート・リボン・コマンドの構成方法」を参照してください。

9.3.1 実行時リボン・タブのワークブック・リボン・コマンドの定義方法

ワークブック・リボン・コマンドを定義するには、ワークブック・プロパティのRuntime Ribbon Tabグループを構成します。

開始する前に:

Excelの実行時リボン・タブについて理解しておくと役立ちます。詳細は、「実行時リボン・タブの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ワークブック・リボン・コマンドを定義する手順:

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

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

3. 「ワークブック・プロパティの編集」ダイアログで、実行時リボン・タブを展開してワークブック・コマンドを選択します。Workbook Commandsの横にある参照(...)アイコンをクリックして、図9-19のようにダイアログを表示します。

図9-19 ワークブック・コマンドの編集ダイアログ

4. 「追加」をクリックして、次のようにワークブック・リボン・コマンドのプロパティの値を指定します。

- Method
ワークブック・リボン・コマンドで起動するワークブック・アクションを指定します。ワークブック・アクションで使用可能なリストは、「ワークブックのアクションおよびプロパティ」を参照してください。

- Label
ラベルが指定されていない場合、ADFデスクトップ統合は実行時にデフォルトのラベルを使用します。

(オプション)実行時にラベルとして表示される値を入力フィールドに入力します。あるいは、参照(...)アイコンをクリックして式ビルダーを起動し、リソース・バンドルの文字列に解決されるEL式を記述します。

ラベルに表示される実行時の値は1024文字を超えることはできません。1024文字を超える実行時の値は、切り捨てられて1024文字のみが表示されます。

リソース・バンドルの使用の詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

ラベルの詳細は、「統合Excelワークブックでのラベルの使用」を参照してください。

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

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

ワークシート・リボン・コマンドを定義するには、ワークシート・プロパティのRibbon Commandグループを構成します。デフォルトでは、ワークシートのプロパティでワークシート・グループに定義されるリボン・コマンドはありません。

開始する前に:

Excelの実行時リボン・タブについて理解しておくと役立ちます。詳細は、「実行時リボン・タブの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

Runtime Ribbon Tab.Visibleワークブック・プロパティをTrue設定します。Runtime Ribbon Tab.VisibleがFalseに設定されている場合、実行時リボン・タブはこのワークブックに表示されません。ワークブックのプロパティの詳細は、表A-20を参照してください。

ワークシート・リボン・コマンドを定義する手順:

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

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

3. 「ワークシート・プロパティの編集」ダイアログで、Ribbon Commandsプロパティの入力フィールドの横にある参照(...)アイコンをクリックして、図9-20のようにエディタを起動します。

図9-20 リボン・コマンドの編集ダイアログ

4. 「追加」をクリックして、コレクション・エディタの「メンバー」リストに新しいリボン・コマンドを追加します。

5. 表9-4の説明に従って、リボン・コマンドのプロパティを構成します。

表9-4 ワークシート・リボン・コマンドのプロパティ

設定するプロパティ

設定する値

SelectActionSet

リボン・コマンドが起動するアクションのタイプを指定します。アクション・セットの詳細は、「アクション・セットの使用」を参照してください。

Image

リボン・コマンドの適切なイメージをドロップダウン・リストから選択します。たとえば、リボン・コマンドのアクション・セットでADF表コンポーネントのDownloadアクションを起動する場合は、「ダウンロード」を選択します。その他のオプションが、リボン・コマンドが起動するアクションに対応しない場合は、「汎用」を選択します。

ADFデスクトップ統合では、使用可能なイメージが用意されています。

Label

ラベルまたは実行時にラベルに評価されるEL式として表示するテキストを指定します。ADFデスクトップ統合でのEL式の詳細は、「ADFデスクトップ統合のEL式」を参照してください。ラベルの使用の詳細は、「統合Excelワークブックでのラベルの使用」を参照してください。

Tooltip

ツールチップまたは実行時にツールチップに評価されるEL式として表示するテキストを指定します。

リボン・コマンド・ツールチップには、1024文字の最大サイズがあります。ツールチップ値がこの制限を超えた場合は、最初の1024文字のみ表示されます。

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

9.3.3 実行時の処理: リボン・タブのリボン・コマンド

図9-21に、Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックの「顧客」リボン・タブを示します。ワークブックレベルのリボン・コマンドの順序とグループ化は、実行時に常に同じです。ワークシート・コマンドはリボン・コマンドの編集ダイアログで定義された順序で表示されます。

ステータス・ビューアは、ワークブックごとに1回構成され、設計時にワークブック・コマンドに表示されますが、ワークシート・グループには実行時に表示されます。これは、ステータス・ビューアがワークシート固有であり、対象のワークシートの情報を表示するためです。統合されていないワークシートにエンド・ユーザーが移動して、ステータス・ビューアのリボン・コマンドをクリックすると、そのワークシートではステータス・ビューアを使用できない旨をエンド・ユーザーに通知するメッセージが表示されます。

図9-21 リボン・タブのリボン・コマンド

ユーザーがツールチップのあるリボン・コマンドの上にマウス・カーソルを重ねると、マルチパート・ツールチップが表示されます。リボン・コマンド・ラベルが最初に太字で表示され、続いてTooltipプロパティのテキストが表示されます。このテキストの下に、アドイン名が表示されます。図9-22に、Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックの「ダウンロード」ワークシート・リボン・コマンドの上にカーソルを移動したときに表示されるツールチップを示します。

図9-22 ツールチップを表示するリボン・コマンド

定義するワークシートレベルのリボン・コマンドが5つ以下の場合、大きいアイコンでワークシート・グループにそれぞれ表示されます。定義するワークシートレベルのリボン・コマンドが6つ以上の場合、最初の4つのリボン・コマンドが大きいアイコンで表示されます。残りのリボン・コマンドは、図9-23に示すように、「その他」のラベルのメニューに表示されます。

図9-23 ドロップダウン・リストを表示するワークシートの「その他」リボン・コマンド

注意:

ツールバーのリボン・コントロールは、すべての開いている統合ワークブックで共有されます。ツールバーの同じ場所を占める、異なるリボン・コマンドを使用している、2つ以上のワークブックを開いている場合、Excelでは開いているすべてのワークブックのうち最初に開かれたワークブックのキー・ヒントが必ず表示されます。これはExcelの制限です。

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

アクション・セットでDialogアクションを構成して、Excelワークブックと統合するFusion Webアプリケーションからのページを表示します。これらのページによって、統合Excelワークブックに追加の機能が提供されます。これには、Fusion Webアプリケーションと対話する検索ダイアログなどの機能があります。

アクション・セットのDialogアクションは、次の2つのタイプのダイアログのどちらかを表示するように構成できます。

- ポップアップ・ダイアログ

- 実行時作業ウィンドウ

コンポーネントのアクション・セットのプロパティDialog.Target (PopupまたはTaskPane)は、Webページがレンダリングされる場所を決定します。

Dialog.Pageプロパティの値は、アクションの起動時に表示されるWebページを指定します。有効な値は、WebAppRootプロパティの値の相対URL、または絶対URLです。

たとえば、CustomerSearch-DT.xlsxワークブックは、ユーザーが実行時に顧客の検索リボン・コマンドをクリックすると起動するページの値として次の相対URLを指定します。

/faces/external/searchForm.jspx

次のような絶対URLも有効です。

http://www.oracle.com/technetwork/middleware/fusion-middleware/overview/index.html

ヒント:

モデルドリブン・リスト・ピッカーを表の列に追加する場合は、「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」を参照してください。

注意:

DialogアクションはADFタスク・フローをサポートしていません。

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

アクション・セットのDialogアクションを構成して、ExcelのWebブラウザ・コントロールによりホストされているモーダル・ポップアップ・ダイアログでWebページを起動できます。この機能は、たとえばFusion Webアプリケーションからのページにより表示される値を、統合Excelワークブックに入力できるようにする機能をエンド・ユーザーに提供します。

アクション・セットが起動するWebページは、大/小文字区別のID属性がADFdi_CloseWindowに設定されている予約済HTML<span>要素を含む必要があります。

次の例は、span要素の値を、f:verbatimタグのrenderedプロパティを使用して自動的に設定する方法を示します。

<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>

図9-24は、CustomerSearch-DT.xlsxワークブックのブラウザ・コントロールによりホストされるsearchForm.jspxページを示しています。

図9-24 「検索」ポップアップ・ダイアログ

f:verbatimタグのrenderedプロパティが使用できない場合には、次のようにしなければならない場合があります。

1. Dialogアクションの結果の値をプロパティとして公開するバッキングBeanを作成します。

2. アクション・リスナーを使用して、バッキングBeanおよび<span>要素のEL式を起動し、ADFdi_CloseWindowの値をBeanプロパティの値に設定します。

どちらの方法を使用する場合でも、ADFデスクトップ統合はADFdi_CloseWindowの値を監視して、ポップアップ・ダイアログをいつ閉じるかを決定します。ADFdi_CloseWindow <span>要素の内容に応じて、次のようになります。

- 空白の文字列を参照する場合、または文字列が存在しない場合は、ポップアップ・ダイアログは開いたままになります。

- Continueの場合、ポップアップ・ダイアログが閉じ、アクション・セットが次のアクションを起動します。
次の例は、"Continue"という値が割り当てられたADFdi_CloseWindowを示します。

var closeWindowSpan = document.getElementById("ADFdi_CloseWindow");

closeWindowSpan.innerHTML = "Continue";

- Abortの場合、ポップアップ・ダイアログが閉じ、アクション・セットが実行を停止します。追加のアクション・セットは起動されません。

- 他のなんらかの文字列の値を参照する場合、ポップアップ・ダイアログは開いたままになります。

DialogアクションのTargetプロパティをPopupに設定し、.NET Webブラウザ・コントロールを使用して、モーダル・ポップアップ・ダイアログでカスタムWebページを表示します。アクション・セットが起動するDialogアクションは、ユーザーからの入力があるまで実行を続けられないため、モーダルなポップアップ・ダイアログにWebページを表示する場合は、Excelの作業ウィンドウにWebページを表示するときとは異なります。ポップアップ・ダイアログが開いているときに、エンド・ユーザーは統合Excelワークブックの他の部分と対話することはできません。ポップアップ・ダイアログがフォーカスを保持します。

エンド・ユーザーは、ブラウザ・コントロールを閉じたり、ADFデスクトップ統合がブラウザ・コントロールを閉じるまでは、ブラウザ・コントロール内で複数のWebページ間を移動できます。

カスタム・ページでユーザー選択を利用するには、Dialogアクション後にアクションの追加が必要になる場合があります。たとえば、国ベースの検索でユーザーが国名の入力を求められる場合などです。このようなシナリオで、次に起動する論理アクションは、Execute (ユーザーが入力した国名による問合せ)およびADF表コンポーネントのDownloadアクションです。

注意:

- Titleプロパティが空白の場合、Webページのタイトルがダイアログ・ウィンドウのタイトルとして使用されます。

- ADFdi_CloseWindow <span>の値は、ブラウザ・コントロール内のすべてのページ遷移で監視されます。値がContinueの場合は、ポップアップ・ダイアログが閉じ、アクション・セットの実行が継続されます。値がAbortの場合は、ポップアップ・ダイアログが閉じ、アクション・セットのアクションはそれ以上実行されません。<span>要素が存在しない場合か、値がContinueまたはAbort以外の場合は、ポップアップ・ダイアログが開いたままになります。
各ページ遷移で、予約された<span>要素が存在する場合、クライアント側Javascriptは実行可能で、要素の値を変更できます。値がContinueまたはAbortに変更された場合も、ポップアップ・ダイアログが閉じ、アクション・セットに同じ効果があります。

- エンド・ユーザーが統合Excelワークブックをダウンロードできるように、ポップアップ・ダイアログで表示されるWebページを構成しないようにしてください。この場合、ポップアップ・ダイアログからダウンロードしたワークブックをエンド・ユーザーが開くと、Oracle ADF機能が無効になります。

- リスト・ボックスやドロップダウン・リストなどのHTML <select>コンポーネントを使用している場合、ページがDialogアクションによって表示されるときは、<select>コンポーネントはz-orderの構成に従わない点に注意してください。.NET Webブラウザ・コントロールでは、レイヤー化された重複するコンポーネントを持つWebページ上で、<select>コンポーネントが他のコンポーネントの上に表示されることがあります。

9.4.2 ポップアップ・ダイアログでのWebページ検索フォームの表示方法

リボン・コマンドを使用して、検索フォームをエンド・ユーザーに表示するページをFusion Webアプリケーションから起動できます。リボン・コマンドのアクション・セットを構成して、検索処理の検索結果が統合Excelワークブックにダウンロードされるように、ADF表コンポーネントについてDownloadアクションを起動します。

Fusion Webアプリケーションでの検索フォームの作成の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「ADFによるデータバインドされた検索フォームの作成」の章を参照してください。

注意:

ADFデスクトップ統合は、ページ定義ファイルでのFindMode属性の使用はサポートしていません。FindMode属性の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のpageNamePageDef.xmlに関する項を参照してください。

開始する前に:

統合ExcelワークブックでのWebページのレンダリング方法を理解しておくと役立ちます。詳細は、「Fusion WebアプリケーションからのWebページの表示」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

統合ExcelワークブックからWebページを起動するには:

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

2. 「実行時リボン・タブのワークシート・リボン・コマンドの構成方法」の説明に従って、Excelワークシートにリボン・コマンドを作成します。

3. 実行時に文字列を表示するようにコンポーネントのLabelプロパティを設定し、ボタンをクリックすれば検索処理を実行できることをエンド・ユーザーに示します。

4. 「アクションの編集」ダイアログを使用して、コンポーネントのClickActionSetプロパティ(リボン・コマンドを構成している場合にはSelectActionSetプロパティ)のアクションの配列(Actionリスト)を構成します。表9-5は、順番に起動するアクションについて説明します。

表9-5 拡張検索フォームを起動するアクション

追加するアクション

目的

Dialog

検索フォームを含むFusion Webアプリケーションからのページを表示します。Fusion Webアプリケーションからページを表示する方法の詳細は、「ポップアップ・ダイアログでのWebページの表示方法」を参照してください。

ComponentAction

ADF表コンポーネントまたはADF読取り専用表コンポーネントからDownloadアクションを起動して、指定した検索条件と一致する結果をダウンロードします。

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

図9-25に、リボン・コマンドのSelectActionSetにDialogアクション、その後にADF表コンポーネントのDownloadアクションが含まれる、CustomerSearch-DT.xlsxワークブックの例を示します。エンド・ユーザーがリボン・コマンドを起動すると、Dialogアクションは検索ページ(searchForm.jspx)をブラウザ・ウィンドウに表示します。エンド・ユーザーが検索ページに検索条件を指定し、そこでSearchボタンを選択すると、ADF表コンポーネントのDownloadアクションが実行されます。これにより、指定した検索条件に一致する行が統合ワークシートに取得されます。

図9-25 Webページを開くように構成されたリボン・コマンド

図9-26に、実行時にWebページの検索フォームを示します。

図9-26 Webページの検索フォーム

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

アクションのDialog.TargetプロパティをTaskPaneに設定して、ADFデスクトップ統合の作業ウィンドウのDialog.Pageプロパティで指定したWebページを表示できます。ポップアップ・ダイアログでWebページを表示するのとは対照的に、作業ウィンドウでWebページを表示すると、Webページを表示する間はアクション・セットでアクションの実行を継続できます。エンド・ユーザーは、Webページが表示されている間、統合Excelワークブックの他の部分にアクセスして対話することができます。

注意:

- Titleプロパティが空白の場合、タスク・ペインのタイトルも空白のままです。

- DialogアクションのTargetプロパティをTaskPaneに設定すると、ADFデスクトップ統合はADFdi_CloseWindowの値(および他の要素)を無視します。

9.4.4 Fusion Webアプリケーションからのページ表示に関する必知事項

Dialogアクションを起動するアクション・セットで追加のアクションを指定すれば、統合Excelワークブックに含まれるデータを、Fusion Webアプリケーションと同期した状態にできます。DialogアクションのShareFrameプロパティを設定することにより、Fusion Webアプリケーション・ページと統合Excelワークシートの両方が同じデータ・コントロール・フレームを使用するよう徹底することができます。

注意:

- カスタムのWebページがADF Facesに基づいていてポップアップ・ウィンドウを開く場合、そのWebページが正しく機能するには特定の方法で構成されている必要があります。コマンド・コンポーネントで、windowEmbedStyleをinlineDocumentに設定してください。詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』を参照してください。

- Dialog.PageプロパティではEL式は受け入れられません。

9.4.4.1 統合ExcelワークシートとFusion Webアプリケーション・ページ間のデータの送信

エンド・ユーザーがFusion Webアプリケーションからのページを使用する際に、統合ExcelワークブックとFusion Webアプリケーションが同期された状態のままとなるように、Dialogアクションを起動するアクション・セットを次のように構成します。

- Dialogアクションを起動する前に、統合ExcelワークブックからFusion Webアプリケーションに変更を送信します。
RowUpSyncまたはRowUpSyncNoFailワークシート・アクションを起動して、ADF表コンポーネントの現在の行からの変更を同期します。UpSyncを起動して、フォーム・コンポーネントの変更を同期することもできます。

- (必要に応じて)データ状態をWebページから取得する1つの方法は、WebページのバッキングBeanのロジックであり、そのデータ・バインディングからデータを取得し、そのデータを統合Excelワークシートのバインディングに転送します。

- Dialogアクションを起動した後、Fusion Webアプリケーションから統合Excelワークブックに変更を送信します。
RowDownSyncワークシート・アクションを起動して、Fusion WebアプリケーションからADF表コンポーネントの現在の行へ変更を送信します。DownSyncを起動して、フォーム・コンポーネントの変更を同期することもできます。

DoubleClickActionSetについては、アクション・セットを実行した後で、サーバー・サイド・モデルがアクション・セットの実行前と同じ状態にある必要があります。これを達成するために、ADF表コンポーネントでは、「行レベルのアクション・セット・モデル管理を有効化する方法」に説明されている行レベルのアクション・セット・モデルの管理をサポートしています。

統合ExcelワークブックとFusion Webアプリケーション間でのデータ同期の詳細は、「複数のWebセッション間で統合Excelワークブックを使用するための追加機能」を参照してください。ワークシート・アクションとADF表コンポーネント・アクションの詳細は、「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。

9.4.4.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 Application Development FrameworkによるFusion Webアプリケーションの開発』のタスク・フロー間のデータ・コントロールの共有に関する項を参照してください。

9.4.4.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を閉じます。

9.5 表の列での行レベルのアクション・セットの使用

場合によっては、エンド・ユーザーが列をダブルクリックしたときに現在の表の行のコンテキストで実行するアクション・セットを構成する必要があります。たとえば、「ADF表の列へのカスタム・ポップアップ・ピッカー・ダイアログの追加方法」で説明されているように、現在の表の行のサーバー・サイド行の属性値を選択するためのカスタム・ダイアログを起動する、ADF表コンポーネントの列DoubleClickActionSetを構成できます。

行レベルのアクション・セット・モデル管理

モデルの状態を変更する可能性のある表ベースの行レベル・アクション・セットが起動される場合に、サーバー・サイド・モデル状態の管理を自動化できます。ADFデスクトップ統合では、アクション・セットのアクションを起動する前にセーブポイントを作成し、アクション・セットの実行後にセーブポイントにリストアします。これにより、アクション・セットが中断または取り消され、アクション・セットの起動前と同じ状態に戻ると、アクション・セットの起動後のモデル状態は同じままになります。

挿入ワークシート行の場合、ADFデスクトップ統合は、アクション・セット中に使用可能な一時的なサーバー・サイド行を自動的に作成します。挿入および更新の両方のワークシート行の場合、ADFデスクトップ統合は、アクション・セット(挿入の場合の一時行を含む)中に発生したモデルの変更を自動的に元に戻します。

これは、サーバー・サイド・モデルを変更する行アクション・セットで構成したADF表コンポーネントと統合Excelワークブックがある場合に便利です。たとえば、「ADF表の列へのカスタム・ポップアップ・ピッカー・ダイアログの追加方法」で説明されているように、現在のワークシート行のサーバー・サイド行の属性値を選択するためのカスタム・ダイアログを起動する、列コンポーネントのダブルクリック・アクション・セットがあります。

9.5.1 行レベルのアクション・セット・モデル管理を有効化する方法

行レベルのアクション・セットでサーバー・サイド・モデル状態を管理するには、次のワークブック・プロパティをTrueに設定します。

Compatibility.TableComponents.RowActionSetModelMgmtEnabled

RowActionSetModelMgmtEnabledプロパティをTrueに設定する前に、ADFデスクトップ統合がDataControlセーブポイントを作成して、モデル状態を取得およびリストアすることに注意してください。このため、Fusion WebアプリケーションのDataControlプロバイダがセーブポイントをサポートしていることを確認してください。

行レベルのアクション・セット・モデル管理を有効化する手順:

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

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

3. ADF表コンポーネントで行挿入(InsertRowEnabled行レベル・アクション)がサポートされている場合は、InsertBeforeRowActionIDアクションを設定して、行レベルのアクション・セット中に一時的なサーバー・サイド行を作成します。

行レベルのアクション・セットに一時行を作成する個別のアクションがユースケースで必要な場合は、InsertTempRowActionIDプロパティを構成します。

注意:

行レベルのアクション・セット中に一時的なサーバー・サイド行を作成するのにInsertBeforeRowActionIDアクションで十分な場合は、InsertTempRowActionIDを空白のままにしてください。

4. 「ワークブック・プロパティの編集」ダイアログで、まで設定されていない場合は、Workbook.Compatibility.TableComponents.RowActionSetModelMgmtEnabledプロパティをTrueに設定します。

この機能を含まないバージョンのADFデスクトップ統合で作成された統合Excelワークブックでは、RowActionSetModelMgmtEnabledプロパティがFalseに設定されていることに注意してください。

5. 「OK」をクリックして、「ワークブック・プロパティの編集」ダイアログを閉じます。

注意:

旧バージョンのADFデスクトップ統合で作成した統合Excelワークブックの場合は、RowActionSetModelMgmtEnabledプロパティをTrueに設定して、行レベルのアクション・セット中にモデル状態を管理するカスタム構成またはコードを削除します。

9.5.2 実行時の処理: RowActionSetModelMgmtEnabledがtrueに設定される

RowActionSetModelMgmtEnabledプロパティがTrueに設定されている場合、ADFデスクトップ統合は、行レベルのアクション・セットの実行中にモデル状態を自動的に管理します。

挿入ワークシート行の場合は、アクション・セットが実行されると一時的なサーバー・サイド行が自動的に作成され、アップロードが成功すると自動的に削除されます。InsertTempRowActionIDアクションが構成されている場合、起動後に一時的なサーバー・サイド行が作成されます。それ以外の場合は、InsertBeforeRowActionIDアクションがかわりに起動され、一時的なサーバー・サイド行が作成されます。

InsertTempRowActionIDまたはInsertBeforeRowActionIDのいずれのアクションも構成されていない場合、挿入行に対してアクションは起動されません。InsertRowEnabledがFalseに設定されている場合、InsertTempRowActionIDアクションは無視されます。

ADF表コンポーネントで構成された行レベルのアクション・セットをエンド・ユーザーが起動し、モデル状態を変更する可能性のあるアクションが行レベルのアクション・セットに1つ以上含まれている場合、ADFデスクトップ統合は次を実行します。

1. サーバー・サイド行の配置(更新ワークシート行のみ)

2. データ・コントロールのセーブポイントの作成

3. 一時的なサーバー・サイド行を作成するInsertTempRowActionIDまたはInsertBeforeRowActionIDアクションの起動(挿入ワークシート行のみ)

4. アクション・セットのアクションの起動

5. アクション・セットの起動の完了後に、前に作成したセーブポイントへのリストア(次のような終了方法に関係なく):

- アップロードの成功

- アップロードの失敗

- エンド・ユーザーが「取消」ボタンをクリック

注意:

次のアクション(またはアクション・タイプ)により、モデル状態が変更する場合があります。

- Table.RowUpSync

- Table.RowDownSync (挿入行のみに適用)
RowDownSync (既存の行でモデル状態が変更されない場合)。

- Table.RowUpSyncNoFail

- Worksheet.UpSync
このアクションは、行レベルのアクション・セットでもサポートされます。

- ADFmAction

- Dialog
ShareFrameがTrueに設定されており、Webページが同じWebアプリケーションの一部の場合、Dialogアクションでモデル状態が変更されることがあります。

RowActionSetModelMgmtEnabledプロパティがFalseに設定されている場合、アクション・セットの実行中の一時的なサーバー・サイド行の作成と削除を明示的に管理する必要があります。

9.5.3 RowUpSyncNoFailを使用してADF表コンポーネントからの変更を同期化する方法

行レベルのアクション・セットには、正常に完了するために、モデルの現在の状態に応じて、ADFmActionまたはDialogアクションが含まれる場合があります。Table.RowUpSyncアクションでは、各表の行の現在値をワークシートからFusion Webアプリケーションのモデル・レイヤーに送信します。Table.RowUpSyncアクションでは、アクションを正常に完了するために、表の行のすべてのセルに有効なデータを含める必要があります。たとえば、新しく挿入された行では、Table.RowUpSyncアクションを完了するために、すべての必須属性に有効値が必要です。これに対して、Table.RowUpSyncNoFailアクションは表の行のセルから有効値を同期して、無効値の検証エラーを無視します。RowUpSyncと同様、RowUpSyncNoFailアクションは、DoubleClickActionSetをサポートする表の列の行レベルのアクション・セットでの使用を対象にしています。

「行レベルのアクション・セット・モデル管理を有効化する方法」に説明されているRowUpSyncNoFailを使用する際に、行レベルのアクション・セット・モデルの管理を有効にします。

RowUpSyncNoFailを使用してADF表コンポーネントからの変更を同期化する手順:

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

2. 表タイプ・コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. Columnsプロパティの参照(...)アイコンをクリックします。

4. 「列の編集」ダイアログで列を選択し、UpdateComponentプロパティの参照(...)アイコンをクリックします。

5. ADF表コンポーネントRowUpSyncNoFailアクションを、列のDoubleClickActionSetのアクションのリストに追加します。

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

9.5.4 実行時の処理: RowUpSyncNoFailアクションの起動

RowUpSyncNoFailアクションが起動されると、現在の表の行からデータ値がサーバーにアップロードされ、一般的な障害、エラー・レポートおよびエラー処理は無視されます。サーバーが使用できないなどの致命的エラーはレポートされます。

RowUpSyncNoFailアクションでは、モデルの状態を変更し、エラー時に変更は元に戻りません。したがって、RowUpSyncNoFailへのコールでは、行検証の失敗の原因となる値の行がモデルに残る可能性があります。これにより、Table.Uploadなど、他のメソッドへの後続のコールの動作が影響を受ける場合があります。このため、行レベルのアクション・セット・モデル管理を有効にする必要があります。

9.5.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デスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

挿入コンポーネントをサポートするADF表コンポーネントで、カスタム・ピッカー・ダイアログを正常に機能させる場合は、「行レベルのアクション・セット・モデル管理を有効化する方法」に説明されている行レベルのアクション・セット・モデルの管理がADF表コンポーネントでサポートされていることを確認します。行レベルのアクション・セット・モデル管理を有効にしないと、一時的な挿入行が実行時に作成されます。

ADF表コンポーネント列からカスタム・ピッカー・ダイアログを起動する手順:

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

2. ADF表コンポーネントを配置するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックして、プロパティ・インスペクタを表示します。

3. ADF表コンポーネントのRowData.CachedAttributesプロパティを構成して、属性バインディング値を参照します。

4. Columnsの入力フィールドの横にある参照(...)アイコンをクリックして、「列の編集」ダイアログを表示します。

5. 「メンバー」・リストで、エンド・ユーザーが実行時にピッカー・ダイアログを起動する元の列を選択します。

6. 列のサブコンポーネント(UpdateComponentまたはInsertComponent)のDoubleClickActionSetのActions属性を、表9-6に示すように構成します。

表9-6 DoubleClickActionSetプロパティ

追加するアクション

目的

ComponentAction

ADF表コンポーネントのTable.RowUpSyncアクションを起動して、ADF表コンポーネントの現在の行にあるFusion Webアプリケーションに対するすべての保留中の変更を同期します。

Dialog

Dialogアクションを構成して、Fusion Webアプリケーションからピッカー・ダイアログ・ページを起動します。DialogアクションのShareFrameプロパティをTrueに設定します。詳細は、「Fusion WebアプリケーションからのWebページの表示」を参照してください。

ComponentAction

ADF表コンポーネントのTable.RowDownSyncアクションを起動して、ワークシートの現在のADF表コンポーネント行に相当するFusion WebアプリケーションのADF表コンポーネントのイテレータの行からのデータを同期します。

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

9.6 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"")")

例9-1のEL式は、エンド・ユーザーがコンポーネントをクリックすると、HYPERLINK関数を使用してhttp://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.htmlに移動します。

HYPERLINK関数を使用してEL式を記述する場合、エラー・メッセージが表示されないようにするため、適用するカスタムのスタイルの「セルのフォーマット」ダイアログの「保護」タブの「ロック済」チェック・ボックスを選択する必要があります。

注意:

EL式を計算式に使用している場合、EL式の評価後に、結果のExcel式が255文字を超えないことを確認します。これはエディタでコンポーネントのプロパティに条件値を設定するのに使用される式に適用されます。

例9-1 HYPERLINK関数

=T("=HYPERLINK(""http://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.html"", ""#{res['excel.workbook.powerby']}"")")

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

ExcelのT関数を使用するEL式を記述して、ExcelのHYERLINK関数の出力を評価します。次の作業は、ADF出力テキスト・コンポーネントが、Oracle ADFデスクトップ統合ホーム・ページを開くハイパーリンクを表示するように構成される様子を示します。

開始する前に:

動的なハイパーリンクについて理解しておくと役立ちます。詳細は、「Excel式を生成するためのEL式の使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

セルを構成し、EL式を使用してハイパーリンクを表示するには:

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

2. ADF出力テキスト・コンポーネントをExcelワークシートに挿入します。

3. ADF出力テキスト・コンポーネントのValueプロパティにEL式を記述します。

記述するEL式は、Excel HYPERLINK関数を起動して、出力を評価するためにExcel T関数を使用します。例9-1では、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」をクリックします。

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

ADFデスクトップ統合は、記述するEL式を実行時に評価します。次の例では、ADFデスクトップ統合は次のことを実行します。

- リソース・ファイルからexcel.workbook.powerbyの値を取得します。

- ユーザーがクリックできる、ハイパーリンクの付いたセルに結果を挿入します。

図9-27は、「EL式を使用してハイパーリンクを表示する際のセルの構成方法」で構成した例の実行時の表示を示しています。ADF出力テキスト・コンポーネントをホストするセルをエンド・ユーザーがクリックすると、Oracle ADFデスクトップ統合ホーム・ページがWebブラウザに開きます。

図9-27 ハイパーリンクを表示するよう構成されたADF出力テキスト・コンポーネント

9.7 統合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のオンライン・ヘルプ・ドキュメントの関数の参照の項を参照してください。

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

次の作業は、Excel関数のAVERAGEとOFFSETを使用して、Salaryとラベル付けされた列の平均を実行時に計算する様子を示します。ADF表コンポーネントまたはADF読取り専用表コンポーネントがダウンロードする行数に基づいて、拡張または収縮するセルの範囲を参照する場合に、記述するExcel式でOFFSET関数を使用します。AVERAGE関数では、Excelセルの範囲の平均値を計算します。

開始する前に:

統合Excelワークブックでの計算されたセルの使用方法を理解しておくと役立ちます。詳細は、「統合Excelワークブックでの計算済セルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ADF表コンポーネントのRowActions.AutoConvertNewRowsEnabledプロパティがFalseに設定されていることを確認します。このプロパティの詳細は、「ADF表コンポーネントのプロパティ」を参照してください。

ADF表コンポーネントで列の合計を計算するには:

1. 設計モードで、Excel式を記述するセルを選択します。たとえば、J2です。

2. 実行時にセル範囲で計算を実行するExcel式を記述します。次に例を示します。

=AVERAGE(OFFSET(J2,1,0):OFFSET(J4,-1,0))

ここで、AVERAGEは、J2およびJ4で現在参照されているセルの範囲の平均値を計算します。

図9-28は、統合ExcelワークブックのExcel式の設計時の表示を示します。

図9-28 統合ExcelワークブックのExcel式の設計時の表示

3. 変更を保存して実行時モードに切り替え、入力したExcel式が正しく評価されるかテストします。

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

図9-29は、図9-28のExcel式が評価されるときの、統合Excelワークブックの実行時の表示です。このExcel式は、設計モードで指定したセルの範囲にある値の平均を計算します。

図9-29 統合ExcelワークブックのExcel式の実行時の表示

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

統合ExcelワークブックのExcelイベントに基づいて、マクロを定義して実行できます。ADFデスクトップ統合は、Excelイベントに応答します。Excelイベントの例としては、Excelのワークシートが変更された場合に発生する変更イベントなどがあります。

Excelイベントは、エンド・ユーザーまたはマクロがアクションを実行したとき(新しい行の挿入など)に発生する可能性があります。ADFデスクトップ統合は、Excelイベントに応答します。ADFデスクトップ統合がExcelイベントに応答してコードをトリガしたとき、これ以降のExcelイベントはすべて抑制されます。

たとえば、統合Excelワークブックで、変更イベントが特定のセルで発生したときにワークブックがトリガするマクロを作成するとします。エンド・ユーザーがセルを変更すると、Excelイベントが発生し、マクロが実行されます。ただし、ADFデスクトップ統合がセルを変更した場合は、Excelイベントは発生せず、マクロは実行されません。

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

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

この章では、Excelでの定義済スタイルおよびカスタム・スタイルを使用して統合Excelワークブックの外観を構成する方法、EL式を使用して実行時にワークブックのOracle ADFコンポーネントにスタイルを動的に適用する方法、ラベルを使用してExcelワークブックをブランディングする方法、およびワークシート保護機能を使用する方法についても説明します。

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

- 統合Excelワークブックの外観の構成の概要

- スタイルの使用

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

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

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

- ADFデスクトップ統合コンポーネントでのツールチップの表示

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

- ADFデスクトップ統合ELベースのプロパティとカスタム属性プロパティの使用

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

Excel機能とOracle ADF機能の両方を使用して、統合Excelワークブックの外観を構成できます。ワークブックの外観を構成すると、エンド・ユーザーにとってのワークブックの使い勝手をよくすることができます。たとえば、実行時にADF出力テキスト・コンポーネントをレンダリングするセルに特定のスタイルを適用して、そのセルが読取り専用であることをエンド・ユーザーに示すことができます。また、会社のスタイル・シートやExcelワークブックが統合するFusion Webアプリケーションの色のスキームと一致するように、統合Excelワークブックの外観を構成する場合もあります。

統合Excelワークブックでスタイルを使用してデータを構成することには、様々な利点があります。たとえば、ADF出力テキスト・コンポーネントに特定のスタイルを使用し、ADF入力テキスト・コンポーネントには異なるスタイルを使用できます。

ADFデスクトップ統合には、ワークブックで構成するADFデスクトップ統合コンポーネントに適用する事前定義済のExcelスタイルがいくつか用意されています。デスクトップ統合プロジェクトのニーズを満たすために、追加のスタイルを定義することもできます。その場合は、ロケールや地域、言語に応じて様々にレンダリングされるExcelワークブックの形式を十分に理解しておいてください。

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

スタイルを使用して、ADFデスクトップ統合のコンポーネントの外観をカスタマイズできます。その例として、図10-1は、EditCustomers-DT.xlsxのADF表の列に適用される様々なスタイルを示しています。

図10-1 EditCustomers-DT.xlsxのADF表の列に適用されるスタイル

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

統合Excelワークブックの外観を構成するためにスタイルを適用した後、ワークブックを構成するための機能をさらに追加することが必要になる場合があります。次の各項では、使用可能なその他の機能について説明します。

- ブランディング: ADFデスクトップ統合には、スタイル以外にもプロパティの集合(BrandingItems)が用意されており、これによって、アプリケーション名、アプリケーションのバージョン詳細および著作権情報を使用した統合Excelワークブックのブランディングが可能になります。詳細は、「統合Excelワークブックのブランディング」を参照してください。

- ローカライズ: Fusion Webアプリケーションでの国際化およびローカライズの処理の一部として、統合Excelワークブックをカスタマイズできます。詳細は、「統合Excelワークブックの国際化」を参照してください。

10.2 スタイルの使用

ADFデスクトップ統合には、Excelの名前付きスタイルを実行時にOracle ADFコンポーネントに適用するメカニズムが用意されています。スタイルの適用をサポートするOracle ADFコンポーネントには、名前にStyleNameを含むプロパティがあります。たとえば、ADF表コンポーネントの列プロパティは、実行時に適用されるスタイルを決定するプロパティHeaderStyleNameおよびCellStyleNameをサポートします。

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

多くのプロパティには、ADFデスクトップ統合のスタイルの事前定義済リストから引き出されるデフォルトの値があります。たとえば、HeaderStyleNameプロパティのデフォルト値は、ADFデスクトップ統合で事前定義されたスタイルの1つであるColumn Headerです。ADFデスクトップ統合は、ExcelワークブックがADFデスクトップ統合との併用が有効になっている場合、これらの事前定義済スタイルをExcelワークブックに自動的に追加します。ADFデスクトップ統合で提供される事前定義済スタイルは、http://www.oracle.com/webfolder/ux/middleware/alta/index.htmlに説明されているOracle Alta UIと整合性があります。

次に、事前定義済スタイルを示します。

- フォームのスタイル:

- Form Header

- Form SubHeader

- Input Text

- Label

- Output Text

- 表のスタイル:

- Column Header

- Data Cell

- Indicator Cell

- Key Cell

- Read-only Cell

- Status Cell

- ブランド領域

ヒント:

Microsoft Excelには、「スタイルのコピー」ダイアログ(「ホーム」実行時リボンの「スタイル」ギャラリからアクセス)があり、ワークブック間ですべての名前付きスタイルをマージできます。

追加で使用するスタイルをExcelワークブックで作成することもできます。たとえば、日付に固有の形式を追加するには、Data Cellを複製して、My Date Cellという名前を付け、日付に固有の形式を追加します。

実行時にADFデスクトップ統合のコンポーネントに適用するスタイルを決定したら、EL式を記述してスタイルをコンポーネントに関連付けることができます。StyleNameを名前に含むADFデスクトップ統合コンポーネントのプロパティは、EL式を値として受け入れます。他のADFコンポーネントのADFラベル・コンポーネントとLabelプロパティでも、EL式がサポートされます。これらのEL式は、リソース・バンドルで定義された文字列キーの値やFusion Webアプリケーションで定義された属性コントロール・ヒントの値を取得できます。

新しいスタイルの作成と、ワークブックへのスタイルのマージの詳細は、Excelのドキュメントを参照してください。

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

Excelでセルに適用できる、「数値」スタイルの「日付」に分類される表示形式の一部は、ユーザーがMicrosoft Windowsの「コントロール パネル」からアクセスできる「地域と言語のオプション」を使用してローカル・システムのロケールを変更すると変わります。「タイプ」リストのこれらの形式の先頭に*文字が付きます。図10-2に示す日付の種類の例では、「フランス語(フランス)」の表記規則を使用してセルの日付書式が設定されています。

図10-2 Excelのフランス語の日付書式

エンド・ユーザーが、図10-3にあるように「英語(米国)」を使用するようにシステムの地域オプションを変更した場合、図10-2のスタイルでフォーマットされるセルは、「英語(米国)」の表記規則を使用します。

図10-3 Excelの英語(米国)の日付書式

注意:

Excelが時間コンポーネントのないデータ値を適切に書式設定および操作するようにするには、フォームまたは表の属性で、アプリケーションのモデル定義内のjava.sql.Dateデータ型を使用する必要があります。

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

Oracle ADFコンポーネントにスタイルを適用するには、プロパティ・インスペクタを使用して、StyleNameを名前に持つプロパティの値を設定します。

開始する前に:

スタイルについて理解しておくと役立ちます。詳細は、「スタイルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックの外観の構成の追加機能」を参照してください。

スタイルを適用するには:

1. 統合Excelワークブックで、変更するOracle ADFコンポーネントを参照するセルを選択して、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

2. StyleNameプロパティを選択し、参照(...)アイコンをクリックして「式の編集」ダイアログを表示します。

3. Stylesノードを展開して、実行時にセルに適用するスタイルを選択します。

たとえば、Output Textスタイルをバインディング・ウェアハウスID出力テキスト・フィールドに適用します。

4. 「式に挿入」をクリックして、選択したスタイルを「式」フィールドに挿入します。

図10-4に、「式の編集」ダイアログを示します(ここでは、Summitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsxワークブックのウェアハウスIDを表示するOutputTextコンポーネントのスタイルを定義します)。

図10-4 スタイルを適用する「式の編集」ダイアログ

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

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

名前にStyleNameが付いているプロパティの値として入力したEL式は、実行時に評価されます。これが事前定義済スタイルまたは開発者が定義したスタイルに対応する場合、そのスタイルはプロパティを設定したADFコンポーネントに適用されます。

ADFコンポーネントを参照するセルにスタイルが適用されている場合、ADFコンポーネントは、そのStyleNameプロパティで参照されるスタイルで定義されたプロパティ値(フォント、配置など)で、実行時にスタイルを上書きします。

たとえば、図10-5に、Summitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsxワークブックのOutput Textスタイルで定義されたウェアハウスIDフィールドの実行時の外観を示します。

図10-5 スタイルを適用したコンポーネントの実行時の外観

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

StyleNameを名前に含むOracle ADFコンポーネントのプロパティは、EL式を値として受け入れます。記述するEL式は、実行時に指定されたADFコンポーネントに適用されるExcelスタイルに解決することができます。記述するEL式は、ADFデータ・バインディング式などを使用するExcel式です。

次の例は、EL式を使用して、実行時のADFコンポーネントの動作および外観を決定できる様々なコンテキストを示しています。例10-1では、ダウンロード時にスタイルを動的に適用します。バインディングのステータス値がClosedの場合、読取り専用スタイル(MyReadOnlyStyle)を適用します。それ以外のときは、別のスタイル(MyReadWriteStyle)を適用します。

例10-2では、Excel式とADFバインディング式を取り混ぜて使用し、エラーおよびタイプ変換を処理します。例10-3は、カスタム属性プロパティを使用して、スタイルを指定する方法を示します。カスタム属性プロパティの詳細は、「ADFデスクトップ統合ELベースのプロパティとカスタム属性プロパティの使用」を参照してください。

例10-1 ダウンロード時にスタイルを動的に適用する場合

=IF("#{bindings.Status}" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")

例10-2 エラーをタイプ変換を処理するEL式

=IF(ISERROR(VALUE("#{bindings.DealSize}")), "BlackStyle", IF(VALUE("#{bindings.DealSize}") > 300, "RedStyle", "BlackStyle"))

例10-3 カスタム属性プロパティを使用したスタイルの指定

#{bindings.EmpCompView1.hints.EmployeeId.diCellStyle}

10.3.1 実行時の処理: EL式の評価

実行時にEL式を評価する際、ADFデスクトップ統合はEL式が参照する値を決定します。そしてExcel式のEL式を、その値に置換します。例10-1では、まずADFデスクトップ統合は次のExcel式でバインディング式#{bindings.Status}の値を決定します。

=IF("#{bindings.Status}" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")

続いて、次の例にあるようにバインディング式を実行時の値に置換します(ここでは、式はClosedに評価されます)。

=IF("Closed" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")

Excelは式を評価し、この例ではMyReadOnlyStyleスタイルに適用します。

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

Oracle ADFコンポーネントのプロパティ・インスペクタからアクセスできる「式の編集」ダイアログに、EL式をサポートするOracle ADFコンポーネントのプロパティのEL式を記述します。図10-6に、リボン・コマンドの「プロパティ・インスペクタ」ウィンドウから起動された「式の編集」ダイアログを示します。

図10-6 「式の編集」ダイアログ

開始する前に:

動的にスタイルを適用する方法を理解しておくと役立ちます。詳細は、「EL式を使用した動的なスタイルの適用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックの外観の構成の追加機能」を参照してください。

実行時にスタイルを適用するEL式を記述するには:

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

2. EL式を記述する、Oracle ADFコンポーネントを参照するExcelワークシートのセルを選択します。

3. 「Oracle ADF」タブの「プロパティの編集」ボタンをクリックして、プロパティ・インスペクタを表示します。

4. EL式を関連付けるプロパティ・インスペクタのプロパティを選択し、参照(...)アイコンをクリックして「式の編集」ダイアログを表示します。

注意:

「式の編集」ダイアログは、手順2で選択したOracle ADFコンポーネントがEL式をサポートする場合のみ表示されます。コンテキストによっては、参照(...)アイコンで「アクションの編集」ダイアログなどの他のエディタが起動する場合があります。

図10-6に示すように「式の編集」ダイアログには、EL式で参照できるOracle ADFコンポーネント、バインディング、スタイル、リソース、Excel機能の階層リストが表示されます。このダイアログに入力するEL式の構文の詳細は、「ADFデスクトップ統合のEL式」を参照してください。

10.3.3 スタイルを適用するEL式に関する必知事項

スタイルを適用するEL式について、次の点に注意してください。

- スタイルに評価されるEL式は、次の場合に適用されます。

- ADF表コンポーネントがDownloadアクションまたはDownloadForInsertアクションを起動する場合

- 行がADF表コンポーネントに挿入される場合

- アクション・セットは、ワークシートDownSyncアクションを起動します。

- スタイルに評価されるEL式は、次の場合には適用されません。

- 行レベルのアクション・セットは、ADF表コンポーネントRowDownSyncアクションを起動します。

- エンド・ユーザーがセルの形式のプロパティを編集する場合

- エンド・ユーザーがセルの値を編集した場合、スタイルに評価されるEL式は再評価されません。

- EL式の実行時の値は、エンド・ユーザーの統合Excelワークブックで定義されたスタイルには一致しません。
このシナリオでは、対象セルのスタイルの形式は変わりません。既存のスタイル形式が保持されます。クライアントサイドのロギングを構成した場合、EL式がエンド・ユーザーの統合Excelワークブックで定義されていないスタイルに評価されると、ADFデスクトップ統合はログ・ファイルにエントリを生成します。クライアント・サイドのロギングの詳細は、「統合Excelワークブックのログ・ファイルの生成」を参照してください。

- ユーザーがセル間を移動するときやアップロード時。ADFデスクトップ統合は、これらのエンド・ユーザーのアクション中は、スタイルを評価または適用しません。

- Excelでは、カスタム名の付いた様々なスタイルがワークブックにある場合、Excelからそのワークブックのコピーを保存すると、どのセルにも適用されていないカスタム名のスタイルがExcelによって自動的に(警告なしで)削除されます。
EL式でのみ使用され、どのセルにも適用されていないスタイルがある場合は、Excelによってそれらが削除されることがあります。

- ADFデスクトップ統合の公開機能により、ワークブックのコピーが作成されます。このため、使用されていないスタイルが消えることがあります。回避策は、未使用のワークシート上の使用されていないセルに各スタイルを1回適用することです。

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

ラベルを使用して、統合Excelワークブックの機能をどのように使用するかについての情報をエンド・ユーザーに提供します。リソース・バンドルで定義された文字列キーの値あるいは属性コントロール・ヒントを取得するEL式を記述できます。統合Excelワークブックは、ワークブックが初期化されるときにのみLabelプロパティの値を評価します。

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

図10-7に、ADFデスクトップ統合のSummitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsxワークブックの設計時の表示の部分を示します。これは、EL式を使用して、そのLabelプロパティの値を取得するADFラベル・コンポーネントを示します。

図10-7 Labelプロパティを持つADFラベル・コンポーネントとADF入力テキスト・コンポーネントの設計時の表示

このEL式は、実行時に、ADFデスクトップ統合のSummitサンプル・アプリケーションに登録されたresリソース・バンドルに定義された文字列キーに解決されます。リソース・バンドルは、「ワークブック・プロパティ」ダイアログで定義します。リソース・バンドルからの文字列キーの参照の詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

図10-8は、図10-7に設計モードで示されているADFラベル・コンポーネントの対応する実行時の表示を示しています。

図10-8 ADFラベル・コンポーネントの実行時の表示

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

リソース・バンドルからの文字列キーの他に、ADFラベル・コンポーネントと他のADFコンポーネントのLabelプロパティは、JDeveloperプロジェクトのエンティティ・オブジェクトとビュー・オブジェクトに定義する属性コントロール・ヒントを参照できます。図10-9は、EditCustomers-DT.xlsxワークブックのADF表コンポーネントにあるPhone列の式ビルダーを示しています。式ビルダーは、実行時に属性コントロール・ヒントに定義される値(Phone)を取得する、Phone列のHeaderLabelプロパティに対するEL式を含みます。

図10-9 Labelプロパティの属性コントロール・ヒントの値を取得するEL式

属性コントロールのヒントは、ビュー・オブジェクトとエンティティ・オブジェクトの両方に構成できます。エンティティ・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のエンティティ・オブジェクトの属性のコントロール・ヒントの定義に関する項を参照してください。ビュー・オブジェクトのUIヒントを定義する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のビュー・オブジェクトのUIヒントの定義に関する項を参照してください。

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

統合Excelワークブックは、エンド・ユーザーが初めてワークブックを開いた後、ワークブックが初期化されるときにADFコンポーネントのLabelプロパティを評価します。統合Excelワークブックは、ワークブック自身がシステム上のディレクトリに保存されるときに、Labelプロパティの取得された値を保存します。

Labelプロパティの取得された値は、ワークシートのDownSyncアクションやADF表コンポーネントのDownloadアクションのようなアクションの起動中にリフレッシュされません。表A-19に示されるようにワークブックのアクションClearAllDataまたはEditOptionsを起動する場合、Labelプロパティの取得された値を間接的にリフレッシュします。

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

ADFデスクトップ統合には、アプリケーション名やバージョン情報、著作権情報などの情報によって構成して統合Excelワークブックのブランディングに使用できるいくつかの機能があります。この情報を統合Excelワークブックに関連付けるために、ワークブックのBrandingItemsプロパティ・グループを使用できます。エンド・ユーザーがViewAboutDialogワークブック・アクションを実行時に起動するリボン・コマンドをクリックすればこのブランディング情報を閲覧できるように、「実行時リボン・タブの構成」の説明に従って、リボン・タブを構成する必要があります。ワークブック・アクションの詳細は、表A-19を参照してください。

ADFデスクトップ統合には、統合Excelワークブックのブランディングをサポートするスタイル(Branding Area)も用意されています。ADFデスクトップ統合のサンプル・アプリケーションでは、各サンプル・ワークブックの最初の行にこのスタイルを適用します。図10-10に示すように、スタイルをADFイメージおよびADF出力コンポーネントとともに使用することで、サンプル・アプリケーション内の統合Excelワークブックで一貫性のあるブランディングを実現できます。

図10-10 サンプル・ワークブックのブランディング・エリア

また、リソース・バンドルに文字列キーを定義して、タイトルなどの情報を1つの場所に定義しておくと、実行時、EL式がこれらの文字列キーの値を取得する際に、統合Excelワークブック内の複数の場所でこの情報を使用できます。文字列キーの定義の詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

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

ワークブックBrandingItemsプロパティ・グループの値を定義します。

開始する前に:

統合Excelワークブックのブランドのカスタマイズ方法を理解しておくと役立ちます。詳細は、「統合Excelワークブックのブランディング」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックの外観の構成の追加機能」を参照してください。

統合Excelワークブックをブランディングするには:

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

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

3. 「ワークブック・プロパティの編集」ダイアログで、BrandingItemsの入力フィールドの横にある参照(...)アイコンをクリックします。

4. 「BrandingItemsの編集」ダイアログで、「追加」をクリックして、新しい要素に次のように値を指定します。

- Name
定義するブランディング項目の名前、またはEL式を指定します。

- Value
リテラル文字列を指定するか、または参照(...)アイコンをクリックして、式ビルダーを起動し、実行時に値を取得するEL式を記述します。BrandingItemsは、リテラル文字列またはリソース式を使用しなければならず、バインディング式を一切含むことはできません。

図10-11に、ADFデスクトップ統合のSummitサンプル・アプリケーションのブランディング項目の設計時の表示を示します。

図10-11 ADFデスクトップ統合のSummitサンプル・アプリケーションのブランディング項目の設計時の表示

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

ヒント:

ブランドのイメージまたはロゴを統合Excelスプレッドシートに追加することもできます。イメージ・コンポーネントの追加の詳細は、「ADFイメージ・コンポーネントの挿入」を参照してください。

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

実行時には、BrandingItemsプロパティ・グループに定義する名前と値の組合せが、エンド・ユーザーが実行時リボン・タブの「情報」リボン・コマンドを使用して起動する、「情報」ダイアログの「情報」タブに表示されます。「実行時リボン・タブの構成」の説明に従って、実行時リボン・タブが表示されるように構成します。図10-12に、Excelワークブックのブランディング項目の実行時の表示を示します。

図10-12 ADFデスクトップ統合のSummitサンプル・アプリケーションのブランディング項目の実行時の表示

注意:

ワークブック・プロパティのBrandingItemsグループにプロパティを指定しないと、実行時に「情報」タブが「情報」ダイアログに表示されません。

10.6 ADFデスクトップ統合コンポーネントでのツールチップの表示

ツールチップを使用して、ADFデスクトップ統合コンポーネントおよび表の列ヘッダーにヒントまたは指示を表示できます。ツールチップは、コンポーネントを配置するセルの「コメント」ウィンドウまたは列のヘッダー・セル(表の列ヘッダーの場合)に表示されます。

ツールチップは、リテラル文字列またはEL式として定義できます。リテラル文字列は、コンポーネントまたは列のTooltipプロパティに入力します。Tooltipプロパティの値として、EL式(リソース式を含む)を指定することもできます。実行時に、EL式は表示するツールチップに解決されます。

注意:

ADFデスクトップ統合では、EL式でtoolTip属性コントロール・ヒントもサポートされます。サポートは、「ADFデスクトップ統合のEL式」の表B-3で説明されているmandatoryコントロール・ヒントと同様です。

コンポーネントをバインディング要素から作成する場合、ツールチップはモデルドリブン・ツールチップに自動的に設定され、そうでない場合は空になります。ツールチップは、ADFラベル・コンポーネントに対しては最初は常に空になります。表の列ヘッダーの場合、レンダリングされるデフォルト値は、図10-13に示すように、Fusion Webアプリケーションの属性コントロールTooltipプロパティの値になります(ADF表コンポーネントをツリー・バインディングから作成した場合)。特殊な列(「変更済」、「フラグ付き」、「ステータス」)は例外です。デフォルトでは、これらはツールチップをレンダリングしません。

属性コントロールのヒントは、ビュー・オブジェクトに構成できます。ビュー・オブジェクトのUIヒントを定義する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のビュー・オブジェクトのUIヒントの定義に関する項を参照してください。統合Excelワークブックの属性コントロール・ヒントの値を取得する方法の詳細は、「属性コントロール・ヒントの値の取得」を参照してください。

詳細は、「ADF表コンポーネントへのツールチップの追加方法」および「フォーム・タイプ・コンポーネントへのツールチップの追加方法」を参照してください。

図10-13 ADF表の列ヘッダーにツールチップをレンダリングする属性コントロール・ヒント・ツールチップ

注意:

図10-13は、EditCustomers-DT.xlsxワークブックの「郵便番号」列ヘッダー・セルの右上の小さい赤色の矢印を示しています。これは、ヘッダー・セルにコメントがあることを示します。マウス・ポインタをセルに合せると、ツールチップ・メッセージが表示されます。

10.6.1 ADF表コンポーネントへのツールチップの追加方法

ツールチップをレンダリングするADF表コンポーネントの列のTooltipプロパティを構成できます。

開始する前に:

ツールチップについて理解しておくと役立ちます。詳細は、「ADFデスクトップ統合コンポーネントでのツールチップの表示」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックの外観の構成の追加機能」を参照してください。

表の列ヘッダーにツールチップを追加する手順:

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

2. 表タイプ・コンポーネントがExcelワークシートにすでに挿入されている場合は、表のセルをクリックし、「Oracle ADF」タブで「プロパティの編集」をクリックします。

表タイプをワークシートに挿入するには、コンポーネントを配置するセルを選択します。コンポーネント・パレットまたはバインディング・パレットで、表タイプ・コンポーネントまたはバインディングを選択し、「コンポーネントの挿入」または「バインディングの挿入」をクリックします。

3. 「コンポーネントの編集: ADF表」ダイアログで、Columnsプロパティを展開します。目的の列のTooltipプロパティの参照(...)アイコンをクリックし、ツールチップ・メッセージを入力します。リテラル文字列またはEL式を入力できます。

図10-14に、図10-13に示す実行時のツールチップをレンダリングするSummitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックのADF表の列ヘッダーのツールチップEL式を示します。

図10-14 設計時のADF表の列ヘッダーのツールチップ

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

10.6.2 フォーム・タイプ・コンポーネントへのツールチップの追加方法

ツールチップをレンダリングするコンポーネントのTooltipプロパティを構成できます。

開始する前に:

ツールチップについて理解しておくと役立ちます。詳細は、「ADFデスクトップ統合コンポーネントでのツールチップの表示」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックの外観の構成の追加機能」を参照してください。

挿入されたフォームタイプ・コンポーネントにツールチップを追加する手順:

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

2. フォーム・タイプ・コンポーネントがExcelワークシートにすでに挿入されている場合は、コンポーネントを選択し、「Oracle ADF」タブで「プロパティの編集」をクリックします。

コンポーネントをワークシートに挿入するには、コンポーネントを配置するセルを選択します。コンポーネント・パレットまたはバインディング・パレットで、フォーム・タイプ・コンポーネントまたはバインディングを選択し、「コンポーネントの挿入」または「バインディングの挿入」をクリックします。

3. プロパティ・インスペクタで、Tooltipプロパティの参照(...)アイコンをクリックし、ツールチップ・メッセージを入力します。

コンポーネントがバインディング要素から作成される場合、Tooltipプロパティはモデルドリブン・ツールチップに設定されます。必要に応じて、ツールチップ・メッセージまたはEL式を構成および変更できます。コンポーネントがバインディング要素から作成されていない場合、プロパティは空になります。

図10-15に、入力テキスト・コンポーネントのTooltipプロパティを示します。

図10-15 入力テキスト・コンポーネントのTooltipプロパティ

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

図10-16に、実行時のツールチップ・メッセージを示します。入力テキスト・コンポーネントの右上にある小さな赤い矢印に注意してください。これは、コンポーネントまたはセルにコメントがあることを示します。マウス・ポインタをコンポーネントに合せると、ツールチップ・メッセージが表示されます。

図10-16 実行時の入力テキスト・コンポーネントのツールチップ・メッセージ

10.6.2.1 フォーム・タイプ・コンポーネントのツールチップに関する必知事項

ツールチップは1回のみレンダリングされ、Worksheet.DownSyncをコールした後は更新されません。

設計時にADFコンポーネントを含むセル(またはマージされたエリア)に手動で追加されたExcelコメントは実行時に削除され、ADFコンポーネントのツールチップに置き換えられます。同様に、テスト・モード中にADFコンポーネントに手動で追加されたExcelコメントは、統合Excelワークブックが設計時モードに戻ると削除されます。ADFコンポーネントのないセルまたはツールチップをサポートしないADFコンポーネントに追加されたExcelコメントは、そのままになります。

実行時に、Tooltipプロパティが空でない場合、式が評価され、結果のテキストの空白がトリムされます。最終値が空でない場合は、その値がターゲット・セルにExcelコメントとして挿入されます。

コンポーネントがマージされたセル範囲に配置される場合、ツールチップはマージされた範囲の右上隅に表示されます。

ツールチップを表の列(「表の列のツールチップに関する必知事項」)およびワークシートのリボン・コマンド(「実行時リボン・タブのワークシート・リボン・コマンドの構成方法」)に追加することもできます。

注意:

- ツールチップは、保護されたワークシートでは編集できません。

- リボン・コマンド・ツールチップには、1024文字の最大サイズがあります。ツールチップ値がこの制限を超えた場合は、最初の1024文字のみ表示されます。

- Excelコメントが無効になっている場合、フォーム・コンポーネントと表ヘッダーのツールチップはレンダリングされません。

- ツールチップが過剰に使用されると、実行時のパフォーマンスに影響することがあります。

10.6.3 表の列のツールチップに関する必知事項

列ヘッダーのツールチップは、表の最初の初期化、Table.Initialize、Table.Downloadアクションなど、表の列ヘッダーがレンダリングされるときに評価およびレンダリングされます。

列のTooltipプロパティが空でないEL式に設定されている場合は、EL式が評価されるテキストは空白がトリムされ、ターゲット・セルにExcelコメントとして挿入されます。

実行時に展開された各動的列の一意のツールチップを取得するには、ToolTipプロパティに次の構文で式を入力します。

#{bindings.<TreeID>.hints.*.tooltip}

実行時に、動的列は指定されたツリーまたはノードの使用可能な属性のセットに展開されます。ADFデスクトップ統合では、対応するツールチップ値も取得され、前述のルールを使用して適切な列に適用されます。

ツールチップの詳細は、「フォーム・タイプ・コンポーネントのツールチップに関する必知事項」を参照してください。表コンポーネントの特殊な列のヘッダー(「ADF表コンポーネント内の特殊な列」を参照)および動的な列(「ADF表コンポーネントへの動的な列の追加」を参照)にツールチップを追加することもできます

10.7 ワークシート保護の使用

デフォルトでは、ADFラベル、ADF出力テキスト、ADF表コンポーネントのヘッダー行など、読取り専用の動作を意味する、ロックされたセルおよびADFデスクトップ統合コンポーネントの値をエンド・ユーザーが実行時に編集できます。データをアップロードする際、ADFデスクトップ統合は、コンポーネントを次に参照するときに、これらの変更を無視して上書きします。

様々なADFデスクトップ統合コンポーネント(例: ADF入力テキスト・コンポーネント)およびサブコンポーネント(例: ModelDrivenColumnComponentサブコンポーネント)には、ReadOnlyプロパティが含まれます。

ロックされたセルが実行時に編集されるのを防ぐには、ADFデスクトップ統合ワークシート保護を有効にします。オプションで、エンド・ユーザーがワークシート保護をオフにしないように、パスワードを提供できます。

Excelのシートの保護機能やブックの保護機能は、統合Excelワークブックで直接使用しないでください。また、エンド・ユーザーがこれらの機能を使用しないようにしてください。

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

ワークシート保護を使用すると、ロックされたセルおよび読取り専用セルについて正真正銘の読取り専用モードを有効化し、実行時に編集されないようにします。

開始する前に:

ワークシート保護について理解しておくと役立ちます。詳細は、「ワークシート保護の使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックの外観の構成の追加機能」を参照してください。

ワークシート保護を有効化するには:

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

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

3. 「ワークシート・プロパティの編集」ダイアログで、Protectionプロパティを展開して次のように値を構成します。

- 実行時にワークシートの保護を有効化するには、「モード」を「自動」に設定します。

- 必要があれば、「パスワード」・フィールドに値を入力します。エンド・ユーザーは、この値を知らなければ実行時にシートの保護をオフにできません。
パスワードは暗号化されず、Excelで有効なパスワードの長さは最大255文字です。これより長いパスワードを指定すると、シート保護を切り替える際に実行時に警告なしで切り捨てられます。

図10-17に、ADFデスクトップ統合のSummitサンプル・アプリケーションのワークシート保護の設計時の表示を示します。

図10-17 ADFデスクトップ統合のSummitサンプル・アプリケーションのワークシート保護の設計時の表示

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

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

実行時にエンド・ユーザーが読取り専用のセルやADFデスクトップ統合の読取り専用コンポーネントを編集しようとすると、Excelに図10-18に示すような警告メッセージが表示されます。

図10-18 実行時のワークシート保護の警告

ワークシート保護が有効化されている場合、ADFデスクトップ統合はADFデスクトップ統合コンポーネントの範囲にあるセルのLockedプロパティを制御します。ADFデスクトップ統合コンポーネントの範囲外にあるLockedプロパティは、影響を受けません。ADFデスクトップ統合では、ADFデスクトップ統合コンポーネントの範囲外にあるセルのLockedプロパティを変更しません。

実行時には、ADFデスクトップ統合はコンポーネントの読取り専用動作を評価します。ADFラベルやADF出力テキストなど一部のコンポーネントは常に読取り専用で、ADF入力テキストのような他のコンポーネントは読取り専用のプロパティを持っています。実行時には、読取り専用コンポーネントがtrueに評価されると、Lockedプロパティはtrueに設定されます。ADF表コンポーネントのヘッダー・ラベルは常に読取り専用ですが、列のサブコンポーネントは、構成によって読取り専用になる場合とならない場合があります。実行時には、各コンポーネントの読取り専用の動作が評価され、対応するセルのLockedプロパティは適切な値に設定されます。

10.7.3 ワークシートの保護に関する必知事項

ワークシート保護は、デフォルトでは有効になっていません。特定のワークシートに使用する場合は、設計時に有効にできます。また、ワークシートの保護が有効化された後は、セルのLockedプロパティは、実行時に設定されます。

ワークシート保護に使用するパスワードは暗号化されず、安全な場所に保存されない点にも注意してください。ワークシートの保護は、ワークシートの操作性を向上するためのものであり、重要なデータを保護するものではありません。

ワークシート保護を有効化した後は、Excelの動作が異なります。主な動作の違いは次のとおりです。

- ADF表コンポーネントはKey列に読取り専用セルを含むため、ソートできません。

- エンド・ユーザーは行全体または列全体を挿入できます。ただし、一度挿入すると削除はできません。

- エンド・ユーザーは行や列を部分的には挿入できません。

10.8 ADFデスクトップ統合ELベースのプロパティとカスタム属性プロパティの使用

サーバー上のビュー・オブジェクトに定義したカスタム属性プロパティと、統合ExcelワークブックのADFデスクトップ統合ELベースのプロパティを使用できます。デフォルトでは、ADFデスクトップ統合EL式は、サーバー上で定義されたカスタム属性プロパティをサポートしていません。

サポートを有効にするには、Worksheet.CustomAttributePropertiesEnabledプロパティをTrueに設定する必要があります。

サポートを有効にすると、ELベースのプロパティ値でカスタム属性プロパティ名を参照できます。

10.8.1 統合Excelワークブックでカスタム属性プロパティを有効化する方法

カスタム属性プロパティを有効にする前に、1つ(またはそれ以上の)カスタム属性プロパティをFusion Webアプリケーションに構成します。ビュー・オブジェクトのUIヒントを定義する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のビュー・オブジェクトのUIヒントの定義に関する項を参照してください。

統合Excelワークブックでカスタム属性プロパティを有効にする手順:

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

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

3. CustomAttributePropertiesEnabledをTrueに設定します。

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

CustomAttributePropertiesEnabledをTrueに設定すると、次のいずれかの形式を使用して、EL式内のカスタム属性プロパティを参照できます。

- 属性ヒントの場合、"#{bindings.{attr id}.hints.{custom property}}"の形式を使用します。

- ツリー属性の場合、"#{bindings.{tree id}.hints.{attr id}.{custom property}}"の形式を使用します。

- 動的列ヒントの場合、"#{bindings.{tree id}.[{node id}].hints.*.{custom property}}"の形式を使用します。

次の例のdiCellStyleは、関連するモデル属性に開発者が追加したカスタム属性プロパティです。

- 静的列の例: #{bindings.EmpCompView1.hints.EmployeeId.diCellStyle}

- 動的列の例: #{bindings.EmpCompDeclSqlView1.[model.EmpCompDeclSqlView].hints.*.diCellStyle}

10.8.2 実行時の処理: CustomAttributePropertiesEnabledがtrueに設定される

ワークシートのCustomAttributePropertiesEnabledがTrueに設定されている場合、ADFデスクトップ統合ELベースのプロパティは、サーバーから返されたカスタム属性プロパティの値の評価を開始します。

ヒント:

最適なパフォーマンスのために、可能であれば、カスタム・プロパティ値をリテラル値(例: Excelスタイル名)にしてください。

10.8.3 CustomAttributePropertiesEnabledプロパティに関する必知事項

CustomAttributePropertiesEnabledプロパティおよびその動作に関して、次の点に注意してください。

- カスタム・プロパティ名では大文字と小文字が区別されます。

- カスタム・プロパティ値がEL式(リテラル値ではなく)の場合、返されるプロパティ値はELとして再評価されます。

注意:
カスタム・プロパティ値が、列の読取り専用プロパティについて評価されるEL式の場合、このEL式の評価の詳細は「読取り専用プロパティのEL式の評価」を参照してください。

- ELの再評価は、標準の属性ヒント値には適用されません。

- CustomAttributePropertiesEnabledがTrueの場合、ELのカスタム・プロパティ名の検証エラーは構成検証でレポートされません。
CustomAttributePropertiesEnabledがFalseの場合、ELのカスタム・プロパティ名の検証エラーは構成検証でレポートされます。

- カスタム・プロパティ名が、予約済のヒント名(例: label)と一致している場合、カスタム・プロパティは無視されます。

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

この章では、統合Excelワークブックの開発時に考慮する国際化の問題、リソース・バンドルの使用方法、および統合Excelワークブックのローカライズ方法について説明します。

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

- 統合Excelワークブックの国際化の概要

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

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

11.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コンポーネントに適用する場合、ロケールに依存するスタイルを構成または選択してください。詳細は、「スタイルの使用」を参照してください。

Fusion Webアプリケーションの国際化の詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』の「ページの国際化およびローカライズ」の章を参照してください。

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

国際化されたFusion Webアプリケーションの統合Excelワークブックを作成できます。国際化されたFusion Webアプリケーションの一部として統合Excelワークブックを設計すると、特定のローカル言語および文化に簡単に適応できるようになります。リソース・バンドルを使用し、実行時にエンド・ユーザーに表示されるユーザーが参照可能な文字列を変換することで、特定のローカル言語および文化に対応する統合Excelワークブックを構成できます。詳細は、「ADFデスクトップ統合でのローカライズ」を参照してください。

図11-1に、日本語用に構成された統合Excelワークブックの例を示します。

図11-1 日本語の統合Excelワークブック

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

統合Excelワークブックを国際化した後、必要に応じてワークブックを構成するための機能をさらに追加できます。次の各項では、使用可能なその他の機能について説明します。

- セキュリティ: セキュアなFusion Webアプリケーションを使用する場合もそうでない場合も、統合Excelワークブックのセキュリティ実装について認識しておく必要があります。詳細は、「統合Excelワークブックの保護」を参照してください。

- 統合Excelワークブックの検証: Fusion Webアプリケーションおよび統合Excelワークブックに対して、サーバー・サイドおよびクライアント・サイドのデータ入力の検証を構成できます。詳細は、「統合Excelワークブックへの検証の追加」を参照してください。

- 統合Excelワークブックの公開およびデプロイ: 統合Excelワークブックの設計と検証に続く最終ステップは、公開およびデプロイです。詳細は、「統合Excelワークブックのデプロイ」を参照してください。

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

ADFデスクトップ統合はリソース・バンドルを使用して、設計時と実行時にExcelワークブックのADFコンポーネントに表示される、ユーザーが参照可能な文字列を管理します。JDeveloperを使用して、リソース・バンドルをFusion Webアプリケーションで作成および管理できます。

複数のリソース・バンドルに統合Excelワークブックを登録できます。実行時に、ADFデスクトップ統合は統合Excelワークブックがワークブックの初期化中に登録されたリソース・バンドルから使用する文字列のキー値のみをダウンロードします。たとえば、リソース・バンドルAから3つの文字列のキー値を参照する統合Excelワークブックにリソース・バンドルAを登録するとします。ワークブックの初期化中、ADFデスクトップ統合は、ワークブックがリソース・バンドルAから参照する3つの文字列のキー値をダウンロードします。

注意:

統合Excelワークブックに登録するリソース・バンドルが20を超える場合、ADFデスクトップ統合は警告メッセージをログに記録します。クライアント・サイド・ロギングの詳細は、「クライアント・サイド・ロギングの概要」を参照してください。

Resourcesワークブック・プロパティは、統合Excelワークブックが使用できるリソース・バンドルを指定します。このプロパティでは、統合Excelワークブックでのリソース・バンドル(Resourcesリスト)の配列を指定します。配列の各要素には、リソース・バンドルを一意に識別するプロパティ(Alias)と、JDeveloperデスクトップ統合プロジェクトのリソース・バンドルへのパスを識別するプロパティ(Class)があります。たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションのEditCustomers-DT.xlsxは、Classプロパティに対して次の値を持つresリソース・バンドルを参照します。

oracle.summitdi.resources.UIResources

Resourcesワークブック・プロパティの詳細は、「ワークブックのアクションおよびプロパティ」を参照してください。

デフォルトでは、ADFデスクトップ統合に予約済のリソース・バンドルがあり、これが多くのコンポーネント・プロパティによって実行時に使用される文字列のキー値を提供します。ADFデスクトップ統合は、_ADFDIresの値を使用して、このリソース・バンドルを一意に識別します。多くのEL式が、このリソース・バンドルの文字列の値を参照します。

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

「リソースの編集」ダイアログを使用して要素をResourcesに追加することにより、リソース・バンドルを登録します。

開始する前に:

リソース・バンドルの使用方法を理解しておくと役立ちます。詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックを国際化するための追加の機能」を参照してください。

リソース・バンドルを登録するには:

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

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

3. 「ワークブック・プロパティの編集」ダイアログでResourcesの入力フィールドの横にある参照(...)アイコンをクリックして、図11-2に示す「リソースの編集」ダイアログを表示します。

図11-2 リソースの編集ダイアログ

4. リソース・バンドルの値を指定して、「OK」をクリックします。

リソース・バンドルに指定する値の詳細は、表A-20のリソースのエントリを参照してください。

ヒント:

リソース・バンドル・クラスの登録には、ファイル拡張子を含めません。

11.2.2 構成不可能なリソースのオーバーライド方法

このオーバーライド可能なリソースには、ユーザーが参照可能な実行時の文字列がいくつか含まれます。これらは、ADFデスクトップ統合コンポーネントのプロパティを構成しても、置換できません。例として、図7-11に示すようなデフォルトのアップロード・ダイアログに表示される文字列があげられます。

これらのユーザーが参照可能な実行時の文字列を置換するには、ADFデスクトップ統合がサポートしている上書き可能なリソースからの文字列キーを含むFusion Webアプリケーションにリソース・バンドルを作成します。「オーバーライド可能なリソースの文字列キー」に、これらの文字列キーの一覧があります。作成したリソース・バンドルでオーバーライドする、「オーバーライド可能なリソースの文字列キー」に記載されている文字列キーの値を定義します。

開始する前に:

リソース・バンドルの使用方法を理解しておくと役立ちます。詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックを国際化するための追加の機能」を参照してください。

構成不可能なリソースをオーバーライドするには:

1. Fusion Webアプリケーションにリソース・バンドルを作成します。

リソース・バンドルの作成の詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のリソース・バンドルおよびロケールの手動による定義に関する項を参照してください。

2. 「オーバーライド可能なリソースの文字列キー」に記載された文字列キーのリソース・バンドルに、実行時に表示する文字列のキー値を定義します。

3. 手順1で作成したリソース・バンドルを登録する際に、_ADFDIresをAliasプロパティの値に設定します。

リソース・バンドルの登録方法の詳細は、「統合Excelワークブックでのリソース・バンドルの登録方法」を参照してください。

表E-1に、ADFデスクトップ統合でサポートされるオーバーライド可能なリソースの文字列キーを示します。オーバーライド可能なリソースの文字列キーごとに、英語の値列に記載された値に代わる値を指定します。オーバーライド可能なリソースはコンポーネント・プロパティで使用しないようにしてください。このリソースはオリジナルでの使用のみを目的としています。

11.2.3 実行時の処理: 構成不可能なリソースのオーバーライド

ADFデスクトップ統合により、作成したリソース・バンドルで定義した表E-1に記載されている文字列キーの値が取得されます。予約済のリソース・バンドルから作成したリソース・バンドルで定義していない他の文字列キーの値が取得されます。

11.2.4 リソース・バンドルに関する必知事項

統合Excelワークブックのリソース・バンドルに関する追加情報は、次の項を参照してください。

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

ADFデスクトップ統合は、次のタイプのリソース・バンドルの使用をサポートしています。

- プロパティ・バンドル(.properties)

- リスト・リソース・バンドル(.rts)

- Xliffリソース・バンドル(.xlf)

リソース・バンドルの詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のリソース・バンドルおよびロケールの手動による定義に関する項を参照してください。

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

ADFデスクトップ統合は、最初にFusion Webアプリケーションに接続するときに統合Excelワークブックが取得するリソース・バンドルからの文字列キーの値をキャッシュします。統合Excelワークブックによって以前の値がキャッシュされた後にリソース・バンドルの文字列キーの値を変更した場合、ClearAllDataワークブック・アクションが起動され、エンド・ユーザーがワークブックを閉じてから再び開くことによりFusion Webアプリケーションから変更済の値が取得されないかぎり、変更した値はワークブックに表示されません。ClearAllDataワークブック・アクションの詳細は、表A-19を参照してください。

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

ADFデスクトップ統合では、次の例に示すように[]文字を使用して、文字列のキー名をEL式で囲む必要があります。

#{res['StringKey']}

ADFデスクトップ統合は、次の構文をサポートしていません。

#{res.StringKey}

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

ADFデスクトップ統合は、多様なテクノロジのセットを統合しています。これらのテクノロジのそれぞれが、Fusion Webアプリケーションをローカライズするときに、自然な人間の言語の選択をコントロールする様々なオプションを提供します。

エンド・ユーザーが統合Excelワークブックと対話するときには、様々な要素が関係しています。これらの要素のひとつひとつに、サポートされる言語とリソース翻訳の独自のセットがあります。こうしたシナリオでは、言語の翻訳はそれぞれのパブリッシャの役割です。

表11-1は、関係する要素および翻訳におけるそれらの役割の概要を示します。

表11-1 ローカライズの概要

ローカライズの対象

使用する言語の決定

Microsoftオペレーティング・システム

オペレーティング・システムの言語設定。「コントロール パネル」の「地域の設定」から言語を選択できます。

Microsoft Office

Microsoft Officeの言語の設定

ADFデスクトップ統合のダイアログ・アクションで表示されるWebページ

通常はMicrosoft Internet Explorerの言語設定により制御されます。

ADFデスクトップ統合のクライアント・リソース

Microsoft Officeの言語の設定

ADFデスクトップ統合のサーバー・リソース

Microsoft Internet Explorerの言語設定

ADFデスクトップ統合のカスタム・リソース・バンドル

Microsoft Internet Explorerの言語設定

図11-3は、Fusion Webアプリケーションに関わる様々な要素が翻訳でどのような役割を果すかを示します。

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

ADFデスクトップ統合でのローカライズの詳細は、OTNのOracle ADF Desktop Integrationローカライズに関するホワイトペーパーを参照してください。

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

11.3.1 サーバー・サイドのロケール設定をオーバーライドするためのFusion Webアプリケーションの構成

サーバー・サイドのローカライズは、ADFデスクトップ統合のサーバー・リソースとアプリケーション・カスタム・リソースから構成されます。デフォルトでは、ADFデスクトップ統合は、クライアント・サイドのInternet Explorerの言語プリファレンスを使用してサーバー・サイドのローカライズを決定しますが、Fusion Webアプリケーションを構成してサーバー・サイドのロケールを決定することもできます。そのためには、ユーザー・プリファレンス・ハンドラを作成し登録する必要があります。登録するには、ADFデスクトップ統合サーブレットにUserPreferences.Handler初期化パラメータを追加します。

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

ユーザー・プリファレンス・ハンドラを作成するには、java.util.Locale getLocale()シグネチャのpublicメソッドでpublic javaクラスを作成します。このシグネチャは、ADFデスクトップ統合のサーバー・サイドのリソース・ロケールを決定し、そのロケールをjava.util.Localeオブジェクトとして返します。

例11-1に、ユーザー・プリファレンス・ハンドラの実装例を示します。

注意:

ハンドラ・クラスは、引数を持たないコンストラクタが必要です。引数を持たないコンストラクタがない場合は、デフォルトのJavaコンストラクタを使用します。

例11-1 ユーザー・プリファレンス・ハンドラの実装

public class CustomUserPrefsHandler
{
public Locale getLocale ()
{
UserPref info = (UserPref)
ADFContext.getCurrent().getSessionScope().map.get("User_Pref_Info");
return info.getLocale();
}
}

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

ユーザー・プリファレンス・ハンドラを登録するには、ADFデスクトップ統合のUserPreferences.Handler初期化パラメータをweb.xmlに追加します。

開始する前に:

リソース・バンドルの使用方法を理解しておくと役立ちます。詳細は、「ADFデスクトップ統合でのローカライズ」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックを国際化するための追加の機能」を参照してください。

ユーザー・プリファレンス・ハンドラを登録するには:

1. Fusion Webアプリケーションのweb.xmlファイルを開きます。

2. 表11-2に示すように、初期化パラメータを追加して、ユーザー・プリファレンス・ハンドラを構成します。

表11-2 ロケール・ユーザー・プリファレンスの構成

プロパティ

値

Name

次のように初期化パラメータ名を入力します。

UserPreferences.Handler

Value

ハンドラ・クラスのパスを入力します。

3. web.xmlファイルを保存します。

4. Fusion Webアプリケーションをリビルドして再起動します。

例11-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>

例11-2は、UserPreferences.Handlerが含まれるweb.xmlファイルを示します。

例11-2では、myCompany.XYZ.CustomUserPrefsHandlerはハンドラ・クラスの完全なパスです。

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

この章では、ADFデスクトップ統合のセキュリティ関連機能について説明します。

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

- 統合Excelワークブックの保護の概要

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

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

- 統合Excelワークブックの保護に関する必知事項

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

12.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 Application Development FrameworkによるFusion Webアプリケーションの開発』の「Fusion WebアプリケーションでのADFセキュリティの有効化」の章を参照してください。

統合Excelワークブックを開いたときに、ワークブックの実行対象であるFusion WebアプリケーションがセキュアなアプリケーションかどうかがADFデスクトップ統合で検出され、自動的に認証が実行されます。認証済Webアプリケーションの場合、ワークブックが認証済Webブラウザからダウンロードされるとしても、エンド・ユーザーには必ず資格証明が求められます。WebブラウザとExcelは別のオペレーティング・システム・プロセスのため、資格証明を共有できません(KerberosやNTLMなど、なんらかの形の統合Windows認証を使用している場合を除く)。Microsoft Kerberosの詳細は、http://msdn.microsoft.com/en-us/library/aa378747%28v=vs.85%29.aspxを参照してください。

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

セキュアなFusion Webアプリケーションの統合Excelワークブックを開くと、接続確認ダイアログが表示され、図12-1に示すように、Fusion Webアプリケーションに接続するように求められます。接続確認ダイアログは、Fusion Webアプリケーションが安全でない場合も表示されます。

図12-1 接続を確認するダイアログ

「はい」をクリックすると、ユーザー資格証明の入力を求める別のダイアログが表示されます。表示されるダイアログは、Fusion Webアプリケーションの認証実施の構成によって異なります。たとえば、図12-2は、Oracle Access Managementを使用してフォームベースのログインをFusion Webアプリケーションが求めている場合に表示されます。

図12-2 フォームベースのログイン・ダイアログ

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

統合Excelワークブックを保護した後、必要に応じてワークブックの機能をさらに追加できます。次の各項では、使用可能なその他の機能について説明します。

- 統合Excelワークブックの検証: Fusion Webアプリケーションおよび統合Excelワークブックに対して、サーバー・サイドおよびクライアント・サイドのデータ入力の検証を構成できます。詳細は、「統合Excelワークブックへの検証の追加」を参照してください。

- 統合Excelワークブックのテスト: 統合Excelワークブックを公開してデプロイする前に、テストする必要があります。詳細は、「統合Excelワークブックのテスト」を参照してください。

- 統合Excelワークブックの公開およびデプロイ: 統合Excelワークブックの設計と検証に続く最終ステップは、公開およびデプロイです。詳細は、「統合Excelワークブックのデプロイ」を参照してください。

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

Excelワークブックと安全なFusion Webアプリケーションの統合には、統合ExcelワークブックとFusion Webアプリケーションをホストするサーバー間で確立された認証済のWebセッションが必要です。ADFセキュリティは、ユーザーの認証に使用するメカニズムを決定します。

エンド・ユーザーが有効な認証済セッションなしにExcelワークブックを開く場合、エンド・ユーザーを認証するためにログインのメカニズムが起動されます。

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

Loginメソッドが起動されると、Webブラウザ・コントロールを含むモデル・ダイアログが表示されますWebブラウザ・コントロールには、Fusion Webアプリケーションが使用するログイン・メカニズムが表示されます。たとえば、Fusion WebアプリケーションがHTTP Basic認証を使用する場合、Webブラウザ・コントロールには、図12-3に示すようなダイアログが表示されます。エンド・ユーザーがログインに成功すると、統合ExcelワークブックとFusion Webアプリケーションの間の新しいセッションが作成されます。

図12-3 Fusion WebアプリケーションがBasic認証を使用する際に表示されるダイアログ

エンド・ユーザーがユーザー資格証明を入力し、これらが有効な場合、認証済セッションが作成されます。

注意:

セッションがすでに確立されているときにLoginメソッドが起動されると、そのセッションを停止するためにまず内部でLogoutアクションが起動されます。

12.2.2 実行時の処理: Webアプリケーション・セッションの終了

logoutメソッドが起動された後、ダイアログが表示されて、現在のセッションからログアウトしたことがユーザーに通知されます。ワークブックを閉じたり、Excelリボンの実行時カスタム・タブから「全データのクリア」オプションを選択すると、ユーザーは自動的にログアウトします。

図12-4 ユーザーがログアウトすると表示されるダイアログ

ログアウト後に、エンド・ユーザーがスプレッドシートの操作を続行する場合があります。エンド・ユーザーが次にサーバーとの対話(例: Uploadアクションの起動)を試行すると、再度ログインするように求められます。

2つ以上のワークブックが(テスト・モードまたは実行時モードで)開いていて、同じFusion Webアプリケーションに対して実行している場合、1つのワークブックを閉じてもログアウトのメカニズムは起動しません。ユーザーはログインしたままになり、残りの開いたワークブックで引き続き作業できます。閉じているワークブックは、資格証明をもう一度求められずに開くことができます。ユーザーは同じFusion Webアプリケーションに対して実行しているすべてのワークブックが閉じるとログアウトされます。

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

ADFデスクトップ統合には、ExcelワークブックとFusion Webアプリケーションの統合に使用するメタデータが、エンド・ユーザー用にExcelワークブックを公開した後に不正に変更されていないか検証するメカニズムがあります。これは、ハッシュ・コードの値を生成して、値をADFデスクトップ統合のクライアント・レジストリ・ファイル(adfdi-client-registry.xml)に挿入します(このファイルも、「統合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-20を参照してください。

注意:

改ざんチェックは、カスタマイズ対応ワークブックに対して実行されません。

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

WorkbookIDワークブック・プロパティの値は、それぞれのワークブックに固有であり、開発者による変更はできません。ただし、WorkbookIDワークブック・プロパティをリセットすることはできます。既存の統合Excelワークブックをコピーして新しい統合Excelワークブックを作成する場合、これを行う必要があります。

開始する前に:

統合Excelワークブックのメタデータの整合性を検証する方法を理解しておくと役立ちます。詳細は、「統合Excelワークブックのメタデータの整合性チェック」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「安全なFusion Webアプリケーションにおける統合Excelワークブックの追加機能」を参照してください。

ワークブックIDをリセットするには:

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

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

3. 「ワークブック・プロパティの編集」ダイアログで、「ワークブックIDのリセット」リンクをクリックします。

4. 表示される確認用ダイアログ(図12-5を参照)で「はい」をクリックし、WorkbookIDワークブック・プロパティをリセットします。

図12-5 ワークブックIDのリセット・ダイアログ

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

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

実行時に、統合Excelワークブックはメタデータのハッシュ・コードを再生成し、最初サーバー・リクエストによってそれをFusion Webアプリケーションに提供します。Fusion Webアプリケーションがこのハッシュ・コードに一致するものを取得できない場合、統合Excelワークブックにエラーが返されます。改ざんチェック・プロセスからエラーを受信すると、ただちに統合Excelワークブックはこの失敗をエンド・ユーザーに報告して、統合フレームワークを閉じます。

12.4 統合Excelワークブックの保護に関する必知事項

Fusion Webアプリケーションによる統合Excelワークブックの保護について、次の点に注意してください。

- データ・セキュリティ
Fusion Webアプリケーションからダウンロードしたデータを含むExcelワークブックを、他のユーザーがそのExcelワークブックにアクセスできるネットワーク・ディレクトリなどの場所に保存する場合、他のユーザーはExcelワークブックに保存されているデータにアクセスできます。

- Microsoft Excelのセキュリティ
ワークブックにパスワードを設定するExcelの機能を使用して、統合Excelワークブックのセキュリティを強化できます。これにより、許可されていないユーザーは、ワークブックを開いたり変更することができなくなります。Excelのセキュリティ機能の詳細は、Excelのドキュメントを参照してください。

- 「セッション間のサーバー・データ・コンテキストのリストア」の説明に従って、データをキャッシュするように、統合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プロパティでダイアログのサイズを制御できます。

管理者は、「Fusion Webアプリケーションでのセキュリティ構成に関する必知事項」も参照してください。

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

ADFデスクトップ統合は、ページ定義の認可を使用して、統合Excelワークシートに表示権限を適用します。実行時、ページ定義(バインディング・コンテナ)に対する適切な権限のないエンド・ユーザーは、関連する統合Excelワークシートとの対話が禁止されます。許可されていないバインディング・コンテナとの対話(データのダウンロードや送信など)の試みは中止になり、エンド・ユーザーは認可の失敗を知らされ、ワークシート上のすべてのADFデスクトップ統合アクティビティは無効になります。新しいユーザー・セッションが確立されるまで、ADFデスクトップ統合が無効になっているワークシートとこれ以上の対話を行うことはできません。エンド・ユーザーが統合Excelワークシートと対話できるようにするには、ページ定義へのアクセスを許可されたロールをエンド・ユーザーに割り当てます。

統合Excelワークシートで使用されるすべてのページ定義のリソース権限の確認が必要になる場合があります。たとえば、Fusion Webアプリケーションが認可をサポートしており、リソース権限を持たず1つ(または複数)の統合Excelワークシートによって使用されるページ定義myWorksheetPageDef.xmlがある場合は、そのページ定義に対するアクセスを付与されたロールをエンド・ユーザーに割り当てる必要があります。初期デプロイメント中に、認証されたロールまたは他のいくつかの一般的なロールに付与されるワークシート・ページ定義のリソース権限を一時的に作成すると、ロールとリソースの関連付けを微調整しているときに、これらのワークシートを実行できるため、便利な場合があります。

認可、ロール、リソース権限の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「Fusion WebアプリケーションでのADFセキュリティの有効化」の章を参照してください。

注意:

ADFデスクトップ統合では、Webページ(ページ定義)リソース・タイプを持つリソース権限の認証のみを実施します。その他のリソース・タイプはサポートされていません。

jazn-data.xmlファイルの概要エディタの「リソース権限」ページで、リソースと権限を構成できます。詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のADFセキュリティ・ポリシーの定義に関する項を参照してください。

認可に失敗すると、エンド・ユーザーは次のようなエラー・メッセージを受信し、ワークシート内のADFデスクトップ統合は無効になります。

ADFDI-05589 Webアプリケーションとの対話にこのワークシートを使用する権限がありません。

12.5.1 ADFデスクトップ統合が無効になったワークシートに関する必知事項

次の制限事項は、ADFデスクトップ統合が無効になったワークシートに適用されます。

- ADFボタン、ワークシート・レベルのリボン・コマンド、ワークシート・レベルのイベントはすべて無効になります。

- ワークシートの初期化中に認可が失敗すると、フォーム・ラベル、表の列ヘッダー、ボタンはワークシートに描画されません。

- 初期化されたワークシートで認可が失敗すると、すべてのADFボタンは無効になりますが、他のワークシート・コンポーネント(ADF入力テキスト、ADF表など)は影響を受けず、視覚的には変更されません。

- エンド・ユーザーは、無効になったワークシート上で標準的なExcelの対話を実行できます。ユーザーはワークシート内のADF表コンポーネントのデータを変更できますが、変更された列は更新されません。

- ワークシート・レベルのコマンドに影響はありません。エンド・ユーザーは、ログイン、ログアウト、情報、編集オプションおよび全データのクリアなどのコマンドを引き続き使用できます。

エンド・ユーザーが統合Excelワークブックを再度開き、新しいセッションが確立されて認可されると、ADFデスクトップ統合が無効になっているワークシートが自動的に有効になります。ログアウトし再度ログインすると、無効な統合Excelワークシート内のADFデスクトップ統合が再び有効になります。

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

この章では、統合Excelワークブックにサーバー・サイド検証とデータ入力検証を追加する方法、検証の失敗やデータ競合などのエラーを報告する方法、およびカスタム・エラー・ハンドラを使用してエラー・レポートを構成する方法について説明します。

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

- 統合Excelワークブックへの検証の追加の概要

- ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート

- 統合Excelワークブックのデータ入力の検証の追加

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

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

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

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

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

Fusion Webアプリケーションと統合Excelワークブックにサーバー・サイドとデータ入力の検証を構成して、ADFモデル・レイヤー、ADFデスクトップ統合およびMicrosoft Excelにより提供される検証オプションを活用します。これらの検証オプションに加えて、ADFデスクトップ統合のコンポーネントを利用して、Fusion Webアプリケーションからエラー・メッセージを返したり、コンポーネント・アクションの結果のステータスを提供するほか、Fusion Webアプリケーションによりホストされるデータとの統合Excelワークブックの競合でデータが変更されるときに発生するエラーを管理できます。

統合Excelワークブックに検証を追加することには、いくつかの利点があります。Fusion Webアプリケーションおよび統合Excelワークブックで検証ルールを作成して、エンド・ユーザーによるデータ入力を検証できます。

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

検証ルールは、無効なデータのアップロードを停止することでサーバーを保護します。ADFデスクトップ統合では、データ入力の検証とサーバー・サイドの検証の両方の機能が提供されます。図13-1に、無効な郵便番号(12345x)で入力検証ルールが失敗する、Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックからのサーバー・サイドの検証の例を示します。この失敗は、ステータス・ビューアの行(無効な郵便番号を含む行)のエントリに表示されます。

図13-1 入力検証ルールの失敗が表示されたステータス・ビューア

図13-2に、値を必要とするセルに値が表示されていない、同じワークブックのデータ入力の検証の失敗例を示します。

図13-2 データ入力の検証メッセージ

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

統合Excelワークブックで検証ルールを適用した後、必要に応じてワークブックを構成するための機能をさらに追加できます。次の各項では、使用可能なその他の機能について説明します。

- 統合Excelワークブックのテスト: 統合Excelワークブックを公開してデプロイする前に、テストする必要があります。詳細は、「統合Excelワークブックのテスト」を参照してください。

- 統合Excelワークブックの公開およびデプロイ: 統合Excelワークブックの設計と検証に続く最終ステップは、公開およびデプロイです。詳細は、「統合Excelワークブックのデプロイ」を参照してください。

13.2 ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート

ステータス・ビューアでは、エンド・ユーザーに対する情報がExcelの作業ウィンドウに表示されます。エンド・ユーザーは表示された情報を使用して、同時にエラーを確認および修正できます。ステータス・ビューアに常に表示される情報には、現在の統合ワークシートのワークシート・レベル・ステータスが含まれます。さらに、ワークシートにADF表コンポーネントが含まれていて、現在選択されているセルがADF表コンポーネントの行である場合、ステータス・ビューアにはその行のステータスが表示されます。

ステータス・ビューアには、アクション・セットの起動結果の情報が表示されます。たとえば、Fusion WebアプリケーションのADFモデル・レイヤーの宣言的な検証ルールに違反する値をエンド・ユーザーが入力するとします。エンド・ユーザーが変更をアップロードしようとすると、失敗した行で失敗がレポートされます。このシナリオでは、ステータス・ビューアが表示され、検証失敗のメッセージが表示されます。

図13-3は、エンド・ユーザーが郵便番号(12345x)を入力したが、Fusion WebアプリケーションのADFモデル・レイヤーで定義した入力検証に失敗した場合に、EditCustomers-DT.xlsxワークブックに表示されるステータス・ビューアを示しています。検証失敗を含む表の行の任意の場所のセルを選択すると、検証失敗メッセージがステータス・ビューアに表示されます。図13-3のステータス・ビューアに表示されるワークシートレベルのステータスは、正常に完了したこのワークシートからの最新のアクション・セットを示します。

図13-3 ステータス・ビューア

このリリースのADFデスクトップ統合を使用して作成した統合Excelワークブックでは、図13-4に示すように、Excelのリボンにステータス・ビューアのリボン・コマンドがデフォルトで表示されます。

図13-4 Excelリボンのステータス・ビューアのリボン・コマンド

エンド・ユーザーは、ステータス・ビューアのリボン・コマンドをクリックして、Excelの作業ウィンドウにステータス・ビューアを表示したり非表示にします。デフォルトでは、実行時にExcelワークブックでエラーが発生すると、ステータス・ビューアが自動的に表示されます。エラーの発生時にステータス・ビューアが自動的に表示されるように、以前のリリースを使用して作成した統合Excelワークブックの動作を構成できます。詳細は、「ステータス・ビューアの自動表示を管理する方法」を参照してください。

「実行時リボン・タブのワークブック・リボン・コマンドの定義方法」の説明に従って、ToggleStatusViewerワークブック・アクションを追加し、ステータス・ビューアのリボン・コマンドをExcelリボンに追加します。ワークブック・アクションの詳細は、「ワークブックのアクションおよびプロパティ」を参照してください。

ステータス・ビューアのリボン・コマンドは、ワークブック・コマンドとしてExcelリボンに追加しますが、ステータス・ビューアはワークシート固有であり、対象の統合Excelワークシートの情報が表示されます。統合されていないワークシートにエンド・ユーザーが移動して、ステータス・ビューアのリボン・コマンドをクリックすると、そのワークシートではステータス・ビューアを使用できない旨をエンド・ユーザーに通知するメッセージが表示されます。

13.2.1 ステータス・ビューアの自動表示を管理する方法

Excelの作業ウィンドウでステータス・ビューアの自動表示を管理するには、AutoDisplayStatusViewerEnabledワークブック・プロパティの値をTrueまたはFalseに設定します。

開始する前に:

ADFデスクトップ統合で提供されるステータス・ビューアに関する知識が役立つ場合があります。詳細は、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックに検証を追加するための追加の機能」を参照してください。

ステータス・ビューアの自動表示を管理する手順:

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

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

3. 「ワークブック・プロパティの編集」ダイアログで、「動作」を展開し、AutoDisplayStatusViewerEnabledプロパティを正しく設定します。

- True: エラーの発生時にステータス・ビューアが自動的に表示されます。

- False: ステータス・ビューアを表示するには、エンド・ユーザーがExcelリボンのステータス・ビューアのリボン・コマンドをクリックする必要があります。

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

13.3 統合Excelワークブックのデータ入力の検証の追加

エンド・ユーザーがADFコンポーネントにバインドされているセルを変更した後、ADFデスクトップ統合では基本的なデータ入力検証が自動的に実行されます。基本的なデータ入力検証には、予期されるデータ・タイプ(たとえば、ユーザーが入力した数値属性の数値)および必須フィールドが空白でないことの検証が含まれます。エンド・ユーザーがセルを離れるとすぐに、ADFデスクトップ統合でこの検証が実行されます。

ADFモデル・レイヤーのメタデータを使用して、基本的なデータ入力検証が実行されます。追加のワークブック構成は不要です。この検証は、「ADFデスクトップ統合のデータ入力の検証を有効化または無効化する方法」の説明に従ってCompatibility.DataEntryValidationEnabledワークブック・プロパティを使用することで、無効にできます。ADFデスクトップ統合では、基本的なデータ検証がデフォルトで有効になっています。

ADFデスクトップ統合では、アップロード中に追加の検証が実行されます。詳細は、「統合Excelワークブックのサーバー・サイド検証の追加」を参照してください。

ADFデスクトップ統合が実行するその他の検証の1つに、統合ExcelワークブックがFusion Webアプリケーションに送信するExcelセルのエラー値を拒否するものがあります。Excelセルのエラーの例としては、数値がゼロ(0)または値を含まないセルで除算される場合に発生する、#DIV/0!エラーがあります。Excelセルのエラー値は、大きな負の値を返します。たとえば、#DIV/0!のエラーは-2146826281を返します。ADFデスクトップ統合は、アップロードに適さないためこれらの値を拒否し、ADFモデル層のデータ検証が行われていない場合に、Fusion Webアプリケーションのデータベースにコミットできます。

Excelセルのエラー値を含むセルを持つ行で、Upload、RowUpSync、またはRowUpSyncNoFailアクションをADF表コンポーネントが実行すると、ADF表コンポーネントによって「ステータス」列に「更新に失敗しました」メッセージが表示されます。同様に、ワークシートのUpSyncアクションは、Excelセルのエラー値を含むセルの保留中の変更の同期に失敗します。

#DIV/0!エラーとは別に、ADFデスクトップ統合が拒否する他のエラー・セルの値には、#NULL!、#REF!、#N/A、#NAME?、#NUM!および#VALUE!があります。Excelセルのエラー値の詳細は、Microsoftのドキュメントを参照してください。

ADFデスクトップ統合でExcelセルのエラー値を受け入れるようにすることで、統合Excelワークブックを有効にして、Excelセルのエラー値をFusion Webアプリケーションにアップロードできます。これを行うには、ワークブックのCompatibility.RejectExcelErrorsEnabledプロパティをFalseに設定します。このリリースのADFデスクトップ統合を使用して作成されたワークブックのデフォルト値は、Trueです。詳細は、「Fusion WebアプリケーションにExcelのセルのエラーをアップロードする方法」を参照してください。

13.3.1 ADFデスクトップ統合を使用したデータ入力の検証の追加

ADFデスクトップ統合では、データ入力の検証を実行して次を検証します。

- 必須フィールドに値が含まれている。ADFデスクトップ統合では、必須値が必要なADFコンポーネント(例: ADF入力テキスト・コンポーネント)を含むExcelセルが空白の場合に、検証失敗をレポートします。

- 正しいデータ型が入力されている。たとえば、必要なデータ型が日付または数値の入力フィールドに文字列("Bob")を入力すると、ADFデスクトップ統合は検証失敗をレポートします。

ADFデスクトップ統合では、Fusion Webアプリケーションにリクエストせずに、前述のタイプの検証を実行します。

ADFデスクトップ統合では、ADF入力テキスト、ADF入力日およびADF表コンポーネントでデータ入力の検証を実行します。読取り専用のセル、ラベルまたはヘッダーのセル、ロックされたセル、または「ADF表コンポーネント内の特殊な列」に説明されている列のセルのデータ入力の検証は実行されません。また、ADF読取り専用表コンポーネントまたはADF値リスト・コンポーネントのセルのデータ入力の検証も実行されません。

ADFデスクトップ統合で実行されるデータ入力の検証では、単一または複数のセルの編集時(同時)の失敗を識別します。複数のセルにまたがる編集の例には、ADF表コンポーネントでの列の選択や、エンド・ユーザーがADF表コンポーネントで1つ以上のデータ行を貼り付ける操作などがあります。ADFデスクトップ統合では、エンド・ユーザーが単一または複数のセルを編集し、そのセルを編集モードのままにした場合のみ、データ入力の検証を実行します。検証失敗が発生した場合、ADFデスクトップ統合は、エンド・ユーザーが[Enter]を押す、タブを移動、または異なるセルを選択して編集モードを終了した後に、検証に失敗したセルを赤枠で表示します。

ADFデスクトップ統合で検証失敗がレポートされると、エンド・ユーザーは、編集モードにせずにセルを選択することで、非モーダル・ポップアップ・メッセージを表示できます。非モーダル・ポップアップ・メッセージには、検証失敗の内容が表示され、検証失敗を解決するためのアクションが提示されます。これは、エンド・ユーザーがセルを選択して、検証失敗が存在する場合は、表示されたままになります。非モーダル・ポップアップ・メッセージは、エンド・ユーザーが検証失敗の複数のセルを選択した場合には表示されません。ADF表コンポーネントのセルでは、検証失敗のセルが少なくとも1つ行に含まれることを示すメッセージも「ステータス」列に表示されます。DownloadやUploadなどのADF表コンポーネントのアクションにより、後者のメッセージはクリアされます。ADF表コンポーネントのDownloadアクションでは、検証失敗を含むセルの赤枠もクリアされます。「ステータス」列の詳細は、「ADF表コンポーネント内の特殊な列」を参照してください。

ステータス・ビューアには、検証失敗を含むセルの行にメッセージが表示されます。このメッセージ(保留中の無効な変更が行に含まれています)は、エンド・ユーザーが検証失敗を解決するまで表示されます。ステータス・ビューアには、データ入力の検証エラーに加えて、最後のアップロード操作の失敗メッセージなども表示される場合があります。ステータス・ビューアの詳細は、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」を参照してください。

図13-1に、Summitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックのデータ入力の検証失敗のセルを示します。エンド・ユーザーは、値が必要なADF表コンポーネントのセルに値を入力していません。非モーダル・ポップアップ・メッセージおよびステータス・ビューアの両方に、この失敗に関する情報が表示されます。

図13-5 ADFデスクトップ統合のデータ入力の検証

検証失敗の原因となった問題をエンド・ユーザーが解決するまで、ADFデスクトップ統合は、検証に失敗したセルに赤枠を表示します。エンド・ユーザーがセルの境界を赤に設定すると、ADFデスクトップ統合は、検証エラーが発生するまで(例: 必須値がない)、そのセルを無効と認識しません。エンド・ユーザーが表示を混乱しないようにするには、赤枠の使用がADFデスクトップ統合での検証失敗のレポート用に予約されるように、統合Excelワークブックでセルに赤枠を使用しないようにします。

検証が失敗した場合に、エンド・ユーザーが統合Excelワークブックでデータの編集や入力を継続できないようにしたり、データ入力の検証失敗が解決されない場合に、統合Excelワークブックからデータをアップロードできないようにすることはできません。

注意:

エンド・ユーザーが大量のセルを同時に変更すると、データ検証の時間が大幅に長くなる場合があります。このような場合は、進捗バーが表示され、エンド・ユーザーに進捗が示されます。エンド・ユーザーが「取消」をクリックすると、その時点で検証は停止します。

13.3.1.1 ADFデスクトップ統合のデータ入力の検証を有効化または無効化する方法

統合Excelワークブックでは、ADFデスクトップのデータ入力の検証がデフォルトで有効になっています。「ADFデスクトップ統合互換性のプロパティ」の説明に従って、DataEntryValidationEnabledワークブックのプロパティを構成することで、ADFデスクトップ統合のデータ入力の検証を有効および無効にできます。

開始する前に:

ADFデスクトップ統合のデータ入力の検証について理解しておくと役立ちます。詳細は、「ADFデスクトップ統合を使用したデータ入力の検証の追加」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックに検証を追加するための追加の機能」を参照してください。

ADFデスクトップ統合のデータ入力の検証を有効または無効にする手順:

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

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

3. 「ワークブック・プロパティの編集」→「互換性」で、DataEntryValidationEnabledプロパティを正しく設定します。

- True: ADFデスクトップ統合のデータ入力の検証を有効にします。

- False: ADFデスクトップ統合のデータ入力の検証を無効にします。

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

13.3.2 Excelを使用したデータ検証の追加

Excelのデータ検証機能を使用して、エンド・ユーザーがセルに入力したデータの型や値を制御できます。これらの機能によって、データ・エントリを一定の日付範囲に制限したり、リストを使用して選択内容を限定したり、正の整数のみをセルに入力したりすることができます。たとえば、EditWarehouseInventory-DT.xlsxワークブックのZipCodeフィールドを構成して、ユーザーがこのフィールドのセルに整数のみを入力できるようにすることができます。

値リストをレンダリングするセルにカスタム検証を適用した場合、実行時にADFデスクトップ統合でセルに値リストが移入されると、検証が伝播されます。ただし、値リストを含むコンポーネントに適用されたカスタム検証は、ADFデスクトップ統合によって実行時に上書きされる点に注意してください。これは、ADFデスクトップ統合が、実行時に起動される独自のリスト制約検証を適用するためです。値リストの詳細は、「値リストの使用」を参照してください。

Excelでのデータ検証の詳細は、Excelのドキュメントを参照してください。

13.3.3 Fusion WebアプリケーションにExcelのセルのエラーをアップロードする方法

デフォルトで、ADFデスクトップ統合は統合ExcelワークブックがFusion Webアプリケーションに送信するExcelセルのエラー値を拒否します。その結果、これらの値を統合Excelワークブックから正常にアップロードできません。このデフォルトの動作は、RejectExcelErrorsEnabledワークブック・プロパティを構成して変更します。

RejectExcelErrorsEnabledワークブック・プロパティは、当初統合Excelワークブックを作成したときにはADFデスクトップ統合で利用できなかった機能を利用する場合に、統合Excelワークブックで構成できるいくつかのプロパティの1つです。詳細は、「ADFデスクトップ統合互換性のプロパティ」を参照してください。

開始する前に:

統合Excelワークブックに提供できるデータ・エントリの検証オプションを理解しておくと役立つことがあります。詳細は、「統合Excelワークブックのデータ入力の検証の追加」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックに検証を追加するための追加の機能」を参照してください。

Excelセルのエラー値を正常にアップロードするには:

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

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

3. 「ワークブック・プロパティの編集」→「互換性」で、RejectExcelErrorsEnabledプロパティを正しく設定します。

- True: ADFデスクトップ統合は、Excelセルのエラー値を拒否し、Fusion Webアプリケーションのデータベースにコミットされないようにします。これはデフォルト値です。

- False: ADFデスクトップ統合は、Excelセルのエラー値を受け入れ、サーバー・サイドのデータ検証が許可する場合に、Fusion Webアプリケーションのデータベースにコミットします。

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

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

ADFデスクトップ統合は、ADFモデル・レイヤーがバインディングの属性に対して設定する検証ルールを使用します。エンド・ユーザーがADFデスクトップ統合コンポーネントの1つに入力または編集したデータ(ADF表コンポーネントなど)は、Fusion WebアプリケーションのADFモデル・レイヤーの設定ルールおよび条件に対して検証できます。Oracle ADFでの検証ルールの定義に関する一般的な情報は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「検証とビジネス・ルールの宣言的な定義」の章を参照してください。

ADFモデル・レイヤーの検証の追加の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のADFモデル・レイヤーでの検証ルールの定義に関する項を参照してください。

注意:

ADFデスクトップ統合は、サーバー・サイドの検証の警告をサポートしていません。Fusion Webアプリケーションで定義されるルールに設定される検証の警告は、統合Excelワークブックによって表示されません。

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

ステータス・ビューアは、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」で説明されているように、次のADF表コンポーネントのアクションの起動時にエラーが発生した場合に、デフォルトで表示されます。

- DeleteFlaggedRows

- Upload

- UploadAllOrNothing

- ADF表コンポーネントの列から起動されたDoubleClickActionSet

エンド・ユーザーは、各自に関係のあるADF表コンポーネント行のセルを選択することで、ADF表コンポーネントの行ごとに、ステータス・メッセージをステータス・ビューアで表示できます。

また、ADF表コンポーネントは、ADF表コンポーネント・アクションの起動後に、各行のステータスを_ADF_StatusColumn列に移入します。たとえば、ADF表コンポーネントのUploadアクションの起動後に、各行のアップロード・ステータスを_ADF_StatusColumn列に移入します。

図13-6は、ADF表コンポーネントの行を示しています。Changed列の上向き矢印で示されているように、これらの行の値は変更されています。ZipCode列では、12345または12345-6789があるはずのところに値12345xが入力されています。

図13-6 アップロードの前に行が変更済のADF表コンポーネント

図13-7は、ADF表コンポーネントのUploadアクションの起動後にADF表コンポーネントにある同じ行を示しています。ADF表コンポーネントは、_ADF_StatusColumn列(この例の実行時はStatusというラベル付き)に、行の更新が成功したかどうかを示すメッセージを移入します。行で更新に失敗すると、図13-7に示すように、ステータス・ビューアが自動的に表示され、行で更新に失敗した理由を説明するメッセージが表示されます。

注意:

図13-7に示すように、ステータス・ビューアを表示するために、いくつかの列が非表示になっています。

図13-7 アップロード後に行が変更済のADF表コンポーネント

デフォルトでは、__ADF_StatusColumn列のDoubleClickActionSetは、ADF表コンポーネントのDisplayRowErrorsアクションを起動するように構成されています。エンド・ユーザーが実行時にこの列の行をダブルクリックすると、ADF表コンポーネントによりDisplayRowErrorsアクションが起動されます。エラーが存在する場合、このアクションによってその行のエラーのリストを示すダイアログが表示されます。エラーがない場合、ダイアログにはエラーが発生しなかったことを示すメッセージが表示されます。図13-8は、「ステータス」列にUpdate failedと表示される図13-7のセルをエンド・ユーザーがダブルクリックすると表示されるダイアログを示しています。

図13-8 行のエラー・メッセージを表示するダイアログ

_ADF_StatusColumn列の詳細は、「ADF表コンポーネント内の特殊な列」を参照してください。

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

Fusion Webアプリケーションを構成して、カスタムのエラー・ハンドラを使用してエラーを報告し、統合Excelワークブックでエンド・ユーザーに表示されるエラー・メッセージに対する詳細を提供することができます。

この機能を実装するには、カスタムのエラー・ハンドラがgetDetailedDisplayMessageメソッドをオーバーライドして、DCErrorMessageオブジェクトを返す必要があります。実行時にADFデスクトップ統合は、カスタムのエラー・ハンドラを検出して、DCErrorMessageオブジェクトに対してgetHtmlTextメソッドを起動します。ADFデスクトップ統合には、エラー・メッセージ・リストのgetHtmlTextメソッドにより返されるHTMLが詳細として含まれます。

カスタムのエラー・ハンドラの作成の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のエラー処理のカスタマイズに関する項を参照してください。

13.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 Application Development FrameworkによるFusion Webアプリケーションの開発』の同時更新によるデータの消失を防ぐ方法に関する項を参照してください。

統合Excelワークブックでこの競合を解決するには、User XがFusion Webアプリケーションから最新バージョンのデータをダウンロードする必要があります。ただし、ADF表コンポーネントのDownloadアクションを起動すると、コンポーネントがExcelワークブックにホストしているすべてのデータがリフレッシュされます。これによって、User Xが加えた他の変更で競合エラー・メッセージを生成しないものが上書きされる可能性があります。このシナリオを解決するために、ADF表コンポーネントのDownloadFlaggedRowsアクションを公開できます。このアクションが起動すると、エンド・ユーザーがダウンロード用にフラグ付けした行についてのみデータがダウンロードされます。このアクションを使用して、User Xは競合の問題を解決し、変更済データをアップロードできます。

「複数のWebセッション間における統合Excelワークブックの使用」には、複数のセッションに対しての統合Excelワークブックの使用に関する情報が記載されています。行のフラグ付けの詳細は、「ADF表コンポーネントでの行のフラグ付け」を参照してください。コンポーネント・アクションの起動の詳細は、「アクション・セット内のコンポーネント・アクションの起動方法」を参照してください。ADF表コンポーネントでサポートされるコンポーネントの詳細は、「ADF表コンポーネントのプロパティおよびアクション」を参照してください。

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

RowData.ChangeIndicatorAttributeプロパティに対してツリー・バインディングの行に固有な属性を指定して、行が最後にADF表コンポーネントによってダウンロードされてから別のユーザーによって変更されたかどうかを判断します。

ワークブックを構成してデータの競合を処理するには:

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

2. ADF表コンポーネントのセルを選択し、「Oracle ADF」タブの「プロパティの編集」をクリックします。

3. 「コンポーネントの編集: ADF出力テキスト」で、RowData.ChangeIndicatorAttributeプロパティについて、行に固有のツリー・バインディングの属性を指定して、統合ExcelワークブックでADF表コンポーネントによって最後にダウンロードされてから、別のユーザーによって行が変更されているかを判断します。

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

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

ADF表コンポーネントは、RowDownSyncアクションを起動する際にRowData.ChangeIndicatorAttributeの値として指定した、ツリー・バインディングの行に固有な属性の元の値をキャッシュします。ADF表コンポーネントがRowUpSyncアクションを起動する際、Fusion Webアプリケーションによってホストされるバインディングの値と、ADF表コンポーネントがキャッシュした元の値が異なるかどうかをチェックします。これらが異なる場合、Fusion Webアプリケーションによってホストされるバインディングの値が、ADF表コンポーネントがバインディングの値をダウンロードした後に変更されているため、データの競合を示します。

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

この章では、統合Excelワークブックを構成段階でテストおよび検証する方法、またサーバーpingテストを実行する方法について説明します。

この章の内容は次のとおりです。

- 統合Excelワークブックのテストの概要

- Fusion Webアプリケーションのテスト

- 統合Excelワークブックの構成の検証

- 統合Excelワークブックのテスト

14.1 統合Excelワークブックのテストについて

統合Excelワークブックを公開してエンド・ユーザーにデプロイする前にテストすると、構成した機能が予定どおり動作することを確認できます。統合Excelワークブックをテストする前に、Excelワークブックと統合するFusion Webアプリケーションをテストします。

統合Excelワークブックをデプロイする前に、検証を行い、Fusion Webアプリケーションとの統合をテストする必要があります。統合Excelワークブックのテストには、次の処理が含まれます。

- 統合Excelワークブックの検証

- 統合Excelワークブックのテスト・モードでの実行

14.1.1 統合Excelワークブックのテストのユース・ケースと例

統合Excelワークブックをテストするには「Oracle ADF」タブの「実行」ボタンをクリックし、設計モードに戻るには「停止」ボタンをクリックします。図14-1に、設計モードの場合とテスト・モードの場合の「Oracle ADF」タブのボタンを示します。

図14-1 「Oracle ADF」タブの「実行」および「停止」ボタン

14.1.2 統合Excelワークブックをテストするための追加の機能

統合Excelワークブックを検証してテストした後、ワークブックをエンド・ユーザーが使用できるようにするために、追加の手順の実行が必要になる場合があります。

- 統合Excelワークブックの公開: ワークブックをテストおよび検証した後、公開する必要があります。詳細は、「統合Excelワークブックの公開」を参照してください。

- 統合Excelワークブックのデプロイ: ワークブックを公開した後、Fusion Webアプリケーションとともにデプロイできます。詳細は、「公開したワークブックをFusion Webアプリケーションとともにデプロイする方法」を参照してください。

14.2 Fusion Webアプリケーションのテスト

統合Excelワークブックのテストを開始する前に、Excelワークブックと統合するFusion Webアプリケーションをテストします。Fusion Webアプリケーションのテストに関する詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』を参照してください。Excelワークブックと統合するFusion Webアプリケーションについて、「Fusion WebアプリケーションによるADFデスクトップ統合のサポートの検証」の手順を行い、ADFデスクトップ統合がサポートされていることを検証してください。Fusion Webアプリケーションをテストする前に、ADFアプリケーション・モジュールのビュー・インスタンスもテストできます。ADFアプリケーション・モジュールのテストの詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のテストとデバッグのための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ワークブックに反映されるようになります。ページ定義ファイルの再ロード方法の詳細は、「Excelワークブックへのページ定義ファイルのリロード方法」を参照してください。

14.3 統合Excelワークブックの構成の検証

ADFデスクトップ統合には、統合Excelワークブックの構成に対する、一連の検証ルールが用意されています。統合Excelワークブックの作成後、テストまたはデプロイを行う前にワークブックを検証できます。

14.3.1 統合Excelワークブックの構成の検証方法

統合Excelワークブックをテストまたはデプロイする前に、ワークブックの構成を検証する必要があります。

統合Excelワークブックの構成を検証するには:

1. 統合Excelワークブックを開きます。

2. 統合Excelワークブックで「Oracle ADF」タブをクリックします。

3. 「テスト」グループで「検証」をクリックします。

構成の検証ダイアログが表示され、すべての警告とエラーが示されます。

4. 警告またはエラーが表示された場合は、クリックして選択します。ダイアログに、警告またはエラーのメッセージの説明が表示されます。

たとえば、図14-2は、無効なEL式の検証失敗のメッセージを示しています。

図14-2 検証失敗という結果になった無効なEL式

警告またはエラーが表示されなかった場合は、「閉じる」をクリックしてダイアログを閉じます。

注意:

検証失敗を解決する間、構成の検証ダイアログを開いたままにしておいて構いません。エラーまたは警告を解決できたかどうかを検証するには、再検証をクリックして検証ルールを再実行します。

14.3.2 統合Excelワークブック構成の検証時の処理

設計時にワークブックを検証する際、ADFデスクトップ統合では、ワークシートおよびワークシートのコンポーネント・プロパティを含むすべてのワークブック構成プロパティが、定義済の検証ルールと比較して検証されます。すべての検証失敗(エラーおよび警告)は、構成の検証ダイアログに表示されます。検証失敗を個別に選択すると、その失敗に関する背景情報、および各検証失敗を特定して修正するために必要な詳細が表示されます。

構成の検証ダイアログでは、個々の検証失敗に関する次の情報が提供されます。

- 重大度タイプ(エラーまたは警告)

- ワークシートの名前。検証失敗が特定のワークシートに該当しない場合は、「ワークブック」という単語が表示されます。

- ワークシートのコンポーネントID(検証失敗が特定のワークシート・コンポーネントに該当しない場合は、「ワークブック」または「ワークシート」)

- 検証失敗が含まれているプロパティ

- 検証失敗(エラーまたは警告)の説明

ダイアログで特定の失敗エントリを選択すると、その失敗に関する次のような追加の詳細が表示されます。

- プロパティ・コンテキストのフルパス

- プロパティ値

一部の検索ルールでは、結果が複数の異なる失敗になる場合があります。たとえば、式の検証時には、式のタイプ、式の構文、またはプロパティが公開されるワークブック構成内の場所に基づいて、異なる検証失敗が発生します。

次の式値を例にあげます。

#{bindings.EmpView1.hints.Empno.label}

この式値は、表コンポーネント内部の列ヘッダー・ラベル内で使用される場合は有効ですが、Worksheet.Title式の一部として指定される場合は無効です。

注意:

ワークブック構成プロパティのグループに対してEnabledがFalseに設定されている場合、同じグループに含まれる他のプロパティ値の検証はスキップされます。

14.3.3 検証の失敗の修正方法

ワークブックの検証時には検証失敗や警告メッセージが戻されることがありますが、次の手順で簡単に修正できます。

1. エラーまたは警告メッセージの発生元であるコンポーネントを特定します。

図14-2では、構成の検証ダイアログに表示されているコンポーネントの場所およびその他に詳細(プロパティ名など)に注意してください。

2. そのコンポーネントのプロパティ・エディタを開きます。

3. プロパティ・コンテキストのフルパスで識別される無効なプロパティ値にナビゲートします。

4. プロパティ値を編集して検証失敗を解決します。

図14-3に、RowLimit.MaxRowsプロパティに有効な値が指定されたADF表コンポーネントのプロパティ・エディタを示します。

図14-3 検証失敗の解決

5. ワークブックを再検証して、検証失敗が解決したかどうかを検証します。再検証をクリックして検証ルールを再実行します。

6. 検証失敗の修正がすべて完了したら、「閉じる」をクリックして構成の検証ダイアログを閉じます。

図14-4に、警告またはエラーのメッセージが表示されていない構成の検証ダイアログを示します。

図14-4 検証失敗メッセージが表示されていない構成の検証ダイアログ

14.3.4 統合Excelワークブックの構成の失敗を実行時にログに記録する方法

デフォルトでは、実行時に統合Excelワークブックの構成は検証されません。ただし、クライアントのログ・レベルをVerboseに設定することで、実行時の検証失敗を記録できます。クライアント・サイド・ロギングの有効化の詳細は、「クライアント・サイド・ロギングの概要」を参照してください。

14.4 統合Excelワークブックのテスト

Fusion Webアプリケーションと統合するExcelワークブックを構成する際には、設計モードからテスト・モードに切り替えて、ワークブックに追加する機能をテストできます。テスト・モードと設計モードを切り替えるには、「Oracle ADF」タブを使用します。

テスト・モードでは、統合Excelワークブックの構成状況に合せて、その機能をテストできます。テスト・モードは、公開された統合Excelワークブックをエンド・ユーザーが表示および実行するときの状態に相当するため、エンド・ユーザーの視点から統合Excelワークブックを確認できます。テスト・モードの統合Excelワークブックと、公開された統合Excelワークブックとの違いは、公開された統合ExcelワークブックではユーザーがADFデスクトップ統合の作業ウィンドウを使用できない点です。

テスト・モードおよび設計モードの詳細は、「開発ツールについて」を参照してください。

統合Excelワークブックを実行する際、テスト・モードと実行時モードではいくつかの違いがあります。それらの相違点を表14-1に示します。

表14-1 テスト・モードと実行時モードの違い

テスト・モード

実行時モード

改ざんチェックは実行されません。

サーバーで有効化されている場合は、改ざんチェックを実行します。

接続確認ダイアログは表示されません。

接続確認ダイアログが表示されます。

「Oracle ADF」リボン・タブが表示されます。

「Oracle ADF」タブは表示されません。

設計モードに切り替えることができます。

設計モードに切り替えることはできません。

ADFデスクトップ統合では、統合Excelワークブックでトリガーされたイベントに基づいて情報を取得するログ・ファイルを生成できます。これらのログ・ファイルの詳細は、「統合Excelワークブックのトラブルシューティング」を参照してください。

注意:

統合Excelワークブックのテストを開始する前に、次のことを確認してください。

- Fusion Webアプリケーションが実行されていること。

- サーバーへのpingが正常に行われ、サーバーがADFデスクトップ統合用に構成されていること。

- サーバーとクライアントのADFデスクトップ統合のバージョンが同じであること。

テスト・モードで統合Excelワークブックを実行するには:

- 統合Excelワークブックをテストおよび実行するには、「Oracle ADF」タブの「実行」ボタンをクリックします。
統合Excelワークブックは、設計モードからテスト・モードに切り替わります。ADFデスクトップ統合では、テスト・モードを開始する前に、すべての設計時コンポーネントのプレースホルダが消去されます。

テスト・モードを停止して統合Excelワークブックを設計モードに戻すには:

- テスト中の統合Excelワークブックの「Oracle ADF」タブで、「停止」ボタンをクリックします。
統合Excelワークブックは、テスト・モードから設計モードに切り替わります。ADFデスクトップ統合では、設計モードに切り替わる前に、表示可能なデータおよびキャッシュされたデータがワークブックのあらゆる部分からすべて削除され、設計時コンポーネントのプレースホルダが再描画されます。

15 統合Excelワークブックのデプロイ

この章では、Fusion Webアプリケーションと統合したワークブックをエンド・ユーザーに公開してデプロイする方法、Fusion Webアプリケーションからのパラメータを統合Excelワークブックに渡す方法、およびADFワークブック・コンポーザをFusion Webアプリケーションに統合する方法について説明します。

この章の内容は次のとおりです。

- 統合Excelワークブックのデプロイの概要

- エンド・ユーザーがADFデスクトップ統合を使用できるようにするための処理

- 統合Excelワークブックの公開

- 公開したワークブックをFusion Webアプリケーションとともにデプロイする方法

- Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法

- 実行時のワークブック統合メタデータのカスタマイズ

- Fusion WebアプリケーションへのADFワークブック・コンポーザの統合

15.1 統合Excelワークブックのデプロイについて

統合Excelワークブックの開発が終了した後、最終の統合Excelワークブックをエンド・ユーザーが使用できるようにするために、完成したFusion Webアプリケーションをアプリケーション・サーバーにデプロイします。Fusion Webアプリケーションと統合される最終のExcelワークブックをデプロイする前に、「統合Excelワークブックの公開」の説明に従って、このExcelワークブックを公開する必要があります。Excelワークブックを公開した後、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「Fusion Webアプリケーションのデプロイ」の章に概説されている方法のいずれかを使用してデプロイできます。

エンド・ユーザーがADFデスクトップ統合アドインをインストールできるように、ADFデスクトップ統合のadfdi-excel-addin-installer.exeをエンド・ユーザーが使用できるようにしてください。詳細は、「エンド・ユーザーがADFデスクトップ統合を使用できるようにするための処理」を参照してください。

統合Excelワークブックをデプロイするエンド・ユーザーは、Windowsベースのコンピュータ上にExcel用のADFデスクトップ統合アドインをインストールする必要があります。

15.1.1 統合Excelワークブックのデプロイのユースケースおよび例

「Oracle ADF」タブの「公開」ボタンを使用して、ワークブックの公開済コピーを保存します。図15-1に、「公開」ボタン、およびこのボタンをクリックすると開く「ワークブックの公開」ダイアログを示します(このダイアログを使用して、公開およびFusion Webアプリケーションとともにデプロイするための準備が整った統合Excelワークブックのコピーを保存します)。

図15-1 ワークブックの公開ダイアログ

15.1.2 統合Excelワークブックのデプロイの追加機能

統合Excelワークブックを公開してデプロイした後、必要に応じてワークブックの機能をさらに追加できます。次の各項では、使用可能なその他の機能について説明します。

- パラメータ渡し: Fusion Webアプリケーションのページを構成して、エンド・ユーザーがそのページからワークブックをダウンロードするときに、統合Excelワークブックにパラメータ値を渡すことができます。詳細は、「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

15.2 エンド・ユーザーによるADFデスクトップ統合の使用を可能にする

統合Excelワークブックで構成した機能をエンド・ユーザーが使用するには、「システムへのADFデスクトップ統合のインストール方法」の説明に従って、ADFデスクトップ統合をインストールする必要があります。

エンド・ユーザーが利用できるインストーラの詳細は、「WebサーバーからADFデスクトップ統合アドインをインストールする方法」を参照してください。

インストール・プログラム(adfdi-excel-addin-installer.exe)は、次のディレクトリにあります。

MW_HOME\oracle_common\modules\oracle.adf.desktopintegration

MW_HOMEはミドルウェア・ホーム・ディレクトリです。

デフォルトで、ADFデスクトップ統合対応Webアプリケーションは、エンド・ユーザーが統合Excelワークブックをダウンロードしようとしたときにエンド・ユーザーの環境を確認するシステム・チェックも表示します。Javaアプレットがこのシステム・チェックを実行して、ADFデスクトップ統合アドインがエンド・ユーザーのマシン上に存在するかどうかを確認します。アドインが検出されると、ワークブックのダウンロードが自動的に開始されます。ない場合は、ADFデスクトップ統合により、エンド・ユーザーにアドインのインストールを求めるプロンプトが表示されます。Javaがエンド・ユーザーのマシンにインストールされていない場合、またはエンド・ユーザーのセキュリティ設定によって無効になっている場合は、JavaアプレットがADFデスクトップ統合アドインの存在を確認できません。ADFデスクトップ統合は、アドインのインストールが確認できないことをエンド・ユーザーに通知します。ワークブックのダウンロード、およびアドインのインストールのオプションをエンド・ユーザーに提示します。

15.3 統合Excelワークブックの公開

Oracle ADFの機能を使用したExcelワークブックの構成が終了したら、これを公開する必要があります。ワークブックを公開することで、統合Excelワークブックを実行時にエンド・ユーザーが使用できるようになります。

ADFデスクトップ統合では、ワークブックを公開する方法が2つ用意されています。統合ExcelワークブックをExcelから直接公開するか、JDeveloperで使用可能な公開ツールを使用してコマンドラインからワークブックを公開できます。コマンドラインの公開ツールでは、ANTスクリプトなどのスクリプトを使用して、Fusion Webアプリケーションから統合Excelワークブックを公開できます。

注意:

- 1つまたは複数のワークブックを公開した後で、それらのワークブックをダウンロードしてMicrosoft Excelで正常に開くために、Fusion Webアプリケーションを再起動する必要があります。Webアプリケーションが再起動されないと、次のようなエラーが発生する可能性があります。
TampercheckErrorException: ADFDI-05537: ワークブック統合の整合性を判別できませんでした。

- カスタマイズ対応のワークブックは、関連付けられたプロジェクトのpublic_htmlディレクトリ(またはそのサブディレクトリ)の下のターゲットの場所にのみ公開できます。

15.3.1 統合ExcelワークブックをExcelから公開する方法

ワークブックを公開するには、「Oracle ADF」タブ上のボタンをクリックして、表示されるダイアログで値を指定します。

開始する前に:

統合Excelワークブックの公開方法について理解しておくと役立ちます。詳細は、「統合Excelワークブックの公開」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックをデプロイするための追加の機能」を参照してください。

Excelからワークブックを公開するには:

1. 統合Excelワークブックを開きます。

2. 「ワークブック・プロパティの編集」ダイアログのApplicationHomeFolderおよびWebPagesFolderプロパティが正しいことを確認します。これらのプロパティが設定されていない場合、統合Excelワークブックの公開時にADFデスクトップ統合によって設定するよう求められます。

詳細は、「新しい統合Excelワークブックの構成方法」を参照してください。

3. 「Oracle ADF」タブで「公開」ボタンをクリックします。

4. 図15-1のように、表示されるワークブックの公開ダイアログで、公開されたワークブックのディレクトリとファイル名を指定します。公開するワークブック用に指定するディレクトリおよびファイル名は、設計時のワークブックのディレクトリおよびファイル名とは異なるものにする必要があります。
ADFデスクトップ統合により、JDeveloperアプリケーション・ワークスペースのViewController\public_htmlディレクトリにワークブックを保存するよう求めるプロンプトが表示されます。設計モードのときにワークブックに追加された–DTなどの接尾辞を削除し、エンド・ユーザーにわかりやすい名前で表示されるようにします。たとえば、Summitサンプル・アプリケーションでは、設計モードで使用したEditCustomers-DT.xlsxではなくEditCustomers.xlsxのファイル名を使用して、顧客の編集をするワークブックを公開しています。

5. 「保存」をクリックして変更内容を保存します。

15.3.2 コマンド行公開ツールを使用して統合Excelワークブックを公開する方法

この公開ツールはコマンド行から実行するもので、MW_HOME\jdeveloper\adfdi\bin\excel\tools\publishディレクトリにあるpublish-workbook.exeを指します。公開ツールを実行する前に、ソースの統合Excelワークブックを開いて「ワークブック・プロパティの編集」ダイアログのApplicationHomeFolderおよびWebPagesFolderプロパティが正しいことを確認します。

注意:

すでに公開済のワークブックまたは実行時モードのワークブックを公開することはできません。

開始する前に:

統合Excelワークブックの公開方法について理解しておくと役立ちます。詳細は、「統合Excelワークブックの公開」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合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-DT.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スクリプトのサンプルは、コマンド行のワークブック公開ツールの起動を実例で示します。

15.3.3 統合Excelワークブックを公開する際の実行時の処理

設計モードで「公開」ボタンをクリックすると、ADFデスクトップ統合では次のアクションが実行されます。

1. 必須のワークブック設定を検証します。

2. クライアント・レジストリを更新します。詳細は、「統合Excelワークブックのメタデータの整合性チェック」を参照してください。

3. 公開されるワークブックを、指定のファイル名で、指定のディレクトリに作成します。
公開によっても、ワークブック定義がエクスポートされます。公開されたワークブック定義のXMLファイルは、設計時のワークブックのコピーと同じ場所に保存されます。ワークブック定義の詳細は、「Excelワークブック統合メタデータのエクスポートおよびインポート」を参照してください。

4. 公開されるワークブックのワークブック設定からApplicationHomeFolder、WebAppRootおよびWebPagesFolderの各プロパティを消去します。

5. 設計時のすべてのコンポーネントのプレースホルダを消去します。

6. ワークブックのモードを実行時モードに変更します。

7. Publishing Timestampプロパティをワークブックに挿入します。このプロパティは、「情報」ダイアログの「プロパティ」タブに表示されます。

15.4 Fusion Webアプリケーションによる公開済ワークブックのデプロイ

「統合Excelワークブックの公開」の説明に従って、統合Excelワークブックを公開した場合、Webアプリケーションをビルドしてデプロイすると、公開済の統合Excelワークブックが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ページを構成できます。たとえば、図15-2は、ADFデスクトップ統合のSummitサンプル・アプリケーションのMainPage.jsfページで、顧客サンプルの編集ワークブックのワークブックのダウンロード・ボタンをクリックすることで起動された、Internet Explorerの「ファイルのダウンロード」ダイアログを示します。

図15-2 Fusion Webアプリケーションからの統合Excelワークブックの起動

図15-2に示されている機能を有効にするには、Excelワークブックが認識されるようにFusion WebアプリケーションのHTTPフィルタ・パラメータを構成する必要があります。Fusion WebアプリケーションでADFデスクトップ統合が有効になっている場合、これらのパラメータはJDeveloperによって自動的に構成されます。HTTPフィルタ・パラメータを手動で構成する場合は、「Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定」を参照してください。

Fusion WebアプリケーションのHTTPフィルタを構成した後、Fusion Webアプリケーションによってエンド・ユーザーに表示されるWebページを構成し、エンド・ユーザーがExcelワークブックを起動できるようにします。Fusion Webアプリケーションと統合されたExcelワークブックを起動できるようにする基本的な方法は、ワークブックを起動するハイパーリンクを提供することです。たとえば、Webページに次のようなADFコードを記述できます。

<af:link text="Editable Table Sample" destination="/excel/EditCustomers.xlsx"/>

ここで、excelは、WebPagesFolderワークブック・プロパティによって指定されるディレクトリのサブディレクトリで、EditCustomers.xlsxはエンド・ユーザーが起動するExcelワークブックです。

エンド・ユーザーがWebページのボタンやメニューから統合Excelワークブックをダウンロードできるようにするための機能を提供できます。次にいくつかの例を示します。

- ボタン
クリックすると統合Excelワークブックが起動するボタンをWebページ上に表示します。たとえば、図15-2のワークブックのダウンロード・ボタンは、MainPage.jsfページに公開されるボタン・コンポーネントです。

- 選択リスト
統合Excelワークブックを起動するボタンとともに、ADF Faces selectOneChoiceコンポーネントを使用します。

- メニュー
ADF Faces goMenuItemコンポーネントを使用します。

Fusion WebアプリケーションのWebページの作成の詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』を参照してください。

15.4.1 ADFデスクトップ統合に対応するFusion WebアプリケーションをJDeveloperからデプロイする際の処理

ADFデスクトップ統合が有効になっているFusion WebアプリケーションをJDeveloperからデプロイする際は、ADFデスクトップ統合の共有ライブラリへの参照が適切なディスクリプタ・ファイルに追加されます。ADFデスクトップ統合のモデルAPIライブラリまたはADFデスクトップ統合ランタイム・ライブラリを参照する1つ以上のプロジェクトを含むすべてのFusion Webアプリケーションについて、プラットフォームに依存するADFデスクトップ統合モデルAPIの共有ライブラリへの参照がデプロイメント中に追加されます。

ADFデスクトップ統合ランタイム・ライブラリへの参照を含むすべてのWebアプリケーション・モジュール(WAR)プロジェクトの場合は、プラットフォームに依存しないADFデスクトップ統合ランタイム共有ライブラリへの参照がデプロイメント中に追加されます。

15.4.1.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に配信されます。

- デプロイされる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に配信されます。

15.4.2 実行時の処理: 公開されたワークブックのエンド・ユーザーによるリクエスト

web.xmlがADFデスクトップ統合を使用するFusion Webアプリケーション用に構成されている場合、次のことが起こります

ADFデスクトップ統合を使用するFusion Webアプリケーション用に構成されている場合、次のイベントが発生します。

- DIExcelDownloadFilterフィルタが定義されます。

- フィルタ・マッピングは、*.xlsxおよび*.xlsmファイルに定義されます。

実行時に、エンド・ユーザーがワークブックに対してHTTPリクエストを出す(たとえば、ユーザーがアプリケーションからWebページのリンクをクリックする)と、DIExcelDownloadFilterフィルタは、HTTPレスポンスとしてストリーム化されて戻されたWebAppRootプロパティをワークブックに埋め込みます。WebAppRootプロパティは後でADFデスクトップ統合クライアントにより使用されて、Fusion Webアプリケーションに接続し、ユーザー・セッションを確立し、データを相互に送信します。「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」に説明されているように、パラメータ値をWebアプリケーションからワークブックに渡すこともできます。

DIExcelDownloadFilterフィルタはWebAppRoot値を、doFilter()エントリ・ポイントに渡される現在のHttpServletRequestオブジェクトから構築します。フィルタ・コードはHttpServletRequest.getRequestURL()を呼び出し、コンテキスト・パス部分の後をすべて削除する(HttpServletRequest.getContextPath()を使用)ことで、完全なURLの"root"部分を取得します。

15.5 Fusion Webアプリケーション・ページからワークブックにパラメータ値を渡す

Fusion Webアプリケーション・ページは、エンド・ユーザーがそのページからワークブックをダウンロードするときに、統合Excelワークブックにパラメータ値を渡すように構成できます。ワークブック・パラメータを使用して、ユーザーのWebページから統合ワークブックにコンテキストを渡すことができます。渡されたコンテキストは、統合ワークブックからWebアプリケーションに送信されて戻され、アプリケーションの状態に影響します(ワークブックでどのようなデータがレンダリングされるかなど)。たとえば、図15-3に示すように、Summitサンプル・アプリケーションでは、倉庫のリストがエンド・ユーザーに表示されます。エンド・ユーザーがワークブックのダウンロード・ボタンをクリックすると、Summitサンプル・アプリケーションは、WarehouseIDパラメータの値をワークブックに渡してダウンロードします。渡されたWarehouseIDパラメータでは、倉庫のどのデータが編集用にワークシートにレンダリングされるかを制御します。

図15-3 パラメータ値に基づいたワークブックのダウンロード

Fusion Webアプリケーション・ページから統合Excelワークブックにパラメータを渡すには、次の手順に従います。

1. エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードできるように、HTTPフィルタが構成されていることを確認します。デフォルトでは、プロジェクト内でADFデスクトップ統合を有効化すると、JDeveloperによってHTTPフィルタが適切な値で構成されます。HTTPフィルタのパラメータ値を検証するには、「ADFデスクトップ統合Excelダウンロード・フィルタの構成」を参照してください。

2. エンド・ユーザーがワークブックをダウンロードできるFusion WebアプリケーションのWebページで名前/値のペアをURL引数として使用します。詳細は、「Fusion Webアプリケーションのページを構成してパラメータを渡す方法」を参照してください。

注意:

?より右の、問合せ文字列全体のURLエンコードされたランタイム値は、2048バイト未満にする必要があります。ランタイム値が2048バイトを超える場合、統合Excelワークブックに含まれるURL引数は、2048バイト内に収まる分のみです。残りのURL引数は、統合Excelワークブックに含まれません。かわりに、これらのURL引数が含まれていないことを示すログ・エントリがFusion Webアプリケーションによって書き込まれます。

たとえば、?の右にある、次のEL式が評価されてからURLエンコードされた文字列結果の合計サイズは、2048バイトよりも小さい必要があります。

"/excel/EditWarehouseInventory.xlsx?WarehouseId=#{item.bindings.Id.inputValue}"

この上限を超える情報を渡す必要がある場合は、(カスタム)データベース表に一時的に格納し、一意のトークンのみを渡して、その情報レイヤーを参照することを検討してください。この技術により、望ましくない公開からコンテキスト情報も保護されます。

3. 「ワークブックのプロパティの編集」ダイアログおよび「ワークシートのプロパティの編集」ダイアログでパラメータ名を定義します。詳細は、「統合Excelワークブックでパラメータのプロパティを構成する方法」を参照してください。

4. <parameter>要素を追加して、統合Excelワークブックのワークシートに関連付けられているページ定義ファイルを構成します。詳細は、「ワークシートでパラメータを受け取るようにページ定義ファイルを構成する方法」を参照してください。

図15-4に、パラメータをWebアプリケーションからEditWarehouseInventory-DT.xlsxワークブックに渡すために、Summitサンプル・アプリケーションに実装されている手順を示します。Summitサンプル・アプリケーションの詳細は、「ADFデスクトップ統合のサンプル・アプリケーションの概要」を参照してください。

図15-4 パラメータを渡すためのワークブックとFusion Webアプリケーションの構成

15.5.1 パラメータを渡すためにFusion Webアプリケーションのページを構成する方法

<af:button>などのコンポーネントを使用して、統合ワークブックの公開済コピーをエンド・ユーザーがダウンロードできるようにすることができます。コンポーネントの接続先URLは、統合ワークブックを参照し、その問合せ部分では、URLパラメータの名前と値がワークブックのパラメータ名と値に対応します。また、呼び出されたときに、コンポーネントとそのプロパティ値で参照される値をリフレッシュするようFusion Webアプリケーションに要求するコマンドをページで指定します。

アクション・コンポーネントを使用したファイルのダウンロードの詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』のファイルをダウンロードするためのアクション・コンポーネントの使用方法に関する項を参照してください。

開始する前に:

Fusion Webアプリケーションから統合Excelワークブックへパラメータ値を渡す方法を理解しておくと役立ちます。詳細は、「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックをデプロイするための追加の機能」を参照してください。

Fusion Webアプリケーションのページを構成するには:

1. JDeveloperで、エンド・ユーザーによる統合Excelワークブックのダウンロード元となるページにコンポーネントまたはタグ(af:buttonなど)を挿入します。

2. 「構造」ウィンドウでコンポーネントを右クリックし、「プロパティに移動」を選択します。

3. 「共通」セクションを展開し、プロパティの値を設定します。

表15-1に、af:buttonコンポーネントのプロパティを示します。

表15-1 af:buttonタグのプロパティ

プロパティ

値

Text

実行時にエンド・ユーザーに表示されるテキストを記述します。

たとえば、次のようなテキストを記述して実行時に表示します。

Download Workbook

Destination

ダウンロードする統合Excelワークブックおよびその値をURL引数として指定するEL式を記述するための式ビルダーを起動します。

たとえば、次のようなEL式を記述します。

destination="/excel/EditWarehouseInventory.xlsx?WarehouseId=#{item.bindings.Id.inputValue}"

4. (オプション)「動作」セクションを開き、起動するとaf:buttonタグおよびDestinationプロパティの値を更新するpartialTriggersプロパティのコンポーネントIDを指定します。

たとえば、NextButton、PreviousButton、FirstButtonおよびLastButtonというIDのナビゲーション・ボタンがある場合は、次のように指定します。

:NextButton :PreviousButton :FirstButton :LastButton

5. ページを保存します。

この手順で示した必要な例を使用した場合にJDeveloperによってJSFページに生成されるエントリを、次の例に示します。

<af:button text="Download Workbook" id="b2"
destination="/excel/EditWarehouseInventory.xlsx
?WarehouseId=#{item.bindings.Id.inputValue}"/>

15.5.2 統合Excelワークブックでパラメータのプロパティを構成する方法

エンド・ユーザーによってFusion Webアプリケーションからダウンロードされる統合Excelワークブックが、ワークブックのダウンロードURLの問合せ文字列に含まれているパラメータ値を受け取るように、ワークブックのParametersプロパティおよびワークシートのParametersプロパティを構成します。

開始する前に:

Fusion Webアプリケーションから統合Excelワークブックへパラメータ値を渡す方法を理解しておくと役立ちます。詳細は、「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックをデプロイするための追加の機能」を参照してください。

ワークブックのParametersプロパティを構成するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「パラメータ」の入力フィールドの横にある参照(...)アイコンをクリックして、「パラメータの編集」ダイアログを起動します。

4. 「追加」をクリックして新しいワークブック・パラメータを追加し、プロパティを次のように構成します。

- 「パラメータ」フィールドで、af:buttonタグのDestinationプロパティのURL引数として使用するパラメータ名を定義し、「Fusion Webアプリケーションのページを構成してパラメータを渡す方法」の説明に従って、ページ定義パラメータに後でバインドします。
たとえば、EditWarehouseInventory-DT.xlsxワークブックでは、図15-5に示すように、WarehouseIDパラメータ値を定義します。

ヒント:

定義した値が標準のURL問合せ文字列に使用できることを確認します。EL式で参照した際に適切に機能するように、使用するパラメータ名は簡単な識別子にしてください。

図15-5 ワークブック・パラメータ

- (オプション)「注釈」フィールドに、ワークブック・パラメータの説明を入力します。

5. 必要に応じて、手順4を繰り返し、他のワークブック・パラメータを追加します。

6. 「OK」をクリックします。
ワークブックのParametersプロパティの詳細は、表A-20を参照してください。

ワークシートのParametersプロパティを構成するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。

3. 「パラメータ」の入力フィールドの横にある参照(...)アイコンをクリックして、「パラメータの編集」ダイアログを起動します。

4. 「追加」をクリックして、新しいワークシート・パラメータを追加し、図15-6に示すように、EditWarehouseInventory-DT.xlsxワークブックから構成します。

- 「ワークシートでパラメータを受け取るようにページ定義ファイルを構成する方法」でワークシートに関連付けられているページ定義ファイルに追加したパラメータ要素を、「パラメータ」フィールドで指定します。

- ワークブック・パラメータ(ワークブックのParameters配列)に対して指定したParameterプロパティの値を参照するEL式を、「値」フィールドに記述します。EL式を記述する際は、次の構文を使用します。
#{workbook.params.parameter}

parameterは、ワークブック・パラメータ用に指定されたParameterプロパティの値を参照します。

- (オプション)「注釈」フィールドに、ワークシート・パラメータの説明を入力します。

図15-6 ワークシート・パラメータ

5. 必要に応じて、手順4を繰り返し、他のワークブック・パラメータを追加します。

6. 「OK」をクリックします。
ワークシートのParametersプロパティの詳細は、表A-21を参照してください。

新しい各ユーザー・セッションで初期サーバー状態を設定するのに、ワークブック・パラメータ値が必要なユースケースでは、SendParametersプロパティをTrueに設定します。また、メソッド・アクション・バインディングを指定して、ワークブック・パラメータ値を使用してサーバー状態を初期化する、ワークシートのSetupActionIDを起動する必要があります。

ワークシートのSendParametersおよびSetupActionIDプロパティを構成する手順:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。

3. 「ワークシート・プロパティの編集」ダイアログで、表15-2および図15-7に示すように、SendParametersおよびSetupActionIDの値を設定します。

表15-2 SendParametersおよびSetupActionIDプロパティ

設定するプロパティ

設定する値

SendParameters

True: ワークシート・パラメータがワークシートのバインディング・コンテナに設定されます。Trueに設定した場合、すべてのユーザー・セッションにおいて、メタデータがリクエストされるたび、およびデータが初めてリクエストされたときに、パラメータが送信されます。False (デフォルト値): ワークシート・パラメータの明示的な送信は実行されません。

SetupActionID

ワークブック・パラメータ値を使用してサーバー状態を初期化する、起動するメソッド・アクション・バインディングを指定します。

詳細は、「明示的なワークシート設定アクションの使用」を参照してください。

図15-7 SendParametersおよびSetupActionIDプロパティ

4. 「OK」をクリックします。

テスト・モードに入ると、「ワークブック・パラメータ」ダイアログでテスト・パラメータ値の入力を求められます。図15-8に、ワークブックのテスト値を受け入れる「ワークブック・パラメータ」ダイアログを示します。

図15-8 「ワークブック・パラメータ」ダイアログ

テスト中、ここに入力した値はワークブック・パラメータ値に使用されます。ワークブック・パラメータをワークシートのページ定義パラメータにバインドした場合、ここに入力した値がバインディング・コンテナに送信されます。一部またはすべてのパラメータの値の入力は必須ではありません。テスト・パラメータ値を入力した場合、テスト・モードを終了して設計モードに戻ったときに値はクリアされません。統合Excelワークブックを再度実行する場合、キャッシュからのワークブック・パラメータ値が「ワークブック・パラメータ」ダイアログに表示されます。

提供されたテスト値は、ADFデスクトップ統合Excelダウンロード・フィルタがパラメータ値を格納するのと同じ方法でワークブックに格納されます。ワークブックを公開する際、ワークブックが公開される前にテスト・パラメータ値がクリアされます。

注意:

前述のEditWarehouseInventory-DT.xlsxワークブックの例では、FilterWarehouseMasterByIdメソッド・アクションをワークシートの設定アクション(SetupActionID)に使用できます。これにより、ワークシートが実行時に初期化されるとき(またはワークシートのバインディング・コンテナの新規インスタンスが作成されるたび)に、メソッドが自動的にコールされます。SetupActionIDの詳細は、「明示的なワークシート設定アクションの使用」を参照してください。

同じメソッド・アクションは、ユースケースに応じてリボン・コマンドやStartupイベントなどのアクション・セットの一部として構成することもできます。リボン・コマンドの場合、その実行はエンド・ユーザーによってトリガーされます。リボン・コマンドおよびStartupイベントの詳細は、「実行時リボン・タブのワークシート・リボン・コマンドの構成方法」および「ワークシート・イベントからアクション・セットを起動する方法」を参照してください。

ワークブック・パラメータ値は、ページ定義によって公開される任意のメソッドの引数として使用できます。

15.5.3 ワークシートでパラメータを受け取るようにページ定義ファイルを構成する方法

次の手順で、統合Excelワークブックのワークシートに関連付けられているページ定義ファイルを構成できます。

- ワークシートのバインディング・コンテナを初期化する1つ以上のparameter要素を追加します。「パラメータを渡すためにFusion Webアプリケーションのページを構成する方法」に示されているように、これらのパラメータの値はURL引数から提供されます。
次の例は、EditWarehouseInventory-DT.xlsxワークブックに関連付けられているExcelWarehouseInventory.xmlページ定義ファイルに定義されているWarehouseIdParamパラメータを示します。

<parameters>
<parameter id="WarehouseIdParam" value="value"/>
</parameters>

- アプリケーション・モジュール・メソッドを起動するメソッド・アクション・バインディングを追加します。次の例は、EditWarehouseInventory-DT.xlsxワークブックに関連付けられているExcelWarehouseInventory.xmlページ定義ファイルの実装を示します。

<methodAction id="FilterWarehouseMasterById" RequiresUpdateModel="true"
Action="invokeMethod" MethodName="FilterWarehouseMasterById"
IsViewObjectMethod="false" DataControl="SummitAppModuleDataControl"
InstanceName="data.SummitAppModuleDataControl.dataProvider">
<NamedData NDName="warehouseId" NDValue="${bindings.WarehouseIdParam}"
NDType="java.lang.String"/>
</methodAction>

ページ定義ファイルの構成の詳細は、「統合Excelワークブックのページ定義ファイルの使用」および『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のページ定義ファイルの使用に関する項を参照してください。

15.5.4 実行時の処理: Fusion Webアプリケーションから統合Excelワークブックへのパラメータの引渡し

エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードすると、ダウンロードをトリガーしたコンポーネント・タグ(af:buttonなど)が評価され、現在のパラメータ値(warehouseIDなど)が取得されてURLに組み込まれます。adfdiExcelDownloadフィルタによって、URLのすべてのパラメータの名前および値が、ダウンロードされた統合Excelワークブックに埋め込まれます。

これらのパラメータは、バインディング・コンテナがリフレッシュされる前にBindingContainer DCParametersに設定されます。ワークシート・パラメータがバインディング・コンテナにどのようにマップされるかの詳細は、「ワークシートでパラメータを受け取るようにページ定義ファイルを構成する方法」を参照してください。

新しい各ユーザー・セッションで初期サーバー状態を設定するのに、ワークブック・パラメータ値が必要なユースケースでは、Worksheet.ServerContext.SendParametersプロパティをTrueに設定します。また、メソッド・アクション・バインディングを指定して、ワークブック・パラメータ値を使用してサーバー状態を初期化する、ワークシートのSetupActionIDを起動する必要があります。ワークシートSetupActionIDプロパティの詳細は、「明示的なワークシート設定アクションの使用」を参照してください。

EditWarehouseInventory.xlsxワークブックでは、FilterWarehouseMasterByIdメソッドがユーザー・セッションごとに起動され、ダウンロードしたワークブックに格納されているワークブックWarehouseIdパラメータ値を使用して、正しいサーバー状態が設定されます。

ワークブックのすべてのワークシートの初期化状態をリセットするには、ClearAllDataアクションを起動します。ClearAllDataアクションの詳細は、表A-19を参照してください。

15.6 実行時のワークブック統合メタデータのカスタマイズ

ADFデスクトップ統合では、Oracle Metadata Services (MDS)ベースのランタイム・カスタマイズもサポートされます。MDSの詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「MDSによるアプリケーションのカスタマイズ」の章を参照してください。

ワークブック統合メタデータでは、ADFデスクトップ統合コンポーネントがワークブックでどのように表示され動作するか、またワークブックがそのFusion Webアプリケーションでどのように統合されるかを定義します。ワークブックが公開されると、そのワークブック統合メタデータのXMLファイルが設計時のワークブックのコピーと同じ場所に保存されます。カスタマイズ対応ワークブックの公開の詳細は、「統合Excelワークブックの公開」を参照してください。

カスタマイズ対応ワークブックのワークブック統合メタデータ・ファイルは、MDSによって管理できるようにMDSメタデータ・リポジトリにデプロイする必要があります。メタデータ・リポジトリの詳細は、『Oracle Fusion Middlewareの管理』の「メタデータ・リポジトリの管理」の章を参照してください。

15.6.1 実行時のワークブックのカスタマイズを有効にする方法

ワークブック統合メタデータのカスタマイズを有効にするには、「ワークブックのプロパティ」ダイアログを開き、CustomizationEnabledをTrueに設定します。

開始する前に:

ワークブック統合メタデータのカスタマイズを理解しておくと役立ちます。詳細は、「実行時のワークブック統合メタデータのカスタマイズ」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「統合Excelワークブックをデプロイするための追加の機能」を参照してください。

ワークブックの実行時カスタマイズを有効にする手順:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「CustomizationEnabled」をTrueに設定します。

4. 「OK」をクリックします。

5. カスタマイズ対応ワークブックを公開します。

15.6.2 実行時の処理: ワークブック統合メタデータがカスタマイズされた場合

カスタマイズ対応ワークブックは、ワークブックの初期化時にサーバーからそのメタデータを取得します。

この統合メタデータは、サーバー側のMDSによって管理され、MDS APIを通じてアプリケーションによってアクセスできます。実行時に、アプリケーションはユーザーにワークブック統合メタデータをカスタマイズする手段を提供できます。カスタマイズ対応ワークブックは、初期化されると、ワークブック統合メタデータをサーバーにリクエストします。MDSは、現在のカスタマイズ・コンテキストに基づいてすべてのカスタマイズを適用し、カスタマイズされたメタデータをその初期化のためにワークブックに戻します。

「Fusion WebアプリケーションへのADFワークブック・コンポーザの統合」に説明されているように、アプリケーション開発者は、シード・カスタマイズをアプリケーションに含めたり、ADFワークブック・コンポーザを統合したりできます。たとえば、アプリケーションは、ユーザーがカスタマイズ対応ワークブックの表の列をカスタマイズできるWebページを提供できます。ユーザーは、Webページ上の表から特定の列を削除し、カスタマイズ対応ワークブックをダウンロードして、ワークブックに適用される変更を確認できます。

15.6.3 ワークブック統合メタデータのカスタマイズに関する必知事項

カスタマイズ対応ワークブックは、関連付けられたプロジェクトのpublic_htmlディレクトリの下のディレクトリにのみ公開できます。アプリケーションをデプロイする際には、ワークブックが公開されるときに生成されたメタデータ・パスを使用して、対応するワークブック統合メタデータ・ファイルがMDSによって見つかることを確認します。

各カスタマイズ対応ワークブックには、固有のワークブック統合メタデータ・ファイルがあります。ワークブックが公開されると、そのワークブック統合メタデータのXMLファイルが設計時のワークブックのコピーと同じ場所に保存されます。このワークブック統合メタデータ・ファイルをMDSメタデータ・リポジトリにデプロイして、実行時にMDSが管理できるようにする必要があります。MDSの用語では、ワークブック統合メタデータ・ファイルはベース・ドキュメントであり、メタデータ・パスを使用してMDSによって参照されます。メタデータ・パスは、カスタマイズ対応ワークブックの公開時に決定されます。

たとえば、設計時のカスタマイズ対応ワークブックが<PROJECT_HOME>/public_html/myCompany/myPackage/myWorkbook.xlsxに公開され、そのワークブック統合メタデータ・ファイル名がmyWorkbook-DT.xlsx-workbook-definition.xmlの場合、このワークブックのメタデータ・パスは/myCompany/myPackage/myWorkbook-DT.xlsx-workbook-defintion.xmlです。実行時に、MDSはアプリケーションで構成されたリポジトリ内で、このメタデータ・パスを使用してワークブック統合メタデータを探します。メタデータ・パスは、アプリケーション全体で一意である必要があります。

デフォルトでは、MDSリポジトリがワークブック統合メタデータ・ファイルに対して構成されていない場合、MDSは前述のメタデータ・パスを使用してクラスパス上でメタデータ・ファイルを検索します。MDSの構成を回避するために、Fusion Webアプリケーションのクラスパス上にワークブック統合メタデータ・ファイルをホストできます。

15.7 Fusion WebアプリケーションへのADFワークブック・コンポーザの統合

ADFワークブック・コンポーザは、許可されたユーザーがFusion Webアプリケーションの実行時Webユーザー・インタフェースから統合ExcelワークブックをカスタマイズできるようにするADFタスク・フローです。

ADFワークブック・コンポーザを使用するには、カスタマイズ対応のワークブックをFusion Webアプリケーションに統合し、メタデータをMDSで管理する必要があります。カスタマイズ対応のワークブックの詳細は、「実行時のワークブック統合メタデータのカスタマイズ」を参照してください。

ADFワークブック・コンポーザを使用すると、エンド・ユーザーは実行時に次のアクションを実行できます。

- 統合ExcelワークブックのADFコンポーネントの編集または削除

- ワークシートでのコンポーネントの再配置

- ADFコンポーネントのツールチップ、ラベルおよびソースの編集

- ワークシートの削除

15.7.1 Fusion WebアプリケーションにADFワークブック・コンポーザを統合する方法

ADFワークブック・コンポーザのタスク・フローは、ADFライブラリとしてadf-workbook-composer.jarファイルにあります。jarファイルは、MWHOME/oracle_common/modules/oracle.adf.desktopintegrationディレクトリにあります。

ADFワークブック・コンポーザをFusion Webアプリケーションに統合する手順:

1. JDeveloperでFusion Webアプリケーションを開きます。

2. adf-workbook-composer.jarファイルをADFライブラリjarとしてFusion Webアプリケーションに追加します。

a. 「アプリケーション」ウィンドウで、プロジェクト(ViewControllerなど)を選択して右クリックし、「プロジェクト・プロパティ」を選択します。

b. 「プロジェクト・プロパティ」で、「ライブラリとクラスパス」を選択します。

c. 「ライブラリとクラスパス」ページで「ライブラリの追加」をクリックします。

d. 「ライブラリの追加」ダイアログで、「新規」をクリックします。

e. 「ライブラリの作成」ダイアログで、ライブラリ名としてADF Workbook Composer Runtimeと入力します。

f. 「エントリの追加」をクリックします。

g. MWHOME/oracle_common/modules/oracle.adf.desktopintegrationディレクトリに移動して、adf-workbook-composer.jarファイルを選択し、「開く」をクリックします。

注意:

実行時にクラス・パスに表示されるadf-workbook-composer.jarファイルのコピーが重複しないように、「デフォルトでデプロイ済」チェック・ボックスの選択を解除してください。oracle.adf.desktopintegration共有ライブラリには、「実行時の処理: ADFワークブック・コンポーザの起動」に説明されているadf-workbook-composer.jarファイルが含まれます。

3. 「アプリケーション」ウィンドウで、ADFワークブックコンポーザ・ランタイム・ライブラリを選択して展開します。
ライブラリが表示されない場合は、「表示」→「アプリケーション・プロジェクト」→「ライブラリの表示」を選択します。

4. WEB-INF\oracle\adf\workbookcomposer\view\taskflowsのworkbook-customization-task-flow.xmlファイルを特定し、ファイルをドラッグ・アンド・ドロップして、タスク・フローをホスト・ページ内にインポートします。

5. 必要に応じて、目的のカスタマイズ・コンテキストを設定します。

6. MDSリポジトリをadf-config.xmlに構成し、メタデータ・パスでワークブック・メタデータ・ファイルにアクセスできることを確認します。

7. 必要なワークブック・メタデータ・パスおよびワークブック名パラメータをタスク・フローに指定します。

8. Fusion Webアプリケーションの認可が有効の場合は、ワークブック・コンポーザjarファイルの/WEB-INF/oracle/adf/workbookcomposer/view/taskflows/ディレクトリにある、次のタスク・フローのリソース・アクセス権をユーザーに付与するためのセキュリティ・ポリシーを構成する必要があります。

- button-customization-task-flow.xml

- form-component-customization-task-flow.xml

- image-customization-task-flow.xml

- not-supported-task-flow.xml

- read-only-table-customization-task-flow.xml

- ribbon-command-customization-task-flow.xml

- table-customization-task-flow.xml

- workbook-customization-task-flow.xml

9. ホストのWebページを実行して、ワークブック・コンポーザが正しくレンダリングされることを確認します。

15.7.2 実行時の処理: ADFワークブック・コンポーザの起動

ADFワークブック・コンポーザのタスク・フローは、ADFライブラリjarアフィルとしてadf-workbook-composer.jarファイルにあります。このjarは、oracle.adf.desktopintegration共有ライブラリに格納されています。oracle.adf.desktopintegration共有ライブラリは、Application Development Runtimeのインストール・プロセスの一部としてインストールされ、JRFドメイン拡張テンプレートに含まれています。Application Development Runtimeをインストールした場合、Fusion WebアプリケーションがWebLogic Serverで実行されると、実行時にADFワークブック・コンポーザのタスク・フローを使用できます。Application Development Runtimeのインストールの詳細は、『Oracle ADFアプリケーションの管理』の「ADFアプリケーションのデプロイ」の章を参照してください。

実行時に、ADFワークブック・コンポーザから行ったカスタマイズは、Fusion Webアプリケーションを再起動することなく即座に適用されます。ワークブックのカスタマイズに関連付けられているカスタマイズ・コンテキストを照合するエンド・ユーザーが、統合Excelワークブックの新しいコピーをダウンロードして開くか、初期化されたワークブックでClearAllDataワークブック・アクションを起動してからログインすると、そのカスタマイズが表示されます。

15.7.3 ADFワークブック・コンポーザに関する必知事項

ADFワークブック・コンポーザのタスク・フローには、次の2つのパラメータが必要です。

- WorkbookName – 実行時にユーザーがカスタマイズする、公開されたワークブックの名前。名前はコンポーザに表示されます。

- WorkookMetadataPath – ワークブック・メタデータ・ファイルのパス。これは、カスタマイズするワークブックのメタデータ・ファイルを特定するためにMDSで使用されるパスです。ワークブック・メタデータ・ファイルは、設計時ワークブックが公開されると生成されます。メタデータ・パスは、ワークブックの公開先の場所によって決定されます。

16 複数のWebセッション間における統合Excelワークブックの使用

この章では、ユースケースが複数のWebアプリケーション・セッションで適切に動作するように、統合Excelワークブックを構成する方法を説明します。

この章の内容は次のとおりです。

- 複数のWebセッション間における統合Excelワークブックの使用について

- セッション間でのサーバー・データ・コンテキストのリストア

- 統合Excelワークブックでの静的情報のキャッシュ

- 複数のWebセッション間で使用するための値リストのキャッシング

- 明示的なワークシート設定アクションの使用

16.1 複数のWebセッション間における統合Excelワークブックの使用について

エンド・ユーザーは、統合Excelワークブックを開いて、開発者が構成したワークブック・リボン・コマンドから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表コンポーネントでの変更の追跡および更新

複数のWebアプリケーション・セッション間の統合Excelワークブックの動作をテストします。これを行うには、統合Excelワークブックを実行します。ユースケースの手順を実行する際は、現在のWebアプリケーション・セッションの様々な時点で、「ログアウト」ワークブック・リボン・コマンドをクリックします。専用の終了時点を、ADF表コンポーネントのDownloadアクションの起動からUploadアクションの起動までの間の現在のセッションにします。必要に応じて、新しいWebアプリケーション・セッションが作成されます。結果が予想したものと異なる場合は、この章の後述の項に記載のプロパティを構成する必要が生じる場合があります。

16.1.1 複数のWebセッション間における統合Excelワークブックの使用のユースケースおよび例

公開された統合Excelワークブックをエンド・ユーザーが開くと、ワークブックに必要なデータがダウンロードされます。その後、サーバーから切断されても、統合Excelワークブックでデータの編集や更新を続行し、保存して閉じることができます。

16.1.2 複数のWebセッション間で統合Excelワークブックを使用するための追加機能

複数のWebセッション間で統合Excelワークブックを検証してテストした後、必要に応じてワークブックの機能をさらに追加できます。次の各項では、使用可能なその他の機能について説明します。

- 統合Excelワークブックのトラブルシューティング: 統合Excelワークブックの開発中またはデプロイ時に、問題が発生する可能性があります。詳細は、「統合Excelワークブックのトラブルシューティング」を参照してください。

- ADFデスクトップ統合のインストール: ADFデスクトップ統合および統合Excelワークブックをエンド・ユーザーが使用できるようにするために、ADFデスクトップ統合をインストールする必要があります。詳細は、「エンド・ユーザーのアクション」を参照してください。

16.2 セッション間のサーバー・データ・コンテキストのリストア

ワークシート内の1つ以上のアクション・セットの動作がFusion Webアプリケーションの現在のモデル状態に依存しているユース・ケースでは、新しいセッションが確立されるたびに正しいモデル状態が取得およびリストアされるように、統合Excelワークブックおよびページ定義ファイルを構成する必要があります。

新しいセッションは次のタイミングで発生します。

- ユーザーが統合Excelワークブックを保存、閉じる、または再度開くとき

- ユーザーがワークブックのログアウト・アクションを起動するとき

- Fusion Webアプリケーションに接続するアクション・セット間の起動間隔が、Fusion Webアプリケーションのセッションに対して指定されているセッション・タイムアウト値を超えるとき

16.2.1 サーバー・データ・コンテキストをリストアするための統合Excelワークブックの構成方法

セッションとセッションの間にワークシートのServerContextプロパティ・グループの値として統合Excelワークブックにキャッシュする属性バインディングを指定します。さらに、このプロパティ・グループでは、Fusion Webアプリケーションによって統合Excelワークブックに新しいセッションが割り当てられると、キャッシュされた属性バインディング・データを使用してサーバー・サイド・コンテキストをリストアするアクション・バインディングを指定できます。

ServerContextプロパティ・グループの値を指定するには、ワークシートに関連付けられているページ定義ファイルで、サーバー・コンテキストのリストアの対象となる属性バインディングおよびアクション・バインディングを公開しておく必要があります。ページ定義ファイルへの属性バインディングとアクション・バインディングの追加の詳細は、「統合Excelワークブックのページ定義ファイルの使用」を参照してください。ServerContextプロパティ・グループの詳細は、表A-21のServerContextのエントリを参照してください。

開始する前に:

サーバー・データ・コンテキストのリストア方法を理解しておくと役立ちます。詳細は、「セッション間でのサーバー・データ・コンテキストのリストア」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「複数のWebセッション間で統合Excelワークブックを使用するための追加機能」を参照してください。

サーバー・データ・コンテキストをリストアするように統合Excelワークブックを構成するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。

3. 「ワークシート・プロパティの編集」ダイアログで、表16-1の説明に従ってServerContextプロパティ・グループの値を構成します。

表16-1 サーバー・データ・コンテキストをリストアするためのServerContextプロパティ

プロパティ

入力または選択する値

CacheDataContexts

通常は、このコレクションに要素を追加して、ページ定義ファイルに直接構成できない重要な問合せをリストアします。このシナリオに対処する必要がない場合、このコレクションに要素を追加することは任意です。CacheDataContextsのコレクションに要素を追加する場合は、次のように構成します。

- RestoreDataContextActionID
CachedServerContextsによって指定されるデータをリストアするためにFusion Webアプリケーションに接続するアクション・バインディング(たとえば、Executeアクション・バインディング)を指定します。

- CachedServerContexts
RestoreDataContextActionIDによって指定されるアクション・バインディングが起動する前にキャッシュおよび設定される属性バインディング値を識別する配列。配列(CachedServerContext)の各要素は、CachedAttributeIDプロパティおよびRestoredAttributeIDプロパティをサポートします。

CacheDataContextsプロパティおよびそのサブプロパティの詳細は、「ワークシートのアクションおよびプロパティ」を参照してください。

IDAttributeID

現在のワークシートに表示される行を一意に識別する属性バインディングを指定します。実行時には、このプロパティが参照する値で、サーバー・データ・コンテキストが正しくリストアされているかどうかを判断します。通常は、このプロパティを使用してフォームを処理します。それ以外は、オプションになる場合があります。

このプロパティおよびそのサブプロパティの詳細は、「ワークシートのアクションおよびプロパティ」を参照してください。

統合Excelワークブックでパラメータを使用しており、そのワークブックをFusion Webアプリケーションからダウンロードしてデプロイした場合は、「統合Excelワークブックでパラメータのプロパティを構成する方法」を参照してください。

4. 「OK」をクリックします。

注意:

ワークシート設定アクション(またはParametersおよび<invokeAction>実行可能ファイル)を使用する統合Excelワークブックでは、新しいセッションが作成されるときにワークシート設定アクションがサーバー・データ・コンテキストをリストアできる場合は、RestoreDataContextActionIDおよびCachedServerContextsを構成する必要はありません。

16.2.2 実行時の処理: 統合Excelワークブックによるサーバー・データ・コンテキストのリストア

ワークシートでは、初期セッションが(たとえば、session ID 1)中に、ServerContextプロパティ・グループを使用してデータがキャッシュされます。その後、ADF表コンポーネントのUploadアクションが起動される、別のセッションID (たとえば、session ID 2)を持つセッションで、ServerContextプロパティ・グループにキャッシュされたデータがFusion Webアプリケーションに送信されます。

16.3 統合Excelワークブックでの静的情報のキャッシュ

Fusion Webアプリケーションから切断されている間にエンド・ユーザーがワークブックを使用できるように、相対的に静的な特定の種類のデータが統合Excelワークブックにキャッシュされます。表16-2に、統合Excelワークブックでキャッシュされるデータの種類を示します。

「ワークブックのアクションおよびプロパティ」で説明されているClearAllDataワークブック・アクションを起動すると、表16-2に説明されているすべてのタイプのキャッシュ・データがリフレッシュされます。表16-2では、統合Excelワークブックがキャッシュ・データをリフレッシュするその他のシナリオについても説明しています。

表16-2 統合Excelワークブックでキャッシュされるデータの種類

データの種類

キャッシュのタイミング

リフレッシュのタイミング

コントロール・バインディング・タイプ、ID、ラベルなど、ユーザー・セッション間で変更が予想されないページ定義メタデータ。

ページ定義ファイルにバインドされている統合Excelワークシートがアクティブ化され、ページ定義ファイルのメタデータのキャッシュが存在しない場合。

ページ定義メタデータは、統合Excelワークブックの新しいコピーをダウンロードしないかぎり、リフレッシュされません。

ADF値リスト・コンポーネントのリスト項目

ADF値リスト・コンポーネントによってFusion Webアプリケーションからリスト項目が初めてダウンロードされるとき。

Fusion Webアプリケーションによってホストされるリスト項目の値が統合Excelワークブックによってキャッシュされたものと異なる場合。キャッシュされたリスト項目がリフレッシュされるのは、ワークブック・セッションが存在する場合のみで、ワークブック・セッションごとに1回かぎりです。

リソース・バンドルの文字列

統合Excelワークブックが初めて初期化されるとき。公開後にワークブックを初めて開くと、ワークブックは初期化されます。

リソース・バンドル文字列のキャッシュは、統合Excelワークブックの新しいコピーをダウンロードしないかぎり、リフレッシュされません。

16.4 複数のWebセッション間で使用するための値リストのキャッシング

ADFデスクトップ統合では、値リストや依存値リストの作成に使用するADF値リスト・コンポーネントによって参照される値をキャッシュして、実行時にエンド・ユーザーが値を選択したときに、これらのコンポーネントによってFusion Webアプリケーションにリクエストが送信されないようにします。

ADFデスクトップ統合では、各コンポーネントに対して最大250の値がキャッシュされます。値が250を超える値リストをコンポーネントが参照する場合、ADFデスクトップ統合では、最初の250の値をキャッシュして、残りの値に関する警告メッセージをクライアント・サイドのログ・ファイルに書き込みます。「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」の説明に従って、値リストによって参照される値が250を超えるモデルドリブン・リスト・ピッカーを使用するように、統合Excelワークブックを構成することを検討してください。クライアント・サイドのログ・ファイルの詳細は、「統合Excelワークブックのログ・ファイルの生成」を参照してください。

統合Excelワークブックにキャッシュされた値リストは、ワークブック・セッションごとに1回リフレッシュされます。このリフレッシュは、Fusion Webアプリケーションによって参照される値が、統合Excelワークブックによる最後の値リストのキャッシュ以降に変更された場合に、ユーザーがFusion WebアプリケーションとのWebセッションを再確立すると行われます。

値リストから選択した値をアップロードする際に、その選択値がFusion Webアプリケーションにすでに存在しない場合、アップロードは失敗します。このような状況が発生するのは、あるエンド・ユーザーがFusion Webアプリケーションで値を削除し、別のエンド・ユーザーが統合Excelワークブックのキャッシュされた値リストでその値を選択して変更し、変更した値をFusion Webアプリケーションにアップロードしようとした場合などです。

Fusion Webアプリケーションをデプロイし、公開した統合Excelワークブックをエンド・ユーザーが使用するようになった後にFusion Webアプリケーションの構成を変更する場合は、統合Excelワークブックの新しいコピーをダウンロードするか、もしくはClearAllDataワークブック・アクションを起動するようエンド・ユーザーに通知する必要があります。ClearAllDataワークブック・アクションの詳細は、「ワークブックのアクションおよびプロパティ」を参照してください。

Fusion Webアプリケーションの変更に、ワークシートに公開されるADF値リスト・コンポーネントに関連付けられるリスト・バインディングの定義の変更が含まれる場合があります。リスト・バインディング構成を変更すると、変更前にダウンロードおよび実行されたワークブックで予期しない例外が発生する可能性があります。

注意:

統合Excelワークブックは、ModelDrivenColumnComponentサブコンポーネントがモデルドリブン・リスト・ピッカーに表示する値をキャッシュしません。モデルドリブン・リスト・ピッカーの詳細は、「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」を参照してください。

値リストの詳細は、「値リストの使用」を参照してください。

16.5 明示的なワークシート設定アクションの使用

実行時にバインディング・コンテナのメタデータがサーバーから取得されたら、ADFデスクトップ統合はワークシートを構成するいくつかの機能を提供します。ただし、クライアントがバインディング・コンテナ・メタデータを取得する前に、データまたはバインディング・コンテナを構成することもできます。たとえば、設計時に表をワークシートに追加しますが、その表を操作するビュー・オブジェクトは実行時まで指定しない場合があります。使用されるビュー・オブジェクトはパラメータ値または設定によって決まりますが、それらの値が実行時まで不明の場合は、このような操作が必要です。さらに、実行時パラメータ値(属性の追加、表示される属性の指定など)に基づいて、ビュー・オブジェクトを構成することもできます。同様に、実行時パラメータ値に基づいてバインディング・コンテナを構成することもできます。このようなユース・ケースでは、バインディング・コンテナ・メタデータがサーバーからワークシートに送信される前に、設定タスクを実行する必要があります。

ADFデスクトップ統合の明示的なワークシート設定アクション機能を使用すると、クライアントがバインディング・コンテナ・メタデータを取得する前に起動される設定アクションを指定できます。Summitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsxワークブックは、この機能(倉庫の在庫ワークシートがFilterWarehouseMasterByIdの名前のメソッド・アクション・バインディングを起動)の実装を示します。

16.5.1 明示的なワークシート設定アクションの構成方法

ワークシートのSetupActionIDプロパティを使用すると、バインディング・コンテナ・メタデータがワークシートに送信される前に起動されるメソッドを指定できます。メソッドでは、データおよびバインディング・コンテナでの構成に必要なロジックを実装できます。

開始する前に:

明示的なワークシート設定アクション機能について理解しておくと役立ちます。詳細は、「明示的なワークシート設定アクションの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、「複数のWebセッション間で統合Excelワークブックを使用するための追加機能」を参照してください。

ワークシートSetupActionIDプロパティを使用する手順:

1. 統合Excelワークブックのワークシートを開きます。

2. Excelリボンで、「ワークシート・プロパティ」をクリックします。

3. 「ワークシート・プロパティの編集」ダイアログで、データを展開し、SetupActionIDプロパティの入力フィールドの横にある参照(...)アイコンをクリックします。

4. 「バインディングの選択」ダイアログで、バインディング・コンテナ・メタデータがワークシートに送信される前に起動するアクションを選択し、「OK」をクリックします。

注意:

SetupActionIDプロパティはADFmActionのみを受け入れます。無効なメソッドがプロパティに設定されている場合は、検証エラーが報告されます。

5. 「OK」をクリックし、「ワークシート・プロパティの編集」ダイアログを閉じます。

図16-1に、EditWarehouseInventory-DT.xlsxワークブックの構成を示します。

図16-1 「ワークシート・プロパティの編集」ダイアログのSetupActionIDプロパティ

16.5.2 明示的なワークシート設定アクションに関する必知事項

SetupActionIDプロパティによって指定されたアクションが実行されたら、ワークシートに送信されるバインディング・コンテナ・メタデータはメソッドで構成された構成を反映します。ADFデスクトップ統合では、バインディング・コンテナ・インスタンスに対して設定アクションが1回のみ実行されるようにします。なんらかの理由で新しいバインディング・コンテナ・インスタンスがワークシートに関連付けられると、新しいバインディング・コンテナ・インスタンスが構成されるように設定アクションが再度起動されます。

設定アクションの起動時にエラーが発生すると、ADFデスクトップ統合はワークシート内で自動的に無効になります。ログアウトし再度ログインしても、ワークシート内のADFデスクトップ統合は有効になりません。Excelリボンから「全データのクリア」コマンドを実行すると、ワークシート内のADFデスクトップ統合は再度有効になり、設定アクションは後続の要求時に再度実行されます。

17 ADFデスクトップ統合の管理

この章では、WebサーバーからのADFデスクトップ統合クライアント・インストーラの実行やサーバー構成設定の調整などのADFデスクトップ統合のシステム管理タスクについて説明します。

エンド・ユーザーが統合Excelワークブック使用できるようにするためには、あらかじめADFデスクトップ統合のアドインをエンド・ユーザーのシステムにインストールする必要があります。

この章の内容は次のとおりです。

- ADFデスクトップ統合のインストールおよびアップグレード

- クライアント・ヘルス・チェック・ツールの実行

- Fusion Webアプリケーションへの接続の問題のトラブルシューティング

- ADFデスクトップ統合のログ

- ADFデスクトップ統合でのセキュリティ

- ADFデスクトップ統合のクライアント・バージョンの確認

- 統合Excelワークブックのメタデータの確認

- ADFデスクトップ統合のエラー・メッセージと問題

17.1 ADFデスクトップ統合のインストールおよびアップグレード

エンド・ユーザーがFusion Webアプリケーションに統合されているExcelワークブックを使用するには、そのユーザーのWindowsマシンにADFデスクトップ統合アドインがインストールされている必要があります。エンド・ユーザーがADFデスクトップ統合対応Fusion Webアプリケーションをダウンロードしようとすると、アドインがマシンに存在することをJavaアプレットが確認します。アドインが検出されると、ワークブックのダウンロードが自動的に開始されます。そうでない場合は、図17-1に示すように、ADFデスクトップ統合から、エンド・ユーザーにアドインのインストールが求められます。Javaがエンド・ユーザーのマシンにインストールされていない場合、またはエンド・ユーザーのセキュリティ設定によって無効になっている場合は、JavaアプレットがADFデスクトップ統合アドインの存在を確認できません。ADFデスクトップ統合は、アドインのインストールが確認できないことをエンド・ユーザーに通知します。ワークブックのダウンロード、およびアドインのインストールのオプションをエンド・ユーザーに提示します。

「Fusion Webアプリケーションへの統合Excelワークブックの追加」に示すように、ADFデスクトップ統合対応Fusion Webアプリケーションは、統合Excelワークブックを追加したWebアプリケーションです。

図17-1 エンド・ユーザーにADFデスクトップ統合アドインをインストールするよう求めるダイアログ

アプリケーションのweb.xmlファイルの<param-name>SystemCheck.Enabled</param-name>に適切な値を設定することで、このシステム・チェック・メッセージの表示を(表示または非表示に)制御できます。詳細は、「エンド・ユーザーに対するシステム・チェックの表示を管理する方法」を参照してください。

システム・チェック・メッセージの表示を無効にすると、「WebサーバーからADFデスクトップ統合アドインをインストールする方法」の手順に従って、ADFデスクトップ統合インストーラをエンド・ユーザーがインストールできるようにすることができます。

注意:

ADFデスクトップ統合アドインのインストールは、現在のWindowsユーザー・プロファイルに対して固有です。1つのシステム上に複数のWindowsユーザー・プロファイルがあり、それらのユーザー・プロファイルのうち複数のADFデスクトップ統合Excelワークブックを使用する場合は、それぞれのユーザー・プログラムファイルにログインしてADFデスクトップ統合のアドインをインストールする必要があります。

ADFデスクトップ統合インストーラを実行すると、必要なソフトウェアがシステムにインストールされているかどうかが検証されます。必要なソフトウェアの詳細は、「ADFデスクトップ統合アドインのインストールの前提条件」を参照してください。

「クライアント・ヘルス・チェック・ツールの実行」で説明するように、インストール後に、クライアント・ヘルス・チェック・ツールを使用して、エンド・ユーザーの環境が適切に構成されていることを判断できます。これはエンド・ユーザーが実行することもできます。My Oracle Support (https://support.oracle.com)でドキュメントID 2010222.1を検索すると入手できるOracle ADFデスクトップ統合のクライアント・ヘルス・チェック・ツールの利用方法に関するドキュメントも参照してください。

17.1.1 ADFデスクトップ統合アドインのインストールの前提条件

ADFデスクトップ統合アドインをインストールする前に、必要なOracle ADFモジュールとサード・パーティ製ソフトウェアをインストールして構成する必要があります。

- Microsoft Windows
Microsoft Windowsオペレーティング・システムは、Fusion Webアプリケーションと統合するExcelワークブックの開発とデプロイメントを支援します。サポートされているWindowsのバージョンの詳細は、OTNの「Oracle JDeveloperおよびApplication Development Frameworkの証明書情報」のページを参照してください。

http://www.oracle.com/technetwork/developer-tools/jdev/documentation/jdev-088164.html

- Microsoft Excel
サポートされているExcelのバージョンの詳細は、OTNの「Oracle JDeveloperおよびApplication Development Frameworkの証明書情報」のページを参照してください。

http://www.oracle.com/technetwork/developer-tools/jdev/documentation/jdev-088164.html

- Internet Explorer
ADFデスクトップ統合の一部の機能は、Microsoft .NET FrameworkのWebブラウザのコントロールを使用します。このブラウザのコントロールが正しく機能するかどうかは、ローカルInternet Explorerのインストールに依存します。

ADFデスクトップ統合は、Internet Explorerを使用してExcel内にWebページをレンダリングします。システムに別のブラウザがインストールされていたり、デフォルト・ブラウザとして設定されていても関係ありません。

ADFデスクトップ統合アドインをインストールする前に次のソフトウェアが必要です。このソフトウェアがない場合、ADFデスクトップ統合インストーラにより、ADFデスクトップ統合アドインのインストール前に、自動的にダウンロードおよびインストールされます。

- Microsoft .NET Framework 4.5.2
Microsoft .NET Framework 4.5.2は、Microsoft .NET Frameworkをターゲットに開発されるアプリケーションの実行に必要な実行時ファイルおよび関連ファイルを提供します。フレームワークはhttp://www.microsoft.com/download/からダウンロードできます。

- 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/からダウンロードできます。

17.1.2 Microsoft ExcelでADFボタン・コンポーネントを使用する統合Excelワークブックを構成する

エンド・ユーザーが使用する統合Excelワークブックに「ADFボタン」コンポーネントがある場合には、次の手順を1回実行します。

ExcelでADFボタン・コンポーネントを含む統合Excelワークブックを実行できるようにするには:

1. Excelを開きます。

2. 「Microsoft Office」ボタンをクリックして、「Excelオプション」を選択します。

3. 「Excelオプション」ダイアログで、Trust Centerタブを選択し、「Trust Centerの設定」をクリックします。

4. 図17-2に示すように、Trust Centerダイアログで、マクロ設定タブを選択し、「VBAプロジェクト・オブジェクト・モデルへのアクセスを信頼する」チェック・ボックスを選択します。

図17-2 Excelのトラスト・センター・ダイアログ

5. 「OK」をクリックします。

17.1.3 WebサーバーからADFデスクトップ統合アドインをインストールする方法

ADFデスクトップ統合インストーラを、Fusion Webアプリケーションが実行中のWebサービスから使用できるようにすることができます。インストーラはoracle.adf.desktopintegration.warファイルに組み込まれており、エンド・ユーザーがADFデスクトップ統合対応のFusion Webアプリケーションからダウンロードできます。

Webサーバーからインストーラをダウンロードするには、次の手順を実行します。

1. Webブラウザで開くことのできる、次の形式のURLをエンド・ユーザーに伝えます。

http://<hostname>:<portnumber>/<context-root>/adfdiRemoteServlet?excel-addin-installer

次に例を示します。

http://127.0.0.1:7101/summit/adfdiRemoteServlet?excel-addin-installer

2. ブラウザにより、エンド・ユーザーはadfdi-excel-addin-installer.exeインストーラ・ファイルのダウンロードを要求されたり、またはダウンロードおよび実行を要求されます。

Windowsシステムでのインストーラの実行の詳細は、「ADFデスクトップ統合のインストール」を参照してください。

注意:

Fusion WebアプリケーションがADFデスクトップ統合対応の場合にのみ、ADFデスクトップ統合アドインをダウンロードできるようにすることができます。「Fusion Webアプリケーションへの統合Excelワークブックの追加」で説明されているように、Fusion Webアプリケーションの開発者は、統合ExcelワークブックをFusion Webアプリケーションに追加することにより、ADFデスクトップ統合を暗黙的に有効にできます。または、「Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定」で説明されているように、アプリケーションのweb.xmlファイルを構成することで明示的に有効にできます。統合ExcelワークブックをFusion Webアプリケーションへ追加することの方が、web.xmlファイルを直接構成するよりも推奨されます。開発者が統合ExcelワークブックをFusion Webアプリケーションに追加するときに、JDeveloperが多くの必要な構成変更を行うからです。

17.1.4 ADFデスクトップ統合アドインのアップグレード方法

エンド・ユーザーはADFデスクトップ統合を2種類の方法でアップグレードできます。

- アップグレードのためにADFデスクトップ統合インストーラを実行します。
インストーラのダウンロードの詳細は、「WebサーバーからADFデスクトップ統合アドインをインストールする方法」を参照してください。

- 統合Excelワークブックを開いて実行します。
エンド・ユーザーが統合ExcelワークブックからFusion Webアプリケーションにログインするたびに、ADFデスクトップ統合はクライアントにインストールされているバージョンがサーバーのバージョンと一致するかどうかを確認します。バージョンが一致しないと、エンド・ユーザーはADFデスクトップ統合の最新バージョンをダウンロードすることを求められます。エンド・ユーザーが最新バージョンをインストールするプロンプトを受け入れると、インストールの完了後に変更を有効にするために、Excelアプリケーションを再起動する必要もあります。詳細は、「ADFデスクトップ統合のクライアント・バージョンの確認」を参照してください。

17.1.5 コマンド・ラインからADFデスクトップ統合インストーラを実行する方法

ADFデスクトップ統合インストーラはオプションのコマンド・ライン・スイッチもサポートします。表17-1に、インストーラの実行可能ファイルで指定できるスイッチを示します。

表17-1 ADFデスクトップ統合インストーラのコマンド・ライン・スイッチ

スイッチ

説明

/help

サポートされているスイッチと説明のリストを表示します。

/quiet

インストーラの対話型モードが抑止され、不足している前提条件ソフトウェアはインストールされません。

消音モードを使用してADFデスクトップ統合をインストールする前に、前庭条件ソフトウェアがエンド・ユーザーのシステムにインストールされていることを確認します。前提条件ソフトウェアの詳細は、「ADFデスクトップ統合アドインのインストールの前提条件」を参照してください。

/designer <0|1>

デザイナ・ツールを有効にしてアドインをインストールします。

アプリケーション開発者はデザイナ・ツールを使用して統合Excelワークブックを構成します。デザイナ・ツールはエンド・ユーザー向けではありません。この理由で、エンド・ユーザー向にADFデスクトップ統合アドインをインストールしている場合には、デザイナ・ツールを有効にしないでください。

デフォルトでは、エンド・ユーザーのADFデスクトップ統合アドインは、前のインストールで有効化されていないかぎり、デザイナ・ツールが無効になってインストールされます。

次のスイッチを使用して、以前のインストールで有効になったデザイナ・ツールを無効にします。

/designer 0

/log <path>

インストーラを実行し、指定したログ・ファイルにログ出力をダイレクトします。デフォルトのログ・ファイルの場所は、%TEMP%\adfdi-installer-log.txtです。詳細は、「ADFデスクトップ統合のログ」を参照してください。

/roaming <0|1>

このスイッチは次のように使用します。

- 0はローカル・アプリケーション・データ・フォルダ(%localappdata%\Oracle\Oracle ADF Desktop Integration 12c Add-In for Excel)にアドインをインストールします。これは、デフォルトのインストール場所です。/roaming 0を使用すると、以前にローミング・アプリケーション・データ・フォルダにインストールされたアプリケーションからのアップグレード中に、ローカル・アプリケーション・データ・フォルダにインストールします。

- 1はエンド・ユーザーのローミング・アプリケーション・データ・フォルダ(%appdata%\Oracle\Oracle ADF Desktop Integration 12c Add-In for Excel)にアドインをインストールします。

17.1.6 エンド・ユーザーに対するシステム・チェックの表示を管理する方法

ADFデスクトップ統合対応Webアプリケーションは、エンド・ユーザーが統合Excelワークブックをダウンロードしようとしたときにシステム・チェックを表示します。

システム・チェックは、統合Excelワークブックを使用する要件をシステムが満たしているかどうかをエンド・ユーザーに通知します。
たとえば、エンド・ユーザーがインストーラをダウンロードして実行する権限がない場合は、システム・チェックを表示しないようにできます。

このリリース以降のOracle ADFを使用して作成されたADFデスクトップ統合対応Webアプリケーションは、デフォルトでシステム・チェックを表示します。以前のリリースのOracle ADFを使用して作成されたアプリケーションでは表示されません。次の手順で説明するように、この動作はSystemCheck.Enabledに該当する値を指定して変更できます。

エンド・ユーザーに対するシステム・チェックのメッセージの表示を管理するには:

1. Fusion Webアプリケーションのweb.xmlファイルを開きます。

2. 次の表の説明に従って、初期化パラメータをadfdiExcelDownloadフィルタに追加します。

表17-2 初期化パラメータの名前/値のペア

プロパティ

説明

名前

次の初期化パラメータ名を入力します。

SystemCheck.Enabled

初期化パラメータの名前は、大文字/小文字が区別されるので注意してください。

値

次の値に設定します。

- Falseを指定すると、システム・チェックのメッセージは表示されません。

- Trueを指定すると、エンド・ユーザーにシステム・チェックのメッセージが表示され、ADFデスクトップ統合アドインのインストーラをダウンロードするためのリンクが表示されます。

ADFデスクトップ統合は、True以外の任意の値をFalseとして解釈します。値を指定しないと、システム・チェックは表示されません。

3. web.xmlファイルを保存します。

4. Fusion Webアプリケーションをリビルドして再起動します。

次の例では、システム・チェックを無効にした場合にアプリケーションのweb.xmlファイルに示されるエントリを示しています。

<filter>
<filter-name>adfdiExcelDownload</filter-name>
<filter-class>oracle.adf.desktopintegration.filter.DIExcelDownloadFilter</filter-class>
<init-param>
<param-name>SystemCheck.Enabled</param-name>
<param-value>False</param-value>
</init-param>
</filter>

アプリケーション開発者は、Fusion Webアプリケーション・ページが表示するダウンロードURLにskip_adfdi_checkパラメータを渡すことによって、個々の統合Excelワークブックをシステム・チェックから除外できます。たとえば、次のURLは、エンド・ユーザーにシステム・チェックを表示しないでSummitサンプル・アプリケーションからEditCustomers.xlsxワークブックをダウンロードします。

http://127.0.0.1:7101/summit/excel/EditCustomers.xlsx?skip_adfdi_check

パラメータの受け渡しの詳細は、「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

17.2 クライアント・ヘルス・チェック・ツールの実行

クライアント・ヘルス・チェック・ツールは、統合ExcelワークブックとADFデスクトップ統合を利用するためにエンド・ユーザーの環境が正しく構成されているかどうかを判断するために使用します。

クライアント・ヘルス・チェック・ツールは、エンド・ユーザーの環境を確認し、場合によっては特定した問題を修正する機会を提供する実行可能ファイル(.EXE)です。また、図17-3に示すように、エンド・ユーザーが選択した場所に保存できるレポートも生成します。

図17-3 クライアント・ヘルス・チェック・ツール

エンド・ユーザーは、ADFデスクトップ統合対応Fusion Webアプリケーションから、クライアント・ヘルス・チェック・ツールをダウンロードできます。クライアント・ヘルス・チェック・ツールをエンド・ユーザーがダウンロードするURLは、次の形式になります。

<protocol>://<hostname>:<portnumber>/<context-root>/adfdiRemoteServlet?excel-addin-health-check

また、エンド・ユーザーは、<protocol>://<hostname>:<portnumber>/<context-root>/adfdiRemoteServletで表示される「クライアント・ヘルス・チェック・ツールの実行」のリンクをクリックして、ツールをダウンロードすることもできます。

たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションをマシンで実行する場合、クライアント・ヘルス・チェック・ツールをhttp://127.0.0.1:7101/summit/adfdiRemoteServlet?excel-addin-health-checkからダウンロードできます。

ツールをエンド・ユーザーのマシンにダウンロードしたら、ADFデスクトップ統合アドインがインストールされて適切に構成されているかどうかを判断するために実行します。検証に成功したことを確認するために、レポートの各項目の結果を確認します。ツールで問題のフラグが表示されている項目をクリックして、追加情報を表示します。特定された問題は「問題の修正」ボタンをクリックするとツールによる解決が図られるので検討してください。すべての問題が解決されたら、ツールを終了します。

また、「レポートを別名で保存」ボタンをクリックすると、エンド・ユーザーのマシンに保存できるレポートを生成します。このレポートには、「問題の修正」ボタンを使用してもツールでは解決できなかった問題の解決に役立つ可能性がある技術情報が含まれます。テクニカル・サポートに送信するリクエストには、ツールが生成するレポートを添付します。

My Oracle Support (https://support.oracle.com)でドキュメントID 2010222.1を検索すると入手できるドキュメントも参照してください。

17.3 Fusion Webアプリケーションへの接続の問題のトラブルシューティング

ADFデスクトップ統合は、統合ExcelワークブックからFusion Webアプリケーションへの接続の問題の原因の診断に役立つ、接続失敗レポートをエンド・ユーザーに提供します。

接続失敗レポートには、Fusion Webアプリケーションへの接続の試行が失敗した場合、またはエンド・ユーザーが接続の試行を取り消した場合にADFデスクトップ統合が生成する情報が含まれます。図C-3では、Summitサンプル・アプリケーションがオフラインだったために、EditCustomers.xlsxワークブックからSummitサンプル・アプリケーションに接続できなかったときに表示されたダイアログを示しています。エンド・ユーザーは「レポートの保存」をクリックして、マシンのディレクトリにレポートを保存します。

図17-4 エンド・ユーザーが接続レポートを保存するためのダイアログ

エンド・ユーザーが接続失敗レポートを送信する前に、レポートを見直して、共有が望ましくない機密情報があれば削除するようにエンド・ユーザーに求めます。次の例は、図C-3で生成されるレポートの抜粋を示しています。

Report: Oracle ADF Desktop Integration (ADFdi) Connection Failure Report
Generated: (UTC) 04/12/2015 09:47:13
Language: en-US

*** NOTE: this file contains detailed diagnostic information. Review the contents and edit out any information you do not wish to share with third parties. ***

=== Summary ===

Failure Phase
AuthenticationTest

Failure Reason
UnexpectedHttpStatusException - ADFDI-00501: An unexpected status: 404 (NotFound) was returned from the server while requesting the URL: http://127.0.0.1:7101/summit/adfdiRemoteServlet

ADFdi servlet URL
http:// 127.0.0.1:7101/summit/adfdiRemoteServlet
...

詳細は、My Oracle Support (https://support.oracle.com)でドキュメントID 2014348.1と2094772.1を検索すると入手できるドキュメントも参照してください。

17.4 ADFデスクトップ統合のログ

ADFデスクトップ統合は、インストール中および様々なクライアントとサーバーのアクティビティへの応答で、ログ・ファイルを生成します。My Oracle Support (https://support.oracle.com)でドキュメントID 2012985.1を検索すると入手できるADFデスクトップ統合のログ・ファイルの入手方法に関するドキュメントも参照してください。

インストール・ログ・ファイル

ADFデスクトップ統合のインストール・ログ・ファイルのデフォルトの場所は%TEMP%\adfdi-installer-log.txtです。たとえば、C:\Users\UserID\AppData\Local\Temp\adfdi-installer-log.txtです。「コマンド・ラインからADFデスクトップ統合インストーラを実行する方法」で説明しているように、/log <path>コマンド・ライン・スイッチを使用して、インストール・ログ・ファイルの場所をリダイレクトできます。

サーバー・サイド・ログ・ファイル

ADFデスクトップ統合のサーバー・サイド・ログ・ファイルの生成は、他のOracle ADFモジュールの場合と同じように構成します。詳細は、「サーバー・サイド・ロギングの概要」を参照してください。

Oracle Fusion Middleware環境でのログに関する一般的な情報の詳細は、『Oracle Fusion Middlewareの管理』の「ログ・ファイルと診断データの管理」を参照してください。

クライアント・サイド・ログ・ファイル

デフォルトでは、ADFデスクトップ統合はクライアントのInformationレベルのロギングを有効にします。このレベルのロギングは、常に有効になっています。ADFデスクトップ統合が統合Excelワークブックに追加するメニューを使用して、1つのユーザー・セッションに対して詳細ロギングを有効にできます。複数のユーザー・セッションを対象とするロギングで、Informationレベル以外のログ・レベルを構成できます。詳細は、「クライアント・サイド・ロギングの概要」を参照してください。

My Oracle Support (https://support.oracle.com)でドキュメントID 2094378.1と2094434.1を検索すると入手できるドキュメントも参照してください。

診断レポート

診断レポートは、ADFデスクトップ統合アドインがインストールされているエンド・ユーザー環境に関する情報を収集します。このレポートは、エンド・ユーザーがいつでも生成できます。エンド・ユーザーが診断レポートを生成できる方法の詳細は、「ADFデスクトップ統合診断レポートの生成」を参照してください。My Oracle Support (https://support.oracle.com)でドキュメントID 2012576.1を検索すると入手できるADFdiの診断レポートに関するドキュメントも参照してください。

17.5 ADFデスクトップ統合でのセキュリティ

Fusion Webアプリケーションで認証を施行する場合、統合Excelワークブックはアプリケーションとの間でデータを転送する前にエンド・ユーザーが適切に認証できるようにします。詳細は、「統合Excelワークブックの保護の概要」を参照してください。

17.5.1 エンド・ユーザー認証

エンド・ユーザーが統合Excelワークブックの使用時および保護されたFusion Webアプリケーションの操作時にユーザー資格証明を要求されない場合、Fusion Webアプリケーションのセキュリティ構成を調査する必要があります。詳細は、「統合Excelワークブックのエンド・ユーザー認証の確認」を参照してください。

Fusion Webアプリケーションへの接続が困難なエンド・ユーザーは、図C-3で示す「接続失敗」ダイアログが表示されることがあります。ダイアログの「レポートの保存」ボタンをクリックすると、これらのユーザーに接続失敗レポートを保存するか確認します。レポートには、接続失敗の解決に役立つ可能性がある診断情報が含まれます。管理者は、接続失敗レポートで問題解決の手がかりを確認できます。My Oracle Support (https://support.oracle.com)でドキュメントID 2014348.1と2094772.1を検索すると入手できるドキュメントを参照してください。

ADFデスクトップ統合のセキュリティの詳細は、OTNのOracle ADFデスクトップ統合のセキュリティに関するホワイトペーパーを参照してください。

http://www.oracle.com/technetwork/developer-tools/adf/overview/index-085534.html

17.5.2 Fusion Webアプリケーションでのセキュリティ構成に関する必知事項

アプリケーションをセキュリティで保護する場合は、次の点に注意してください。

- エンド・ユーザーのログイン操作が正常に完了するには、ログインに成功した後で、認証プロバイダが最初にリクエストされたADFデスクトップ統合サーブレットのURLにブラウザをリダイレクトする必要があります。

- Oracle Access Managerを使用している環境で実行しているアプリケーションに対し、システム管理者は、ADFデスクトップ統合のリモート・サーブレットのURLがOracle Access Manager用の保護されたリソースとして構成されていることを確認する必要があります。
詳細は、『Oracle Fusion Middleware Oracle Access Management管理者ガイド』を参照してください。

- ADFデスクトップ統合を使用するアプリケーションで、web.xmlにADFデスクトップ統合のリモート・サーブレットを保護するセキュリティの制約が構成されていることを確認してください。
web.xmlに含まれる次のコードは、リモート・サーブレットを保護するセキュリティの制約の例を示しています。

<security-constraint>
<web-resource-collection>
<web-resource-name>adfdiRemote</web-resource-name>
<url-pattern>/adfdiRemoteServlet</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>valid-users</role-name>
</auth-constraint>
</security-constraint>

- Oracle WebGateおよびSSL URLを使用してFusion Webアプリケーションにアクセスする場合(https:// ...など)、次のようにWebGateのmod_wl_ohs.conf構成ファイルを構成する必要があります。

<IfModule mod_weblogic.c>
WLProxySSLPassThrough ON
WLProxySSL ON
MatchExpression /TestApp
WebLogicHost=test.host.com|WebLogicPort=7101|
</IfModule>

ここで、/TestAppはアプリケーションのコンテキスト・ルート、test.host.comはホスト名およびドメイン、さらに7101はWebアプリケーションのポート番号です。

- 統合ExcelワークブックやMicrosoft OfficeドキュメントをFusion Webアプリケーション内のリンクから直接(ファイルをダウンロードせずに)開く場合、ユーザー資格証明を求めるWindowsログイン・ダイアログが2回表示される場合があります。これは、Microsoft Officeから独自の認証リクエストがWebサーバーに送信されるため、ログイン・ダイアログが2回表示される結果になるものです。エンド・ユーザーは「キャンセル」をクリックして、最初の認証リクエストを無視できます。

- クライアントがhttps URLを使用してアプリケーションにアクセスするデジタル証明書によって保護されているアプリケーションでは、証明書が有効であることを確認する必要があります。有効な証明書とは、デプロイ先のホストと一致するホスト名を持ち、有効期限切れではなく、信頼できる発行認証局への有効なパスを持つものです。証明書が無効な場合、クライアントはログイン中に無効な証明書を受け入れるように要求されます。

- ADFでは、サーバーへのリクエストの一部にチャンク化されたエンコーディングを使用します。コンテンツ長ヘッダーを含まないリクエストをブロックするように構成されたネットワーク・デバイスがExcelとWebアプリケーション・サーバーの間にある場合は、チャンク化されたエンコーディング(コンテンツ長ヘッダーを含まない)を許可するようにデバイスを構成する必要があります。コンテンツ・キャッシュ・サーバーなどの一部のネットワーク・デバイスは、コンテンツ長ヘッダーを持たないリクエストをブロックするようにデフォルトで構成されています。詳細は、My Oracle Support (https://support.oracle.com)でドキュメントID 2013517.1を検索すると入手できるADFDI-07528 TamperCheck中のWebExceptionに関するドキュメントも参照してください。

- アプリケーションを保護する前に、ADFデスクトップ統合アドインがログイン操作中に開始するHTTPS通信には、正常なSSL/TLSプロトコルのハンドシェークが必要になることに注意してください。サーバーとADFデスクトップ統合アドインが使用するプロトコルについて合意できない場合、このハンドシェークは失敗します。たとえば、クライアント・コンピュータがSSL 3.0とTLS 1.0をサポートしているが、サーバーはTSL 1.1とTLS 1.2のみをサポートしている場合です。ADFデスクトップ統合アドインは、Microsoft Internet Explorerのテクノロジ・スタックの一部とMicrosoft .NET Frameworkを利用して、HTTPS接続を確立します。最良の結果を得るには、次のようにします。

- クライアント・コンピュータにMicrosoft .NET Framework 4.5.2(以上)をインストールします。

- クライアント・コンピュータのMicrosoft Internet ExplorerでTLS 1.1とTLS 1.2をサポートするよう構成します。詳細は、My Oracle Support (https://support.oracle.com)でドキュメントID 2025331.1を検索すると入手できるADFDI-00500: ログイン中にWininetメソッドのHttpSendRequestを実行できない、エラー・コード: 12029に関するドキュメントも参照してください。

- WebアプリケーションをホストするOracle WebLogic Serverが、TLS 1.1とTLS 1.2をサポートするよう構成されていることを確認します。詳細は、使用しているOracle WebLogic Serverのリリースに関するOracle WebLogic Serverセキュリティ・ガイドでSSLプロトコル・バージョンの指定に関する項を参照してください。
ADFデスクトップ統合アドインは、SSL/TLSプロトコルのハンドシェークに対してTLS 1.2プロトコルを提供することでHTTPS通信を開始できます。ADFデスクトップ統合はTLS 1.2を必要としませんが、サーバー(Oracle WebLogic Server、Oracle HTTP Server、Oracle Application Server WebCacheなど)はTLS 1.2プロトコルが指定されたときに、相互に合意したプロトコルのネゴシエーションを成功させる必要があります。古いバージョンのサーバーには、低いバージョン(TLS 1.0など)を使用してネゴシエーションしますが、一方、TLS 1.2の指定を拒否するものがあることがわかっています。そのようなバージョンのサーバーはサポートされていません。古いバージョンのサーバーを使用している場合は、最新のクリティカル・パッチ・アップデートが適用されていることを確認してください。My Oracle Support (https://support.oracle.com)でドキュメントID 2087746.1を検索すると入手できる「WebException: リクエストが取り消されました: ADFdiログイン操作中、または操作直後にSSL/TLSの安全なチャネルを作成できません」に関するドキュメントも参照してください。

統合Excelワークブックの保護の詳細は、「統合Excelワークブックの保護に関する必知事項」を参照してください。

17.5.3 Webページのリソース権限に関する必知事項

統合Excelワークブックでは、各ワークシートが特定のページ定義にバインドされています。ユーザーのページへのアクセスがリソース権限によって制御される場合があります。ページ定義を操作する権限を持たないエンド・ユーザーの場合、ADFデスクトップ統合によってそのページ定義にバインドされたワークシートでのすべてのデータ・トランザクションが拒否され、エラー・メッセージが表示され、統合ワークシートが無効化されます。エンド・ユーザーはワークシート内の既存のデータの変更はできますが、ダウンロードまたはアップロードはできません。ADF表コンポーネント内の変更の追跡も無効化されます。エンド・ユーザーは、同じワークブック内の他のワークシートがバインドされているページ定義の操作権限を持っている場合は、引き続きそのワークシートでADFデスクトップ統合機能を使用できます。

エンド・ユーザーが対応するページ定義に対する必要なリソース権限を取得した場合は、エンド・ユーザーがワークブックを再度開き、新しいセッションを確立したときに、ワークシートが再有効化されます。

Fusion Webアプリケーションの保護の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「Fusion WebアプリケーションでのADFセキュリティの有効化」の章を参照してください。

17.6 ADFデスクトップ統合のクライアント・バージョンの確認

エンド・ユーザーがランタイム統合ExcelワークブックからFusion Webアプリケーションとのセッションを確立するたびに、ADFデスクトップ統合は、クライアントおよびサーバーのバージョンが一致するかどうかを確認します。バージョンが一致しない場合、ADFデスクトップ統合は図17-5に示すようなダイアログを表示します。バージョンが一致すれば、エンド・ユーザーにダイアログは表示されません。

図17-5 「クライアントサーバー・バージョン確認」ダイアログ

エンド・ユーザーがクリックする場合:

- インストール: ADFデスクトップ統合はクライアントをサーバーと一致するバージョンに更新するために、サーバーからインストーラのダウンロードを開始します。

- 「スキップ」: ADFデスクトップ統合は、引き続き通常どおり機能しようとします。エンド・ユーザーが図17-5で示す「後で通知」ドロップダウン・リストから後で通知する時間を選択しない場合は、Fusion Webアプリケーションに接続する統合Excelワークブックを使用してエンド・ユーザーが次にセッションを開始したときに、ダイアログが表示されます。

予期しない動作またはエラーを避けるために、常にサーバーのバージョンと一致するクライアント・バージョンを使用することを強くお薦めします。エンド・ユーザーが、ADFデスクトップ統合のより新しいクライアント・バージョンのインストールをスキップする場合、図17-6に示すように、統合Excelワークブックの「バージョン情報」ダイアログに表示される「更新の確認」リンクをクリックして、後でインストールすることもできます。

図17-6 エンド・ユーザーのための「更新の確認」リンク

エンド・ユーザーに新しいクライアント・バージョンをインストールさせたくない、またはマシンにソフトウェアをインストールするのに必要な権限がないためにインストールできない場合のシナリオでは、ADFデスクトップ統合が新しいバージョンをインストールするオプションを表示するデフォルトの動作を無効にできます。新しいクライアント・バージョンをインストールするオプションを無効にすると、「クライアントサーバー・バージョン確認」ダイアログが表示され、エンド・ユーザーに不一致を通知しますが、新しいバージョンをインストールするオプションは表示されません。図17-7に、このダイアログを示します。さらに、図17-6に示す「バージョン情報」ダイアログには、インストール・プロセスを開始する「更新の確認」リンクがなくなります。アップグレードのためのオプションを無効にする方法の詳細は、「「クライアントサーバー・バージョン確認」ダイアログの「インストール」オプションを無効にする方法」を参照してください。

図17-7 「インストール」オプションを指定しない「クライアントサーバー・バージョン確認」ダイアログ

次の点に注意してください。

- ADFデスクトップ統合では、統合ExcelワークブックがFusion Webアプリケーションとのセッションを確立するたびに、クライアントサーバー・バージョン確認が実行されます。

- サーバーで実行されているADFデスクトップ統合のバージョンはいつでも変更される可能性がありますが(たとえば、サーバーのアップグレード)、ADFデスクトップ統合でのクライアントサーバー・バージョン確認はユーザー・セッションが再確立されたときにのみ実行されます。

- エンド・ユーザーがサーバー・バージョンと一致しないバージョンをインストールできない状況に対し、その他のメカニズムの使用を検討してください。たとえば、集中管理されたITソースからソフトウェア更新を自動的に押出し、クライアント・ソフトウェアの一致バージョンがインストールされていることを確認します。

17.6.1 「クライアントサーバー・バージョン確認」ダイアログの「インストール」オプションを無効にする方法

デフォルトでは、ADFデスクトップ統合はエンド・ユーザーに、「クライアントサーバー・バージョン確認」ダイアログから新しいクライアント・バージョンをインストールするオプションを表示します。図17-7に示すように、ADFデスクトップ統合がエンド・ユーザーに不一致を通知するようにこのオプションを無効にできますが、エンド・ユーザーには新しいクライアント・バージョンをインストールすることは許可されません。このオプションを無効にすることはお薦めできません。ただし、エンド・ユーザーがソフトウェアをインストールする権限を持っていない場合には、役に立つことがあります。

始める前に:

ADFデスクトップ統合によってクライアントおよびサーバー・バージョンが一致しているかどうかの確認方法を理解しておくと役立ちます。詳細は、「ADFデスクトップ統合のクライアント・バージョンの確認」を参照してください。

「クライアントサーバー・バージョン確認」ダイアログの「インストール」オプションを無効にするには、次の手順を実行します。

1. Fusion Webアプリケーションのweb.xmlファイルを開きます。

2. 表17-3に示すように、adfdiRemoteサーブレットに初期化パラメータを追加して、「クライアントサーバー・バージョン確認」ダイアログからインストールするオプションを無効化します。

表17-3 「クライアントサーバー・バージョン確認」ダイアログの「インストール」オプションの無効化

プロパティ

値

Name

次の初期化パラメータ名を入力します。

ClientUpgradePrompt.Enabled

名前は大/小文字が区別されることに注意してください。

Value

ClientUpgradePrompt.Enabledの値をFalseに設定します。

False以外の値はすべてTrueとして解釈されることに注意してください。

3. web.xmlファイルを保存します。

Fusion Webアプリケーションのweb.xmlファイルにClientUpgradePrompt.Enabledエントリが含まれるようになります。

<servlet>
<servlet-name>adfdiRemote</servlet-name>
<servlet-class>oracle.adf.desktopintegration.servlet.DIRemoteServlet</servlet-class>
<init-param>
<param-name>ClientUpgradePrompt.Enabled</param-name>
<param-value>False</param-value>
</init-param>
</servlet>

4. Fusion Webアプリケーションを再起動します。

17.7 統合Excelワークブックのメタデータの確認

ワークブックの構成が不当に変更されていないことをエンド・ユーザーが確信できるように、ADFデスクトップ統合では、改ざんチェック機能を使用して、ワークブック・メタデータの整合性が自動的に確認されます。詳細は、「統合Excelワークブックのメタデータの整合性チェック」を参照してください。

17.7.1 Fusion Webアプリケーションでのメタデータ改ざんチェックを無効にする方法

デフォルトでは、ワークブックの開発者がエンド・ユーザーにExcelワークブックをパブリッシュした後に、ADFデスクトップ統合によってワークブック構成メタデータが改ざんされていないことが確認されます。 Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)のパラメータを構成すれば、メタデータの改ざんチェックを無効化できます。

始める前に:

ADFデスクトップ統合が、統合Excelワークブックのメタデータの整合性をどのように検証するかを理解しておくと役立ちます。詳細は、「統合Excelワークブックのメタデータの確認」を参照してください。

Fusion Webアプリケーションでメタデータの改ざんチェックを無効化するには:

1. Fusion Webアプリケーションのweb.xmlファイルを開きます。

2. 表17-4に示すように、adfdiRemoteサーブレットに初期化パラメータを追加して、メタデータの改ざんチェックを無効化します。

表17-4 メタデータ改ざんチェックの無効化

プロパティ

値

Name

次の初期化パラメータ名を入力します。

TamperingCheck.Enabled

名前は大/小文字が区別されることに注意してください。

Value

TamperingCheck.Enabledの値をFalseに設定します。

False以外の値はすべてTrueとして解釈されることに注意してください。

図17-8にJDeveloperのweb.xmlエディタを示します。

図17-8 JDeveloperでのメタデータ改ざんチェックの無効化

3. web.xmlファイルを保存します。

Fusion Webアプリケーションのweb.xmlファイルにTamperingCheck.Enabledエントリが含まれるようになります。

<servlet>
<servlet-name>adfdiRemote</servlet-name>
<servlet-class>...</servlet-class>
<init-param>
<param-name>TamperingCheck.Enabled</param-name>
<param-value>False</param-value>
</init-param>
</servlet>

4. Fusion Webアプリケーションを再起動します。

web.xmlにTamperingCheck.Enabledパラメータが存在しない場合、改ざんチェックは有効になります。web.xmlファイルの詳細は、「Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定」を参照してください。

17.8 ADFデスクトップ統合の一般的なエラー・メッセージと問題

ADFデスクトップ統合対応のFusion Webアプリケーションまたはワークブックの使用または構成中、エンド・ユーザーにエラー・メッセージが表示されたり、問題が発生したりする可能性があります。このような問題をエンド・ユーザーが解決する際には、次の情報が役立つ可能性があります。

- My Oracle Support (https://support.oracle.com)でドキュメントID 2012600.2を検索すると入手できるOracle ADFデスクトップ統合のトラブルシューティングのドキュメント。

- Oracle Fusion Middlewareエラー・メッセージの「ADFDI-00100からADFDI-55516」の章。

ADFデスクトップ統合は、エンド・ユーザーのマシンが統合Excelワークブックを利用するよう正しく構成されているのか判断するクライアント・ヘルス・チェック・ツールも提供しています。統合Excelワークブックの使用で問題が発生しているエンド・ユーザーには、「テクニカル・サポートへの診断とロギングの情報の提供」の説明に従って、このツールをダウンロードして実行してもらいます。

A ADFデスクトップ統合コンポーネントのプロパティとアクション

この付録では、ADFデスクトップ統合コンポーネントのプロパティを一覧表示し、それについて説明します。特定のコンポーネントによって公開されるアクションについても説明します。

この付録の内容は次のとおりです。

- ADFデスクトップ統合で頻繁に使用するプロパティ

- ADF入力テキスト・コンポーネントのプロパティ

- ADF出力テキスト・コンポーネントのプロパティ

- ADFラベル・コンポーネントのプロパティ

- ADF値リスト・コンポーネントのプロパティ

- ADFイメージ・コンポーネントのプロパティ

- ADF入力日コンポーネントのプロパティ

- ModelDrivenColumnComponentサブコンポーネントのプロパティ

- TreeNodeListサブコンポーネントのプロパティ

- ADFボタン・コンポーネントのプロパティ

- ADF表コンポーネントのプロパティおよびアクション

- ADF読取り専用表コンポーネントのプロパティおよびアクション

- アクション・セットのプロパティ

- ワークブックのアクションおよびプロパティ

- ワークシートのアクションおよびプロパティ

- ADFデスクトップ統合互換性のプロパティ

A.1 ADFデスクトップ統合で頻繁に使用するプロパティ

表A-1に、多くのコンポーネントで参照されるADFデスクトップ統合のプロパティを、アルファベット順に示します。

表A-1 ADFデスクトップ統合で頻繁に使用するプロパティ

名前

タイプ

EL

説明

ActionSet

N

アクション・セットの詳細は、「アクション・セットのプロパティ」を参照してください。

Annotation

String

N

このフィールドを使用して、ワークシートでのコンポーネントの使用に関するコメントを入力します。入力したコメントは、ワークブックの動作に影響を与えません。これは、コードのコメントに相当するものです。

ComponentID

String

N

ADFデスクトップ統合によってこの文字列が生成されることで、統合ExcelワークブックでADFコンポーネントの各インスタンスが一意に識別されます。

Label

String

Y

実行時に評価されるEL式を指定します。ADFデスクトップ統合でのEL式の詳細は、「ADFデスクトップ統合のEL式」を参照してください。ラベルの使用の詳細は、「統合Excelワークブックでのラベルの使用」を参照してください。

Position

N

このプロパティは、統合ExcelワークブックのOracle ADFコンポーネントの左上隅を定義します。

ReadOnly

Boolean

Y

このプロパティをTrueに設定すると、ADFデスクトップ統合は、このプロパティを使用するコンポーネントを参照するセルにユーザーが加える変更を無視します。「ワークシート保護の使用」で説明されているように、この設定を自動ワークシート保護と組み合せて使用している場合は、セルをロックすることもできます。

エンド・ユーザーの混乱を避けるため、ReadOnlyをTrueに設定したセルには、セルのコンテンツが変更不可であることを視覚的に判断できるスタイルを適用します。スタイルの適用の詳細は、「スタイルの使用」を参照してください。

StyleName

String

Y

Oracle ADFコンポーネントのレンダリング時に適用される現在のExcelワークブックのスタイルを指定します。詳細は、「スタイルの使用」を参照してください。

Tooltip

String

Y

ADFフォーム・コンポーネントのコンテンツまたは関数、あるいは表の列に関するヒント・メッセージを指定して、コンポーネントまたは列の上にマウス・カーソルを重ねたときに表示されるようにします。

詳細は、「ADFデスクトップ統合コンポーネントでのツールチップの表示」を参照してください。

Value

状況により異なる

Y

このプロパティは、通常は、ADF表コンポーネントのDownloadおよびRowDownSyncアクションまたはワークシートのDownSyncアクションの起動中に評価されるELバインディング値式を参照します。生成されるデータ値は、実行時にワークシートに表示されます。

多くのラベル型プロパティはオプションで、デフォルトは空の値です。実行時に、このようなプロパティの値が空の場合、ADFデスクトップ統合ではデフォルトのローカライズされた値が指定されます。プロパティの値を空として表示する場合、その値を1つの空白文字に設定するか、空の文字列に評価するEL式を指定します。

A.2 ADF入力テキスト・コンポーネントのプロパティ

表A-2に、ADF入力テキスト・コンポーネントのプロパティをアルファベット順に示します。

表A-2 ADF入力テキスト・コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

InputText.DoubleClickActionSet

ユーザーがセルをダブルクリックすると起動するアクション・セットを指定します。アクション・セットの詳細は、「アクション・セットのプロパティ」を参照してください。

InputText.ReadOnly

このプロパティの詳細は、表A-1を参照してください。

InputText.Value

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

Tooltip

このプロパティの詳細は、表A-1を参照してください。

A.3 ADF出力テキスト・コンポーネントのプロパティ

表A-3に、ADF出力テキスト・コンポーネントのプロパティをアルファベット順に示します。

表A-3 ADF出力テキスト・コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

OutputText.DoubleClickActionSet

ユーザーがセルをダブルクリックすると起動するアクション・セットを指定します。アクション・セットの詳細は、「アクション・セットのプロパティ」を参照してください。

OutputText.Value

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

Tooltip

このプロパティの詳細は、表A-1を参照してください。

A.4 ADFラベル・コンポーネントのプロパティ

ADFラベル・コンポーネントは、実行時に静的な文字列値を表示します。ADFデスクトップ統合は、Labelプロパティが参照するEL式が評価されると値を生成します。ラベルの使用の詳細は、「統合Excelワークブックでのラベルの使用」を参照してください。

表A-4に、ADFラベル・コンポーネントが参照するプロパティをアルファベット順に示します。

表A-4 ADFラベル・コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Label

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

Tooltip

このプロパティの詳細は、表A-1を参照してください。

A.5 ADF値リスト・コンポーネントのプロパティ

表A-5に、ADFラベル・コンポーネントが参照するプロパティをアルファベット順に示します。統合Excelワークブックの値リストの作成の詳細は、「値リストの使用」を参照してください。

表A-5 ADF値リスト・コンポーネントのプロパティ

名前

タイプ

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

ListOfValues.DependsOnListID

リスト・バインディング

N

リスト・バインディングを選択すると、依存値リストで実行時に使用できる選択肢を判断するために、その値が使用されます。

選択するリスト・バインディングは、モデルドリブン・リストでも構いません。

依存値リストの詳細は、「統合Excelワークブックでの依存値リストの作成」を参照してください。

ListOfValues.ListID

リスト・バインディング

N

値のリストで使用可能な値を定義するリスト・バインディングを選択します。選択するリスト・バインディングは、モデルドリブン・リストでも構いません。

ListOfValues.ReadOnly

Boolean

N

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

Tooltip

String

Y

このプロパティの詳細は、表A-1を参照してください。

A.6 ADFイメージ・コンポーネントのプロパティ

ADFイメージ・コンポーネントでは、実行時にイメージが表示されます。ADFイメージ・コンポーネントの詳細は、「ADFイメージ・コンポーネントの挿入」を参照してください。

表A-6 ADFラベル・コンポーネントのプロパティ

名前

説明

Source

イメージ・ファイルのURL(絶対または相対)を入力します。

ShortDesc

イメージ・コンポーネントの代替テキストに解決されるEL式を入力します。

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

A.7 ADF入力日コンポーネントのプロパティ

表A-7に、ADF入力日コンポーネントのプロパティをアルファベット順に示します。ADF入力日付コンポーネントの詳細は、「ADF入力日コンポーネントの挿入」を参照してください。

表A-7 ADF入力日コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

InputDate.ReadOnly

このプロパティの詳細は、表A-1を参照してください。

InputDate.Value

実行時に日付/時刻の値に解決するEL式を指定します。ADF入力日付コンポーネントの詳細は、「ADF入力日コンポーネントの挿入」を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

Tooltip

このプロパティの詳細は、表A-1を参照してください。

A.8 ModelDrivenColumnComponentサブコンポーネントのプロパティ

ModelDrivenColumnComponentサブコンポーネントは、ADFデスクトップ統合の作業ウィンドウのコンポーネント・パレットには表示されません。かわりに、「ADF表コンポーネントの列プロパティ」で説明しているADF表コンポーネントの表の列プロパティUpdateComponentまたはInsertComponentに対して起動するサブコンポーネントとしてModelDrivenColumnComponentを指定する際に、このサブコンポーネントのプロパティを構成します。

列サブコンポーネントのタイプは、サーバー上に指定された列の属性のコントロール・タイプのヒントにより、実行時に決まります。たとえば、属性に関連付けられたモデルドリブン・リストがある場合、列は、モデルドリブン・リストを含むドロップダウン・リストを実行時に使用します。詳細は、「ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加」を参照してください。

表A-8に、ModelDrivenColumnComponentサブコンポーネントに対して構成するプロパティを示します。

表A-8 ModelDrivenColumnComponentサブコンポーネントのプロパティ

名前

タイプ

EL

説明

DoubleClickActionSet

ユーザーがセルをダブルクリックすると起動するアクション・セットを指定します。アクション・セットの詳細は、「アクション・セットのプロパティ」を参照してください。

ReadOnly

Boolean

Y

ユーザーに列の値を編集させる場合は、ReadOnlyプロパティをFalseに設定し、それ以外の場合は、Trueに設定します。デフォルト値は、Falseです。

「バインディング」パレットでツリー・バインディングをダブルクリックして、ADF表コンポーネントを作成すると、プロパティの値は、実行時にTrueまたはFalseに評価される、次の形式のEL式に設定されます。

#{bindings.{tree-id}.hints.{attr-id}.readOnly}

例: #{bindings.Customers.hints.Address.readOnly}

このプロパティの詳細は、表A-1を参照してください。

Value

状況により異なる

Y

このプロパティの詳細は、表A-1を参照してください。

A.9 TreeNodeListサブコンポーネントのプロパティ

注意:

ModelDrivenColumnComponentサブコンポーネントは、モデルドリブン・リストを含むツリー・バインディング属性のドロップダウン・メニューもレンダリングします。TreeNodeListサブコンポーネントではなく、ModelDrivenColumnComponentサブコンポーネントを使用することを検討してください。詳細は、「ModelDrivenColumnComponentサブコンポーネントのプロパティ」を参照してください。

TreeNodeListは、ADF表サブコンポーネントの1つで、実行時にADF表コンポーネントの列にドロップダウン・メニューをレンダリングします。ADF値リスト・コンポーネントと同じ機能をエンド・ユーザーに提供します。統合Excelワークブックの値リストの作成の詳細は、「値リストの使用」を参照してください。

TreeNodeListサブコンポーネントは、ADFデスクトップ統合の作業ウィンドウのコンポーネント・パレットには表示されません。かわりに、「ADF表コンポーネントの列プロパティ」で説明しているADF表コンポーネントの表の列プロパティUpdateComponentまたはInsertComponentに対して起動するサブコンポーネントとしてTreeNodeListを指定する際に、このサブコンポーネントのプロパティを構成します。

表A-9に、TreeNodeListサブコンポーネントに対して構成するプロパティを示します。

表A-9 TreeNodeListサブコンポーネントのプロパティ

名前

タイプ

EL

説明

DependsOnList

ツリー・バインディング属性またはリスト・バインディング

Y

依存値リストで親値リストとして機能するツリー・バインディング属性またはリスト・バインディングを指定します。

指定するツリー・バインディング属性は、モデルドリブン・リストと関連付けられている必要があります。

依存値リストの詳細は、「統合Excelワークブックでの依存値リストの作成」を参照してください。

List

ツリー・バインディング属性

Y

ADF表コンポーネントの列に表示されるランタイム・ドロップダウン・メニューで使用可能な値を定義する、モデルドリブン・リストに関連付けられているツリー・バインディング属性を指定します。

ReadOnly

Boolean

Y

このサブコンポーネントで使用する場合は、現在サポートされていないため、プロパティの値は常にTrueに設定します。読取り専用の列の場合は、ModelDrivenColumnComponentサブコンポーネントまたはOutputTextコンポーネントを使用することを検討してください。

A.10 ADFボタン・コンポーネントのプロパティ

表A-10に、ADFボタン・コンポーネントのプロパティをアルファベット順に示します。ADFボタン・コンポーネントの詳細は、「ADFボタン・コンポーネントの挿入」を参照してください。

表A-10 ADFボタン・コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ClickActionSet

ユーザーがセルをダブルクリックすると起動するアクション・セットを指定します。アクション・セットの詳細は、「アクション・セットのプロパティ」を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Label

このプロパティの詳細は、表A-1を参照してください。

LowerRightCorner

このプロパティはExcelセルの参照です。Positionと一緒に使用して、Excelワークシートでボタンが占有する領域を指定します。

Position

このプロパティの詳細は、表A-1を参照してください。

A.11 ADF表コンポーネントのプロパティおよびアクション

ADF表コンポーネントは、ここに示すプロパティおよびコンポーネント・アクションを使用します。

A.11.1 ADF表コンポーネントのプロパティ

表A-11に、ADF表コンポーネントが使用するプロパティをアルファベット順に示します。

表A-11 ADF表コンポーネントのプロパティ

名前

タイプ

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

BatchOptions

このプロパティ・グループでは、ADF表コンポーネントのバッチ・オプションを構成できます。これらのプロパティの使用方法は、「ADF表コンポーネントでのバッチ処理」を参照してください。

BatchOptions.BatchSize

整数

N

ADF表コンポーネントのアクション(UploadまたはDeleteFlaggedRows)によってCommitBatchActionIDが起動される前に処理する行数を指定します。正の整数以外の値の場合、1回のバッチですべての行が処理されます。デフォルト値は100行です。

このプロパティの値は必須です。

BatchOptions.CommitBatchActionID

アクション・バインディング

N

BatchSizeで指定した行数が処理されると起動するアクション・バインディングを指定します。アクション・バインディングは、コミット・タイプのアクションになります。

BatchOptions.LimitBatchSize

Boolean

N

このプロパティをTrueに設定すると、行がバッチで処理され、各バッチにはBatchSizeで指定した行数が含まれます。Falseに設定すると、すべての行が1回のバッチで処理されます。

BatchOptions.StartBatchActionID

アクション・バインディング

N

各バッチの開始時に起動するアクション・バインディングを指定します。たとえば、特定のデータベースで必要に応じて、このプロパティを「トランザクションの開始」などの操作に使用できます。

このプロパティの値はオプションです。

DisplayUploadOptions

Boolean

N

ADF表コンポーネントからデータをアップロードする際に、「アップロード・オプション」ダイアログを表示するには、Trueに設定します。

詳細は、「アップロード・オプションに関する必知事項」を参照してください。

Columns

列の配列。配列の各列によりサポートされるプロパティの詳細は、「ADF表コンポーネントの列プロパティ」を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

ResizeColumnsMode

表全体の列がサイズ変更されるかどうか、およびサイズ変更の方法を制御します。

詳細は、「実行時にデータに基づいて列をサイズ変更するためのADF表コンポーネントの構成」を参照してください。

RowActions

このプロパティ・グループでは、有効で起動可能なアクションを指定できます。

RowActions.AutoConvertNewRowsEnabled

Boolean

N

Trueの場合、エンド・ユーザーは、新しいデータを統合Excel以外のワークブックからADF表コンポーネントの行に挿入したり、ADF表コンポーネントの行を編集して、ADF表コンポーネントの行に変換したりできます。詳細は、「ADF表コンポーネントでの行の挿入または貼付け方法」を参照してください。デフォルト値はTrueです。

行の挿入をサポートしていない、または計算行が表に必要なADF表コンポーネントの場合は、Falseに設定します。

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.InsertBeforeRowActionIDの値を指定する必要があります。

通常、Fusion WebアプリケーションではCreateInsertアクション・バインディングを使用して新しい行の作成および挿入を行います。このシナリオでは、CreateInsertアクション・バインディングをInsertBeforeRowActionIDの値として指定します。

ADF表コンポーネントでの行の挿入の詳細は、「ADF表コンポーネントでの行の挿入」を参照してください。

RowActions.InsertRowsAfterUploadEnabled

Boolean

N

Trueに設定すると、前にアップロードされたかどうかにかかわらず、変更された行を再挿入できます。デフォルト値はFalseです。

InsertRowEnabledがFalseに設定されている場合、このプロパティは無視されます。

RowActions.InsertTempRowActionID

アクション・バインディング

N

構成すると、このアクションが起動され、挿入行に対する行レベルのアクション・セットの実行中に、一時行が作成されます。

詳細は、「表の列での行レベルのアクション・セットの使用」を参照してください。

RowActions.UpdateRowActionID

アクション・バインディング

N

各行を更新するために起動するアクション・バインディングを指定します。

このプロパティの値はオプションです。

RowActions.UpdateRowEnabled

Boolean

N

Trueに設定すると、既存の行を更新できます。デフォルト値はTrueです。

このプロパティの値は必須です。

RowData

Fusion Webアプリケーションでの複数のセッション間で統合Excelワークブックにデータをキャッシュする場合に、CachedAttributesプロパティの値を設定します。

ChangeIndicatorAttributeIDプロパティの値を設定して、Fusion Webアプリケーションからダウンロードした行が、それ以降に別のユーザーによって変更されたかどうかを判断します。

RowData.CachedAttributes

配列

N

この配列のプロパティの値を指定して、データがキャッシュされる属性を決定します。この配列の各CachedTreeAttribute要素では、次のプロパティがサポートされます。

- Value
データのキャッシュの対象となるツリー・バインディング属性を選択します。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

表RowDownSyncアクションは、構成されたRowData.CachedAttributesの行属性値をキャッシュします。表RowUpSync、UploadおよびUploadAllOrNothingアクションは、キャッシュされた行属性値をFusion Webアプリケーションに送信します。

注意: キャッシュされた属性値によって、列コンポーネントに公開されるのと同じ属性バインディングにエンド・ユーザーが行う編集がオーバーライドされます。したがって、同じ属性をCachedAttributesおよび表の列コンポーネントに構成しないでください。

RowData.CachedAttributes配列を使用したADF表コンポーネントへのデータのキャッシュの詳細は、「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」および「ADF表の列へのカスタム・ポップアップ・ピッカー・ダイアログの追加方法」を参照してください。

RowData.ChangeIndicatorAttributeID

属性バインディング

Y

行固有のツリー属性バインディング値に評価されるEL式を指定します。属性値を使用して、統合Excelワークブックに最後にダウンロードした行が、それ以降別のユーザーによって変更されたかどうかを判断します。

詳細は、「ワークブックからデータをアップロードする際のデータ競合の処理」を参照してください。

RowLimit

このプロパティ・グループでは、ADF表コンポーネントまたはADF読取り専用表コンポーネントでダウンロードおよび表示する行数を構成できます。

詳細は、「表タイプ・コンポーネントがダウンロードする行数の制限」を参照してください。

RowLimit.Enabled

Boolean

N

Trueに設定すると、ダウンロードする行数がRowLimit.MaxRowsで設定した値に制限されます。デフォルト値はTrueです。

このプロパティの値は必須です。

RowLimit.MaxRows

整数

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値に置き換わります。

リソース・バンドルの詳細は、「統合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.11.2 ADF表コンポーネントの列プロパティ

表A-12に、TableColumn配列の列で使用できるプロパティを示します。

表A-12 ADF表コンポーネントの列プロパティ

名前

タイプ

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

CellStyleName

String

Y

列の各セルに適用されるExcelスタイル名に解決されるEL式を記述します。

Tooltip

String

Y

このプロパティの詳細は、表A-1を参照してください。

DynamicColumn

Boolean

N

Trueに設定すると、列が動的になります。デフォルト値はFalseです。動的な列の詳細は、「ADF表コンポーネントへの動的な列の追加」を参照してください。

HeaderLabel

String

Y

実行時に評価される場合、列ヘッダーにラベルを表示するEL式を記述します。

GroupedHeader

実行時に、ADF表コンポーネントの標準の表ヘッダー行の上部に追加の表ヘッダー行を表示することで、ADF表コンポーネントにレンダリングされる列をグループ化できるようにGroupHeaderプロパティを構成します。詳細は、「ADF表コンポーネントでの列のグループ化」を参照してください。

GroupedHeader.Boundary

String

Y

startまたはendに設定して、グループ化されたヘッダーの開始列または終了列として列を指定します。動的な列のグループ化されたヘッダーを作成する場合は、startまたはendに評価されるEL式を記述します。

GroupedHeader.Label

String

Y

実行時に評価される場合、グループ化されるヘッダーにラベルを表示するEL式を記述します。

GroupedHeader.StyleName

String

Y

グループ化されるヘッダーの各セルに適用されるExcelスタイル名に解決されるEL式を記述します。

GroupedHeader.Tooltip

ツールチップ・プロパティの詳細は、表A-1を参照してください。

HeaderStyleName

String

Y

列ヘッダーの各セルに適用されるExcelスタイル名に解決されるEL式を記述します。

ID

String

N

列に名前を割り当てて、列とその目的を識別します。このプロパティに割り当てる値には、機能的な影響はありません。ただし、値を指定すること、および指定する値が列のリスト内で一意であることが必要です。ADF表コンポーネントの列の追跡に役立ちます。次のIDは、ADF表コンポーネントのデフォルトの列に予約されています。

- _ADF_ChangedColumn

- _ADF_FlagColumn

- _ADF_RowKeyColumn

- _ADF_StatusColumn

これらの列の詳細は、「ADF表コンポーネント内の特殊な列」を参照してください。

InsertComponent

ADFコンポーネント

N

挿入操作のために、バインディングを表すコンポーネントのプロパティを指定します。このコンポーネントは次のいずれかになります。

- ModelDrivenColumnComponent
このコンポーネントがサポートするプロパティの詳細は、「ModelDrivenColumnComponentサブコンポーネントのプロパティ」を参照してください。

- InputDateコンポーネント
このコンポーネントがサポートするプロパティの詳細は、「ADF入力日コンポーネントのプロパティ」を参照してください。

- 入力テキスト・コンポーネント
このコンポーネントがサポートするプロパティの詳細は、「ADF入力テキスト・コンポーネントのプロパティ」を参照してください。

- 出力テキスト・コンポーネント
このコンポーネントがサポートするプロパティの詳細は、「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。

InsertUsesUpdateがTrueの場合、ADF表コンポーネントはInsertComponentプロパティの値を無視します。通常、InsertComponentプロパティは滅多に使用しません。

InsertUsesUpdate

Boolean

N

挿入操作と更新操作で同じコンポーネント・タイプを使用する場合はTrueに設定します。Trueの場合、ADF表コンポーネントはInsertComponentプロパティの値を無視してUpdateComponentプロパティの値を読み取ります。

デフォルト値はTrueです。

ResizeMode

ResizeColumnsアクションが起動される場合に、ADFデスクトップ統合が実行時に列幅をどのように変更するかを指定します。

詳細は、「実行時にデータに基づいて列をサイズ変更するためのADF表コンポーネントの構成」を参照してください。

UpdateComponent

ADFコンポーネント

N

更新操作およびダウンロード操作のために、バインディングを表すコンポーネントのプロパティを指定します。このコンポーネントは次のいずれかになります。

- ModelDrivenColumnComponent
このコンポーネントがサポートするプロパティの詳細は、「ModelDrivenColumnComponentサブコンポーネントのプロパティ」を参照してください。

- 入力日コンポーネント
このコンポーネントがサポートするプロパティの詳細は、「ADF入力日コンポーネントのプロパティ」を参照してください。

- 入力テキスト・コンポーネント
このコンポーネントがサポートするプロパティの詳細は、「ADF入力テキスト・コンポーネントのプロパティ」を参照してください。

- 出力テキスト・コンポーネント
このコンポーネントがサポートするプロパティの詳細は、「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。

Visible

Boolean

Y

TrueまたはFalseに解決されるEL式を記述します。Trueの場合、列はADF表コンポーネントに表示されます。Falseの場合、列は表示されません。デフォルト値はTrueです。

列を動的にする場合、ADF表コンポーネントはVisibleプロパティの値を無視します。動的な列の詳細は、「ADF表コンポーネントへの動的な列の追加」を参照してください。

Width

倍精度

Y

列の幅を文字数で指定します。列の幅を決定するための数値またはリテラル数値に評価されるEL式を指定できます。この値は、小数点を使用した小数値にすることができます。文字は幅の単位です。値は、ResizeModeがSpecifiedWidthの場合に使用されます。

詳細は、「実行時にデータに基づいて列をサイズ変更するためのADF表コンポーネントの構成」を参照してください。

A.11.3 ADF表コンポーネントのアクション

表A-13に、ADF表コンポーネントで使用できるコンポーネント・アクションを示します。

表A-13 ADF表コンポーネントのアクション

コンポーネント・アクション

説明

ClearCachedRowAttributes

ADF表コンポーネントの現在の行に対してキャッシュされた属性の値をクリアします。このアクションは、ADF表コンポーネントの列のDoubleClickActionSetのみで起動する必要があります。

DeleteFlaggedRows

ADF表コンポーネントのフラグ付けされた各行セットに対して指定のアクションを起動して、これらの行をADF表コンポーネントから削除します。

ActionsのOptions.AbortOnFailureプロパティでは、DeleteFlaggedRowコンポーネント・アクションでエラーが発生した場合でも実行を続行するかどうかを決定できます。

詳細は、「Fusion WebアプリケーションでのADF表コンポーネント行の削除」を参照してください。

DisplayRowErrors

ADF表コンポーネントの現在の行に関するエラー詳細がある場合は、これを表示します。このアクションは、ADF表コンポーネントで設定された列のアクションからのみ起動する必要があります。デフォルトでは、「ADF表コンポーネント内の特殊な列」の_ADF_StatusColumnは、このアクションを起動するアクション・セットで構成されます。

DisplayTableErrors

バッチ処理中に発生したエラーのリストを表示します。このアクションは非推奨です。不要になっています。関連するすべてのエラー・メッセージは、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」で説明されているステータス・ビューアを使用して表示できます。

Download

TreeIDの現在の状態に相当する行をダウンロードします。TreeIDの詳細は、「ADF表コンポーネントのプロパティ」を参照してください。

DownloadFlaggedRows

フラグのある行をTreeIDで指定したツリー・バインディングからダウンロードします。TreeIDの詳細は、表A-11を参照してください。

このアクションはダウンロードされた行にのみ適用され、挿入された行は無視されます。詳細は、「ワークブックからデータをアップロードする際のデータ競合の処理」を参照してください。

DownloadForInsert

このアクションは現在サポートされていません。詳細は、「DownloadForInsertアクションに関する必知事項」を参照してください。

FlagAllRows

すべての行にフラグを設定します。

このアクションを起動すると、_ADF_FlagColumn列のすべての行にフラグ文字が設定されます。フラグ文字には次のプロパティがあります。

Character Code 25CF, Unicode(hex)

これは、黒丸として表示されます。

_ADF_FlagColumn列の詳細は、「ADF表コンポーネント内の特殊な列」を参照してください。

Initialize

このアクションは次のアクションを実行します。

- ADF表コンポーネントからすべての行のデータを削除します。

- ADF表コンポーネントの行から、キャッシュされた属性の値をクリアします。

- プレースホルダ行を作成します。

- ADF表コンポーネントにレンダリングする動的な列の数を再計算します。

- 列ヘッダーを再描画します

統合Excelワークブックに保存されていない保留中の変更がADF表コンポーネントに含まれている場合は、このアクションの起動を取り消すことができるダイアログがエンド・ユーザーに対して表示されます。

MarkAllRowsChanged

表内のすべて行を_ADF_ChangeColumnで変更済とマークするには、このコンポーネント・アクションを指定します。

MarkAllRowsUnchanged

このコンポーネント・アクションを指定すると、_ADF_ChangedColumn列からすべてのフラグがクリアされます。

ResizeColumns

Table.ResizeColumnsModeおよびColumn.ResizeModeプロパティの値に応じて表の列をサイズ変更します。

詳細は、「実行時にデータに基づいて列をサイズ変更するためのADF表コンポーネントの構成」を参照してください。

RowDownSync

現在のワークシート行に相当する、Fusion WebアプリケーションにあるADF表コンポーネントのイテレータの行のデータを、ワークシートと同期させます。このアクションは現在のワークシート行に作用するため、ADF表コンポーネントの列に関連付けられているDoubleClickActionSetのみにより、このアクションを起動する必要があります。

列のVisibleプロパティの値は、RowDownSyncの起動時にADF表コンポーネントによって評価および適用されません。列のCellStyleNameプロパティの値は、RowDownSyncの起動時にADF表コンポーネントによって評価および適用されます。列プロパティの詳細は、「ADF表コンポーネントの列プロパティ」を参照してください。

RowUpSync

ADF表コンポーネントがFusion Webアプリケーションを参照する現在のワークシート行の、保留中の変更を同期させます。RowUpSyncは現在のワークシート行に作用するため、ADF表コンポーネントの列に関連付けられているDoubleClickActionSetのみにより、このアクションを起動する必要があります。RowUpSyncを起動するDoubleClickActionSetは、さらに、Fusion WebアプリケーションにあるADF表コンポーネントのイテレータの位置を現在のワークシート行に変更します(イテレータがFusion Webアプリケーションに存在する場合)。

詳細は、「表の列での行レベルのアクション・セットの使用」を参照してください。

RowUpSyncNoFail

障害を許容するRowUpSyncのバリアントです。RowUpSyncと同様、RowUpSyncNoFailは、行レベルのアクション・セットでの使用のみを対象にしています。詳細は、「RowUpSyncNoFailを使用してADF表コンポーネントからの変更を同期化する方法」を参照してください。

UnflagAllRows

_ADF_FlagColumn列のセルからフラグを削除します。

_ADF_FlagColumnの詳細は、「ADF表コンポーネント内の特殊な列」を参照してください。

Upload

この表で変更済としてマークされたFusion Webアプリケーションのすべての行にアップロードします。

詳細は、「ADF表コンポーネントからの変更のアップロード」を参照してください。

ExcelワークブックとFusion Webアプリケーションの間でのデータ競合の解決の詳細は、「ワークブックからデータをアップロードする際のデータ競合の処理」を参照してください。

UploadAllOrNothing

この表で変更済としてマークされたFusion Webアプリケーションのすべての行にアップロードします。どの行にも失敗がない場合にかぎり、正常な行をコミットします。

UploadAllOrNothingアクションの詳細は、「UploadAllOrNothingアクションを使用したADF表コンポーネントからの変更のアップロード」を参照してください。

A.12 ADF読取り専用表コンポーネントのプロパティおよびアクション

ADF読取り専用表コンポーネントは、1つのアクション、Downloadを公開します。このアクションは、ADF読取り専用表のプロパティTreeIDで識別される表の現在の行をダウンロードします。表A-14に、ADF読取り専用表コンポーネントがサポートするTreeIDとその他のプロパティを示します。

ADF読取り専用表コンポーネントの詳細は、「ADF読取り専用表コンポーネントの作成」を参照してください。

表A-14 ADF読取り専用表コンポーネントのプロパティ

名前

タイプ

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

Columns

配列

N

読取り専用列の配列を参照します。この配列の列がサポートできるプロパティの詳細は、表A-15を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

RowLimit

このプロパティ・グループの詳細は、表A-11を参照してください。

TreeID

ツリー・バインディング

N

ADF読取り専用表コンポーネントがワークシートにツリー・バインディングを挿入して作成された場合、現在のワークシートに関連付けられているページ定義ファイルのツリー・バインディングIDを参照します。

表A-15に、ReadOnlyColumn配列の列で使用できるプロパティをアルファベット順に示します。

表A-15 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コンポーネント

このコンポーネントがサポートするプロパティの詳細は、「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。

A.13 アクション・セットのプロパティ

表A-16に、アクション・セットに対して構成できるプロパティをアルファベット順に示します。アクション・セットの詳細は、「アクション・セットの使用」を参照してください。

表A-16 アクション・セットのプロパティ

名前

タイプ

EL

説明

ActionOptions

このプロパティ・グループは、ローカル・アクションとリモート・アクションを起動するためのオプションを指定します。

ActionOptions.AbortOnFailure

Boolean

N

Trueに設定した場合、1つのアクションが失敗すると、配列の残りのアクションは起動されません。Falseの場合、以前のアクションが成功したか失敗したかにかかわらず、すべてのアクションが起動されます。デフォルト値はTrueです。

ActionOptions.FailureActionID

アクション・バインディング

N

アクション・セットが正常に実行されない場合に起動するアクション・バインディングを指定します。たとえば、アクション・セットの起動が失敗したときに、加えられた変更をロールバックするアクション・バインディングを指定できます。

ActionOptions.NonBlocking

Boolean

N

Trueに設定すると、関連付けられたActionSetの完了をユーザーが待っている間、このActionSetはユーザーによる他のExcelの機能の利用をブロックしません。デフォルト値は、Falseです。詳細は、「エンド・ユーザーがアクション・セットを実行しながらExcelの作業を続行できるようにする方法」を参照してください。

ActionOptions.SuccessActionID

アクション・バインディング

N

アクション・セットが正常に実行された場合に起動するアクション・バインディングを指定します。

このプロパティの値はオプションです。

Actions

配列

N

アクションの順序付きの配列を指定します。アクションは次のいずれかになります。

- ADFmAction
基礎となるページ定義ファイルのアクション・バインディングまたはメソッド・アクション・バインディングを起動します。ADFmAction.ActionIDプロパティは、起動するアクション・バインディングまたはメソッド・アクション・バインディングを識別します。ページ定義ファイルの詳細は、「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

- ComponentAction
ワークシートのコンポーネントが公開するアクションを起動します。ComponentAction.ComponentIDは、アクションを公開するコンポーネントを識別し、ComponentAction.Methodは、起動するアクションを識別します。

ADF表コンポーネントは、アクションを公開するADFデスクトップ統合の唯一のコンポーネントです。これらのアクションの詳細は、「ADF表コンポーネントのプロパティおよびアクション」 を参照してください。コンポーネント・アクションの起動の詳細は、「アクション・セット内のコンポーネント・アクションの起動方法」を参照してください。

- WorksheetMethod
ワークシート・アクションを起動します。ワークシート・アクションの詳細は、「ワークシートのアクションとプロパティ」を参照してください。

- Confirmation
確認のダイアログを起動します。このアクションで使用するプロパティの詳細は、「確認アクションのプロパティ」を参照してください。

- Dialog
ポップアップ・ダイアログまたはExcelの作業ウィンドウでWebページを起動します。詳細は、「Fusion WebアプリケーションからのWebページの表示」を参照してください。

Alert

このプロパティ・グループは、アクション・セットが完了したことを示す、アラート形式のダイアログを表示するかどうか、またどのように表示するかを決定します。表示されるダイアログには、ユーザーがメッセージを確認してダイアログを終了できるボタンが1つあります。アラート・メッセージの表示方法は、「アクション・セットの起動後にアラートを発信する方法」を参照してください。

このグループのプロパティの多くは、EL式を使用してリソース・バンドルから文字列値を取得します。EL式の使用の詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

Alert.Enabled

Boolean

N

Trueに設定すると、アクション・セットの操作が正常に完了した場合または1つ以上の失敗が発生した場合にエンド・ユーザーに通知する、アラート・メッセージが表示されます。

詳細は、「アクション・セットの起動後にアラートを発信する方法」を参照してください。

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を参照してください。

FailureMessage

String

Y

(オプション)アクションが失敗した場合にエンド・ユーザーに表示されるメッセージに、評価されるEL式を指定します。EL式を指定しないと、デフォルトのメッセージが表示されます。

詳細は、「アクション・セットのエラー処理の構成方法」を参照してください。

Status

このプロパティ・グループは、アクション・セットの実行時にステータス・メッセージを表示するかどうか、またどのように表示するかを決定します。ステータス・メッセージの表示方法は、「アクション・セットの実行中に進捗バーを表示する方法」を参照してください。

このグループのプロパティの多くは、リソース・バンドルで定義された文字列キーを参照するEL式を使用します。詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

Status.AllowCancel

Boolean

N

Trueの場合は、「取消」ボタンがステータス・ダイアログ・ボックスに表示されます。

詳細は、「アクション・セットの実行中に進捗バーを表示する方法」を参照してください。

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.13.1 確認アクションのプロパティ

表A-17に、アクション・セットのActionsの配列にあるConfirmationアクションがサポートするプロパティを、アルファベット順に示します。Actionsの配列およびアクション・セットが使用する他のプロパティの詳細は、表A-16を参照してください。

詳細は、「アクション・セット内の確認アクションの起動方法」を参照してください。

表A-17 確認アクションのプロパティ

名前

タイプ

EL

説明

Annotation

(オプション) Annotationの詳細は、表A-1を参照してください。

CancelButtonLabel

String

Y

(オプション)実行時に「取消」ボタンで評価および表示されるEL式。デフォルトでは、値が指定されません。

OKButtonLabel

String

Y

(オプション)実行時に「OK」ボタンで評価および表示されるEL式。デフォルトでは、値が指定されません。

Prompt

String

Y

(オプション)実行時に確認のダイアログのメイン領域で評価および表示されるEL式。デフォルトでは、値が指定されません。

Title

String

Y

(オプション)実行時に確認のダイアログのタイトル領域で評価および表示されるEL式。デフォルトでは、値が指定されません。

A.13.2 ダイアログ・アクションのプロパティ

表A-18に、アクション・セットのActionsの配列にあるDialogアクションがサポートするプロパティを示します。Actionsの配列およびアクション・セットが使用する他のプロパティの詳細は、表A-16を参照してください。

表A-18のプロパティを使用してFusion WebアプリケーションからWebページを起動する方法は、「Fusion WebアプリケーションからのWebページの表示」を参照してください。

表A-18 ダイアログ・アクションのプロパティ

名前

タイプ

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

整数

N

表示されるダイアログの初期サイズをピクセルで指定します。有効な値の範囲は、0から2147483647です。指定された値が大きすぎるか小さすぎる場合は、実行時に適宜上方または下方修正されます。デフォルト値は、Heightが625でWidthが600です。

A.14 ワークブックのアクションおよびプロパティ

表A-19に、ワークブックで起動できるアクションを示します。これらのアクションを起動するためのリボン・コマンドの構成の詳細は、「実行時リボン・タブのワークブック・リボン・コマンドの定義方法」を参照してください。

表A-19 ワークブックのアクション

Action

説明

Login

このアクションを起動すると、統合ExcelワークブックとFusion Webアプリケーションの間に新しいセッションが作成されます。

起動時にすでにセッションが確立されていた場合は、最初にLogoutアクションが内部的に起動して、そのセッションが解放されます。認証を強制するWebアプリケーションに対して実行されるワークブックの場合、Loginアクションは、エンド・ユーザーに対して有効なユーザー資格証明の提供を求めます。

詳細は、「統合Excelワークブックの保護の概要」を参照してください。

Logout

起動するとADFデスクトップ統合によってFusion Webアプリケーションにリクエストが送信され、統合ExcelワークブックとFusion Webアプリケーションの間のセッションが無効になります。このアクションの起動後、エンド・ユーザーは、次に統合ExcelワークブックがFusion Webアプリケーションにアクセスする際に認証を受ける必要があります。

ClearAllData

このアクションが起動すると、ユーザーが入力したすべてのデータが、Oracle ADFバインディングを参照するセルからクリアされます。表(ADF表コンポーネントで作成された表など)は、ラベルがクリアされてヘッダー行のみが表示されるように切り捨てられます。入力テキスト・コンポーネントまたは出力テキスト・コンポーネントを参照するセルの値はクリアされます。列ヘッダーおよびラベルもクリアされます。統合Excelワークブックが使用するすべてのリソース・バンドルへの参照がクリアされます。バインディングを含まないワークシートやページ定義ファイルを参照しないワークシートは変更されません。ダイアログによって、エンド・ユーザーはこのアクションの起動の確認を求められます。エンド・ユーザーが起動を確認すると、ADFデスクトップ統合はアクションの起動後に次のイベントを実行します。

- 統合ExcelワークブックのLogoutアクションを起動します。

- ランタイム・セッションを終了して、統合Excelワークブックのすべてのデータとすべてのキャッシュをクリアします。

- 統合Excelワークブックを再初期化して、ワークブックのLoginアクションを起動します。

ClearAllDataアクションを起動しても、Fusion Webアプリケーションでホストされるデータは変更されません。

EditOptions

このアクションを起動すると、エンド・ユーザーがWebAppRootプロパティの現在の値を確認し、新しい値を入力できるダイアログが起動されます。

エンド・ユーザーがWebAppRootの値を変更する場合、「OK」をクリックすると確認のダイアログが表示されます。変更を確認すると、次のイベントが発生します。

- ワークブックのClearAllDataアクションが起動します。

- ワークブックのLogoutアクションが起動します。

- バインディングで参照されるワークブックのデータはすべて削除されます。

- WebAppRootの参照は、Excelワークブックの構成で更新されます。

- WebAppRootの値として指定されたFusion Webアプリケーションでユーザーを認証するために、ワークブックのLoginアクションが起動されます

ViewAboutDialog

このアクションを起動すると、BrandingItemsワークブック・プロパティで定義された情報および他の情報(サポートするソフトウェアのバージョンなど)を表示する「バージョン情報」ダイアログが起動します。ダイアログでは、エンド・ユーザーが診断レポートを生成したり、ログインしている場合は、ADFデスクトップ統合アドインのアップグレードをチェックしたりできます。詳細は、「ADFデスクトップ統合診断レポートの生成」および「ローカル・システムのADFデスクトップ統合のアップグレード方法」を参照してください。

ToggleStatusViewer

起動すると、このアクションは、ステータス・ビューアをExcelの作業ウィンドウに表示または非表示にし、ステータス情報をエンド・ユーザーに表示します。エンド・ユーザーがクリックして、このアクションを起動するリボン・コマンドは、ステータス・ビューアを表示または非表示にします。詳細は、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」を参照してください。

表A-20に、Excelワークブックで使用できるADFデスクトップ統合のプロパティをアルファベット順に示します。

表A-20 ワークブックのプロパティ

名前

タイプ

EL

説明

ApplicationHomeFolder

String

N

デスクトップ統合プロジェクトを開発するJDeveloperアプリケーション作業領域(.jws)のルート・ディレクトリの絶対パスを指定します。パスは、Windowsの最大パス長である260文字未満にする必要があります。

たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションと統合されたワークブックのこのプロパティの値は、次のようになります。

D:\Oracle\Applications\Summit_ADFdi

最初に統合Excelワークブックを開くときに、ADFデスクトップ統合によって、このプロパティの値の指定が求められる場合があります。

詳細は、「新しい統合Excelワークブックの構成方法」を参照してください。

AutoDisplayStatusViewerEnabled

Boolean

N

Trueに設定すると、エラーが発生した場合にステータス・ビューアが自動的に表示されます。ステータス・ビューアを表示する場合に、エンド・ユーザーがExcelリボンのステータス・ビューアのリボン・コマンドをクリックするように求めるには、Falseに設定にします。デフォルト値はTrueです。

詳細は、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」を参照してください。

BrandingItems

配列

N

リテラル文字列またはELリソース式の名前と値の組合せの配列(例: #{res['myAppName']})。

統合Excelワークブックのブランディングの詳細は、「統合Excelワークブックのブランディング」を参照してください。

Compatibility

配列

N

特定の機能が含まれていない、異なるリリースのADFデスクトップ統合バージョンで作成されたワークブックが、別のリリースの動作を変更しないようにします。

互換性のプロパティの詳細は、「ADFデスクトップ統合互換性のプロパティ」を参照してください。

CustomizationEnabled

Boolean

N

ワークブックがカスタマイズ可能かどうかを指定します。Trueの場合、公開されたワークブックはそのメタデータをサーバーから取得します。これは実行時にカスタマイズできます。

カスタマイズの有効化の詳細は、「実行時のワークブック統合メタデータのカスタマイズ」を参照してください。

Login.WindowSize

整数

N

表示されるログイン・ダイアログの初期サイズをピクセルで指定します。有効な値の範囲は、0から画面の幅または高さまでです。指定された値が大きすぎるか小さすぎる場合は、実行時に適宜上方または下方修正されます。デフォルト値は、Heightが625でWidthが600です。

Parameters

配列

N

Fusion Webアプリケーションのページから統合Excelワークブックへパラメータを渡すために構成する、ワークブック・パラメータの配列。Fusion Webアプリケーションのページでは複数のワークブック・パラメータを定義できます。ページで定義するそれぞれのワークブック・パラメータ(URL引数を参照するパラメータ)は、この配列のParameterプロパティで指定する必要があり、指定しない場合は無視されます。

配列の各要素では、次のプロパティがサポートされます。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

- Parameter
エンド・ユーザーがダウンロードする統合Excelワークブックの元の場所であるFusion Webアプリケーションのページで定義した、ワークブック・パラメータの名前を指定します。

このプロパティの使用の詳細は、「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

配列

N

ワークブックに登録するリソース・バンドルの配列を指定します。配列の各要素では、次のプロパティがサポートされます。

- Alias
Workbook.Resources内で一意の文字列値を指定します。EL式は、この文字列を使用してリソース・バンドルを参照します。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

- Class
完全修飾クラス名を指定しますが、ファイル拡張子は含めません。指定するクラス名は、ワークブックを統合するFusion Webアプリケーションで使用するJavaリソース・バンドル・クラスになります。

たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションのEditCustomers-DT.xlsxワークブックは次のリソース・バンドルを参照します。

oracle.summitdi.resources.UIStrings

詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

Runtime Ribbon Tab

-

-

このプロパティ・グループは、実行時にリボン・タブをExcelに表示するかどうか、またどのように表示するかを定義します。この表の後続のエントリで、Runtime Ribbon Tabグループのプロパティを説明します。リボン・タブおよびそのコマンドの詳細は、「実行時リボン・タブの構成」を参照してください。

Runtime Ribbon Tab.Annotation

String

N

このプロパティの詳細は、「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

配列

N

この配列の各要素は、実行時のワークブックのコマンドに相当します。配列の各要素では、次のプロパティが使用されます。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

- Label
このプロパティの詳細は、表A-1を参照してください。

コマンド・ラベルに&文字を表示する場合は、&&を指定する必要があります。実行時、Excelでは単一の&文字は特殊文字として解釈され、&の次の文字がワークブック・コマンドのキーボード・アクセラレータとして割り当てられます。

- Method
ワークブックのリボン・コマンドが起動するワークブック・アクションを指定します。ワークブック・アクションの詳細は、表A-19を参照してください。

WebAppRoot

String

N

Fusion Webアプリケーションのルートの完全修飾URL。

WebPagesFolder

String

N

統合Excelワークブックで使用する予定のWebページを含むディレクトリのパスを指定します。パスに指定する値は、Windowsの最大パス長である260文字未満の、ApplicationHomeFolderの値の相対パスにする必要があります。

WorkbookID

String

N

統合Excelワークブックの一意の識別子。設計モードで初めてワークブックを開くと、ADFデスクトップ統合によって一意の識別子が生成されます。

この値は変更できません。ただし、「ワークブック・プロパティの編集」ダイアログの「WorkbookIDのリセット」リンクを使用すると、ADFデスクトップ統合で新しい値を生成できます。

「統合Excelワークブックのメタデータの整合性チェック」で説明しているように、このプロパティの値は改ざんチェック時に使用されます。

A.15 ワークシートのアクションとプロパティ

「アクション・セットの使用」に説明されているアクション・セットでは、次のワークシートレベルのアクションを起動できます。

- UpSync
ワークシート内のADF入力テキスト・コンポーネントおよびADF値リスト・コンポーネントの保留中の変更を、Fusion Webアプリケーションに同期させます。

- DownSync
Fusion Webアプリケーションから、ワークシート内のADF入力テキスト、ADF出力テキストおよびADF値リストの各コンポーネントにデータ値をダウンロードします。

- DisplayWorksheetErrors
最新のアクション・セットの起動からのエラー・メッセージのリストを表示します。

注意:

このアクションは非推奨です。不要になっています。関連するすべてのエラー・メッセージは、「ステータス・ビューアを使用したエンド・ユーザーへのエラー・メッセージのレポート」で説明されているステータス・ビューアから表示できます。

アクション・バインディングまたはメソッド・アクション・バインディングを起動するようにリボン・コマンドを構成すると、実行時にユーザーがリボン・コマンドをクリックしたときに起動するユーザーアクション・セットが。デフォルトで次のように移入されます。

1. UpSync

2. リボン・コマンドに指定するアクションまたはメソッド・アクション・バインディング。

3. DownSync

空のフォームを使用してワークシートで最初に起動するアクションがUpSyncワークシート・アクションの場合、エラーが発生する可能性があります。そのため、最初に起動するアクションは必ずDownSyncワークシート・アクションにしてください。最初にDownSyncワークシート・アクションを起動するには、リボン・コマンドのアクション・セットまたは表A-21で説明しているワークシート・イベント(StartupまたはActivate)のいずれかを構成します。

リボン・コマンドの構成の詳細は、「実行時リボン・タブの構成」を参照してください。

表A-21に、Excelワークシートで使用できるADFデスクトップ統合のプロパティを示します。

表A-21 ワークシートのプロパティ

名前

タイプ

EL

説明

Annotation

String

N

このプロパティの詳細は、表A-1を参照してください。

CustomAttributePropertiesEnabled

Boolean

N

サーバー上のビュー・オブジェクトに定義したカスタム属性プロパティがEL式でサポートされるかどうかを指定します。

このプロパティのデフォルト値はFalseです。

詳細は、「ADFデスクトップ統合ELベースのプロパティとカスタム属性プロパティの使用」を参照してください。

Events

配列

N

この配列の各要素は、関連付けられたワークシートのイベントが発生した場合に起動するアクション・セットを指定します。アクション・セットの詳細は、「アクション・セットのプロパティ」を参照してください。ワークシート・イベントの詳細は、この表のEvents.n.Eventのエントリを参照してください。

Events.nで始まるこの表の続くエントリは、この配列の要素がサポートするプロパティを示しています。nは、配列の特定の要素を指します。

Events.n.ActionSet

ActionSet

N

アクション・セットのプロパティの詳細は、「アクション・セットのプロパティ」を参照してください。

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
ユーザーが現在のワークシートから離れるか、または停止イベントがトリガーされます。

ワークシート・イベントは、起動するアクション・セットが失敗した場合でも、実行を完了します。

ワークシート・イベントおよびアクション・セットの詳細は、「ワークシート・イベントからアクション・セットを起動する方法」を参照してください。

Protection.Mode

リスト

N

ワークシートでは次の2つのオプションが提供されます。

- Off
実行時にワークシートの保護が使用されません。

- Automatic
実行時にワークシートの保護が自動的に有効になります。

このプロパティのデフォルト値はOffです。

Protection.Password

String

N

エンド・ユーザーが実行時にシートの保護をオフにするのを防止するためのパスワードを指定します。Excelで許可される最大パスワード長は、255文字です。

Ribbon Commands

配列

N

実行時にワークシート・リボン・コマンドとして表示されるアクションを1つ以上指定します。各コマンドは、WorksheetMenuItem配列の要素です。この配列のエントリでは、次のプロパティがサポートされます。

- Annotation

- Image
実行時にワークシートレベルのリボン・コマンドとして表示するイメージを指定します。ADFデスクトップ統合では、使用可能なイメージが用意されています。

- Label

- SelectActionSet

AnnotationおよびLabelプロパティの詳細は、表A-1を参照してください。SelectActionSetプロパティの詳細は、「アクション・セットのプロパティ」を参照してください。

コマンド・ラベルに&文字を表示する場合は、&&を指定する必要があります。実行時、Excelでは単一の&文字は特殊文字として解釈され、&の次の文字がワークシート・コマンドのキーボード・アクセラレータとして割り当てられます。

詳細は、「実行時リボン・タブのワークシート・リボン・コマンドの構成方法」を参照してください。

Page Definition

String

N

ワークシートに関連付けるページ定義ファイルを指定します。ページ定義ファイルへの完全修飾パスは、Windowsの最大パス長である260文字未満にする必要があります。ページ定義ファイルの詳細は、「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

Parameters

配列

N

このワークシートのページ定義ファイルで定義され、ここでワークブック・パラメータにバインドされるパラメータの配列。配列の各要素では、次のプロパティがサポートされます。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

- Parameter
ワークシートに関連付けられているページ定義ファイルに追加したparameter要素のIDを指定します。

- Value
ワークブック・パラメータ(ワークブックのParameters.Parameterプロパティ)に対して指定したParameterプロパティの値を参照するEL式を記述します。

このプロパティの使用の詳細は、「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

RowData

Fusion Webアプリケーションでの複数のセッション間で統合Excelワークブックにデータをキャッシュする場合に、CachedAttributesプロパティの値を設定します。

ChangeIndicatorAttributeIDプロパティの値を設定して、Fusion Webアプリケーションからダウンロードした行が、それ以降別のユーザーによって変更されたかどうかを判断します。

詳細は、「複数のWebセッション間における統合Excelワークブックの使用」を参照してください。

RowData.CachedAttributes

配列

N

この配列のプロパティの値を指定して、データがキャッシュされる属性を決定します。この配列の各CachedAttribute要素では、次のプロパティがサポートされます。

- AttributeID
このプロパティは、データがキャッシュされる属性バインディングを参照します。AttributeIDに関しては、属性バインディングを指定したり、同じワークシートのフォーム(たとえば、ADF入力テキスト・コンポーネント)で編集可能フィールドとして指定しないでください。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

RowData.ChangeIndicatorAttributeID

バインディング

N

統合Excelワークブックに最後にダウンロードした行が、それ以降別のユーザーによって変更されたかどうかを判断するために使用する、ツリー・バインディングの行固有の属性を指定します。

詳細は、「ワークブックからデータをアップロードする際のデータ競合の処理」を参照してください。

ServerContext

このプロパティ・グループは、現在のワークシートに表示される行を一意に識別する属性バインディングを参照するため、複数のセッション間でサーバー・データ・コンテキストを再確立することが可能になります。

詳細は、「セッション間でのサーバー・データ・コンテキストのリストア」を参照してください。

ServerContext.CacheDataContexts

配列

N

サーバー・サイド・コンテキストを再確立する必要のあるバインディング・コンテナで複数のイテレータが定義されている場合に、CacheDataContexts配列に要素を追加します。CacheDataContexts配列では、ワークシートのキャッシュされたデータ・コンテキストを保存するために次のプロパティがサポートされます。

- RestoreDataContextActionID
起動するアクション・バインディングを参照します。

- CachedServerContexts
RestoreDataContextActionIDによって指定されるアクション・バインディングが起動する前にキャッシュおよび設定される属性バインディング値を識別する配列。CachedServerContext配列の各要素は、CachedAttributeIDプロパティおよびRestoredAttributeIDプロパティをサポートします。CachedAttributeIDは、ワークシートにキャッシュする属性バインディング値を識別します。RestoredAttributeIDは、宛先の属性バインディング値がソースの属性バインディング値と異なる場合に値を指定する、オプションのプロパティです。RestoredAttributeIDの値を指定しない場合、宛先の属性バインディング値としてCachedAttributeIDの値が使用され、その値はアクション・セットの起動前に設定されます。

- Annotation
このプロパティの詳細は、「ADFデスクトップ統合で頻繁に使用するプロパティ」を参照してください。

ServerContext.IDAttributeID

バインディング

N

現在のワークシートに表示される行を一意に識別する属性バインディングを指定します。このプロパティは、サーバー・コンテキストがワークシートの表以外のタイプのコンポーネントに対して適切に再確立されているかどうかを判断するために実行時に使用されます。

ServerContext.SendParameters

Boolean

N

このプロパティのデフォルト値はFalseです。

Trueに設定すると、複数のセッション間でコンテキストを再確立する際に、ワークブックによってこのワークシートの初期化パラメータが送信されます。

SetupActionID

バインディング

N

バインディング・コンテナ・メタデータが取得される前に、起動されるADFmActionバインディングを指定します。

このプロパティの値はオプションです。

2つ以上のワークシートで同じページ定義を使用している場合、最後のワークシートで指定されたアクション・バインディングが起動されます。そのため、ワークシートごとにページ定義を作成し、複数のワークシートに同じページ定義を指定しないようにします。

詳細は、「明示的なワークシート設定アクションの使用」を参照してください。

Title

String

Y

文字列に解決され、ワークシートの名前を設定するEL式を記述します。設計時のEL式には長さの制限はなく、次の特殊文字を含めることができます。

[ ] \ / * ?

実行時に評価される文字列で表示できるのは最大31文字で、これらの特殊文字は無視されます。評価される文字列の長さが31文字を超える場合、余分な文字は切り捨てられ、表示されません。

Titleプロパティでは、EL式のバインディング部分をサポートしていません。リソース・タイプの式で使用されることを想定しています。

Titleプロパティ用に記述するEL式では、実行時に各ワークシートに対して一意の値が生成され、31文字未満になるようにしてください。

A.16 ADFデスクトップ統合互換性のプロパティ

製品の様々なリリースで、様々なADFデスクトップ統合機能が追加されています。互換性のプロパティにより、特定の機能が含まれていないADFデスクトップ統合バージョンで作成されたワークブックが、それらの動作を変更しないようにします。

表A-22に、ADFデスクトップ統合互換性のプロパティを示します。統合Excelワークブックの開発者が、これらのプロパティおよび関連付けられた機能を確認し、有効にするかどうかを判断する場合があります。統合Excelワークブックのこれらのプロパティにアクセスするには、「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックして、「ワークブック・プロパティの編集」を表示し、「動作」および「互換性」プロパティを展開します。

表A-22 ADFデスクトップ統合互換性のプロパティ

名前

タイプ

EL

説明

DataEntryValidationEnabled

Boolean

N

ADFデスクトップ統合でデータ入力の検証を実行するかどうかを指定します。

詳細は、「統合Excelワークブックのデータ入力の検証の追加」を参照してください。

RejectExcelErrorsEnabled

Boolean

N

統合ExcelワークブックがFusion Webアプリケーションに送信するExcelセルのエラー値をADFデスクトップ統合が拒否するかどうかを指定します。デフォルト値はTrueです。

詳細は、「統合Excelワークブックのデータ入力の検証の追加」を参照してください。

TableComponents.ModelDrivenColumns.DatePickerEnabled

Boolean

N

日付ピッカーをモデルドリブン列で使用できるかどうかを指定します。

詳細は、「ADF入力日コンポーネントの挿入」および「ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加」を参照してください。

TableComponents.ModelDrivenColumns.InputListOfValuesPickerEnabled

Boolean

N

モデルドリブン列で既存のモデル・レイヤー・メタデータを利用して、ピッカー・ダイアログに「検索および選択」ユーザー・インタフェースを表示するかどうかを指定します。

詳細は、「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」を参照してください。

TableComponents.RowActionSetModelMgmtEnabled

Boolean

N

行レベルのアクション・セットでサーバー・サイド・モデルの状態を管理できるかどうかを指定します。

詳細は、「表の列での行レベルのアクション・セットの使用」を参照してください。

TableComponents.SmartRowFailureReportingEnabled

Boolean

N

デフォルト値(True)では、ADF表コンポーネントUploadおよびDeleteFlaggedRowsアクションの拡張エラー・レポートを有効にします。

B ADFデスクトップ統合のEL式

この付録では、ADFデスクトップ統合のEL式の構文について説明し、EL式の記述に関するガイドラインを提供します。また、EL式での属性コントロール・ヒントの使用方法についても説明します。

この付録の内容は次のとおりです。

- EL式を作成するガイドライン

- ADFデスクトップ統合コンポーネントのEL構文

- ADFデスクトップ統合の属性コントロール・ヒント

B.1 EL式を作成するガイドライン

統合Excelワークブックで記述するEL式には、次を含めることができます。

- Oracle ADFコンポーネントのプロパティに適した型に正しく評価されるリテラル値。次にいくつかの例を示します。

- ブール型の値trueおよびfalse

- -1、0および100などの整数値

- hello worldなどの文字列値

- コントロール・バインディング値またはヒントを評価するバインディング式。たとえば、#{row.bindings.ProductId.inputValue}とします。

- コンポーネント・プロパティを評価するコンポーネント式。たとえば、#{components.TAB416222534.rowCount}です。

- サーバーで定義されたロケール固有リソースを評価するリソース・バンドル式。例: #{res['excel.saveButton.label']}
サポートされるバインディング式、コンポーネント式、リソース・バンドル式の構文の詳細は、「ADFデスクトップ統合コンポーネントのEL構文」を参照してください。

- 有効なExcel式。Excel式の文字列は、文字=で開始する必要があります。リテラル文字列に#{...}式が含まれる場合、最初にADFデスクトップ統合がこの式を評価して、結果の値をExcel式の文字列に挿入します。その後、ExcelがExcel式を評価します。
EL式を記述する場合、次の点に注意してください。

- Excel式の要素を#{...}式の中で使用しないでください。

- EL式はADF構成内で管理されるため、EL式にExcelのセルの参照を含めることはできません。参照されるセルを移動すると、ExcelはADF構成を更新できません。より良い方法は、Excelの数式バーの「Name」ボックスを使用して、名前付きのセルの参照または範囲を定義することです。名前付きセルの参照または名前付きセル範囲の参照は、EL式から参照できます。名前付きセルの参照または範囲の定義の詳細は、Excelのドキュメントを参照してください。

- EL式を含むExcel式
EL式を含むExcel式は255文字を超えないようにしてください。これはコンポーネントのプロパティに条件値を設定するのに使用される式にも適用されます。

B.2 ADFデスクトップ統合コンポーネントのEL構文

表B-1に、EL式をサポートするADFデスクトップ統合コンポーネントでサポートされる式のプロパティを示します。

これらのプロパティを参照するために、EL式では次の構文を使用します。

#{components.componentID.property}

componentIDはコンポーネントのIDを参照し、propertyはプロパティ(rowCountなど)を参照します。

表B-1 ADFデスクトップ統合コンポーネントの式のプロパティ

プロパティ

コンポーネント・タイプ

プロパティ・タイプ

予期される実行時の値

設計時の値

rowCount

表

読取り専用表

Int

>=0

0

currentRowIndex

表

読取り専用表

Int

>= 0 AND < RowCount(ゼロ・ベースのインデックス)

-1

currentRowMode

表

String

"insert"

"update"

"unknown"

readOnly

Table.Column

Boolean

TRUE

FALSE

FALSE

取得するものに応じて、次の構文を使用してEL式を記述します。

- ワークブック・パラメータ
#{workbook.params.parameterName}

parameterNameは、ワークブック・パラメータの名前です。これらのパラメータの使用の詳細は、「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

- リソース・バンドルの文字列キーの値
#{resourceBundleAlias['resourceBundleKey']}

resourceBundleAliasはリソース・バンドルの別名で、resourceBundleKeyは文字列キーの値です。リソース・バンドルの詳細は、「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

表B-2に、Oracle ADFコントロール・バインディングでサポートされる構文とプロパティを示します。ADFデスクトップ統合でサポートされる属性コントロール・ヒント(controlHint)の詳細は、表B-3を参照してください。

表B-2に示すEL式の一部は、「式ビルダーの使用」で説明している式ビルダーを使用して生成できます。

表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}

「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 Application Development FrameworkによるFusion Webアプリケーションの開発』のエンティティ・オブジェクトの属性のコントロール・ヒントの定義に関する項を参照してください。ビュー・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、『Oracle Application Development Frameworkによる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プロパティは、「ADFデスクトップ統合で頻繁に使用するプロパティ」で説明しているADFデスクトップ統合コンポーネントのReadOnlyプロパティとは異なります。

mandatory

Boolean

関連付けられている属性バインディングの値が必須の場合はtrueを戻します。

dataType

String

属性コントロール・ヒントのデータ型を戻します。Fusion Webアプリケーションでは、複雑な名前の様々なデータ型をサポートできます。dataType属性コントロール・ヒントは、EL式の記述を簡略化するためにADFデスクトップ統合に導入されました。これにより、Fusion Webアプリケーションでサポートされるデータ型が、ADFデスクトップ統合でサポートされる次の値にマップされます。

- string

- number

- date

- boolean

- other

tooltip

String

エンティティ・オブジェクトまたはビュー・オブジェクト用に構成されるツールチップ属性コントロール・ヒントのメッセージ値を戻します。

displayWidth

String

エンティティ・オブジェクトまたはビュー・オブジェクト用に構成されるWidth属性コントロール・ヒントの値を戻します。値は幅を文字数で表します。

displayWidthヒントは、表の列のResizeModeがSpecifiedWidthに設定されている場合に、その列のWidthプロパティで使用できます。

表示幅の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のビュー基準にユーザー・インタフェース・ヒントを設定して検索フォームをサポートする方法に関する項を参照してください。

ADFデスクトップ統合の属性コントロール・ヒントは、Webアプリケーションのモデル構成で使用できる情報に基づきます。ADFデスクトップ統合では、ビュー・オブジェクトまたはエンティティ・オブジェクトのヒント値がサポートされますが、 ヒント値が実行時に行ごとのレベルで計算される場合は、プログラムによるヒント値のオーバーライドはサポートされません。

ADFデスクトップ統合では、表ELベースのプロパティのカスタム属性プロパティもサポートしています。詳細は、「ADFデスクトップ統合ELベースのプロパティとカスタム属性プロパティの使用」を参照してください。

C 統合Excelワークブックのトラブルシューティング

この付録では、開発中に問題が発生した場合に統合Excelワークブックのトラブルシューティングを行い、ログ・ファイルを生成する方法について説明します。

この付録の内容は次のとおりです。

- Fusion WebアプリケーションによるADFデスクトップ統合のサポートの検証

- ADFデスクトップ統合診断レポートの生成

- 統合Excelワークブックのエンド・ユーザー認証の確認

- 統合Excelワークブックのログ・ファイルの生成

ADFデスクトップ統合は、統合ExcelワークブックからFusion Webアプリケーションへの接続の問題の原因の診断に役立つ、接続失敗レポートも提供します。詳細は、「Fusion Webアプリケーションへの接続の問題のトラブルシューティング」を参照してください。

注意:

プロパティ・インスペクタは、プロパティまたはプロパティの組合せに入力した値が有効かどうかの検証は実行しません。無効な値があると、実行時にエラーが発生します。実行時のエラーを回避するには、プロパティ・インスペクタでプロパティに有効な値を指定してください。プロパティ・インスペクタの詳細は、「プロパティ・インスペクタの使用」を参照してください。

C.1 Fusion WebアプリケーションがADFデスクトップ統合をサポートするかどうかの検証

サーバーのpingテストを使用して、Fusion WebアプリケーションによってADFデスクトップ統合のリモート・サーブレット(adfdiRemote)が実行されていることを確認し、ADFデスクトップ統合のバージョンを確認できます。この情報は、統合Excelワークブックに関連するエラーが発生した場合に役立ちます。たとえば、統合Excelワークブックのトラブルシューティングを行う際に、ADFデスクトップ統合のリモート・サーブレットが稼働しているかどうかを判断できます。

認証を実施するFusion Webアプリケーションの場合、サーバーのpingテストを使用して、ADFデスクトップ統合サーブレットURLに対して適切な認証構成が完了していることを確認できます。

ADFデスクトップ検証は、Internet Explorer固有の様々な設定に依存します。このような理由から、Internet Explorerを使用して検証テストを実行してください。

ADFデスクトップ統合のリモート・サーブレットが稼働していることを検証するには:

1. Webブラウザのアドレス・バーに、ワークブックのプロパティWebAppRootおよびRemoteServletPathを連結した値を入力します。これは、次のようなURLに相当します。

http://hostname:7101/summit/adfdiRemoteServlet

ADFデスクトップ統合のリモート・サーブレットが稼働している場合、Webページが元に戻って図C-1のようなメッセージが表示されます。

図C-1 ADFデスクトップ統合のリモート・サーブレット

C.2 ADFデスクトップ統合診断レポートの生成

ADFデスクトップ統合は、エンド・ユーザーがクライアント・サイドの環境で発生する可能性のある問題を診断して解決できる複数のツールを提供しています。これには、「クライアント・ヘルス・チェック・ツールの実行」に示すクライアント・ヘルス・チェック・ツールが含まれています。これにより、クライアントの環境が適切に構成されているか判断し、一般的に発生する問題のいくつかを解決するためのオプションが示されます。エンド・ユーザーは、次の項で説明するように、統合Excelワークブックから診断レポート(adfdi-diagnostic-report.txt) を生成することもできます。

C.2.1 ADFデスクトップ統合診断レポートの生成方法

図C-2で示すように、ADFデスクトップ統合がMicrosoft Excelの「ファイル」 > 「アドイン」メニューに追加する診断レポートを保存メニュー項目をクリックして、診断レポートを生成できます。

図C-2 診断レポートを保存するファイル・メニュー

このメニュー項目の場所は、使用するMicrosoft Excelのバージョンによって異なります。図C-2に、Microsoft Excel 2013でのこのメニュー項目の場所を示します。

また、エンド・ユーザーは、「情報」ダイアログから診断レポートを生成できます。

「情報」ダイアログからADFデスクトップ統合の診断レポートを生成するには:

1. 統合Excelワークブックを開きます。

2. 統合Excelワークブックを設計モードで開いた場合は、「Oracle ADF」タブの「ワークブック」グループの「情報」ボタンをクリックします。

統合Excelワークブックを実行時モードで開いた場合は、実行時リボン・タブの「情報」ボタンをクリックします。

3. 「情報」ダイアログの「診断レポート」ボタンをクリックします。

4. 診断レポートのテキスト・ファイルを保存します。デフォルトでは、ファイルは、adfdi-diagnostic-report.txtとしてDesktopディレクトリ(例: C:\Users\<USER_NAME>\Desktop)に保存されます。

5. 保存したファイルの場所を示す「診断レポート」ダイアログが開きます。「OK」をクリックして、デフォルトのテキスト・エディタでファイルを開きます。

C.2.2 ADFデスクトップ統合診断レポートに関する必知事項

診断レポートは、次のような様々な情報を含むテキスト・ファイルです。

- ADFデスクトップ統合アドインのバージョン

- Microsoft Windowsのバージョン

- Microsoft Excelのバージョン

- 「情報」ダイアログの「バージョン」タブからのすべてのプロパティの値

- 「情報」ダイアログの「プロパティ」タブにリストされるすべてのプロパティの値

- Excel COMアドインのリスト

- 「情報」からのブランディング項目(レポートが実行時に生成される場合)

- ADFデスクトップ統合サーブレットのバージョン(有効なログイン後にレポートが生成される場合)

テキスト・ファイルは、任意のテキスト・エディタまたはExcelで開いて編集できます。ファイルの各行は、タブで区切られたキーと値のペアで構成されます。

エンド・ユーザーが診断ファイルを送信する前に、レポートを見直して、共有したくない機密情報があれば削除するようにエンド・ユーザーに求めます。

C.3 Fusion Webアプリケーションへの接続の問題のトラブルシューティング

ADFデスクトップ統合は、統合ExcelワークブックからFusion Webアプリケーションへの接続の問題の原因の診断に役立つ、接続失敗レポートをエンド・ユーザーに提供します。

接続失敗レポートには、Fusion Webアプリケーションへの接続の試行が失敗した場合、またはエンド・ユーザーが接続の試行を取り消した場合にADFデスクトップ統合が生成する情報が含まれます。図C-3では、Summitサンプル・アプリケーションがオフラインだったために、EditCustomers.xlsxワークブックからSummitサンプル・アプリケーションに接続できなかったときに表示されたダイアログを示しています。エンド・ユーザーは「レポートの保存」をクリックして、マシンのディレクトリにレポートを保存します。

図C-3 エンド・ユーザーが接続レポートを保存するためのダイアログ

エンド・ユーザーが接続失敗レポートを送信する前に、レポートを見直して、共有が望ましくない機密情報があれば削除するようにエンド・ユーザーに求めます。次の例は、図C-3で生成されるレポートの抜粋を示しています。

Report: Oracle ADF Desktop Integration (ADFdi) Connection Failure Report
Generated: (UTC) 04/12/2015 09:47:13
Language: en-US

*** NOTE: this file contains detailed diagnostic information. Review the contents and edit out any information you do not wish to share with third parties. ***

=== Summary ===

Failure Phase
AuthenticationTest

Failure Reason
UnexpectedHttpStatusException - ADFDI-00501: An unexpected status: 404 (NotFound) was returned from the server while requesting the URL: http://127.0.0.1:7101/summit/adfdiRemoteServlet

ADFdi servlet URL
http:// 127.0.0.1:7101/summit/adfdiRemoteServlet
...

詳細は、My Oracle Support (https://support.oracle.com)でドキュメントID 2014348.1と2094772.1を検索すると入手できるドキュメントも参照してください。

C.4 統合Excelワークブックのエンド・ユーザー認証の確認

統合Excelワークブックのエンド・ユーザーが、ADFセキュリティを使用して構成されているFusion Webアプリケーションと相互作用するアクションを起動する際にユーザー資格証明を要求されない場合、統合ExcelワークブックまたはFusion Webアプリケーションのどちらかでセキュリティが正しく構成されていない可能性があります。次の手順を実行して、セキュアなFusion Webアプリケーションによってエンド・ユーザーが認証されること、およびセキュリティが有効であることを検証できます。

セキュアなFusion Webアプリケーションによってエンド・ユーザーが認証されることを検証するには、ADFデスクトップ統合のリモート・サーブレットが稼働中かどうかを検証するために使用したURLを、ブラウザのアドレス・バーに入力します。詳細は、「Fusion WebアプリケーションがADFデスクトップ統合をサポートするかどうかの検証」を参照してください。Fusion Webアプリケーションのセキュリティが有効である場合は、ユーザー資格証明を入力するよう求められます。

統合Excelワークブックの保護の詳細は、「統合Excelワークブックの保護」を参照してください。

C.5 統合Excelワークブックのログ・ファイルの生成

ADFデスクトップ統合では、ログ・ファイルを生成して、次のソフトウェアによってADFデスクトップ統合内でトリガーされるイベントに基づいて情報を取得できます。

- Webサーバー上にある、HTTPフィルタおよびADFデスクトップ統合のリモート・サーブレット(サーバー・サイド・ロギング)
サーバー・サイド・ロギングの詳細は、「サーバー・サイド・ロギングの概要」を参照してください。

- Fusion Webアプリケーションと統合するExcelワークブック(クライアント・サイド・ロギング)
クライアント・サイド・ロギングの詳細は、「クライアント・サイド・ロギングの概要」を参照してください。

C.5.1 サーバー・サイド・ロギングの概要

ADFデスクトップ統合のサーバー・サイド・ログ・ファイルの生成は、他のOracle ADFモジュールの場合と同じように構成します。構成するには、logging.xmlという構成ファイルで冗長レベルと出力場所を指定する値を設定する必要があります。また、JDeveloperのOracle Diagnostic Logging構成を使用して、logging.xmlファイルで指定されるロギング・レベルを構成することもできます。JDeveloperのデバッグ・ツールおよびADFログ出力の使用の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のADFロガーの使用に関する項を参照してください。

表C-1に、ADFデスクトップ統合のログ・ファイルの生成を構成するために、logging.xmlファイルの<logger>要素に属性パラメータとして指定するパッケージ名を示します。

表C-1 ログ・ファイルを構成するためのパッケージの名前

ログ・ファイル・エントリを生成するコンポーネント

入力するパッケージ名

すべてのADFデスクトップ統合サーバー・ロジック

oracle.adf.desktopintegration

ADFデスクトップ統合のHTTPフィルタ

oracle.adf.desktopintegration.filter

C.5.2 Oracle Diagnostics Log Analyzerを使用したADFデスクトップ統合サーブレット・リクエストの分析

Oracle Diagnostics Log Analyzerを使用すると、各ADFデスクトップ統合サーブレット・リクエストの実行に費やされた経過時間の階層ブレークダウンを表示できます。階層ブレークダウンには、ADFモデル・レイヤーなどのその他のADFコンポーネントで費やされた時間も含まれます。ログ・アナライザを使用してWebリクエストを表示する方法の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のログ・アナライザを使用してログ・メッセージを表示する方法に関する項を参照してください。

ヒント:

階層ブレークダウンは、異常に長い実行時間によるパフォーマンスのボトルネックを特定する際に役に立ちます。

ADFデスクトップ統合イベントなどのADFイベント・メッセージの完全な階層ツリーを記録するために、oracle.adfdiagnosticsパッケージにログ・レベルCONFIGを指定します。oracle.adfdiagnosticsロガーの詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のOracle ADFデバッグ構成の作成方法に関する項を参照してください。

C.5.3 クライアント・サイド・ロギングの概要

ADFデスクトップ統合は、ADFデスクトップ統合アドイン内で発生するアクティビティのログ・ファイルを作成するために、いくつかの方法を提供します。ロギングは、常に概要レベルであるInformationレベルで有効になっています。これらのログはプレーン・テキスト・フォーマットで、基本的なユーザー処理の段階やエラーと警告が含まれています。詳細は、「常時有効なロギングに関する必知事項」を参照してください。

特定の問題のトラブルシューティングに、より詳細なログが必要になることがあります。Verboseレベルの詳細なログを生成するための方法がいくつかあります。最もシンプルな方法は、ADFデスクトップ統合がMicrosoft Excelに追加するExcelアドイン・メニューから「ロギングの有効化」を選択して、一時的な詳細ロギングを有効にするものです。これらのログはXML形式で、クライアント・サイドのアクティビティの詳細な説明が含まれています。詳細は、「1つのユーザー・セッションに対する一時的な詳細ロギングの有効化」を参照してください。

さらに、クライアントのログを制御する方法が他に2つあります。

- 「「Oracle ADF」タブのロギングの構成方法」の説明に従って、「Oracle ADF」タブが表示するロギングのオプションを使用します。

- 「ADFデスクトップ統合の構成ファイルについて」の説明に従って、ADFデスクトップ統合の構成ファイルを使用します。

- 「ユーザー環境変数を使用したロギングの構成方法」の説明に従って、環境変数を構成します。

統合Excelワークブックの1回以上の再起動にまたがるログ情報をキャプチャする場合、またはverboseより低いロギング・レベルを構成する場合は、後の2つのオプションのいずれかの利用を検討してください。

表C-2に、クライアント・サイドのロギングで有効にできる様々なログ・レベルの説明を示します。

C.5.3.1 常時有効なロギングに関する必知事項

ADFデスクトップ統合では、デフォルトで次のディレクトリ(優先度順)のいずれかのadfdi-logsサブディレクトリのテキスト・ファイルへのInformationレベルでのロギングが有効になっています。

- %TEMP%\oracle\adfdi-logs

- %TMP%\oracle\adfdi-logs

- %LocalAppData%\temp\oracle\adfdi-logs

- %SystemDrive%\oracle\adfdi-logs

ADFデスクトップ統合がログ・ファイル情報の格納に前述のどのディレクトリを使用するかを判断するには、図C-4に示すように、統合Excelワークブックの「バージョン情報」ダイアログから表示できる「ログ・ファイル」プロパティを確認します。

図C-4 常時有効なログ・ファイルのディレクトリの場所

ADFデスクトップ統合は、統合Excelワークブックで新しいセッションを開始するたびに、新しいログ・ファイルを作成します。ログ・ファイルには、adfdi-log-timestamp.txtというネーミング規則で名前が付けられます。timestampは統合Excelワークブックを起動した時刻です(例: adfdi-log-2015-11-25-191209.txt)。

注意:
ADFデスクトップ統合は、フォルダが特定のサイズに達したときに、フォルダ内の常時有効なログ・ファイルの最も古いものをパージします。

詳細は、My Oracle Support (https://support.oracle.com)でドキュメントID 2094378.1を検索すると入手できるドキュメントを参照してください。

C.5.3.2 1つのユーザー・セッションに対する一時的な詳細ロギングの有効化

エンド・ユーザーは、アクティブな統合Excelワークブックのメニューから詳細ロギングを有効にできます。ADFデスクトップ統合は、メニューからログ出力を有効にしたときに指定するディレクトリのファイルに詳細ログの情報を書き込みます。

このロギングを有効にするときにADFデスクトップ統合が作成するファイル名は、次の形式になります。

adfdi-log-timestamp.xml

timestampは、ロギングを有効にした時刻です。たとえば、adfdi-log-2015-11-24-145055.xmlです。

このロギングを有効にするために選択するメニュー・オプションは、使用しているMicrosoft Excelのバージョンに応じて異なります。図C-5に、Microsoft Excel 2013でのこのメニュー項目の場所を示します。

図C-5 詳細ロギングを有効にするExcelの「ファイル」メニュー

Microsoft Excelを終了すると、ADFデスクトップ統合はログ・ファイルへの情報の記録を停止します。

1つのユーザー・セッションに対して一時的な詳細ロギングを有効にするには:

1. WindowsメニューからMicrosoft Excelを起動しますが、詳細ログのデータをキャプチャする、問題の発生している統合Excelワークブックは開きません。

2. 図C-5に示すように、Excelの「Office」メニューまたは「ファイル」メニューから、「アドイン」 > 「ADFデスクトップ統合」 > 「ロギングの有効化」を選択します。

3. 選択した場所にログ・ファイルを保存するか、「ロギング・データの別名保存」ダイアログが提案したデフォルトのデスクトップの場所を使用します。後で参照できるように、ログ・ファイルの名前と場所をメモします。

4. 統合Excelワークブックを開き、詳細ログのデータをキャプチャする問題を再現するための手順を繰り返します。

5. 手順が完了したら、Microsoft Excelを終了できます。Microsoft Excelを終了すると、ADFデスクトップ統合はステップ3で作成したログ・ファイルへの詳細データの記録を停止します。

ヒント:
問題についてキャプチャした詳細なログ・データを含み、テクニカル・サポートに送信できる、ADFデスクトップ統合が動作する環境についての情報が記載された診断レポートを保存します。図C-5に示すように、Excelの「Office」メニューまたは「ファイル」メニューから、「アドイン」 > 「ADFデスクトップ統合」 > 「診断レポートを保存」を選択します。

詳細は、My Oracle Support (https://support.oracle.com)でドキュメントID 2094434.1を検索すると入手できるドキュメントを参照してください。

C.5.3.3 「Oracle ADF」タブのロギングの構成方法

図C-6に示すように、「Oracle ADF」タブは、設計モードとテスト・モードの両方で利用できるメニュー・オプションのロギング・グループを提供します。

図C-6 「Oracle ADF」タブのロギング・ツール

「ロギング」グループには次のボタンがあります。

- コンソール
統合Excelワークブックを開発およびテストしながら最新のログ・エントリを確認できる、ロギング・コンソール・ウィンドウを表示します。このコンソールには、コンソールが開いている間に記録されたエントリが表示されます。図C-7に示すロギング・コンソール・ウィンドウには、情報およびエラーのログ・エントリが表示されています。

このコンソールは、サイズ変更が可能でバッファ・サイズが64,000文字の非モーダル・ウィンドウです。バッファがいっぱいになると、古いエントリは削除されます。

図C-7 ロギング・コンソール・ウィンドウ

このダイアログには次のボタンがあります。

- レベルの設定: ログ出力レベルを設定する場合は、これをクリックします。このボタンをクリックすると、目的のログ出力レベルを選択できるロギング出力レベル・ダイアログが開きます。

- クリア: ログ・バッファをクリアする場合にクリックします。

- 閉じる: ダイアログを閉じる場合にクリックします。

注意:

一般的なロギング・コンソール・ウィンドウでは、開いているすべての統合Excelワークブックのエントリが記録されます。

- 出力レベルの設定
ログ出力のレベルを選択するよう求められます。表C-2に、クライアント・サイド・ロギングがサポートするログ・レベルを示します。ログ・レベルは、表C-2のリストの下方向に累積されます。つまり、InformationレベルにはCritical、ErrorおよびWarningレベルでログされたデータは含まれますが、Verboseレベルでログされたデータは含まれません。

図C-8 ロギング出力レベル・ダイアログ

表C-2 クライアント・サイド・ロギングのレベル

レベル

説明

Critical

クリティカルな情報を取得します。

Error

重度のエラーと例外に関する情報を取得します。

Warning

警告に関する情報を取得します。

Information

ライフ・サイクル・イベントとコントロール・フロー・イベントを取得します。これはデフォルト値です。

Verbose

アプリケーションの実行フローに関する詳細を取得します。

注意:

ログ出力のレベルは、指定されたロガーのすべてのリスナーに適用されます。

- ログ出力ファイルの追加
指定のファイルまたは形式にロギング出力を送るための、一時ロギング・リスナーを作成します。「新規一時ロギング出力ファイルの追加」ダイアログで、目的のファイル出力形式(テキストまたはXML)を選択し、ログ出力ファイルのパスとファイル名を指定します。

図C-9 新規一時ロギング出力ファイルの追加ダイアログ

一時リスナーは、現在のExcelセッションのロギング出力のみを送り、ADFデスクトップ統合の構成ファイルには登録されません。Excelを終了すると、一時リスナーは削除されます。

注意:

「ログ出力ファイルの追加」ボタンをクリックすると、新しいリスナーが作成されます。新しいリスナーによって、ADFデスクトップ統合の構成ファイルで定義された既存のリスナー、または他の一時リスナーは置換されません。

- 構成のリフレッシュ
ADFデスクトップ統合の構成ファイルをリロードします。ADFデスクトップ統合の構成ファイルによって、ADFデスクトップ統合アドインで記録される情報のレベルを決定できます。

ADFデスクトップ統合の構成ファイルの作成および構成の詳細は、「ADFデスクトップ統合の構成ファイルについて」を参照してください。

C.5.3.4 ADFデスクトップ統合の構成ファイルについて

ADFデスクトップ統合の構成ファイルは、adfdi-excel-addin.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つで、.xmlログ・ファイルが生成されます。このファイルでは、様々な情報(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.XmlWriterTraceListener"
name="adfdi-common-excel.xml"
initializeData="c:\logs\adfdi-common-excel.xml"
traceOutputOptions="ThreadId, ProcessId, DateTime"/>
</listeners>
</source>
</sources>
</system.diagnostics>
</configuration>

C.5.3.5 ユーザー環境変数を使用したロギングの構成方法

ADFデスクトップ統合の構成ファイルを格納するディレクトリにアクセスできないユーザーは、ユーザー環境変数の値を設定してログ・ファイルの保存場所とロギング・レベルを変更できます。ロギング・レベルとXMLログ・ファイルの場所を構成するための、2つのユーザー環境変数を追加できます。

詳細は、My Oracle Support (https://support.oracle.com)でドキュメントID 2012985.1を検索すると入手できるADFデスクトップ統合のログ・ファイルの入手方法に関するドキュメントを参照してください。

ヒント:
環境変数を構成する前に、必ずExcelを完全に終了してください。

Windowsでユーザー環境変数を追加または構成するには:

1. Windowsの「スタート」ボタン、「コントロール パネル」の順にクリックします。

2. 「コントロール パネル」で、「システム」、「システムの詳細設定」の順にクリックします。

3. 「システムのプロパティ」ダイアログの「詳細設定」タブで、「環境変数」をクリックします。

4. 「環境変数」ダイアログで「usernameのユーザー環境変数」入力フィールドの下方にある「新規」をクリックし、表C-3の説明に従って変数を追加します。

表C-3 ロギングを構成するためのユーザー環境変数

入力する変数の名前

指定する値

adfdi-common-file

ロギング情報を取得するXMLファイルのディレクトリ・パスおよびファイル名を定義する値。

ここで指定するディレクトリは、adfdi-common-file変数を追加する前に存在している必要があります。生成されるログ・ファイルはXML形式です。

adfdi-common-level

ロギングのレベルを指定する値。有効な値は表C-2を参照してください。

5. 「OK」をクリックします。

C.5.3.6常時有効なロギングに関する必知事項

adfdi-commonオブジェクトは、Microsoft .NET FrameworkのSystem.Diagnostics名前空間のTraceSourceクラスのインスタンスです。このオブジェクトを使用してログ・ファイルを生成すると、Fusion Webアプリケーションと統合するExcelワークブックでトリガーされるイベントの情報を取得できます。ログ・ファイルの場所を知るには、「情報」ダイアログの「プロパティ」タブの「ログ・ファイル」属性を確認します。

TraceSourceクラスの詳細は、Microsoft Developer Networkのドキュメントを参照してください。

D Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定

この付録では、Fusion Webアプリケーションでの使用を可能にするためにADFデスクトップ統合サーブレット(adfdiRemote)に対して設定する値について説明します。また、この付録では、ADFデスクトップ統合に同梱されているHTTPフィルタの動作を決めるデプロイメント・ディスクリプタ・ファイルの値について説明します。さらに、これらの値の使用例を示すデプロイメント・ディスクリプタ・ファイルからのコード例を提供します。

この付録の内容は次のとおりです。

- ADFデスクトップ統合サーブレットの構成

- ADFデスクトップ統合Excelダウンロード・フィルタの構成

- ADFデスクトップ統合のためのADFライブラリ・フィルタの構成

- デプロイメント・ディスクリプタ・ファイルの例

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

MW_HOMEはミドルウェア・ホーム・ディレクトリです。

「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

MW_HOMEはミドルウェア・ホーム・ディレクトリです。

エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードする前に、アプリケーションによってHTTPフィルタが起動されて統合Excelワークブックで変更が行われるように、Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)でエントリを構成します。この変更が行われることにより、エンド・ユーザーが開いたときに統合Excelワークブックが正しく機能します。HTTPフィルタは次の変更を行います。

- WebAppRoot
このプロパティの値を、エンド・ユーザーによる統合Excelワークブックのダウンロード元となるFusion Webアプリケーションの完全修飾URLに設定します。

- ワークブックのモード
統合Excelワークブックが誤って設計モードまたはテスト・モードのままになっている場合に、ワークブックのモードを実行時モードに変更します。

デフォルトでは、プロジェクトで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>)が表示されるようにしてください。

ADFデスクトップ統合対応Webアプリケーションは、エンド・ユーザーが統合Excelワークブックをダウンロードしようとしたときにエンド・ユーザーの環境を確認するシステム・チェックも表示できます。adfdiExcelDownloadフィルタのSystemCheck.Enabled初期化パラメータを構成することで、このシステム・チェックの表示を管理できます。詳細は、「エンド・ユーザーに対するシステム・チェックの表示を管理する方法」を参照してください。

D.3 ADFデスクトップ統合のためのADFライブラリ・フィルタの構成

「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」で説明されているように、モデルドリブン・リスト・ピッカーでは、WebアプリケーションのADFライブラリWebアプリケーション・サポート(<filter-name>ADFLibraryFilter</filter-name>)用のフィルタを構成する必要があります。

アプリケーションがADFライブラリ・フィルタを参照するように、Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)のエントリを構成します。

ADFライブラリWebアプリケーション・サポート・フィルタを構成する手順:

1. JDeveloperで、対象となるADFデスクトップ統合プロジェクトのデプロイメント・ディスクリプタ・ファイル(web.xml)を探して開きます。
通常、このファイルはプロジェクトのWEB-INFディレクトリにあります。

2. 「フィルタ」ページをクリックし、「追加」アイコンをクリックして「フィルタ」表に行エントリを作成します。
表D-10の説明に従って値を入力し、ADFライブラリWebアプリケーション・サポート・フィルタを構成します。

表D-10 ADFライブラリWebアプリケーション・サポート・フィルタを構成するためのプロパティ

プロパティ

入力する値

名前

ADFLibraryFilter

クラス

oracle.adf.library.webapp.LibraryFilter

表示名

(オプション)「一般フィルタ」タブで、JDeveloperに表示されるフィルタの表示名を入力します。

説明

(オプション)「一般フィルタ」タブで、フィルタの説明を入力します。

3. 「フィルタ」ページで「フィルタ・マッピング」タブ→「追加」アイコンをクリックして、「フィルタ・マッピング」表に行を作成します。
表D-11の説明に従って値を入力し、フィルタ・マッピングを追加します。

表D-11 フィルタ・マッピングを構成するためのプロパティ

プロパティ

入力する値

マッピング・タイプ

URLパターン

マッピング

/*

ディスパッチャ・タイプ

このプロパティには値は不要です。

4. デプロイメント・ディスクリプタ・ファイルを保存して、行った変更を適用するためにADFデスクトップ統合プロジェクトを再ビルドします。

web.xmlファイルでフィルタおよびフィルタ・マッピング情報を更新する際には、Fusion Webアプリケーションから統合Excelワークブックをダウンロードできるように、例D-1に示すように、adfdiExcelDownloadフィルタ・エントリの下にADFライブラリWebアプリケーション・サポート(<filter-name>ADFLibraryFilter</filter-name>)のフィルタが表示されるようにしてください。

例D-1 ADFライブラリWebアプリケーション・サポートのweb.xmlファイルのエントリ

<filter>
<filter-name>adfdiExcelDownload</filter-name>
<filter-class>oracle.adf.desktopintegration.filter.DIExcelDownloadFilter</filter-class>
</filter>
....
<filter>
<filter-name>ADFLibraryFilter</filter-name>
<filter-class>oracle.adf.library.webapp.LibraryFilter</filter-class>
</filter>
.....

D.4 デプロイメント・ディスクリプタ・ファイルの例

次の例は、ADFデスクトップ統合が含まれているFusion Webアプリケーションのweb.xmlファイルからの抜粋で、デスクトップ統合プロジェクト用に構成するエントリを示しています。フィルタの順序の詳細は、「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>
<filter-name>ADFLibraryFilter</filter-name>
<filter-class>oracle.adf.library.webapp.LibraryFilter</filter-class>
<init-param>
<param-name>include-extension-list</param-name>
<param-value>png,jpg,jpeg,gif,js,css,htm,html,xlsx,xlsm</param-value>
</init-param>
</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>
. . .
<filter-mapping>
<filter-name>ADFLibraryFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
. . .
<servlet>
<servlet-name>adfdiRemote</servlet-name>
<servlet-class>oracle.adf.desktopintegration.servlet.DIRemoteServlet</servlet-class>
</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に、文字列キーおよび対応する現在の英語の値を示します。1つ以上のキーにカスタム文字列を指定する場合は、表E-1の文字列キーおよび実行時に表示する値を定義するための、リソース・バンドルを作成します。予約済リソース・バンドルのオーバーライド方法は、「構成不可能なリソースのオーバーライド方法」を参照してください。

表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.

表のステータス

MESSAGE_DETAILS_ROW_TITLE

Row Status

表のステータス

MESSAGE_DETAILS_ROW_PROMPT

Messages for this table row are listed below

表のステータス

MESSAGE_DETAILS_TABLE_TITLE

Table Errors

表のステータス

MESSAGE_DETAILS_TABLE_PROMPT

Messages for this table are listed below

表のステータス

表のエラー

ワークシート・エラー

MESSAGE_DETAILS_HELP_LABEL

Click on each error to reveal additional information

エラー・リストに表示されます。

表のステータス

表のエラー

ワークシート・エラー

MESSAGE_LABEL_DEFAULT_CONTEXT

Action

ワークシート・エラー

MESSAGE_DETAILS_WORKSHEET_TITLE

Worksheet Errors

ワークシート・エラー

MESSAGE_DETAILS_WORKSHEET_PROMPT

Messages for this worksheet are listed below

ワークシート・エラー

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プリミティブ型

- Javaオブジェクト型

注意:

この付録に記載されていないデータ型を使用すると、実行時にエラーが生成されます。

F.1 Javaプリミティブ型

- boolean

- double

- float

- int

- long

- short

F.2 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ライブラリを使用する方法について説明します。

この付録の内容は次のとおりです。

- 一時行オブジェクトの概要

- ADFデスクトップ統合モデルAPIの概要

- 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で使用できるクラスおよびメソッドの詳細は、「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 エンド・ユーザーのアクション

この付録では、ADFデスクトップ統合のインストール、統合Excel以外のワークブックからのデータのインポート、実行時のワークブックの変更、ワークブックでの日付/時刻の値のタイム・ゾーン変換の処理など、Fusion Webアプリケーションおよび統合Excelワークブックの使用時にエンド・ユーザーが実行するアクションについて説明します。

この付録の対象読者は、実行時の統合Excelワークブックのエンド・ユーザーです。この付録では、対象読者はこれらのエンド・ユーザーを指します。

この付録の内容は次のとおりです。

- ADFデスクトップ統合のインストール、アップグレードおよび削除

- 個人情報の削除

- 実行時の統合Excelワークブックの制限

- 統合Excelワークブックの使用

- タイム・ゾーン変換の処理

- テクニカル・サポートへの診断とロギングの情報の提供

H.1 ADFデスクトップ統合のインストール、アップグレードおよび削除

ADFデスクトップ統合は、Fusion Webアプリケーションからインストーラ・ファイルをダウンロードすることでインストールできます。システム管理者は、「ADFデスクトップ統合のインストールおよびアップグレード」の説明に従って、このインストーラを利用可能にできます。インストーラを実行すると、必要なソフトウェアがシステムにインストールされているかどうかが検証されます。必要なソフトウェアの詳細は、「必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア」を参照してください。

注意:

ADFデスクトップ統合のインストールにJDeveloperは不要です。

H.1.1 システムへのADFデスクトップ統合のインストール方法

初めて統合ExcelワークブックをFusion Webアプリケーションからダウンロードしようとすると、ADFデスクトップ統合がシステム・チェックを実行して、システムが統合Excelワークブックを実行するための要件を満たしていることを確認します。ADFデスクトップ統合は、図H-1に示すように「アドインのインストール」ボタンをクリックするとインストールできます。

図H-1 ADFデスクトップ統合のインストール

システム管理者が無効にしているなどの理由により、システム・チェックが表示されない場合でも、Fusion WebアプリケーションからインストーラをダウンロードしてADFデスクトップ統合をインストールできます。URLを特定できない場合は、システム管理者にお問い合せください。URLの書式は、次のとおりです。

http://<hostname>:<portnumber>/<context-root>/adfdiRemoteServlet?excel-addin-installer
たとえば、会社のシステム管理者が、ポート7101を使用するacme-corp-intranetという名前のアプリケーション・サーバーにADFデスクトップ統合のSummitサンプル・アプリケーションをデプロイしたとします。このシナリオでは、Webブラウザに次のURLを入力してインストーラ・ファイルをダウンロードします。

http://acme-corp-intranet:7101/summit/adfdiRemoteServlet?excel-addin-installer
ADFデスクトップ統合をインストールする手順:

1. adfdi-excel-addin-installer.exeファイルをダウンロードしたら、実行します。

2. インストール・ウィザードで、「インストール」をクリックします。

ダイアログ・ボックスに表示される手順に従い、必要なコンポーネントを正しくインストールします。インストール処理中にエラーが発生した場合、説明が記載されたエラー・メッセージが表示され、インストールがロールバックされます。詳細は、ユーザー・プロファイルのtempディレクトリにあるadfdi-installer-log.txtエラー・ログ・ファイルを確認してください。

3. 「閉じる」をクリックします。

H.1.2 ADFデスクトップ統合の削除方法

Microsoft Windowsの「コントロール パネル」を使用して、ADFデスクトップ統合をシステムから削除します。

ADFデスクトップ統合のアドインを削除するには:

1. Windowsの「スタート」ボタンをクリックして、「コントロール パネル」を選択します。

2. 「コントロール パネル」で、「プログラムと機能」を選択して開きます。

3. 「プログラムのアンインストールまたは変更」ウィンドウで「Oracle ADF Desktop Integration 12c Add-in for Excel」を選択して「アンインストール」をクリックします。

注意:

具体的な手順は、ご使用のWindowsのバージョンによって異なる場合があります。詳細は、Windowsのドキュメントを参照してください。

H.1.3 ローカル・システムのADFデスクトップ統合のアップグレード方法

ランタイム統合ワークブックからFusion Webアプリケーションへの接続を確立すると、ADFデスクトップ統合では、クライアントとサーバーのバージョンが同じであるか確認されます。バージョンが一致しない場合は、サーバー・バージョンと一致するクライアント・バージョンにアップグレードするように求めるメッセージが表示されます。現在のセッションではこのアップグレードをスキップして、「後で通知」ドロップダウン・リストから選択した時間(「来週」など)に後から通知するよう選択できます。

注意:

統合Excelワークブックで予期しない動作やエラーを回避するために、サーバー・バージョンと一致するクライアント・バージョンを使用することを強くお薦めします。

新しいバージョンのクライアントがあるかどうかは、いつでもチェックできます。これを行うには、図H-2に示すように、Fusion Webアプリケーションとのセッションを確立して、統合Excelワークブックの「情報」ダイアログの「更新の確認」リンクをクリックします。次に、現在のクライアントとサーバーのバージョンを表示するダイアログが表示されます。ダイアログでは、バージョンが一致していない場合に新しいクライアント・バージョンをインストールすることもできます。

図H-2 「更新の確認」リンク

アップグレード・プロセスの詳細は、「ADFデスクトップ統合のクライアント・バージョンの確認」を参照してください。

H.2 個人情報の削除

アプリケーション開発者がExcelワークブックと統合したFusion Webアプリケーションで、シングル・サインオンなどのセキュリティ・メカニズムを使用する場合、統合ExcelワークブックにアクセスするシステムのCookieに、個人識別情報を格納できます。この情報は、Microsoft Internet Explorerを使用して削除できます。アクティブなCookieベースのWebセッションをすべて無効にするために、ログアウトしてすべての統合Excelワークブックを閉じる必要があります。

個人情報の削除の詳細は、Microsoft Internet Explorerのドキュメントを参照してください。

H.3 実行時の統合Excelワークブックの制限

ADFデスクトップ統合コンポーネントの実行時の変更には、既知の制限があります。

- ADF表コンポーネントでレンダリングしたワークシートの列でExcelの切取り/挿入操作を使用すると、以降のコンポーネントとのやり取りで予期しない結果が生成されることがあるため、この操作は避けてください。

- 予期しない結果が生成され、列のグループ化に影響を与える可能性があるため、ADF表コンポーネントの列グループでレンダリングした列の移動または削除は避けてください。

その他の既知の制限:

- Excelの「条件付き書式」機能は、ADFデスクトップ統合の表コンポーネントでは効果的に使用できません。

- 統合Excelワークシートで拡大または縮小を行うと、ADFボタン・コンポーネントは無効になります。ADFボタン・コンポーネントがアクティブになるのは、ズームが100%の場合のみです。

- 依存値リストを含む表はソートしないようにしてください。

- Microsoft Excelの「元に戻す」または「やり直し」コマンドを使用して、ADFデスクトップの使用中に行った変更を元に戻したり、やり直したりすることはできません。

- Excelの変更追跡およびワークブックの共有の機能は、ADFデスクトップ統合と互換性がありません。これらのExcel機能と統合Excelワークブックを一緒に使用することはできません。

- セッションまたはページがタイムアウトしたか、有効期限が切れたポップアップ・ダイアログでWebページを表示中にメッセージが表示された場合は、アクションを完了せずにポップアップ・ダイアログを閉じ、アクションを再試行してください。

H.4 統合Excelワークブックの使用

ADFデスクトップ統合テクノロジおよび統合Excelワークブックを初めて使用する場合は、次に示す一般的なアクションについて理解しておく必要があります。

- 変更をアップロードする前に、変更されたすべての行の「変更済」列に、上向き三角形のマークが付いていることを確認してください。上向き三角形をダブルクリックすると、このマークが削除され、関連する行のデータはアップロードされません。

- 表のキー列のいずれのセルも、削除、編集またはクリアしないでください。これらの値を変更すると、アップロードの失敗およびデータの破損につながる可能性があります。

- Excelの「シートの保護」または「ブックの保護」の設定を変更しないでください。これらの設定は、「校閲」タブの「変更」グループに含まれています。

- Webアプリケーションと統合されているセルから値を消去するには、Excelのセルを削除するのではなく、セルの値をクリアします。

- Fusion Webアプリケーションがhttpsプロトコル上で実行されていて、クライアントにセキュリティ証明書をインストールしていない場合、統合Excelワークブックではログイン時にエラーが発生し、接続は確立されません。接続を確立するには、セキュリティ証明書をインストールする必要があります。Excelから証明書をインストールできない場合は、Internet Explorerを開いて同じWebサイトにナビゲートします。証明書のインストールを求めるプロンプトが表示されます。

- 一部のADFコンポーネントに含まれるセルが、ダブルクリックに反応してアクションを実行するように構成されていることがあります。ADF表コンポーネントの「ステータス」列のセルは、その一例です。これらのセルを右クリックして、「処理の起動」を選択することもできます。

- テキスト・スタイルで書式設定されているセルの数値または日付値の書式が、データのアップロード時にExcelで保持されるようにするには、値を入力する前にアポストロフィ記号(')を追加します。アポストロフィ記号はエスケープ文字として機能するため、値と一緒に表示されません。

- 統合Excelワークブックを開いてから変更を行っていない場合でも、これを閉じようとすると、ワークブックを保存するためのダイアログがMicrosoft Excelによって表示されます。これは予測どおりの動作であり、統合Excelワークブックを開くたびに、ADFデスクトップ統合によって変更が行われることに起因します。

行の挿入または削除、ADF表のデータのソートなどの一般的なアクションについては、後続の項で説明します。

H.4.1 ADF表コンポーネントでの行の挿入または貼付け方法

ADF表コンポーネントの中央に行を挿入する際には、ワークシートの行全体を挿入し、すべての必須列にデータを追加します。詳細は、「ADF表コンポーネントでのデータの挿入」を参照してください。

別のExcelワークブック(例: 統合Excel以外のワークブック)で管理するデータをADF表コンポーネントに貼り付けることもできます。

別のワークシートからADF表コンポーネントの行にデータを貼り付ける手順:

1. 統合ExcelワークブックのADF表コンポーネントのレイアウトと一致するように、データのコピー元のExcelワークブックにデータを配置します。
たとえば、データを入力するADF表コンポーネントの最初の列が列Dの場合、列Dを、Excelワークブックでデータを配置する最初の列にします。また、ADF表コンポーネントで指定するすべての必須列にデータを指定してください。

2. Excelワークブックで、データの行をコピーします。

3. コピーした行をADF表コンポーネントの中央に貼り付ける手順:

a. Excelワークブックからデータを貼り付ける位置の下の行全体を選択します。

b. 行を選択した状態で右クリックし、「コピーしたセルを挿入」を選択します。

c. 「挿入貼付け」ダイアログが表示されたら、「下方向にシフト」を選択します。

4. コピーした行をADF表コンポーネントの最後の行の後ろに貼り付ける手順:

a. Excelワークブックからデータを貼り付ける位置の下の行全体を選択します。

b. 行を選択した状態で右クリックし、「コピーしたセルを挿入」を選択します。

ADF表コンポーネントのヘッダーと最後の行の間に行を挿入する手順:

1. ADF表コンポーネントで、新しい行の挿入位置の下の行全体を選択します。

2. 行を選択した状態で右クリックし、「挿入」を選択します。
選択した行の上に、新しい行が挿入されます。

ADF表コンポーネントの最後の行の後ろに行を挿入する手順:

1. ADF表コンポーネントの最後の行のすぐ後ろの空の行にデータを入力します。
ADF表コンポーネントによって、編集した行がADF表コンポーネントの行に自動的に変換されます。

注意:

- ADF表にデータ行がない場合は、列ヘッダー行の下の最初の行がプレースホルダ・データ行として機能します。

- ADFデスクトップ統合のワークシート保護が有効化(Protection.ModeプロパティがAutomaticに設定)されている場合、表のデータ行の下にデータを直接入力することはできません(「ワークシート保護の使用」を参照)。この保護を個々のセルまたは行ごとに無効化するには、Excelの「セルの書式設定」コンテキスト・メニューから「セルの書式設定」ダイアログにアクセスし、「保護」ページで「ロック」チェック・ボックスを選択解除します。

H.4.2 統合ExcelワークブックのADF表のデータをソートする方法

表のデータをソートするには、Excelの「並べ替えとフィルタ」コマンドを選択します。

特定の列を基準にADF表のデータをソートするには:

1. ソートする列のヘッダーまたは任意のセルを選択します。

2. 「ホーム」タブの「編集」グループで、「並べ替えとフィルタ」をクリックします。ドロップダウン・リスト・オプションから、目的のソート順序を選択します。

複数の列を基準に表のデータをソートするには:

1. 表の任意のセルを選択します。

2. 「ホーム」タブの「編集」グループで、「並べ替えとフィルタ」をクリックして「ユーザー設定の並べ替え」選択します。

3. 「並べ替え」ダイアログで列を追加し、その優先順序を設定します。「先頭行をデータの見出しとして使用する」チェック・ボックスが選択されていることを確認してください。

4. 「OK」をクリックします。

注意:

ADF表コンポーネントで列をソートする場合は、表のすべての行のデータの整合性を維持するために、プロンプトが表示された場合にソートの警告ダイアログで必ず選択を展開を選択します。

H.4.3 統合ExcelワークブックのADF表の行を削除する方法

行のセルの値をクリアしても行は削除されず、Excelワークシートから行を削除しても、その行はWebアプリケーションから削除されません。

ADF表コンポーネントの行を削除するには、「フラグ付き」列の各セルをダブルクリックして行にフラグを付け、それぞれの削除ボタンをクリックします。行のフラグ付けの詳細は、「ADF表コンポーネントでの行のフラグ付け」を参照してください。

注意:

表に「フラグ付き」列が含まれていない場合、その表から列を削除することはできません。

H.5 タイムゾーン変換の処理

日時を表すデータ値の取得、編集および送信を実行できるように、統合Excelワークブックを構成できます。システム・タイムゾーンの変更時に日時データを管理するための固有のサポートがExcelには用意されていないため、ADFデスクトップ統合は、ワークブックのタイムゾーンの変更を追跡し、検出します。ワークブックを開いたときにタイム・ゾーンの更新を通知し、その後、ワークブックの日時データをシステムの現在のタイム・ゾーン設定に変換します。

たとえば、アリゾナ(GMT -07:00)にいる場合、サーバーから統合Excelワークブックへデータをダウンロードし、ワークブックの日時データを編集して保存したものの、アップロードしなかったとします。後で、ソウルに移動して、コンピュータのタイム・ゾーン・プリファレンスをGMT +09:00に変更します。このソウルのタイム・ゾーンに変更した後、ワークブックを開き、メッセージを受信すると、ADFコンポーネントのすべての日時データの値がGMT -07:00(アリゾナ)からGMT +09:00(ソウル)に変換されます。

H.6 テクニカル・サポートへの診断とロギングの情報の提供

ADFデスクトップ統合は、統合Excelワークブックの利用中に発生した技術的な問題を解決する、または、解決に役立つ情報を生成できる機能やツールをいくつか提供します。次のものが含まれます。

- 環境が適切に構成され、場合によっては特定した問題を修正できるクライアント・ヘルス・チェック・ツール。クライアント・ヘルス・チェック・レポートを生成し、場所を選択して保存することもできます。

- 統合Excelワークブックを使用するときにADFデスクトップ統合が自動的にキャプチャするロギング情報。

- 統合Excelワークブックから生成できる診断レポートと詳細なログ・レポート・ファイル。

クライアント・ヘルス・チェック・レポート、デフォルトのログ・ファイル、詳細なログ・ファイルと診断レポートには、テクニカル・サポート部門が発生した問題を解決するときに役立つ情報が含まれている可能性があります。これらのレポートをサード・パーティに送信する前に、共有が望ましくない機密情報があれば、それらを削除します。

クライアント・ヘルス・チェック・ツール

クライアント・ヘルス・チェック・ツールは、統合ExcelワークブックとADFデスクトップ統合を利用するために環境が正しく構成されているかどうかを判断するために使用します。ツールは実行可能ファイル(.EXE)であり、ADFデスクトップ統合対応Fusion Webアプリケーションからダウンロードします。ダウンロード用のURLを特定できない場合は、システム管理者にお問い合せください。URLの書式は、次のとおりです。

<protocol>://<hostname>:<portnumber>/<context-root>/adfdiRemoteServlet?excel-addin-health-check

たとえば、会社のシステム管理者が、ポート7101を使用するacme-corp-intranetという名前のアプリケーション・サーバーにADFデスクトップ統合のSummitサンプル・アプリケーションをデプロイしたとします。このシナリオでは、Webブラウザに次のURLを入力してクライアント・ヘルス・チェック・ツールをダウンロードします。

http://acme-corp-intranet:7101/summit/adfdiRemoteServlet?excel-addin-health-check

また、<protocol>://<hostname>:<portnumber>/<context-root>/adfdiRemoteServletで表示される「クライアント・ヘルス・チェック・ツールの実行」のリンクをクリックして、ツールをダウンロードすることもできます。

ClientHealthCheck.exeファイルをダウンロードしたら、実行して環境のレポートを生成します。

図H-3に、エンド・ユーザーがクライアント・ヘルス・チェック・ツールで「問題の修正」をクリックして、現在無効になっているアドインを有効にし、クライアント・ヘルス・チェック・ツールが生成するレポートを保存する様子を示します。

図H-3 クライアント・ヘルス・チェック・ツール

統合Excelワークブックが自動的に生成するログ・ファイルを探す

デフォルトで、ADFデスクトップ統合は、統合Excelワークブックを開いて使用するたびに、マシン上のディレクトリにログ・ファイルを作成します。このログ・ファイルは、ワークブックの名前、ワークブックを使用して実行したアクションなど、統合Excelワークブックに関する情報をキャプチャします。ADFデスクトップ統合は、これらのログ・ファイルに名前を付けるときに、ネーミング規則adfdi-log-timestamp.txtを使用します。timestampは、統合Excelワークブックを開いた時間です。次のリストに、ADFデスクトップ統合がディレクトリに作成したログ・ファイルをいくつか示します。

adfdi-log-2015-11-25-191209.txt
adfdi-log-2015-11-25-214526.txt
adfdi-log-2015-11-25-185635.txt
adfdi-log-2015-11-24-140541.txt
adfdi-log-2015-11-24-103238.txt
adfdi-log-2015-11-23-232952.txt

ADFデスクトップ統合がログ・ファイル情報の格納にマシンのどのディレクトリを使用するのかを判断するには、図H-4に示すように、統合Excelワークブックの「バージョン情報」ダイアログから表示できる「ログ・ファイル」プロパティを確認します。

図H-4 ログ・ファイルのディレクトリの場所

診断レポートと詳細なログ・ファイルの生成

診断レポートは、Microsoft WindowsのバージョンやADFデスクトップ統合アドインのバージョンなど、様々な情報を含むテキスト・ファイル(.TXT)です。詳細なログ・ファイルは、統合Excelワークブックの使用中に実行するアクションや発生するイベントについて、デフォルトのログ・ファイルよりも詳細な情報をキャプチャするXMLファイルです。問題が発生したら、ロギングを有効にしてタスクをやり直し、問題を再現します。ADFデスクトップ統合は、ロギングを有効にしたときに作成したログ・ファイルに情報を記録します。Microsoft Excelを終了すると、ADFデスクトップ統合は図H-5に示す「ロギングの有効化」メニュー・オプションを使用してもう一度有効にするまで、詳細なロギングを停止します。

診断レポートの生成とロギングの有効化には同じメニューを使用します。このメニューの場所は、使用するMicrosoft Excelのバージョンによって異なります。図H-5に、Microsoft Excel 2013でのこのメニュー項目の場所を示します。

図H-5 ロギングの有効化と診断レポートの保存のメニュー

オラクルの法律上の注意点について

コピーライトについて

Copyright © 1994-2016, Oracle and/or its affiliates.All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクルまでご連絡ください。

制限付権利について

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

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 Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

アルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のアルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが非公開の試作版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のベータ・トライアル契約のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle PartnerNetwork Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティについて

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、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を参照してください。