Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド

11gリリース2 (11.1.2.2.0)

B66718-02(原本部品番号:E16180-03)

目次

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

はじめに

- 対象読者

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

- 関連ドキュメント

- 表記規則

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

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

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

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

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

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

- 2.1 Master Price Listモジュールについて

- 2.2 Master Price Listモジュールの設定および実行

- 2.3 Master Price ListモジュールでのFusion Webアプリケーションの概要

- 2.3.1 Master Price ListモジュールでのFusion Webアプリケーションへのログオン

- 2.3.2 Master Price ListモジュールでのFusion Webアプリケーションの概要

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

- 2.4 Master Price Listモジュールでの統合Excelワークブックの概要

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

- 2.4.2 製品価格についてのデータ行のダウンロード

- 2.4.3 ワークブック内の製品の単純検索

- 2.4.4 Edit Price Listワークブック内の製品の拡張検索

- 2.4.5 Edit Price Listワークブック内の製品価格情報の変更

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

3  開発環境の設定

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

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

- 3.3 Microsoft .NETプログラミング・サポートの有効化

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

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

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

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

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

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

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

- 3.9 Visual Studio Tools for Officeの設定のローカライズ

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

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

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

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

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

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

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

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

- 4.2.4.2 IBM WebSphere Application ServerへのWebアプリケーションのデプロイ

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

- 4.3.1 統合Excelワークブックのページ定義ファイルの作成方法

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

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

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

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

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

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

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

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

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

5 開発ツールの使用

- 5.1 開発ツールについて

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

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

- 5.2 「Oracle ADF」タブ

- 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 セルのコンテキスト・メニューの使用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- 7.7 ADF表コンポーネントに挿入前のデータをダウンロードするためのワークシートの構成

- 7.7.1 ADF表コンポーネントに挿入前のデータをダウンロードするためのワークシートの構成方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- 7.12.1 キー列の構成方法

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

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

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

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

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

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

- 7.15.1 動的な列の構成方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- 8.5 Webページ・ピッカー・ダイアログからのADF表列への値の挿入

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

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

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

- 8.7 統合Excelワークブックへのフォームの追加

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

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

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

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

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

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

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

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

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

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

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

- 8.10.1 Excel式により生成された値を表示する列の作成方法

- 8.10.2 実行時の処理: 列でのExcel式の値の表示

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

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

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

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

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

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

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

- 9.2 スタイルの使用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- 10.2.2 予約済リソース・バンドルからの文字列キー値の置換方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- 11.3.3 ADFデスクトップ統合クライアント・レジストリで不足したエントリを許可する方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- C.4 Excelワークブックの構成のエクスポート

- C.5 ADFデスクトップ統合の一般的な問題

D ワークブック管理ツールの使用

- D.1 ワークブック管理ツールの使用

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

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

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

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

F 上書き可能なリソースの文字列キー

G ADFデスクトップ統合でサポートされているJavaデータ型

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

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

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

- H.2.1 ADFデスクトップ統合モデルAPIライブラリをJDeveloperプロジェクトに追加する方法

- H.3 ADFデスクトップ統合モデルAPIクラスとメソッド

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

- H.3.1.1 getAdfdiTempChildRowメソッド

- H.3.1.2 getAdfdiTempRowForViewメソッド

- H.3.1.3 getChildViewDefメソッド

I エンド・ユーザー・アクション

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

- I.2 統合Excelでないワークシートからのデータのインポート

- I.3 個人情報の削除

- I.4 実行時の統合Excelワークブックの変更

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

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

- I.6.1 統合ExcelワークブックのADF表コンポーネントへの行の挿入方法

- I.6.2 統合ExcelワークブックでのADF表データのソート方法

- I.6.3 統合ExcelワークブックのADF表での行の削除方法

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

Oracle® Fusion Middleware

Oracle Application Development Frameworkデスクトップ統合開発者ガイド

11gリリース2 (11.1.2.2.0)

B66718-02(原本部品番号:E16180-03)

2012年4月

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

Oracle Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド 11g リリース2(11.1.2.2.0)

B66718-02

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

原本著者: Himanshu Marathe

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

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

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

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007).Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、このソフトウェアまたはハードウェアを安全に使用するために、適切な安全装置、バックアップ、冗長性(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 Application Development Frameworkデスクトップ統合開発者ガイド』へようこそ。

対象読者

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

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

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

Oracleサポートへのアクセス

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

関連ドキュメント

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

- 『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』

- 『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』

表記規則

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

規則

意味

太字

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

イタリック

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

固定幅フォント

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

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

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

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

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

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

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

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

ADFデスクトップ統合は、Oracle ADFアーキテクチャの一部です。Oracle ADFアーキテクチャの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework開発者ガイド』のOracle ADFアーキテクチャに関する項を参照してください。

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

- ADFデスクトップ統合

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

- ADFモデル・レイヤー

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

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

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

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

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

注意:

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

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

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

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

使用ツール

プロセス

JDeveloper

Fusion Webアプリケーションを作成します。

Fusion Webアプリケーションの作成の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。

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

Excelで使用するOracle ADFバインディングを公開するページ定義ファイルを作成します。

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

Excel

Oracle ADF機能で構成するExcelワークブックを作成します。

詳細は、4.2項「Fusion Webアプリケーションへの統合Excelワークブックの追加」を参照してください。

ページ定義ファイルで公開したOracle ADFバインディングと、ADFデスクトップ統合で提供されるOracle ADFコンポーネントを使用して、Excelワークブックを構成します。

詳細は、次の項と章を参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- 2.1項「Master Price Listモジュールについて」

- 2.2項「Master Price Listモジュールの設定および実行」

- 2.3項「Master Price ListモジュールでのFusion Webアプリケーションの概要」

- 2.4項「Master Price Listモジュールでの統合Excelワークブックの概要」

2.1 Master Price Listモジュールについて

Master Price Listモジュールを使用すると、エンド・ユーザーはストアフロント・タイプのWebアプリケーションを通じて販売される電子機器に関する情報(製品名、価格など)をダウンロードできます。エンド・ユーザーはダウンロード可能な情報を検索したり、価格情報の変更、および変更された情報のFusion Webアプリケーションへのアップロードを行うことができます。

Master Price Listモジュールを設定して実行する前に、開発環境を設定してください。開発環境を設定した後に、Master Price Listモジュールを含むFusion Order Demoアプリケーションをダウンロードできます。

2.2 Master Price Listモジュールの設定および実行

Master Price Listモジュールを実行できるように、第3章「開発環境の設定」の説明に従って開発環境を設定します。

開発環境を設定したら、Master Price Listモジュールを含むFusion Order Demoアプリケーションをダウンロードします。Fusion Order Demoアプリケーションのダウンロードの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のアプリケーション・リソースのダウンロード方法に関する項を参照してください。

Fusion Order Demoアプリケーションには、Infrastructureというディレクトリがあります。このディレクトリには、Fusion Order DemoアプリケーションとMaster Price Listモジュールが必要とするユーザーおよびデータを作成するスクリプトが含まれています。これらのスクリプトの実行方法の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のFusion Order Demoスキーマのインストール方法に関する項を参照してください。

注意:

旧バージョンのADFデスクトップ統合がシステムにインストールされている場合、次の作業を行います。

1. ADFデスクトップ統合のアップグレード(詳細は3.7項「ADFデスクトップ統合のアップグレード」を参照)

2. Fusion Order Demoスキーマのリフレッシュ(詳細は『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のFusion Order Demoスキーマのインストール方法に関する項を参照)

Master Price Listモジュールを実行するには:

1. JDeveloperでMasterPriceList.jwsファイルを開きます。
このファイルは、Fusion Order Demoアプリケーションの抽出先ディレクトリのMasterPriceListサブディレクトリにあります。

2. アプリケーション・ナビゲータで、「アプリケーション・リソース」アコーディオン・タイトルをクリックしてウィンドウを展開します。

3. 「アプリケーション・リソース」ウィンドウで、「接続」→「データベース」→「FOD」を選択します。

4. FOD接続を右クリックして、「プロパティ」を選択します。

5. 「データベース接続の編集」ダイアログで、使用する環境の表2-1にある接続情報を変更します。

表2-1 Master Price Listモジュールのデータベース接続プロパティ

プロパティ

説明

ホスト名

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

localhost

JDBCポート

データベースのポート。例:

1521

SID

データベースのSID。例:

ORCLまたはXE

ユーザー名とパスワードfod/fusionは変更しないでください。これらはそのままにしておく必要があります。「接続のテスト」をクリックしてエラー・メッセージが表示された場合は、メッセージを無視します。

「OK」をクリックして、ダイアログを閉じます。

6. アプリケーション・ナビゲータで、「プロジェクト」・アコーディオン・タイトルをクリックしてウィンドウを展開します。

7. 「モデル」を右クリックして、Model.jprのリビルドを選択します。

8. ViewControllerを右クリックして、ViewController.jprのリビルドを選択します。

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

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

11. 「開始ビュー・アクティビティの選択」ダイアログで、「ログイン」を選択して「OK」をクリックします。

12. 「ログイン」ページで、「ユーザー名」フィールドにsking、「パスワード」フィールドにwelcome1とそれぞれ入力します。マネージャとしてログオンするには、「ユーザー名」フィールドにahunold、「パスワード」フィールドにwelcome1とそれぞれ入力します。ユーザーの詳細は、2.3.1項「Master Price ListモジュールでのFusion Webアプリケーションへのログオン」を参照してください。
2.3.3項「統合Excelワークブックのダウンロード」の説明に従って、統合Excelワークブックをダウンロードできます。 2.4章「Master Price Listモジュールでの統合Excelワークブックの概要」の説明にあるように、ワークブックを開いてMaster Price ListモジュールがデプロイされるFusion Webアプリケーションに接続します。

2.3 Master Price ListモジュールでのFusion Webアプリケーションの概要

Master Price ListモジュールのFusion Webアプリケーションを使用すると、エンド・ユーザーは製品のリストを編集して検索したり、製品の検索や統合Excelワークブックのダウンロード、列のソートおよび再順序付けなどが行えます。

2.3.1 Master Price ListモジュールでのFusion Webアプリケーションへのログオン

エンド・ユーザーがJDeveloperでMaster Price List Fusion Webアプリケーションを実行する際、Master Price ListモジュールがOracle WebLogic Serverにデプロイされた後にデフォルトのブラウザでログイン・ページが開きます。

図2-1 Master Price List Fusion Webアプリケーションのログイン・ダイアログ

Master Price Listモジュールには、Fusion Webアプリケーションにログオンするための2つのユーザー・プロファイルがあります。表2-2は、両方のユーザー・プロファイルの概要です。

表2-2 Master Price Listモジュールのユーザー・プロファイル

ログイン名

パスワード

ロール

説明

sking

welcome1

管理者

情報にアクセスして変更できます。

ahunold

welcome1

マネージャ

情報にアクセスできますが、変更はできません。

ログインの資格証明が検証された後、エンド・ユーザーはMaster Price List Fusion Webアプリケーションのホーム・ページにリダイレクトされます。

2.3.2 Master Price ListモジュールでのFusion Webアプリケーションの概要

Master Price List Fusion Webアプリケーションは、製品の検索、一致する製品、製品の詳細、アクティブなディスカウントの4つのウィンドウに分けられます。

図2-2 Master Price List Fusion WebアプリケーションのWebインタフェース

製品の検索ウィンドウは、アプリケーション・リポジトリ内の製品を検索するタブがあります。製品の検索ウィンドウはアコーディオン型のウィンドウで、必要に応じて非表示にすることができます。

一致する製品ウィンドウには、製品の検索ウィンドウで設定した検索条件に応じて、製品が表形式で表示されます。デフォルトではすべての製品が表示されます。エンド・ユーザーは、一致する製品ウィンドウのツールバーを使用して、統合Excelワークブックのダウンロードや、昇順または降順による列のソート、列を非表示にするなど、様々な処理を行えます。

製品の詳細ウィンドウには、一致する製品ウィンドウで選択した製品の詳細な情報が表示されます。表で使用可能な属性の情報や、製品の仕入先、製品の現在の在庫状況、グラフによる各月の製品の販売といった補足情報が含まれます。

アクティブなディスカウント・ウィンドウは、独立したウィンドウです。使用可能な製品のディスカウントやディスカウントのコード、割引率が表示されます。

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

Master Price Listモジュールには、異なる要件を満たすために様々な統合Excelワークブックが用意されています。エンド・ユーザーは、ツールバーのExcelメニューから統合Excelワークブックをダウンロードできます。

図2-3 一致する製品ツールバーのExcelメニュー

表2-3で各メニュー・オプションについて説明します。

表2-3 Excelダウンロード・メニューのオプション

メニュー・オプション

説明

読取り専用のスプレッドシートとしてエクスポート

すべての製品表データをスプレッドシートにエクスポートします。このスプレッドシートは、統合Excelワークブックではありません。

エクスポートされたファイルは、read_only_pricelist.xlsとして保存されます。

ライブ・スプレッドシートを使用して編集

共通データの編集および更新を可能にする統合Excelワークブックをダウンロードします。

ダウンロードされたファイルは、EditPriceList.xlsxとして保存されます。

拡張ライブ・スプレッドシートを使用して編集

すべてのデータの編集および更新を可能にする統合ワークブックをダウンロードします。

ダウンロードされたファイルは、AdvEditPriceList.xlsxとして保存されます。

ライブ・スプレッドシートを使用して表示および問合せ

すべての製品の表示、および必要に応じて製品の検索を可能にする統合ワークブックをダウンロードします。この統合Excelワークブックでは、データの編集や更新はできません。

ダウンロードされたファイルは、ReadOnlyPriceList.xlsxとして保存されます。

2.4 Master Price Listモジュールでの統合Excelワークブックの概要

Master Price Listモジュールには、EditPriceList.xlsx、AdvEditPriceList.xlsx、ReadOnlyPriceList.xlsxという統合Excelワークブックが用意されています。すべてのワークブックは、エンド・ユーザーが次のことを実行できるようにします。

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

- 製品価格に関するデータ行のダウンロード

- ワークブックでの製品価格情報の検索

さらに、EditPriceList.xlsxとAdvEditPriceList.xlsxのワークブックを使用して、エンド・ユーザーは次のことができます。

- Master Price ListモジュールのFusion Webアプリケーションでの製品および製品価格情報の検索

- ワークブックでの製品価格情報の変更

- Excel式を使用したADF表コンポーネント内の値の計算の実行

- 変更した製品価格情報のワークブックからMaster Price ListモジュールFusion Webアプリケーションへのアップロード

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

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

実行時には、Master Price Listモジュールの統合Excelワークブックで、Excelリボン・タブがレンダリングされ、エンド・ユーザーはこれを使用してFusion Webアプリケーションにログオンできます。図2-4は、EditPriceList.xlsxワークブックのリボンにある実行時のFusion Order Demoタブを示します。

図2-4 実行時のFusion Order Demoタブ

EditPriceList.xlsxワークブックでは、エンド・ユーザーが「ログイン」をクリックするか、Fusion Webアプリケーションへの接続が必要なアクションを起動すると、Fusion Webアプリケーションにログオンするようにプロンプトが表示されます。EditPriceList.xlsxワークブックのワークシートStartupイベントはADF表コンポーネントのDownloadアクションを起動するため、エンド・ユーザーはEditPriceList.xlsxワークブックを起動した直後にログオンするよう求められます。

「ログイン」ボタンは、ワークブックのLoginアクションを起動します。「ログイン」ボタン(および図2-4の他のボタン)の構成の詳細は、8.3項「実行時リボン・タブの構成」を参照してください。

ワークブックのLoginアクションは、Fusion Webアプリケーションの認証プロセスを起動します。この機能の実装の詳細は、第11章「統合Excelワークブックの保護」を参照してください。

Master Price Listモジュールには、表2-2に示すように、アプリケーションにログインするための2つのユーザー・プロファイルがあります。

2.4.2 製品価格についてのデータ行のダウンロード

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

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

- Fusion Webアプリケーションに統合するそれぞれのワークシートには、関連するページ定義ファイルが必要です。EditPriceList.xlsxワークブックのPrice Listワークシートは、ページ定義ファイルExcelPriceListPageDef.xmlと関連付けられています。JDeveloperでこのファイルを見るには、アプリケーション・ナビゲータで次のノードを展開します。
「ViewController」→「アプリケーション・ソース」→「oracle.foddemo.masterpricelist」→「表示」→「pageDefs」

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

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

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

ReadOnlyPriceList.xlsxワークブックでは、ADF読取り専用表コンポーネントを使用して、Fusion Webアプリケーションから製品価格情報をダウンロードします。エンド・ユーザーはこのデータを見ることはできますが、データを変更したり、変更をFusion Webアプリケーションに保存することはできません。

次の項では、ReadOnlyPriceList.xlsxワークブックのダウンロード機能を実装する方法の詳細を説明します。

- ADF読取り専用表コンポーネントの作成の詳細は、7.16項「ADF読取り専用表コンポーネントの作成」を参照してください。

- ADFボタン・コンポーネントは、ADF読取り表コンポーネントのDownloadアクションを含むアクション・セットを起動するために構成されています。ADFボタン・コンポーネントの作成の詳細は、6.2項「ADFボタン・コンポーネントの挿入」を参照してください。

2.4.3 ワークブック内の製品の単純検索

統合Excelワークブックには、エンド・ユーザーに検索フォームを提供するために構成されたADFコンポーネントがあります。エンド・ユーザーはフォームに検索語句を入力して、Fusion Webアプリケーション上で問合せを起動し、結果をワークブックにダウンロードできます。図2-5は、EditPriceList.xlsxワークブックでのこれらのコンポーネントの実行時のビューを示します。

図2-5 EditPriceList.xlsxワークブックでの単純検索フォームの実行時ビュー

次の項では、EditPriceList.xlsxワークブックで使用可能な単純検索フォームの実装方法について説明します。

- 検索フォームの作成の詳細は、8.6項「統合Excelワークブックの拡張検索フォームの作成方法」を参照してください。

- フォームの作成の詳細は、8.7項「統合Excelワークブックへのフォームの追加」を参照してください。

2.4.4 Edit Price Listワークブック内の製品の拡張検索

EditPriceList.xlsxとAdvEditPriceList.xlsxの各ワークブックには、構成済の検索機能があり、エンド・ユーザーはこれを使用してFusion Webアプリケーションからページを起動したり、検索条件の指定、または結果をワークブックのADF表コンポーネントにダウンロードすることができます。図2-6は、エンド・ユーザーが「拡張検索」ボタンをクリックすると起動できるFusion Webアプリケーションのページを示します。

図2-6 EditPriceList.xlsxワークブックの拡張検索ダイアログ

EditPriceList.xlsxワークブックで拡張検索機能を実装する方法の詳細は、8.6項「統合Excelワークブックの拡張検索フォームの作成方法」を参照してください。

2.4.5 Edit Price Listワークブック内の製品価格情報の変更

EditPriceList.xlsxワークブックおよびAdvEditPriceList.xlsxワークブックのエンド・ユーザーは、ADF表コンポーネントがFusion Webアプリケーションからダウンロードする製品価格情報を編集できます。UpdateComponentプロパティが構成されている実行時ADF表コンポーネントの列を使用して、エンド・ユーザーは値を変更したり、変更をFusion Webアプリケーションにアップロードできます。たとえば、エンド・ユーザーはProductId、ProductName、CostPriceの列に表示される値を変更できます。

エンド・ユーザーは、他の列のセルに値を入力したり、表示される値を変更できます。ただし、これらの変更はADF表コンポーネントからFusion Webアプリケーションにアップロードされません。これは、このような列の一部には、Fusion Webアプリケーションからダウンロードされた値を使用してExcel式を評価した結果が表示されるためです。こうした列では、読取り専用形式を使用して、他の列と区別する必要があります。たとえば、Difference列にリスト価格から原価を差し引くExcel式の結果が表示される場合、読取り専用形式を使用して、他の入力列と簡単に区別できるようにします。

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

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

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

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

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

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

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

ヒント:

Fusion Order Demoタブのサーバーへのアップロードボタンを使用して、変更されたデータをアップロードすることもできます。

3  開発環境の設定

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

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

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

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

- 3.3項「Microsoft .NETプログラミング・サポートの有効化」

- 3.4項「ADFデスクトップ統合からMicrosoft Excelへのアクセスを許可する」

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

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

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

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

- 3.9項「Visual Studio Tools for Officeの設定のローカライズ」

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

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

必要なソフトウェアがあって、Microsoft .NETプログラミングが有効になっていることを確認した後、次の作業を行って開発環境の設定を完了してください。

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

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

注意:

このガイドの説明では、オペレーティング・システムにWindows XPを使用していることが前提です。他のエディションのWindowsでは手順が異なることがある点に注意してください。

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

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

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

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

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

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

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

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

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

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

注意:

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

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

この機能をサポートするWebブラウザはInternet Explorerのみであることに注意してください。サポートされているInternet Explorerのバージョンの詳細は、OTNの「Oracle JDeveloperおよびApplication Development Frameworkの証明書情報」を参照してください。

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

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

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

3.3 Microsoft .NETプログラミング・サポートの有効化

ADFデスクトップ統合を設定してFusion Webアプリケーションと統合するExcelワークブックの開発を開始する前に、Microsoft ExcelでMicrosoft .NETプログラミング・サポートを有効にしておく必要があります。Microsoft Excelのインストール時にMicrosoft .NETプログラミング・サポートを有効にした場合、何もする必要はありません。

Microsoft .NETプログラミング・サポートを有効にするには:

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

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

3. Microsoft Officeの「プログラムの追加と削除」ダイアログのエントリを選択し、「変更」をクリックします。

4. Microsoft Officeのダイアログで、「機能の追加/削除」を選択して「続行」をクリックします。

5. 「インストール オプション」ページで、「Microsoft Office Excel」を展開します。

6. 「.NET プログラミング サポート」を選択し、図3-1に示すドロップダウン・リストから「マイ コンピュータから実行」を選択します。

図3-1 .NETプログラミング・サポートの有効化

7. 「続行」をクリックして.NETプログラミング・サポートをインストールし、インストールが完了したらダイアログを閉じます。

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

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

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

1. Excelを開きます。

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

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

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

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

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

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

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

ADFデスクトップ統合の設定ツールを実行する際は、次のリストにあるソフトウェアがフレームワークをインストールするシステム上にインストールされているかどうかが検証されます。インストールされていないソフトウェアが1つ以上ある場合、設定ツールは指定した順序でインストールを実行します。

1. Windows Installer 3.1

2. Microsoft .NET Framework
Microsoft .NET Framework 3.5 Service Pack 1は、Microsoft .NET Frameworkをターゲットに開発されるアプリケーションの実行に必要な実行時ファイルおよび関連ファイルを提供します。

注意:

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

3. Microsoft Visual Studio Tools for Microsoft Office
Microsoft OfficeシステムのVSTOソリューションを実行するには、Microsoft Visual Studio Tools for the Microsoft Office system(Version 3.0 Runtime)Service Pack 1 (x86)が必要です。

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

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

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

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

注意:

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

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

デフォルトではインストーラは英語で実行されます。表示される言語を変更するには、3.9項「Visual Studio Tools for Officeの設定のローカライズ」の説明に従ってください。

始める前に:

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

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

1. JDeveloperを開きます。

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

図3-3 JDeveloperのツール・メニュー

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

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

ヒント:

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

注意:

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

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

ランタイム・エディションのADFデスクトップ統合をインストールする場合は、I.1項「ランタイム・エディションのADFデスクトップ統合のインストール」を参照してください。

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

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

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

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

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

3. 「プログラムの追加と削除」ダイアログで、インストールされたADFデスクトップ統合のアドインのエディションを選択して「削除」をクリックします。

注意:

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

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

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

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

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

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

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

注意:

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

既存のOracle Fusion Middleware 11g Patch Set 1(リリース11.1.1.2.0)またはPatch Set 2(リリース11.1.1.3.0)環境のADFデスクトップ統合フレームワークにパッチを適用して、Patch Set 3(リリース11.1.1.4.0)環境にするには、JRFドメインをアップグレードしてADF共有ライブラリへの変更を受け入れる必要があります。詳細は、『Oracle Fusion Middlewareパッチ適用ガイド』のJRFインフラストラクチャおよびADF共有ライブラリのパッチ適用後の作業に関する章を参照してください。

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

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

始める前に:

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

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

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

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

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

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

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

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

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

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

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

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

コピー先:

D:\adfdi-excel-setup

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

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

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

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

警告:

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

3.9 Visual Studio Tools for Officeの設定のローカライズ

この項の説明に従って、Visual Studio Tools for Officeの設定をローカライズします。デフォルトでは、3.5項「ADFデスクトップ統合のインストール」で説明されているインストーラは英語で実行されます。Microsoft Download Centerから異なる言語パックをダウンロードして、インストールの実行時に表示する言語をインストールできます。

この項では、システム上にADFデスクトップ統合のインスタンスが存在せず、システムで英語バージョンでないオペレーティング・システムを使用していることを前提とします。ADFデスクトップ統合が存在する場合、3.6項「ADFデスクトップ統合の削除」の説明に従って削除してください。

サポートされているオペレーティング・システムの詳細は、3.2項「必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア」を参照してください。

Visual Studio Tools for Officeの設定をローカライズするには:

1. 適切なMicrosoft Visual Studio Tools for Microsoft Office用の言語パック(フランス語など)を次のMicrosoft Download Centerからダウンロードします。

http://www.microsoft.com/downloads/

2. 手順1でダウンロードした言語パックをインストールします。

3. 3.5項「ADFデスクトップ統合のインストール」の説明に従って、ADFデスクトップ統合を設定します。

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

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

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

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

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

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

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

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

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

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

注意:

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

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

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

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

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

始める前に:

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

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

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

2. アプリケーション・ナビゲータで、新しい統合Excelワークブックを追加するViewControllerのようなプロジェクトを選択します。

3. 「ファイル」メニューから「新規」を選択します。

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

図4-1 新規ギャラリ

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

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

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

JDeveloperは統合ExcelワークブックをFusion Webアプリケーションに追加して、ADFデスクトップ統合に対してFusion Webアプリケーションを自動的に有効化します。図4-2は、アプリケーション・ナビゲータでの統合Excelワークブックを示します。

図4-2 アプリケーション・ナビゲータのadfdi-workbook.xlsx

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

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

始める前に:

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

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

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

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

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

「ページ定義」ダイアログでページ定義ファイルを選択して、「OK」をクリックします。

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

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

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

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

注意:

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

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

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

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

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

JDeveloperでは、「プロジェクト・プロパティ」ダイアログの「Java EEアプリケーション」ページでWebコンテキスト・ルート(context-root)を指定します。図4-4は、Master Price ListモジュールのWebコンテキスト・ルートを示します。

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

図4-5に示すようにMaster Price Listモジュールを使用してシステムにテキスト環境を設定した場合、完全修飾URLは次のようになります。

http://127.0.0.1:7101/FODMasterPriceList

図4-5 ブラウザのMaster Price Listアプリケーションのログイン・ページ

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

ExcelファイルをセキュアなFusion Webアプリケーションと統合する場合、WebAppRootの値を入力する際にhttpsプロトコルを使用することをお薦めします。Fusion Webアプリケーションの保護の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティのプログラミング』を参照してください。

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

図4-6は、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックの「ワークブック・プロパティの編集」ダイアログでのワークブック・プロパティの例を示します。

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

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

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

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

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

始める前に:

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

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

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

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

注意:

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

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

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

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

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

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_11.1.1に配信されます。

- デプロイされる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_11.1.1に配信されます。

4.2.4.2 IBM WebSphere Application ServerへのWebアプリケーションのデプロイ

IBM WebSphere Application ServerにWebアプリケーションをデプロイする際、次の処理が実行されます。

- ADFデスクトップ統合モデルAPIライブラリまたはADFデスクトップ統合ランタイム・ライブラリが必要なアプリケーションでは、デプロイメントの手順により、com/oracle/adfdimodel拡張への参照がアプリケーションEARファイルのMETA-INF/MANIFEST.MFファイルに挿入されます。
例:

Manifest-Version: 1.0
Extension-List: adfm adfdimodel
adfm-Extension-Name: com/oracle/adfm
adfm-Specification-Version: 1.0
adfdimodel-Extension-Name: com/oracle/adfdimodel
adfdimodel-Specification-Version: 1.0
UseWSFEP61ScanPolicy: false

- ADFデスクトップ統合ランタイム・ライブラリを参照するプロジェクトを持つWebアプリケーションのdeployment.xmlファイルには、デプロイメント中に挿入されたライブラリ参照が含まれます。
例:

<libraries xmi:id="LibraryRef_1274886542330_oracle.adf.desktopintegration_1.0_11.1.1.2.0" libraryName="oracle.adf.desktopintegration_1.0_11.1.1.2.0" sharedClassloader="true"/>

注意:

システム管理タスクおよびこれらのプラットフォームの共有ライブラリの詳細は、Oracle WebLogicサーバーおよびIBM WebSphere Application Serverのドキュメントを参照してください。

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

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

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

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

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

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

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

追加の説明

ADF入力テキスト

属性バインディング

ADF出力テキスト

属性バインディング

ADFラベル

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

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

ADF値リスト

リスト・バインディング

ツリー・ノード・リスト

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

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

ADFボタン

各種

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

ADF読取り専用表

ツリー・バインディング

ADF表

ツリー・バインディング

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

ページ定義ファイルの要素と属性の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のpageNamePageDef.xmlに関する項を参照してください。

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

4.3.1 統合Excelワークブックのページ定義ファイルの作成方法

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

始める前に:

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

統合Excelワークブックのページ定義ファイルを作成するには:

1. JDeveloperで、ADFデスクトップ統合アプリケーションのプロジェクトに新しいJSFページを追加します。

ヒント:

JSFページにADF Faces Tableコンポーネントを追加します。JDeveloperは、ADF表タイプ・コンポーネントがページ定義ファイルで使用するJSFページにツリー・バインディングを生成します。

注意:

JDeveloperは、選択したJSFページ名に基づいてページ定義ファイル名を作成します。ページ定義ファイル名で特定のワークブックやワークシートとの関連を示すには、JSFページを作成する際にこの名前を選択してください。

2. アプリケーション・ナビゲータで、ページを右クリックしてページ定義に移動を選択します。

3. 新規ページ定義作成の確認ダイアログで、「はい」をクリックします。

4. 統合Excelワークブックに必要なバインディングをページ定義ファイルに追加します。

5. ページ定義ファイルを保存します。
図4-7に、ワークブックEditPriceList-DT.xlsxのPrice Listワークシートが参照するページ定義ファイルExcelPriceListPageDef.xmlを示します。

図4-7 統合Excelワークブックのバインディングを含むページ定義ファイル

ページ定義ファイルの使用の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のページ定義ファイルの使用に関する項を参照してください。

6. 統合Excelワークブックをテスト・モードで実行したり、公開する予定がある場合は、Fusion Webアプリケーションを作成して実行します。

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

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

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

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

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

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

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

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

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

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

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

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

始める前に:

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

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

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

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

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

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

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

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

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

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

Dynamic (${})

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

注意:

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

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

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

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

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

始める前に:

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

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

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

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

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

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

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

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

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

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

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

注意:

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

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

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

始める前に:

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

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

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

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

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

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

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

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

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

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

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

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

たとえば、Fusion Order DemoアプリケーションのMaster Price Listモジュールは、統合するExcelワークブックを次のサブディレクトリに保存します。

FOD_HOME\MasterPriceList\ViewController\src\oracle\foddemo\masterpricelist\excel

FOD_HOMEは、Fusion Order Demoアプリケーションのソース・ファイルを保存するルート・ディレクトリです。

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

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

始める前に:

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

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

1. 統合Excelワークブックを開きます。
図4-11に示すように、「フォルダの参照」ダイアログが自動的に表示されます。

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

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

注意:

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

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

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

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

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

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

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

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

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

デフォルトでは、新しいExcelワークブックとADFデスクトップ統合を準備するときは、ワークブックが保護されていないFusion Webアプリケーションと統合されることを想定します。ワークブックを保護されたFusion Webアプリケーションと統合する場合は、第11章「統合Excelワークブックの保護」を参照してください。

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

ADFデスクトップ統合の機能をプロジェクトに追加する際、次のイベントが発生します。

- プロジェクトでは、ADFデスクトップ統合のランタイム・ライブラリが追加されます。このライブラリは、そのクラスパスで次の.jarファイルを参照します。

- adf-desktop-integration.jar

- adf-desktop-integration-model-api.jar

- resourcebundle.jar

- プロジェクトのデプロイメント・ディスクリプタ(web.xml)は、次のエントリを含むように変更されます。

- ADFバインディング・フィルタ(adfBindings)

- adfdiRemoteという名前のサーブレット

注意:

adfdiRemoteのservlet-mapping要素のurl-pattern属性値は、表A-18にあるRemoteServletPathワークブックのプロパティの値と一致する必要があります。

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

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

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

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

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

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

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

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

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

5 開発ツールの使用

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

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

- 5.1項「開発ツールについて」

- 5.2項「「Oracle ADF」タブ」

- 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.1 開発ツールについて

ADFデスクトップ統合には、Oracle ADF機能にアクセスできるようにExcelワークブックを構成するためのツールがいくつか用意されています。これらのツールを使用して、統合ExcelワークブックでFusion Webアプリケーションからのデータを表示および編集できるように、ワークブックおよび対応するワークシートを構成します。これらのツールは、「Oracle ADF」タブおよびADFデスクトップ統合のデザイナ作業ウィンドウから使用できます。

ADFデスクトップ統合の開発ツールには、次のツールが含まれます。図5-1はこれらを示します。

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

- コンポーネント・パレット

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

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

- 式ビルダー

- Webページ・ピッカー

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

- ページ定義ピッカー

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

図5-1 ADFデスクトップ統合の開発ツール

ADFデスクトップ統合には設計モードとテスト・モードの2つのモードがあり、Excelワークブックを構成する際に使用できます。

設計モードでは、Oracle ADFで提供されるツールをExcelで使用して、統合Excelワークブックを設計および構成します。テスト・モードでは、エンド・ユーザーが公開された統合Excelワークブックで見るのと同じようにして、設計モードで行う変更を表示およびテストできます。

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

開発ツールを使用して、統合Excelワークブックを構成および設計します。たとえば、図5-2に示すように、EditPriceList-DT.xlsxでは、バインディング・パレットからProductTableバインディングを使用して、バインドされたADF表コンポーネントが統合Excelワークブックに挿入されます。

図5-2 ADFデスクトップ統合のコンポーネントとバインディング

ADFボタンやADFラベルなど他のADFデスクトップ統合コンポーネントは、コンポーネント・パレットから挿入され、プロパティ・インスペクタと式ビルダーを使用して構成されます。

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

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

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

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

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

5.2 「Oracle ADF」タブ

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

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

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

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

グループ

クリックするボタン

アクション

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

ワークブック

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

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

設計

ワークブック

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

設計

ワークブック

統合Excelワークブックのバージョンとプロパティ情報を提供する、Oracle ADF 11gデスクトップ統合の詳細ダイアログを開きます。

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

設計、テスト、ランタイム

ADFコンポーネント

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

設計

ADFコンポーネント

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

設計

ADFコンポーネント

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

設計

ADFコンポーネント

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

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

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

設計

テスト

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

設計

テスト

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

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

テスト

テスト

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

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

設計

ロギング

クライアント・サイドのログ・エントリを確認するダイアログを表示します。詳細は、C.3.2項「クライアント・サイド・ロギングの概要」を参照してください。

設計、テスト

ロギング

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

設計、テスト

ロギング

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

設計、テスト

ロギング

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

設計、テスト

公開

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

統合されたExcelワークブックの公開の詳細は、第14章「統合Excelワークブックのデプロイ」を参照してください。

設計

ヒント:

すばやく簡単にアクセスするには、Excelのクイック アクセス ツール バーに「Oracle ADF」タブ・ボタンを追加できます。

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

ADFデスクトップ統合デザイナの作業ウィンドウの開発ツールは、バインディング・パレットとコンポーネント・パレットの2つのパレットにまとめられています。ADFデスクトップ統合デザイナの作業ウィンドウのバインディング・パレットを使用して、事前定義済のバインディングを統合Excelワークブックに挿入します。ADFデスクトップ統合は、選択したバインディングを参照するOracle ADFコンポーネントを挿入し、Oracle ADFコンポーネントのプロパティに適切な値を移入します。同様に、コンポーネント・パレットを使用して、Oracle ADFコンポーネントを統合Excelワークブックに挿入します。図5-4に、ADFデスクトップ統合デザイナの作業ウィンドウを示します。

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

ADFデスクトップ統合デザイナの作業ウィンドウは、図5-5に示す「Oracle ADF」タブのワークブックおよびADFコンポーネント・グループの右下にあるランチャ・ボタンから起動します。

図5-5 ADFデスクトップ統合デザイナの作業ウィンドウのランチャ・ボタン

表5-2は、作業ウィンドウに表示されるビュー・タブおよびリンクの一覧と各項目の簡単な説明です。

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

作業ウィンドウのUI要素

説明

ワークブック・プロパティ

クリックすると、「ワークブック・プロパティの編集」ダイアログが表示されます。このダイアログでは、ワークブック全体に影響するプロパティを表示、編集できます。たとえば、ページ定義ファイルへのディレクトリ・パスを参照するプロパティ、Fusion WebアプリケーションのURLなどがあります。

ワークシート・プロパティ

クリックすると、「ワークシート・プロパティの編集」ダイアログが表示されます。このダイアログでは、アクティブなワークシートに固有のプロパティを表示、編集できます。たとえば、ワークシートに関連付けるページ定義ファイルのファイル名などです。

情報

クリックすると、「情報」ダイアログが表示されます。このダイアログは、統合Excelワークブックのトラブルシューティングで役に立ちそうなバージョンやプロパティの情報を提供します。たとえば、統合ExcelワークブックをサポートするMicrosoft .NETおよびOracle ADFフレームワークの基底にある情報などです。

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

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

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

バインディングを挿入するには、設計モードでバインディング・パレットを使用します。バインディングを挿入しようとする際、ADFデスクトップ統合は選択したバインディングを参照するOracle ADFコンポーネントを挿入します。また、ADFデスクトップ統合もOracle ADFコンポーネントのプロパティに適切な値を移入します。たとえば、図5-6に示すようにCommit (action)のようなバインディングを挿入する場合、Oracle ADFボタン・コンポーネントのプロパティ・インスペクタが表示されます。このOracle ADFボタン・コンポーネントには、ClickActionSetにCommitアクション・バインディングの起動を含む値が指定されています。

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

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

- コントロール・バインディングを選択して、ADFデスクトップ統合デザイナの作業ウィンドウでバインディングの挿入をクリックします。
挿入しようとしているバインディングに関連するOracle ADFコンポーネントのプロパティ・インスペクタが表示されます。場合によっては、複数のOracle ADFコンポーネントをバインディングと関連付けることが可能なOracle ADFコンポーネントのリストから、Oracle ADFコンポーネントを1つ選択するよう求められることがあります。リストからOracle ADFコンポーネントを1つ選択すると、プロパティ・インスペクタが表示されます。

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

コンポーネント・パレットには、Excelワークシートに挿入できるADFデスクトップ統合コンポーネントが表示されます。図5-7に、ADFデスクトップ統合デザイナの作業ウィンドウで表示されるコンポーネント・パレットを示します。

図5-7 ADFデスクトップ統合デザイナの作業ウィンドウのOracle ADFコンポーネント・パレット

Oracle ADFコンポーネントを挿入するには、設計モードでコンポーネント・パレットを使用します。まず、Excelワークシート内でOracle ADFコンポーネントを配置するセルを選択し、次のいずれかの方法でOracle ADFコンポーネントを挿入します。

- 挿入するOracle ADFコンポーネントをダブルクリックします。

- コンポーネントを選択して、ADFデスクトップ統合デザイナの作業ウィンドウでコンポーネントの挿入をクリックします。

どちらの場合でも、Oracle ADFコンポーネントのプロパティ・インスペクタが表示されます。プロパティ・インスペクタを使用して、Excelワークシートへの挿入を完了する前にコンポーネントに値を指定します。

注意:

ADFデスクトップ統合コンポーネントは、「Oracle ADF」タブのコンポーネントの挿入ドロップダウン・リストからも使用できます。

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

プロパティ・インスペクタは、Oracle ADFバインディング、Oracle ADFコンポーネント、ExcelワークシートまたはExcelワークブックのプロパティを表示および編集できるダイアログです。プロパティ・インスペクタは次のいずれかの方法で開くことができます。

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

- コンポーネントまたはバインディングを選択し、右クリックしてコンテキスト・メニューからADFコンポーネント・プロパティの編集を選択します。
ADFボタンでは右クリックのアクションはサポートされていないため、ボタンをクリックしてプロパティ・インスペクタ・ダイアログを開いてください。

ExcelワークシートにOracle ADFバインディングまたはコンポーネントを挿入した後にも、プロパティ・インスペクタが自動的に表示されます。図5-8に、Oracle ADFボタン・コンポーネントのプロパティを表示および編集できるプロパティ・インスペクタを示します。

設計時には、コンポーネントが表示されるExcelのセルを編集することにより、特定のOracle ADFコンポーネントの主要なプロパティを編集できます。たとえば、ADF LabelコンポーネントおよびADF Input TextコンポーネントのValueプロパティの編集は、セルに表示された値を編集すれば実行できます。

注意:

プロパティ・インスペクタは、プロパティまたはプロパティの組合せに入力した値が有効かどうかの検証は実行しません。無効な値があると、実行時にエラーが発生します。実行時のエラーを回避するには、プロパティ・インスペクタでプロパティに有効な値を指定してください。

プロパティは、アルファベット順、またはカテゴリ(動作、データなど)別にグループ化されたリストで表示できます。表5-3は、プロパティ・インスペクタでのプロパティの表示を変更するときに使用可能なボタンを示します。

表5-3 プロパティ・インスペクタでのプロパティ表示を構成するボタン

ボタン

説明

このボタンを使用すると、プロパティがカテゴリに応じて表示されます。

このボタンを使用すると、プロパティがアルファベット順に表示されます。

図5-8のプロパティ・インスペクタには、カテゴリ別にグループ化されたプロパティが表示されています。

図5-8 ADFボタン・コンポーネントのプロパティ・インスペクタ・ウィンドウ

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

バインディングIDピッカーは、実行時のOracle ADFコンポーネントの動作を構成するために、設計時にOracle ADFバインディングを選択できるダイアログです。バインディングIDピッカーは、「プロパティ・インスペクタ」から起動します。また、バインディングIDピッカーはOracle ADFコンポーネントのプロパティが受け入れるバインディングのタイプに基づいて、表示されるOracle ADFバインディングをフィルタ処理します。たとえば、ADFボタンのSuccessActionIDボタン・コンポーネントは、アクション・バインディングのみをサポートします。したがって、図5-9に示すように、バインディングIDピッカーは、ページ定義ファイルのバインディングをフィルタ処理して、アクション・バインディングのみが表示されるようにします。

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

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

5.8 式ビルダーの使用

式ビルダーを使用して、Excelワークブックでの実行時のコンポーネントの動作を構成する式言語(EL)または式を記述します。式ビルダーは、EL式をサポートするコンポーネント・プロパティのプロパティ・インスペクタから起動します。たとえば、図5-10のプロパティLabelはEL式をサポートするため、このプロパティの値を設定する式ビルダーを起動できます。

記述するEL式内のバインディングを参照できます。式ビルダーではバインディングのフィルタ処理は行われません。ページ定義ファイルが公開するすべてのバインディングが表示されます。それぞれのADFデスクトップ統合がサポートするバインディングのタイプの詳細は、表4-1を参照してください。

「式」ボックスに式を追加するには、項目を選択して「式に挿入」をクリックします。また、項目をダブルクリックして、「式」ボックスに追加することもできます。表5-4は、式ビルダーで使用可能なフォルダを示します。

図5-10 式ビルダー

表5-4 式ビルダーのフォルダ

フォルダ名

説明

バインディング

現在のワークシートのページ定義からADFデスクトップ統合でサポートされるバインディングの一覧を表示します。

コンポーネント

現在のワークシートで使用可能なADFコンポーネントを一覧表示します。

リソース

Workbook.Resourcesで登録されたリソース・バンドル、ならびに内蔵のリソース・バンドル_ADFDIres.を一覧表示します。

スタイル

現在のワークブックに定義されたすべてのExcelのスタイルを一覧表示します。詳細は、9.2項「スタイルの使用」を参照してください。

ワークブック

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

ワークシート

errors式を一覧表示します。

Excel関数

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

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

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

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

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

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

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

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

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

- ApplicationHomeFolder

- WebPagesFolder

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

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

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

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

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

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

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

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

ADFデスクトップ統合では、コレクション・エディタを使用してコレクション内の要素のプロパティを管理します。コレクション・エディタのタイトル・バーに表示されるタイトルは、コレクション・エディタにより構成可能な対象を示します。コレクション・エディタのタイトルの例としては、CachedAttributesの編集、列の編集、アクションの編集などがあります。これらのコレクション・エディタを使用して、キャッシュされたデータ、ADF表コンポーネントの表列、アクション・セットのアクションのコレクションを構成できます。図5-14は、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックで実行時に表示される「検索」ボタンのアクション・セットを構成するコレクション・エディタを示します。

図5-14 コレクション・エディタ

ヒント:

アクションの編集ダイアログに追加する各要素の「注釈」フィールドで、説明を記述してください。記述する説明はMembersリスト・ビューに表示されます。記述する説明によっては、ADFデスクトップ統合が生成するデフォルトのエントリよりも意味をなす場合があります。

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

設計時にADFコンポーネントを使用する際、コンポーネントの元のセルを右クリックすると、コンポーネントを編集または削除するメニュー・オプションを表示できます。コンポーネントの元のセル以外をクリックすると、メニュー・オプションは表示されません。一部のキーボードには、コンテキスト・メニューを起動するキーがあります。このキーを使用しても、編集および削除のメニュー・オプションが表示されます。図5-15は、ADF出力テキスト・コンポーネントのコンテキスト・メニュー・オプションを示します。

図5-15 ADF出力テキスト・コンポーネントのコンテキスト・メニュー・オプション

セッション中は、キーボードのコンテキスト・メニュー・キーか、マウスの右クリック・ボタンを使用することをお薦めします。マウスの右クリックとコンテキスト・メニュー・キーを両方とも使用すると、メニュー・オプションが予期したように表示されない場合があります。

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

この章では、エンド・ユーザーがFusion Webアクションから取得したデータを管理できるようにするためにADFデスクトップ統合に用意されているコンポーネント(ボタン、ラベル、入力テキスト、出力テキスト、値リストなど)を挿入および構成する方法について説明します。また、Excel式を使用してこれらのコンポーネント内で計算されたデータを表示する方法についても説明します。

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

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

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

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

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

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

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

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

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

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

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

ADFデスクトップ統合フォーム・タイプ・コンポーネントを使用すると、エンド・ユーザーが統合ExcelワークブックのFusion Webアプリケーションから取得したデータを管理できるようになります。5.5項「コンポーネント・パレットの使用」にあるとおり、コンポーネント・パレットのADFフォーム・コンポーネントを公開するのではなく、ADFデスクトップ統合は次のコンポーネントを使用して、統合Excelワークブックでフォーム・タイプ機能を作成します。

- ADF入力テキスト

- ADF出力テキスト

- ADFラベル

- ADF値リスト

- ADFボタン

図6-1は、これらのコンポーネントを示します。

図6-1 ADFデスクトップ統合フォーム・タイプ・コンポーネント

注意:

ADFデスクトップ統合は、結合したセルに挿入されたコンポーネントはサポートしていません。

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

ADFデスクトップ統合フォーム・タイプ・コンポーネントは、ユーザーの入力やFusion Webアプリケーションからの出力用に統合Excelワークブックでフォームをビルドするときに使用されます。図6-2に示すように、EditPriceList-DT.xlsxの検索エリアで使用されるフォーム・タイプ・コンポーネントを使用すると、エンド・ユーザーは製品を検索して、結果をADF表コンポーネントに表示できるようになります。

図6-2 ADFデスクトップ統合フォーム・タイプ・コンポーネントを使用した検索フォーム

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

ワークシートにコンポーネントを追加した後、イベントやエンド・ユーザーのアクションに対する応答など、機能を追加しなければならないことがあります。フォーム・コンポーネントで使用可能な他の機能へのリンクは次のとおりです。

- マネージドBeanからの出力の表示: ADFラベル・コンポーネントまたはADF出力テキスト・コンポーネントを使用して、マネージドBeanからの出力を表示できます。詳細は、6.7項「ADFコンポーネントのマネージドBeanからの出力の表示」を参照してください。

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

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

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

ADFボタン・コンポーネントは、実行時にExcelワークシートのボタンをレンダリングします。エンド・ユーザーはこのボタンをクリックして、ClickActionSetプロパティ・グループで指定される1つ以上のアクションを起動します。

LowerRightCornerプロパティおよびPositionプロパティは、実行時にExcelワークシートでボタンが占有する領域を決定します。

図6-3に、ADFボタン・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ボタンのプロパティ・インスペクタが最前面に表示されています。エンド・ユーザーが実行時にこのボタンをクリックすると、ClickActionSetで指定された配列のアクションが起動します。

図6-3 設計モードのADFボタン・コンポーネント

ADFボタン・コンポーネントのプロパティの詳細は、付録A.8「ADFボタン・コンポーネントのプロパティ」を参照してください。

ADFボタン・コンポーネントを挿入するには:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADFボタン」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADFボタン」を選択します。

4. プロパティ・インスペクタで、コンポーネントが実行時に起動するアクションと、コンポーネントの外観、設計およびレイアウトを決定するプロパティを構成します。表6-1は、値を指定する必要のあるプロパティの概要および追加情報へのリンクを示します。

図6-1 ADFボタン・コンポーネントのプロパティ

プロパティ

指定する内容

Label

ADFボタン・コンポーネントの目的を示すために実行時にラベルに解決される文字列またはEL式。たとえば、実行時のMaster Price ListモジュールのEditPriceList-DT.xlsxワークブックにおける「拡張検索」ボタンのLabelプロパティは、設計モードでは次の値を持ちます。

#{res['excel.advSearchButton.label']}

このEL式は、resリソース・バンドルの文字列キーを参照します。リソース・バンドルの詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。統合Excelワークブックでのラベルの使用の詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

ラベルにアンパサンド文字(&)を含めるには、&&を使用します。1つの&文字は特殊文字として機能し、ラベルには表示されません。

ClickActionSet

ClickActionSetのActions配列で、エンド・ユーザーがADFボタン・コンポーネントをクリックしたときに起動する1つ以上のアクションを指定します。アクション・セットの詳細は、8.2項「アクション・セットの使用」を参照してください。

5. 「OK」をクリックします。
図6-4は、実行時のADFボタン・コンポーネント(赤線の枠内)の例を示します。

図6-4 実行時のADFボタン・コンポーネント

注意:

- Excelワークシートのビュー・モードをページ・レイアウトまたはページ・ブレーク・モードに変更した場合、ADFボタン・コンポーネントは予期しない位置にレンダリングされる可能性があります。ボタンを元の位置でレンダリングするために、ワークブックを保存せずに通常モードに戻り、統合Excelワークブックを実行して停止する必要があります。

- コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。

- ADFボタン・コンポーネントは100%ズームの状態でのみアクティブであり、エンド・ユーザーが統合Excelワークシートでズームインやズームアウトすると無効になります。

ヒント:

設計モードでは、ボタンにフォーカスがある場合に、ボタンをクリックしたりスペースバーを押してプロパティ・インスペクタを開くことができます。右クリックして表示されるコンテキスト・メニューは、ボタンでは無効です。

統合Excelワークブックにナビゲーション・ボタンを追加して前または次のレコードに移動するには、6.9項「ナビゲーション・ボタンの使用」を参照してください。

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

ADFラベル・コンポーネントは、静的な文字列値を表示するために、アクティブなワークシートに挿入できるコンポーネントです。プロパティ・インスペクタのLabelの入力フィールドに値を指定するか、式ビルダーを起動して、実行時に文字列に解決されるEL式を記述します。取得される文字列は、リソース・バンドルまたはエンティティあるいはビュー・オブジェクトの属性コントロールのヒント内で定義できます。たとえば、次のEL式は実行時にリソース・バンドルで定義される文字列キーの値に解決します。

#{bindings.ProductList.label}

ADFラベル・コンポーネントや他のOracle ADFコンポーネントでLabelプロパティに指定する値は、Oracle ADFコンポーネントをホストするワークシートが初期化(初めて開く)されるときに評価されます。

プロパティ・インスペクタを使用して、スタイルや位置などのコンポーネントのプロパティをワークシートで構成できます。

図6-5に、ADFラベル・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADFラベル・コンポーネントは、実行時にresリソース・バンドルで定義される文字列キーの値に解決されるEL式を参照します。

図6-5 設計モードのADFラベル・コンポーネント

ADFラベル・コンポーネントを挿入するには:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADFラベル」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADFラベル」を選択します。

4. プロパティ・インスペクタで、コンポーネントの外観、設計およびレイアウトを決定するプロパティを構成します。

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

図6-6は、実行時のADFラベル・コンポーネント(赤線の枠内)の例を示します。

図6-6 実行時のADFラベル・コンポーネント

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、コンテキスト・メニューからADFコンポーネント・コンポーネント・プロパティの編集を選択し、プロパティ・インスペクタを開きます。

統合Excelワークブックでのラベルの使用の詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

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

ADF入力テキスト・コンポーネントは、コンポーネント・パレットを使用して、アクティブなワークシートに挿入できるコンポーネントです。コンポーネントの挿入時、ワークシートのアクティブなセルには、ワークシートDownSyncアクションが起動された後のコンポーネントのバインディングの現在の値が表示されます。エンド・ユーザーは実行時にこの値を編集できます。ワークシートUpSyncアクションを構成して、エンド・ユーザーが値に加える変更をFusion WebアプリケーションおよびCommitアクション・バインディングに送信して、Fusion Webアプリケーションで変更をコミットします。

ユーザーがプロパティ・インスペクタを使用してワークシートのセル(DoubleClickActionSetプロパティ)をダブルクリックすると、位置やスタイル、動作といったコンポーネントのプロパティの多くを構成できます。DoubleClickActionSetの詳細は、8.2項「アクション・セットの使用」を参照してください。

ADF表コンポーネントは、ADF表コンポーネントの列のInsertComponentプロパティまたはUpdateComponentプロパティの値を設定すると、このコンポーネントをサブコンポーネントとして起動できます。このコンテキストでは、ADF入力テキスト・コンポーネントによって、エンド・ユーザーはADF表コンポーネントにデータを入力できるようになります。詳細は、7.5項「データを挿入するためのADF表コンポーネントの構成」を参照してください。

図6-7に、ADF入力テキスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF入力テキスト・コンポーネントは、Fusion Order DemoアプリケーションのMaster Price ListモジュールのsearchTerm属性バインディングにバインドされます。エンド・ユーザーは、このコンポーネントに検索用語を入力してから、ADFボタン・コンポーネントを使用して検索を開始します。

図6-7 設計モードのADF入力テキスト・コンポーネント

ADF入力テキスト・コンポーネントを挿入するには:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADF入力テキスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADF入力テキスト」を選択します。

4. プロパティ・インスペクタで、コンポーネントの外観、レイアウトおよび動作を決定するプロパティを構成します。表6-2は、値を指定する必要のあるいくつかのプロパティの概要を示します。このコンポーネントの他のプロパティの詳細は、A.2項「ADF入力テキスト・コンポーネントのプロパティ」を参照してください。

表6-2 ADF入力テキストのプロパティ

プロパティ

指定する内容

InputText.Value

コンポーネントが参照するバインディングを決定するValueプロパティのEL式。

InputText.ReadOnly

エンド・ユーザーが加える変更がアップロードされるようにFalseに解決されるEL式。コンポーネントで変更を無視する場合は、Trueに解決されるEL式を記述してください。デフォルト値はFalseです。

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

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、コンテキスト・メニューからADFコンポーネント・コンポーネント・プロパティの編集を選択し、プロパティ・インスペクタを開きます。

図6-8は、実行時のADF入力テキスト・コンポーネント(赤線の枠内)の例を示します。

図6-8 実行時のADF入力テキスト・コンポーネント

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

ADF出力テキスト・コンポーネントは、コンポーネント・パレットを使用して、アクティブなワークシートに挿入できるコンポーネントです。コンポーネントの挿入時、ワークシートのアクティブなセルには、ワークシートDownSyncアクションを起動した後のコンポーネントのバインディングの現在の値が表示されます。コンポーネントにより表示される値は読取り専用です。エンド・ユーザーがセルの値に加える変更で、コンポーネントを配置するものは、変更がFusion Webアプリケーションに送信される際に無視されます。

また、このコンポーネントはADF表コンポーネントおよびADF読取り表コンポーネントのサブコンポーネントとして機能することができます。ADF表コンポーネントおよびADF読取り専用コンポーネントの列は、ADF出力テキスト・コンポーネントを使用するように構成できます。

スタイル、セルをダブルクリックしたときの動作(DoubleClickActionSetプロパティ)および位置など、コンポーネントの様々なプロパティを、プロパティ・インスペクタを使用してワークシートで構成できます。

図6-9に、ADF出力テキスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF出力テキスト・コンポーネントは、Fusion Order DemoアプリケーションのMaster Price ListモジュールのADF表コンポーネントを参照します。実行時には、ADF出力テキスト・コンポーネントを配置するセルに、ADF表コンポーネントから戻されるエラーがすべて表示されます。

図6-9 設計モードのADF出力テキスト・コンポーネント

ADF出力テキスト・コンポーネントを挿入するには:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADF出力テキスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADF出力テキスト」を選択します。

4. プロパティ・インスペクタで、コンポーネントの外観、レイアウトおよび動作を決定するプロパティを構成します。
たとえば、ADF出力テキスト・コンポーネントが何を参照するかを決定するために、ValueプロパティにEL式を記述または指定する必要があります。ADF出力テキスト・コンポーネントのプロパティに指定する値の詳細は、A.3項「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。

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

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、コンテキスト・メニューからADFコンポーネント・コンポーネント・プロパティの編集を選択し、プロパティ・インスペクタを開きます。

図6-10は、実行時のADF出力テキスト・コンポーネント(赤線の枠内)の例を示します。

図6-10 実行時のADF出力テキスト・コンポーネント

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

ADF値リスト・コンポーネントは、実行時にExcelワークシートのセルにドロップダウン・メニューを表示するコンポーネントです。実行時に最大250の値が表示されます。値リスト・コンポーネントは、Excelワークシートのセルに挿入できます。

ListIDプロパティの値を指定する必要があります。ListIDプロパティは、ワークブックDownSyncアクションを起動した後で実行時にドロップダウン・メニューに値リストを移入するリスト・バインディングを参照します。

図6-11に、ADF値リスト・コンポーネントのプロパティ・インスペクタが最前面に表示された状態を示します。ADF値リスト・コンポーネントは、実行時にExcelワークシートのドロップダウン・メニューに値を移入するリスト・バインディング(ProductList)を参照します。

注意:

ADF表コンポーネントの列のドロップダウン・メニューは、TableColumn配列のInsertComponentプロパティの値を指定する際に、TreeNodeListまたはModelDrivenColumnComponentを作成するサブコンポーネントとして選択すれば表示できます。詳細は、7.13項「ADF表コンポーネント列での値リストの作成」を参照してください。

図6-11 ADF値リスト・コンポーネント

ADF値リスト・コンポーネントを挿入するには:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. コンポーネント・パレットで「ADF値リスト」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストからADF値リストを選択します。

4. ListIDプロパティの入力フィールドの横にある省略記号ボタン(...)をクリックしてバインディングIDピッカーを起動し、ページ定義ファイルで公開されたリスト・バインディングを選択します。

5. プロパティ・インスペクタで、コンポーネントの外観、設計およびレイアウトを決定する他のプロパティを構成します。ADF値リスト・コンポーネントのプロパティの詳細は、A.5項「ADF値リスト・コンポーネントのプロパティ」を参照してください。

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

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。または、セルで右クリックして、コンテキスト・メニューからADFコンポーネント・コンポーネント・プロパティの編集を選択し、プロパティ・インスペクタを開きます。

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

ADFコンポーネントを構成して、マネージドBeanからの出力をFusion Webアプリケーションで表示できます。Fusion WebアプリケーションでのマネージドBeanの使用方法の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のFusion WebアプリケーションでのマネージドBeanの使用に関する項にあります。統合Excelワークブック内のマネージドBeanはEL式を通じて参照します。Excelワークシートに関連付けるページ定義ファイルにメソッド・アクション・バインディングを追加して、マネージドBeanの値を取得し、それを属性バインディングに割り当てます。EL式を使用して、実行時に属性バインディングの値を取得します。

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

EL式は、EL式をサポートするプロパティ(Labelプロパティなど)に記述します。

始める前に:

マネージドBeanに関する知識が役立つ場合があります。詳細は、6.7項「ADFコンポーネントのマネージドBeanからの出力の表示」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、6.1.2項「ADFデスクトップ統合フォーム・タイプ・コンポーネントの追加機能」を参照してください。

マネージドBeanからの出力を表示するには:

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

2. マネージドBeanからの出力を表示するADFコンポーネントを選択し、そのプロパティ・インスペクタを開きます。
図6-12は、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックの一例を示します。ここでは、ADFラベル・コンポーネントが、アクション・バインディングにより移入された値を持つ属性バインディングからの出力を表示するように構成されています。

図6-12 実行時にマネージドBeanからの出力を表示するADFラベル・コンポーネント

3. 実行時にマネージドBeanからの出力を取得するEL式を記述します。
図6-12の例は、resリソース・バンドルからの文字列キー(excel.connectionPrefix)の値とloggedInUser属性バインディングの値を取得するEL式を示します。この属性バインディングは、マネージドBeanからの出力を参照します。

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

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

メソッド・アクション・バインディングは、マネージドBeanからの値を取得して属性バインディングに移入します。記述するEL式は、属性バインディングからの値を取得し、出力を表示するように構成したADFコンポーネントを通じてそれをエンド・ユーザーに表示します。たとえば、図6-13に示す設計モードのADFラベル・コンポーネントは、実行時に次のような文字列を表示します。

Connected as sking

図6-13 実行時のマネージドBeanからの出力

図6-13では、skingは統合Excelワークブックを介してFusion Webアプリケーションにログオンしているユーザーのユーザー名です。

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

ADFデスクトップ統合モジュールは、コンポーネント内で、1つのコンポーネントにより、計算または複数のバインディング式の連結に基づいたデータを表示可能なEL式をサポートしています。

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

EL式は、入力テキストまたは出力テキスト・コンポーネントのValueプロパティに対して記述します。

図6-14は、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックからのEL式の一例を示します。ここでは、列のADF出力テキスト・コンポーネントが、List Price列とCost Price列のマージンを表示するように構成されています。

図6-14 計算されたデータを表示するADF出力テキスト・コンポーネント

始める前に:

ADFコンポーネント内での連結または計算されたデータの表示方法を理解しておくと役立ちます。詳細は、6.8項「コンポーネント内での連結または計算されたデータの表示」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、6.1.2項「ADFデスクトップ統合フォーム・タイプ・コンポーネントの追加機能」を参照してください。

計算されたデータを表示するEL式を作成するには

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

2. 計算されたデータを表示する、ADF入力テキストまたはADF出力テキストのコンポーネントを選択します。

3. プロパティ・インスペクタを開いて、Valueプロパティの省略記号ボタン(...)をクリックします。

4. 2つ以上の式から出力を取得するEL式を記述します。
図6-1は、ある項目のList Price列とCost Price列の値の差異を計算し、それをCost Price列の値で割ってマージンを生成するEL式を示します。

例6-1 計算されたデータ用のEL式

=(("#{row.bindings.ListPrice.inputValue}"-"#{row.bindings.CostPrice.inputValue}")/"#{row.bindings.CostPrice.inputValue}")

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

EL式の詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。

注意:

ADF入力テキスト・コンポーネントのValueプロパティに式が含まれる場合、ReadOnlyプロパティの値に関係なく、ADF入力テキスト・コンポーネントは実行時に読取り専用となります。

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

図6-15に示すような、あるレコードから別のレコードに移動するためのナビゲーション・ボタン(次、前へ、最初へ、最後)を作成できます。別のレコードに移動する前にエンド・ユーザーがレコードのデータを変更した場合、それらの変更を保存するか、または無視するかを選択できます。

図6-15 統合Excelワークブックのナビゲーション・ボタン

別のレコードに移動する前に変更を保存し、次の順序でボタンのアクション・セットを定義するには:

1. Worksheet.UpSync

2. Commit

3. ナビゲーション・アクション(例: 「次」)

4. Worksheet.DownSync

注意:

アクション・セットからCommitアクションを省略すると、複数のレコードに対する保留中のすべての変更は、エンド・ユーザーのWebアプリケーション・セッションが終了するときに失われます。

別のレコードに移動する前に変更を無視し、次の順序でボタンのアクション・セットを定義するには:

1. ナビゲーション・アクション(例: 「次」)

2. Worksheet.DownSync

注意:

変更を無視するボタン・アクションを定義する場合、別のレコードに移動する前に変更を保存することはエンド・ユーザーの役割となります。

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

この章では、ADFデスクトップ統合により提供される表タイプ・コンポーネント、その構成方法と使用方法、Fusion Webアプリケーションからデータをダウンロードする方法、統合Excelワークブックで表タイプ・コンポーネントからデータ行の挿入、更新、削除を行う方法、変更内容の追跡方法、表タイプ・コンポーネントで特殊な列を構成する方法、および表タイプ・コンポーネントを使用して実行できるその他のタスクについて説明します。

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

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

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

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

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

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

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

- 7.7項「ADF表コンポーネントに挿入前のデータをダウンロードするためのワークシートの構成」

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

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

- 7.10項「ADF表コンポーネントでのバッチ処理」

- 7.11項「ADF表コンポーネントの特殊な列」

- 7.12項「ADF表コンポーネントのキー列の構成」

- 7.13項「ADF表コンポーネント列での値リストの作成」

- 7.14項「ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加」

- 7.15項「ADF表コンポーネントへの動的な列の追加」

- 7.16項「ADF読取り専用表コンポーネントの作成」

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

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

- 7.19項「ADF表コンポーネントでの変更の追跡」

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

ADFデスクトップ統合には、構造化データを表示するための次の表タイプ・コンポーネントがあります。

- ADF表コンポーネント

- ADF読取り専用表コンポーネント

ADF表コンポーネントとADF読取り専用表コンポーネントは、エンド・ユーザーにデータ行をダウンロードおよびアップロードする機能を提供します。また、ADF表コンポーネントは、エンド・ユーザーがダウンロードしたデータの編集や削除、新しいデータ行の挿入を行えるようにします。図7-1は、ADF表コンポーネントとADF読取り専用表コンポーネントを示します。

図7-1 ADFデスクトップ統合表タイプ・コンポーネント

それぞれのADF表コンポーネントには、「キー」列が1つ含まれています。「キー」列には、ADFデスクトップ統合で表が正しく機能するために使用される重要な情報が含まれるため、削除しないでください。「キー」列を削除したり、「キー」列のセルを変更すると、エラーおよびデータ破損が発生します。キー列の詳細は、7.12項「ADF表コンポーネントのキー列の構成」を参照してください。

これらの表タイプ・コンポーネントとともに使用可能な他のADFデスクトップ統合コンポーネントの詳細は、第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」を参照してください。

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

表は、構造化された情報を表示するときに使用されます。たとえば、表7-2は、Master Price ListモジュールのADF表コンポーネントと、それぞれのFusion Webアプリケーションからダウンロードされたデータを示します。

図7-2 ADF表コンポーネントとダウンロードされたデータ

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

統合Excelワークブックに表コンポーネントを追加した後、表を構成するために追加機能が必要になることがあります。表コンポーネントで使用可能な他の機能へのリンクは次のとおりです。

- 変更の追跡: 表コンポーネントで変更の追跡を可能にします。詳細は、7.19項「ADF表コンポーネントでの変更の追跡」を参照してください。

- 依存値リスト: 表コンポーネントに依存値リスト・コンポーネントを追加できます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

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

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

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

ADF表コンポーネントは、ADFデスクトップ統合が公開するOracle ADFコンポーネントの1つです。これは、ADFデスクトップ統合デザイナの作業ウィンドウのコンポーネント・パレットに表示されます。Excelワークシートに挿入された後は、次の操作が可能です。

- 読取り専用

- 挿入専用

- 更新専用

- 挿入と更新

ADF表コンポーネントに固有のページ定義ファイルの要件の詳細は、次の項を参照してください。

エンド・ユーザーにデータ・エントリ機能を提供するようADF表コンポーネントを構成するには、Excelワークシートの基礎となるページ定義ファイルにADFバインディングをあらかじめ構成しておく必要があります。統合Excelワークブックのページ定義ファイルの要件の概要は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

ADF表コンポーネント作成のためにページ定義ファイルを作成する際に、次のコントロール・バインディングを公開します。

- 目的の属性バインディングを公開するツリー・バインディング。ADFデスクトップ統合では、ViewObjectに対してScrollableアクセス・モードのみがサポートされています。他のアクセス・モードはサポートされていません。

- ADF表コンポーネントのRowActionsおよびBatchOptionsプロパティ・グループの値を構成する場合は、メソッド・アクション・バインディングとアクション・バインディング。これらのプロパティ・グループに値を設定する手順の例には、次のものがあります。

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

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

- 7.7項「ADF表コンポーネントに挿入前のデータをダウンロードするためのワークシートの構成」

注意:

前述のリストは完全なものではありません。

- (オプション)レコード・アクション・バインディングを更新します。

注意:

Excelはバインディングのフラット・リストを表示して、イテレータは表示されないため、異なるイテレータの属性にはわかりやすい名前を使用します。

図7-3に、ページ定義ファイルExcelPriceListPageDef.xmlに含まれるバインディングを示します。このページ定義ファイルは、関連付けられているExcelワークシートでのADF表コンポーネントの使用をサポートします。

図7-3 ADF表コンポーネントの使用をサポートするADFバインディング

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

ページ定義ファイルを正しく構成した後、ADF表コンポーネントをワークシートに挿入してプロパティを構成し、必要な機能を使用可能にできます。ADF表コンポーネントを使用して、データ行のダウンロード、編集、アップロードを行うことができます。

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

ADFデスクトップ統合デザイナの作業ウィンドウからADF表コンポーネントを挿入できます。

始める前に:

ADF表コンポーネントについて理解しておくと役立ちます。詳細は、7.3項「ExcelワークシートへのADF表コンポーネントの挿入」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ExcelワークシートへADF表コンポーネントを挿入するには:

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

2. ADF表コンポーネントを挿入するExcelワークシートのセルを選択します。ADF表コンポーネントを挿入するときは、2つの表のデータが実行時に重複しないようにしてください。

3. ADFデスクトップ統合デザイナの作業ウィンドウのバインディング・パレットで、使用するツリー・バインディングを選択して、バインディングの挿入をクリックします。選択内容に基づいて、「コンポーネントの選択」ダイアログまたはコンポーネントの挿入ダイアログが表示されます。

4. 表示されたダイアログで、「ADF表」を選択して「OK」をクリックします。

注意:

- または、コンポーネント・パレットまたは「Oracle ADF」タブを使用しても、ADF表コンポーネントを挿入できます。「ADF表」を選択して、コンポーネントの挿入をクリックします。または、「Oracle ADF」タブで、コンポーネントの挿入ドロップダウン・リストから「ADF表」を選択します。コンポーネント・パレットまたは「Oracle ADF」タブを使用して表コンポーネントを作成する場合は、実行時にコンポーネントに表示されるそれぞれの列を追加する必要があります。

- Insert Bindingを使用してADF表コンポーネントを挿入する場合は、すべての列に対してデフォルトでInputTextがサブコンポーネント・タイプとして定義されます。列にリスト・サブコンポーネント(TreeNodeListまたはModelDrivenColumnComponent)を追加する場合は、古い列を削除してから希望するサブコンポーネント・タイプを再び挿入してください。

5. 図7-4に示すように、プロパティ・インスペクタを使用してADF表コンポーネントのプロパティを構成します。

図7-4 ADF表プロパティ・インスペクタ

6. ツリー・バインディングに関連付けられたイテレータの各行を一意に識別する属性のバインディング式を指定します。バインディングのイテレータが行のキーをサポートする場合、UniqueAttributeプロパティは空白のままにしても問題ありません。

7. 表7-1の説明に従って、ADF表コンポーネントのBatchOptionsプロパティを構成します。

表7-1 ADF表コンポーネントのBatchOptionsプロパティ

設定するプロパティ

設定する値

CommitBatchActionID

ページ定義ファイルで公開されたCommitアクション・バインディング。

8. オプションで、RowLimitグループ・プロパティを構成し、ADF表コンポーネントがダウンロード可能な行数を決定します。
詳細は、7.17項「表タイプ・コンポーネントがダウンロードする行数の制限」を参照してください。

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

図7-5は、設計モードでのEditPriceList-DT.xlsxにおけるADF表コンポーネントを示します。

図7-5 設計モードのADF表コンポーネント

図7-6は、実行時のEditPriceList-DT.xlsxにおけるADF表コンポーネントを示します。

図7-6 実行時のADF表コンポーネント

ADF表コンポーネントに設定可能なプロパティの詳細は、A.9項「ADF表コンポーネントのプロパティとアクション」を参照してください。

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

統合ExcelワークブックのワークシートにADF表コンポーネントを挿入した後、ツリー・バインディングで使用できない列を追加したい場合があります。たとえば、Excel式によって計算される値を表示する列を追加する場合です。

始める前に:

ADF表コンポーネントについて理解しておくと役立ちます。詳細は、7.3項「ExcelワークシートへのADF表コンポーネントの挿入」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネントに列を追加するには:

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

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. コンポーネントの編集: ADF表ダイアログで、Columnsプロパティの省略記号ボタン(...)をクリックして、「列の編集」ダイアログを開きます。このダイアログには、選択したADF表コンポーネントのすべての列が一覧表示されます。

4. 「追加」をクリックして、新しい列を追加します。新しい列が、Membersリストの末尾に挿入されます。列を特定の位置に移動するには、列を選択して「上」と「下へ」の配列キーを使用します。

5. ダイアログの右側ウィンドウにある新しい列のプロパティを構成します。図7-7は、EditPriceList-DT.xlsxのProductTableの新しい列、Differenceの例を示します。

図7-7 ADF表コンポーネントでの列の追加

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

注意:

手順4の説明に従って新しい列を移動していない場合、新しい列はKey列の左側に表示されます。

図7-8は、EditPriceList-DT.xlsxのProductTableの新しい列、Differenceを示します。

図7-8 設計モード時のADF表の新しい列

図7-9は、実行時のEditPriceList-DT.xlsxのProductTableの新しい列、Differenceを示します。

図7-9 実行時のADF表の新しい列

ADFデスクトップ統合では、ADF表コンポーネントに追加可能な列の数に制限はありません。使用するExcelのバージョンでサポートされている列の数だけ追加できます。ただし、表の幅が非常に広い場合、パフォーマンスと操作性が低下することが報告されています。このような状況が発生した場合は、まず表の列数を減らしてみてから、パフォーマンス低下の他の理由を診断してください。

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

ADF表コンポーネントを追加すると、デフォルトでエンド・ユーザーが既存のデータを編集できるようになりますが、新しいデータ行の追加や既存のデータ行の削除はできません。

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

エンド・ユーザーが既存のデータを編集できるようにしながら、データ行の追加や削除を制限する場合、追加の構成は必要ありません。表7-2や図7-10示すように、ADF表コンポーネントのRowActionプロパティが設定されていることを確認してください。

表7-2 ADF表コンポーネントのRowActionプロパティ

プロパティ

値

InsertRowEnabled

False

DeleteRowEnabled

False

UpdateRowEnabled

True

図7-10 データを更新するためのADF表のRowActionプロパティ

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

エンド・ユーザーが行のデータを変更すると、ADFデスクトップ統合によりその行にマークが付けられ、上向きの三角形が_ADF_ChangedColumn列の行に表示されます。既存のデータを更新した後、エンド・ユーザーはアップロード処理を開始して変更を保存します。ADF表コンポーネントのアップロード処理の詳細は、7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」を参照してください。

Excelは、統合ワークブックで変更された行を、行ごとにではなくバッチ処理でアップロードします。バッチをアップロードするときのバッチのサイズとADF表コンポーネントが起動するアクションを構成できます。バッチ処理の詳細は、7.10項「ADF表コンポーネントでのバッチ処理」を参照してください。

ADF表コンポーネントに設定可能なプロパティの詳細は、A.9項「ADF表コンポーネントのプロパティとアクション」を参照してください。

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

ADF表コンポーネントの第一の目的は、データを入力および編集し、Fusion Webアプリケーションにサービスを提供するデータベースにアップロードできるインタフェースをエンド・ユーザーに提供することです。この目的を達成するには、データ・コントロールのメソッドを公開し、ページ定義ファイルでアクション・バインディングを作成して、ExcelワークシートがホストするADF表コンポーネントのプロパティを設定する必要があります。この機能が正常に動作するには、Excelの行全体を挿入する必要がある点に注意してください。

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

エンド・ユーザーがADF表コンポーネントで行う変更をADF表コンポーネントのUploadアクションを起動してコミットするには、ADF表コンポーネントのプロパティをいくつか構成する必要があります。

始める前に:

ADF表コンポーネントを構成してデータを挿入する方法を理解しておくと役立ちます。詳細は、7.5項「データを挿入するためのADF表コンポーネントの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

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

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

2. プロジェクトがない場合は、CreateInsertとCommitアクション・バインディングを、ADF表コンポーネントをホストするExcelワークシートに関連付けられたページ定義ファイルに追加します。
詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」と7.2項「ADF表コンポーネントのページ定義の要件」を参照してください。

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

4. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

5. コンポーネントの編集: ADF表ダイアログで、表7-3に示すようにADF表コンポーネントのRowActionsプロパティを構成します。

表7-3 ADF表コンポーネントのRowActionsプロパティ

設定するプロパティ

設定する値

InsertRowEnabled

True

InsertBeforeRowActionID

ページ定義ファイルで公開されたCreateInsertアクション・バインディング。

InsertRowsAfterUploadEnabled

True(以前にアップロードされたことがあるかどうかに関係なく、挿入された行を再びアップロードする場合)。デフォルトでは、このプロパティはFalseに設定されます。

InsertRowEnabledがFalseに設定されている場合、このプロパティは無視されます。

6. 次の表に示すように、ADF表コンポーネントのBatchOptionsプロパティを構成します。

表7-4 ADF表コンポーネントのBatchOptionsプロパティ

設定するプロパティ

設定する値

CommitBatchActionID

ページ定義ファイルで公開されたCommitアクション・バインディング。

7. 次の表に示すように、ADF表コンポーネントのColumnsプロパティを構成します。

表7-5 ADF表コンポーネントのColumnsプロパティ

設定するプロパティ

設定する値

InsertUsesUpdate

True

UpdateComponent

- UpdateComponentプロパティのValueフィールドを、ページ定義ファイルから属性を更新するように設定します。たとえば、#{row.bindings.ProductId.inputValue}とします。

- UpdateComponentのReadOnlyプロパティが正しく設定されていることを検証します。
このプロパティは、列に関連付けるサブコンポーネントとしてInputTextまたはTreeNodeListを選択した場合のみ表示されます。ユーザーが列の値を編集できるようにするには、ReadOnlyをFalseに設定します。それ以外の場合はTrueに設定します。

サブコンポーネントとして使用可能なコンポーネントの詳細は、第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」を参照してください。

ID

ADF表コンポーネントの列のリストで列を一意に識別する値をこのフィールドに設定します。このプロパティの値は必須です。ADF表コンポーネントによって、変更の必要がない初期値が生成されます。

CellStyleName

このプロパティを、ワークブックで定義するスタイル、または実行時に列のセルにスタイルを適用するEL式に設定します。スタイルの詳細は、第9章「統合Excelワークブックの外観の構成」を参照してください。

HeaderLabel

このプロパティをラベル、または実行時に列ヘッダーにレンダリングされるラベルに評価されるEL式に設定します。ラベルの詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

HeaderStyleName

このプロパティをワークブックで定義するスタイル、または実行時に列のヘッダーのセルにスタイルを適用するEL式に設定します。スタイルの詳細は、第9章「統合Excelワークブックの外観の構成」を参照してください。

8. Uploadアクションの起動時にコミットするデータを含む列ごとに、手順7を繰り返します。
ADF表コンポーネント・プロパティの詳細は、A.9項「ADF表コンポーネントのプロパティとアクション」を参照してください。

注意:

- 多相ビュー・オブジェクトを使用中に新しい行を挿入する場合は、デフォルトのCreateInsertアクション・バインディングでは不十分です。新しく作成した行でも識別子の値を設定するカスタム・メソッドを作成する必要があります。
カスタム・メソッドを作成する際に、ページ定義ファイルでカスタム・メソッドをアクション・バインディングとして公開する必要があります。このアクション・バインディングは、CreateInsertではなくInsertBeforeActionIdとして指定してください。

- InsertRowsAfterUploadEnabledプロパティがFalseに設定されていて、エンド・ユーザーが挿入済のデータをもう一度アップロードしようとすると、行を二度挿入することはできないというエラー・メッセージがステータス列に表示されます。

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

ワークシートにADF表コンポーネントを追加した後は、ADF表コンポーネントがFusion Webアプリケーションからデータをダウンロードするように、コンポーネントおよびそれをホストするワークシートを構成できます。これを実行するには、ADFボタンやワークシート・リボン・ボタン、ワークシート・イベントなどのOracle ADFコンポーネントを構成して、アクション・セットを起動します。起動されるアクション・セットには、起動されるアクションの中からADF表コンポーネントDownloadアクションを含める必要があります。

ADF表コンポーネントやADF読取り専用コンポーネントに含まれる行数は、Fusion Webからダウンロードする行数に基づいて増減します。Excelが表タイプ・コンポーネントがダウンロードするデータを受け入れるために行を挿入するときに、複製する場合を除いて、表タイプ・コンポーネントの左右には何も配置しないでください。実行時に表タイプ・コンポーネントに対して位置が維持されるため、表タイプ・コンポーネントの上下には他のコンポーネントを配置できます。エンド・ユーザーが実行時にADF表コンポーネントに新しいデータ行を挿入する場合は、ADF表コンポーネントをホストするExcelワークシートに行全体を挿入する必要があります。

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

Oracle ADFコンポーネント、ワークシート・リボン・ボタン、ワークシート・イベントを構成して、ADF表コンポーネントDownloadアクションを起動するアクション・セットを起動します。

始める前に:

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADFコンポーネントを構成してデータをADF表データ・コンポーネントにダウンロードする方法を理解しておくと役立ちます。詳細は、7.6項「ADF表コンポーネントにデータをダウンロードするためのOracle ADFコンポーネントの構成」を参照してください。

ADFコンポーネントを構成してADF表コンポーネントにデータをダウンロードするには:

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

2. 「アクションの編集」ダイアログを開き、実行時にアクション・セットを起動するワークシート・イベント、ワークシート・リボン・ボタン、Oracle ADFコンポーネント(ボタンなど)にアクション・セットを構成します。
アクション・セットの起動の詳細は、8.2項「アクション・セットの使用」を参照してください。

3. ADF表コンポーネントDownloadアクションを、実行時にアクション・セットにより起動されるアクションのリストに追加します。
ADF表コンポーネントDownloadアクションは、ADF表コンポーネントTreeIDプロパティにより参照されるバインディングの現在の状態をダウンロードします。ダウンロードの前にこのバインディングの状態が最新であることを確認するため、アクション・セットがADF表コンポーネントDownloadアクションを起動する前にバインディングをリフレッシュする問合せアクションを追加します。

図7-11は、EditPriceList-DT.xlsxワークブックの「アクションの編集」ダイアログを示します。ここでは、ワークシート・イベントStartupにより起動されるアクション・セットが構成されます。

図7-11 ADF表コンポーネントにデータをダウンロードするアクション・セット

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

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

エンド・ユーザーは、構成されたアクション・セットを起動します。アクション・セットは、指定されたアクションのリストを順に起動します。これには、ADF表コンポーネントのDownloadアクションを起動するアクションが含まれます。このアクションは、ADF表コンポーネントTreeIDプロパティにより参照されるバインディングの現在の状態をダウンロードします。TreeIDプロパティにより参照されるツリー・バインディングにマスター/ディテール関係のデータ(たとえば、複数の製品を持つ製品カテゴリなど)が含まれる場合、ADF表コンポーネントは詳細結果セットに最初のレコードを表示します(最初の製品など)。Fusion Webアプリケーションでどのようにツリー・バインディングを構成したかによって、最初のレコードとして定義された詳細レコードが決まります。ツリー・バインディングを使用したマスター/ディテール・データの表示の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のツリーを使用したマスター/ディテール・オブジェクトの表示に関する項を参照してください。

アクションによりダウンロードされる行数は、ADF表コンポーネントでRowLimitグループ・プロパティに設定された値によって異なります。詳細は、7.17項「表タイプ・コンポーネントがダウンロードする行数の制限」を参照してください。

7.7 ADF表コンポーネントに挿入前のデータをダウンロードするためのワークシートの構成

挿入前のデータとは、参照するFusion Webアプリケーションのイテレータを構成する1つ以上のデータ行が含まれるデータです。これらのデータ行は、Fusion Webアプリケーションのデータベースにまだコミットされていません。イテレータを構成して、属性の一部またはすべての値を移入できます。

統合Excelワークブックで設計時に、ADF表コンポーネントが挿入前のデータをFusion Webアプリケーションからダウンロードするように、ADF表コンポーネントおよびそれをホストするワークシートを構成できます。これを実行するには、ADFボタン・コンポーネントやワークシート・リボン・ボタン、ワークシート・イベントなどのOracle ADFコンポーネントを構成して、アクション・セットを起動します。起動されるアクション・セットには、起動されるアクションの中からADF表コンポーネントのDownloadForInsertアクションを含める必要があります。

DownloadForInsertアクションは、次の点でDownloadアクションとは異なります。

- DownloadForInsertは、ADF表コンポーネントの各列に関連付けられた挿入コンポーネントに対して、表セルのデータにEL式の値を移入します。Downloadは、ADF表コンポーネントの各列に関連付けられた更新コンポーネントに対して、表セルのデータにEL式を移入します。

- EL式#{components.componentID.currentRowMode}は、DownloadForInsertアクションにより評価されたときにInsertを返します。対照的に、Downloadアクションにより評価されるEL式はUpdateを返します。EL式のcomponentIDの部分は、ADF表コンポーネントのIDを参照します。

DownloadForInsertアクションの起動に際して、次の点に注意してください。

- STATUS_INITIALIZEDの状態にあるデータ行を持つアクションを使用してください。トランザクションがコミットされるときに、これらのデータ行は無視されるためです。

- DownloadForInsertアクションを含むアクション・セットは、ADF表コンポーネントのRowActions.InsertRowEnabledプロパティがFalseに設定されていると、このアクションを実行しません。

- ADF表コンポーネントに表示されるデータは最後に実行されたアクションによって決まるため、同じアクション・セットにDownloadForInsertとDownloadの両方のアクションを含めても意味がありません。

7.7.1 ADF表コンポーネントに挿入前のデータをダウンロードするためのワークシートの構成方法

Oracle ADFコンポーネント、ワークシート・リボン・ボタン、ワークシート・イベントを構成して、ADF表コンポーネントDownloadForInsertアクションを起動するアクション・セットを起動します。

始める前に:

ADF表コンポーネントに挿入前のデータをダウンロードするためのワークシート構成について理解しておくと役立ちます。詳細は、7.7項「ADF表コンポーネントに挿入前のデータをダウンロードするためのワークシートの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネントに挿入前のデータをダウンロードするためにワークシートを構成するには:

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

2. 「アクションの編集」ダイアログを開き、実行時にアクション・セットを起動するワークシート・イベント、ワークシート・リボン・ボタン、Oracle ADFコンポーネントにアクション・セットを構成します。
アクション・セットの起動の詳細は、8.2項「アクション・セットの使用」を参照してください。

3. ADF表コンポーネントDownloadForInsertアクションを、実行時にアクション・セットにより起動されるアクションのリストに追加します。

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

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

エンド・ユーザーは、構成されたアクション・セットを起動します。アクション・セットは、指定されたアクションのリストを順に起動します。これには、ADF表コンポーネントのDownloadForInsertアクションを起動するアクションが含まれます。このアクションは、Fusion Webアプリケーションから挿入前のデータをダウンロードし、ExcelワークシートのADF表コンポーネントの行にそれを挿入します。InsertComponentプロパティは、挿入前のデータをホストするために挿入される行に関連付けられたADF表コンポーネントに対して構成されます。エンド・ユーザーはADF表コンポーネントのUploadアクションを起動して、挿入前のデータをFusion Webアプリケーションのデータベースにコミットできます。

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

エンド・ユーザーがADF表コンポーネントでデータに加える変更をFusion Webアプリケーションにアップロードできるように、ADF表コンポーネントおよびホストされるワークシートを構成します。この機能を構成するには、どのようなユーザーによる操作やワークシート・イベントが、ADF表コンポーネントのUploadアクションを起動するアクション・セットを起動するかを決定します。

Fusion WebアプリケーションからのWebページで、エンド・ユーザーにデフォルトのアップロード用ダイアログとは異なるアップロード・オプションを提供するには、ADF表コンポーネントのUploadを起動するアクションの前に、アクション・セットでDialogアクションを指定する必要があります。詳細は、7.8.5項「カスタムのアップロード・ダイアログの作成方法」を参照してください。

注意:

マスター/ディテール関係では、ADFデスクトップ統合はViewLinkソース属性の編集をサポートしていません。これは、子のビュー・オブジェクトの選択が結果的に変わるためです。誤って編集されないようにするため、ViewLinkソース属性を読取り専用にするか、マスターとディテール間のビュー・リンクを含まないモデル構成を使用してください。

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

ADFコンポーネント、ワークシート・リボン・ボタン、コンポーネント(ボタンなど)、ワークシート・イベントを構成して、ADF表コンポーネントのUploadアクションを起動するアクション・セットを起動します。

始める前に:

ADFコンポーネントを構成してデータをADF表データ・コンポーネントからアップロードする方法を理解しておくと役立ちます。詳細は、7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADFコンポーネントを構成してADF表コンポーネントに変更済データをアップロードするには:

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

2. 「アクションの編集」ダイアログを開いて、ADF表コンポーネントのUploadアクションを起動するアクション・セットを構成します。
アクション・セットの詳細は、8.2項「アクション・セットの使用」を参照してください。

3. ADF表コンポーネントのUploadアクションを、実行時にアクション・セットにより起動されるアクションのリストに追加します。
図7-12は、EditPriceList-DT.xlsxワークブックの「アクションの編集」ダイアログを示します。ここでは、実行時にSave ChangesというラベルのADFボタンにより起動されるアクション・セットが構成されます。

図7-12 ADF表コンポーネントからデータをアップロードするアクション・セット

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

注意:

このアクション・セットには、ADF表コンポーネントのバッチ・オプションにCommitへのコールがすでに含まれるため、コミット・タイプのアクションのコールは含まれません。詳細は、7.10.1項「ADF表コンポーネントのバッチ・オプションの構成方法」を参照してください。

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

実行時にエンド・ユーザーは、構成したメカニズム(ADFコンポーネント、ワークシート・リボン・ボタン、ワークシート・イベント)アクション・セットを起動します。これによって、次の一連のイベントがトリガーされます。

1. ADF表コンポーネントに動的な列が含まれる場合、ADFデスクトップ統合は前回ADF表コンポーネントのDownloadアクションが起動されたときに展開された動的な列が、まだFusion Webアプリケーションに存在するかどうかを検証します。列が存在しない場合は、ADFデスクトップ統合はアップロード処理を続行するかどうか決めるようエンド・ユーザーにプロンプトを表示します。エンド・ユーザーが続行しないと決めた場合、ADFデスクトップ統合は実行中のアクション・セットに中止コードを返します。

2. ADF表コンポーネントにアップロードする保留中の変更がない場合、ADF表コンポーネントのUploadアクションは実行中のアクション・セットに成功コードを返します。

3. 7.8.5項「カスタムのアップロード・ダイアログの作成方法」にあるようにアクション・セットにカスタムのアップロード・ダイアログを構成しなかった場合、ADFデスクトップ統合は図7-13に示すようなデフォルトのアップロード・ダイアログを表示します。

図7-13 デフォルトのアップロード・ダイアログ

エンド・ユーザーが「取消」をクリックした場合、ADFデスクトップ統合は実行中のアクション・セットに中止コードを返します。エンド・ユーザーが「OK」をクリックすると、アクション・セットはアップロード操作のダイアログで指定したオプションの実行を続けます。

4. ADF表コンポーネントは、変更した行を1行ずつではなく、バッチでアップロードします。バッチ・オプションはBatchOptionsプロパティ・グループを使用して構成できます。ADF表コンポーネントのバッチ・オプションの詳細は、7.10項「ADF表コンポーネントでのバッチ処理」を参照してください。
各バッチ行は次のように処理されて、各バッチの変更されたすべての行が終わるまで処理が続けられます。

1. 挿入された行の場合は、InsertBeforeRowActionIDアクションが起動されます(指定されている場合)。

2. キャッシュされたすべての行属性の値を含む、ワークシートからの属性をモデルに設定します。

3. 編集された行の場合、UpdateRowActionIDアクションを起動し、挿入された行については、InsertAfterRowActionIDアクションを起動します(指定されている場合)。

4. アップロードされた各行について、ステータス・メッセージがStatus列に表示されます。詳細は、8.2.5項「アクション・セットの実行中にステータス・メッセージを表示する方法」を参照してください。

5. 行について失敗があった場合、AbortOnFailの値が検証されます。AbortOnFailがFalseに設定されている場合、アップロード処理は続けられ、それ以外の場合はデータのアップロードを停止してコミット・アクションを起動します。

5. データをアップロードする際、ADF表コンポーネントは次の条件に基づいて実行中のアクション・セットに成功または失敗のコードを返します。

- ADF表コンポーネントがすべてのバッチを問題なくアップロードした場合、実行中のアクション・セットに成功のステータスが返されます。エンド・ユーザーが手順3で「正常にアップロードした後はすべての行をダウンロードします」オプションを選択した場合、ADF表コンポーネントはFusion Webアプリケーションからすべての行をダウンロードします。

- ADF表コンポーネントがすべてのバッチを正常にアップロードしなかった場合、アクション・セットはRowActions.FailureActionIDプロパティで指定されたアクションを起動します(このプロパティにアクションが指定されている場合)。ADFデスクトップ統合は、アクション・セットに失敗コードを返します。

手順3の「アップロード・オプション」ダイアログで「失敗した場合は、引き続き後続の行をアップロードします」を選択した場合、一部の行で検証に失敗した場合でも、Uploadアクションはアクション・セットに成功コードを返します。

注意:

ADF表コンポーネント列のReadOnlyプロパティがTrueに評価された場合、ADF表コンポーネントのUploadアクションは列のセルの変更を無視します。

ADF表コンポーネント列のプロパティの詳細は、表A-10を参照してください。

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

実行時にADF表コンポーネント列のReadOnlyプロパティがTrueに評価された場合、ADF表コンポーネントのUploadアクションは列のセルにあるすべての変更を無視します。

行の値をバインディングする式を式の一部として指定するReadOnly EL式は使用しないでください。行の値のバインディングを使用する必要がある場合、EL式がUpload中にどのように評価されるかを理解する必要があります。すべてのEL式の評価は現在、クライアント上で実行されています。このため、行の値を更新する前にまず、行の値のバインディングを含むReadOnly EL式を評価するために、サーバーへの追加のラウンドトリップが必要となります。高いコストがかかるサーバーへの追加コールを回避するために、アップロード中のReadOnly EL式の評価は、表の変更の追跡と同じ方法で(ユーザーがオフラインの場合と同様に)実行されます。

変更の追跡の詳細は、7.19項「ADF表コンポーネントでの変更の追跡」を参照してください。

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

ADF表コンポーネントがデータのアップロードを開始すると、ADFデスクトップ統合はアップロード処理を開始する前にDataControlFrameセーブポイントを作成します(アップロードされた行のバッチごとに1回)。なんらかの失敗があった場合、ADFデスクトップ統合は同じセーブポイントまで戻り、Fusion Webアプリケーションのサーバー・サイドの状態の整合性を維持します。

アップロードされた行のバッチの各行ごとに、ADFデスクトップ統合は次の処理を実行します。

1. 構成されたアクションを起動し、行の属性値の変更を適用して、データの検証を実行。

2. なんらかのエラーがあった場合、セーブポイントの状態に復元。

注意:

必要に応じて2度目の繰り返しが実行され、アップロードに成功したすべての行でその後のアップロード・エラーによって変更が元に戻されたものが再度アップロードされます。

セーブポイントの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のツリーを使用したマスター/ディテール・オブジェクトの表示に関する項を参照してください。

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

デフォルトのアップロード・ダイアログのものとは異なるオプションをエンド・ユーザーに提供する、Fusion Webアプリケーションからのページを表示します。アクション・セットでADF表コンポーネントのUploadアクションを起動するアクションの前に、Dialogアクションを追加します。

始める前に:

ADFコンポーネントを構成してデータをADF表データ・コンポーネントからアップロードする方法を理解しておくと役立ちます。詳細は、7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

カスタムのアップロード・ダイアログを作成するには:

1. Fusion Webアプリケーションを開発するJDeveloperプロジェクトにページを作成します。このページの作成方法の詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

2. 8.4項「Fusion WebアプリケーションからのWebページの表示」 に示すADFdi_CloseWindow要素(span要素など)の他に、手順1で作成するページには表7-6に示す要素を含める必要があります。

表7-6 カスタム・アップロードに必要なSpan要素

名前

説明

ADFdi_AbortUploadOnFailure

この要素をTrueに設定すると、失敗があったときにアクション・セットはアップロードを停止します。要素がFalseを参照する場合、アクション・セットはすべての行をアップロードしようと試み、各行のアップロードが成功したか失敗したかを表示します。

ADFdi_DownLoadAfterUpload

この要素をTrueに設定すると、変更されたデータがアップロードされた後で、アクション・セットはFusion WebアプリケーションからADF表コンポーネントにデータをダウンロードします。

注意:

作成するページには、ADFデスクトップ統合がデフォルトのアップロード・ダイアログをエンド・ユーザーに表示しないように、両方の要素を含める必要があります。

3. 手順1 で作成したページを起動するには、ADF表コンポーネントのUploadアクションを起動するアクション・セットのアクションより前に、Dialogアクションを追加します。
Fusion Webアプリケーションからのページを表示する詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

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

カスタムのダイアログが表示されるときに、デフォルトのアップロード・ダイアログではなく、表示されるアクション・セットでDialogアクションを構成するFusion Webアプリケーションからのページが表示されます。

注意:

エンド・ユーザーがデータをアップロードしようとしてサーバーに接続されていない場合、Dialogアクションでカスタムのアップロード・ページが見つからないとエンド・ユーザーにエラーが表示されます。サーバーへの接続がない場合、ADFデスクトップ統合が標準のダイアログに戻ることはありません。

Fusion Webアプリケーションからのページを表示する詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。 それ以外の、データをアップロードするために構成するアクション・セットの実行時の動作については、7.8.2項「実行時の処理: ADF表コンポーネントによるデータのアップロード」を参照してください。

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

ADF表コンポーネントは、アクション(DeleteFlaggedRows)を公開します。このアクションは起動されると、ADF表コンポーネントでフラグの付いた行に対応するFusion Webアプリケーションの行を削除します。ADF表コンポーネントでフラグの付けられた行とは、7.10項「ADF表コンポーネントでのバッチ処理」に示すように、エンド・ユーザーがダブルクリックしたか、_ADF_FlagColumn列のセルに文字を入力した行です。_ADF_FlagColumn列を構成してFusion Webアプリケーションの行を削除するには、列がADF表コンポーネントに存在する必要があります。

また、ADF表コンポーネントをホストするワークシートに関連付けるページ定義ファイルは、Deleteアクション・バインディングを公開する必要があります。

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

ADF表コンポーネントから行を削除するには、Deleteアクション・バインディングをページ定義ファイルに追加し、ADF表コンポーネントのRowActionsプロパティ・グループを構成して、さらにアクション・セットを構成してDeleteFlaggedRowsアクションを起動する必要があります。

始める前に:

ADF表コンポーネントを構成してFusion Webアプリケーションのデータ行を削除する方法を理解しておくと役立ちます。詳細は、7.9項「Fusion Webアプリケーションで行を削除するためのADF表コンポーネントの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネントを構成して、Fusion Webアプリケーションで行を削除するには:

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

2. 存在しない場合は、Deleteアクション・バインディングを、ADF表コンポーネントをホストするExcelワークシートに関連付けられたページ定義ファイルに追加します。
詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

3. ADF表コンポーネントのプロパティ・インスペクタを開いて、表7-7に示すようにRowActionsプロパティ・グループの値を設定します。

表7-7 ADF表コンポーネントのRowActionsプロパティ

設定するプロパティ

アクション

DeleteRowActionID

ページ定義ファイルで公開されたDeleteアクション・バインディング。

DeleteRowEnabled

Trueに設定すると、ADF表コンポーネントでFusion Webアプリケーションの行を削除できます。

デフォルト値はFalseです。

ADF表コンポーネント・プロパティの詳細は、A.9項「ADF表コンポーネントのプロパティとアクション」を参照してください。

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

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

6. 「アクションの編集」ダイアログを開き、実行時にアクション・セットを起動するときにエンド・ユーザーが使用するOracle ADFコンポーネント、リボン・コントロール、ワークシート・イベントにアクション・セットを構成します。

7. ADF表コンポーネントのDeleteFlaggedRowsアクションを、実行時にアクション・セットにより起動されるアクションのリストに追加します。
アクション・セットの起動の詳細は、8.2項「アクション・セットの使用」を参照してください。

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

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

エンド・ユーザーは、7.10.2項「ADF表コンポーネントでの行のフラグ付け」で説明されているように、削除する行にフラグを付けます。それからエンド・ユーザーはアクション・セットを起動します。次に示す一連のイベントが発生します。

1. 指定があれば、BatchOptions.StartBatchActionIDプロパティに参照されるアクション・バインディングが起動されます。
この手順での失敗はエラーとして処理されます。エラーがあると、アクション・セットの起動が停止します。また、アクション・セットにエラー条件が返されます。ActionSet.FailureActionIDプロパティにアクション・バインディングが指定されている場合、アクション・セットは指定されたアクション・バインディングを起動します。

バッチ・オプションの構成の詳細は、7.10項「ADF表コンポーネントでのバッチ処理」を参照してください。

2. アクション・セットは、RowActions.DeleteRowActionIDにより指定されたDeleteアクション・バインディングを起動します。

注意:

ADF表コンポーネントのDownloadアクションを最後に起動した後に挿入され、Fusion Webアプリケーションにアップロードされていない行は、削除のフラグが付いていても無視されます。

3. Deleteアクション・バインディングの起動中にエラーがなければ、成功のメッセージ・エントリが_ADF_StatusColumn列に表示されます。失敗があった場合、ADF表コンポーネントはDeleteアクション・バインディングの起動を中止して、手順4に進みます。

4. BatchOptions.CommitBatchActionIDプロパティにアクション・バインディングが指定されている場合、アクション・セットがそれを起動します。この手順に失敗した場合、アクション・セットはバッチ処理を停止します。失敗がなかった場合、アクション・セットはBatchOptions.StartBatchActionIDプロパティによって指定されたアクション・バインディングを起動することにより、すべてのバッチがアクションによって処理されるまで次のバッチを処理します。

5. アクション・セットがすべてのバッチを正常に処理した場合、ActionOptions.SuccessActionIDプロパティにアクション・バインディングが指定されていれば、このプロパティにより指定されたアクション・バインディングが起動されます。RowActions.DeleteRowActionIDで指定されているDeleteアクション・バインディングが起動して、Fusion Webアプリケーションにより削除された行がワークシートから削除され、アクション・セットに成功コードが戻されます。
アクションがバッチを処理する間に失敗があった場合、アクション・セットはそのActionOptions.FailureActionIDプロパティで指定されたアクション・バインディングを起動します(このプロパティにアクション・バインディングが指定されている場合)。このアクション・バインディングは、アクション・セットに失敗コードを返します。

6. アクション・セットがアクションを起動する際に予期しない例外が発生した場合、アクション・セットにエラー・コードが返されます。行レベルのエラーはすべてStatus列に表示され、バッチ・レベルのエラーはすべてTable.errorsから追跡できます。エラー処理の詳細は、12.4項「統合Excelワークブックでレポートされるエラー」を参照してください。

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

ADFコンポーネントは、Excelワークブックで変更された行を、行ごとにではなくバッチ処理でアップロードします。バッチのサイズや、バッチのアップロード時にADF表コンポーネントが起動するアクションを決定するバッチ・オプションのプロパティを構成できます。

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

ADF表コンポーネントには、ADF表コンポーネントによる行のバッチの管理を構成できるプロパティ・グループ(BatchOptions)があります。これらのプロパティの詳細は、A.9項「ADF表コンポーネントのプロパティとアクション」を参照してください。

始める前に:

ADF表コンポーネントでのバッチ処理について理解しておくと役立ちます。詳細は、7.10項「ADF表コンポーネントでのバッチ処理」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネントのバッチ・オプションを構成するには:

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

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 表示されたプロパティ・インスペクタでBatchOptionsプロパティ・グループの値を設定します。

表7-8 RowData.BatchOptionsプロパティ

設定するプロパティ

アクション

BatchSize

ADF表コンポーネント・アクション(UploadまたはDeleteFlaggedRows)がCommitBatchActionIDにより指定されたアクション・バインディングを起動する前に、どれだけの行を処理するかを指定します。正の整数以外の値の場合、1回のバッチですべての行が処理されます。デフォルト値は100行です。

CommitBatchActionID

ADF表コンポーネントがそれぞれのバッチを処理した後で起動するアクション・バインディング。通常これはCommitアクション・バインディングです。

LimitBatchSize

True

Trueの場合、ADF表コンポーネントはBatchSizeの値により決定されるバッチで行を処理します。Falseの場合、ADF表コンポーネントは変更されたすべての行を1つのバッチでアップロードします。

デフォルト値はTrueです。

StartBatchActionID

各バッチの開始時に起動するアクション・バインディングを指定します。

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

エンティティ・レベルでの失敗はバッチの失敗とは見なされません。コミット・レベルでの失敗(たとえば、外部キー属性の間違った値)はバッチの失敗と見なされます。

7.10.2 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プロパティに複雑な式がある列が表に含まれる場合に変わります。

これらのコンポーネント・アクションの使用は、ADF表コンポーネントの_ADF_FlagColumn列があるかどうかによって決まります。ADF表コンポーネントから_ADF_FlagColumn列を削除すると、これらのコンポーネント・アクションはいずれも起動できません。コンポーネント・アクションの詳細は、A.9.3項「ADF表コンポーネントのアクション」を参照してください。

実行時にはエンド・ユーザーは以前にリストされたすべてのコンポーネント・アクションをアクション・セットから起動できます。起動されたコンポーネント・アクションは、フラグ付けされたすべての行を処理します。たとえば、フラグ付けされたすべての行をダウンロードまたは削除します。コンポーネント・アクションを起動するアクション・セットの構成の詳細は、8.2.2項「アクション・セット内のコンポーネント・アクションの起動方法」を参照してください。

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

ADF表コンポーネントからデータをアップロードする際に、特定の状況ではエンド・ユーザーが予期しないエラーを体験する可能性があります。バッチからの変更を記録した後に、ADFデスクトップ統合はCommitBatchActionIDで指定されたアクションを実行します。コミット・アクション中に発生したエラーが、それ以降のレコードのバッチにエラーがなくても、後に続くバッチ・コミット・アクションで引き続き報告される可能性があります。これは、CommitBatchActionIDアクションが失敗し、保留中のモデル更新が自動的に元に戻らなかった場合に発生する可能性があります。

このようなエラーを回避するには、コミットが失敗した後に存在する保留中のモデル更新を明示的に元に戻す必要があります。たとえば、最初に保留中のモデル変更をコミットしようとするカスタムのアクションをCommitBatchActionIDに作成します。ただし、コミット中に例外が発生した場合は、カスタム・メソッドは後に続くすべてのバッチ・コミットが成功するように、最初に保留中のモデル変更をロールバックする必要があります。

注意:

クライアントで期待されるとおりにコミット・エラーが報告されるように、ロールバック後にコミットの例外がスローされることが重要です。

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

ADF表コンポーネントには、ワークシートにADF表コンポーネントを挿入する際にいくつかの列がデフォルトで含まれています。これらの列は、必要に応じてそのまま残しておくことも、削除することもできます。次に、これらの列とその目的を示します。

- _ADF_ChangedColumn
この列のセルは、ADF表コンポーネントの行の変更を追跡します。ダウンロードまたは最後に成功したアップロード以降にADF表コンポーネントの行のデータを変更した場合、上向き矢印のような記号が、_ADF_ChangedColumn列の対応するセルに表示されます。ユーザーのこの列のセルをダブルクリックすると、この記号は切り替わります(表示または非表示)。図7-15に例を示します。

図7-15 ADF表コンポーネントの変更された列

注意:

エンド・ユーザーがADF表コンポーネントのUploadアクションで、この列によってフラグ付けされた行の変更をアップロードしない場合、対応するセルに表示されるエントリをクリアする必要があります。

ADF表コンポーネントのDownloadアクションが起動されると、確認のダイアログがエンド・ユーザーに表示され、この列の1つ以上の行が変更済としてフラグ付けされます。Downloadアクションの実行を許可するには「OK」を、Downloadアクションの実行を停止するには「取消」をクリックします。

- _ADF_FlagColumn
エンド・ユーザーがこの列のセルをダブルクリックすると、対応する行がフラグ付けされた行処理としてフラグ付けされます。実線の円記号が表示され、フラグ付けされた行処理のために行にフラグが付けられたことが示されます。この列の詳細は、7.10.2項「ADF表コンポーネントでの行のフラグ付け」を参照してください。

ADF表コンポーネントのDownloadFlaggedRowsアクションが起動されると、確認のダイアログがエンド・ユーザーに表示され、_ADFChangedColumnと_ADF_FlagColumnの1つ以上の行がフラグ付けされます。アクションの実行を許可するには「OK」を、アクションの実行を停止するには「取消」をクリックします。

注意:

デフォルトでは、実線の円記号はフラグ付けされた行処理としてフラグ付けされた行を示します。ただし、_ADF_FlagColumnの空白でないセルは、フラグ付けされた行処理のために対応する行にフラグを付けます。

- _ADF_StatusColumn
この列は、次のADF表コンポーネント・アクションの起動の結果をレポートします。

- DeleteFlaggedRows

- Upload

_ADF_StatusColumnのセルにメッセージが表示され、対応する行の起動結果が示されます。エンド・ユーザーがADF表列で定義されたDoubleClickActionSetを起動してエラーが発生した場合、そのエラーは対応する行のステータス列でもレポートされます。図7-16は、ステータス列のメッセージの例を示します。

図7-16 ADF表コンポーネントのステータス列

- _ADF_RowKeyColumn
「キー」列とも呼ばれるこの列には、実行時にADFデスクトップ統合によって使用されるADF表コンポーネントに関する重要な情報が含まれます。この列は実行時と設計時の両方に表示されます。設計時に表からこの列を削除できますが、実行時には表の最後の列として自動的に表示される点に注意してください。

_ADF_RowKeyColumnの詳細は、7.12項「ADF表コンポーネントのキー列の構成」を参照してください。

ADF表コンポーネントでは、_ADF_ChangedColumn列、_ADF_FlagColumn列、_ADF_RowKeyColumn列および_ADF_StatusColumn列のプロパティは、それが参照する他の列のプロパティとは別の方法で処理されます。InsertComponentやInsertUsesUpdate、UpdateComponentなどのプロパティの値セットは、表A-11に示すようなDisplayRowErrorsアクションを起動する場合を除いて無視されます。CellStyleNameやHeaderStyleNameなど、スタイルや外観に関連するプロパティの値が読み取られます。

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

統合ExcelワークブックにADF表を追加すると、設計時に「キー」列(列ID: _ADF_RowKeyColumn)が自動的に表示されます。「キー」列には、ADFデスクトップ統合で表が正しく機能するために使用される重要な情報が含まれます。実行時には「キー」列を削除しないでください。

7.12.1 キー列の構成方法

「キー」列の位置、スタイルのプロパティ、ヘッダー・ラベルを構成できます。デフォルトでは_ADFDI_TableKeyCellStyleスタイルが適用されます。

始める前に:

ADF表コンポーネントのキー列について理解しておくと役立ちます。詳細は、7.12項「ADF表コンポーネントのキー列の構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

「キー」列を構成するには:

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

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. コンポーネントの編集: ADF表ダイアログで、Columnsの省略記号ボタン(...)をクリックして、「列の編集」ダイアログを開きます。

4. IDが_ADF_RowKeyColumnの列を選択します。

5. 必要に応じて列のプロパティを変更します。ただし、次のプロパティは変更しないでください。

- DynamicColumn

- InsertComponent

- InsertUsesUpdate

- UpdateComponent

- ID

- Visible

6. 必要があれば、「上」と「下へ」の配列キーを使用して、列の位置を変更します。

7. 「OK」をクリックして、「列の編集」ダイアログを閉じます。

8. 「OK」をクリックして、コンポーネントの編集: ADF表ダイアログを閉じます。

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

旧バージョンのADFデスクトップ統合を使用して準備および構成された統合Excelワークブックを使用する場合、設計時に「キー」列は使用できません。この列は実行時にのみ表示されます。「キー」列のプロパティを構成する場合は、設計時にこれをワークブックに追加します。

始める前に:

ADF表コンポーネントのキー列について理解しておくと役立ちます。詳細は、7.12項「ADF表コンポーネントのキー列の構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

設計時に手動で「キー」列を追加するには:

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

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. 表7-9の説明に従って、ADF表に新しい列を追加してプロパティを指定します。列の追加の詳細は、7.3.2項「ADF表コンポーネントへの列の追加方法」を参照してください。

表7-9 「キー」列のプロパティ

設定するプロパティ

値

CellStyleName

_ADFDI_TableKeyCellStyle

HeaderStyleName

_ADFDI_HeaderStyle

DynamicColumn

False

HeaderLabel

#{_ADFDIres[COMPONENTS_TABLE_ROWKEY_COL_LABEL]}

ID

_ADF_RowKeyColumn

InsertUsesUpdate

True

UpdateComponent

OutputText

Valueのプロパティは空白にする必要があります。

Visible

True

必要があれば、「上」と「下へ」の配列キーを使用して、「キー」列の位置を変更します。

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

注意:

新しい列のIDプロパティを_ADF_RowKeyColumnに指定する必要があります。そうしなければ、この列は「キー」列と見なされず、実行時に別の「キー」列が自動的に表示されます。

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

ADF表コンポーネント列で値のドロップダウン・リストをレンダリングする場合は、TreeNodeListサブコンポーネントを使用します。値リストは、実行時に最大250の値を表示できます。5.5項「コンポーネント・パレットの使用」で説明されているように、ADFデスクトップ統合とは異なり、TreeNodeListサブコンポーネントはコンポーネント・パレットには表示されません。これは、ADF表コンポーネント列のInsertComponentプロパティやUpdateComponentプロパティに値を指定するときに、サブコンポーネントとして起動します。ADF表コンポーネント列のプロパティの詳細は、A.9.2項「ADF表コンポーネント列のプロパティ」を参照してください。

TreeNodeListサブコンポーネントを起動した後、モデルドリブンのリストに関連付けられたツリー・バインディング属性を、TreeNodeListサブコンポーネントのListプロパティの値として指定する必要があります。モデルドリブン・リストに関連付けられたツリー・バインディング属性は、表コンポーネントのDownloadアクションが起動された後で、表コンポーネントの列のドロップダウン・メニューに値リストを移入します。

注意:

ModelDrivenColumnComponentをサブコンポーネント・タイプとして選択すると、モデルドリブンの値リストをADF表コンポーネントに作成できます。モデルドリブン・リストの作成の詳細は、7.14項「ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加」を参照してください。

TreeNodeListサブコンポーネントのプロパティの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

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

ADF表コンポーネント列に列を追加して、TreeNodeListをサブコンポーネントとして選択します。それから、ツリー・バインディング属性をTreeNodeListサブコンポーネントのListプロパティの値に指定します。モデルドリブン・リストは、指定するツリー・バインディング属性に関連付ける必要があります。

注意:

TreeNodeListサブコンポーネントは、コントロール・タイプがinput_text_lovまたはcombo_lovのモデルドリブンのリストをサポートしていません。

始める前に:

ADF表コンポーネントでの値リストの作成方法を理解しておくと役立ちます。詳細は、7.13項「ADF表コンポーネント列での値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネント列に値リストを作成するには:

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

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。

3. コンポーネントの編集: ADF表ダイアログで、Columnsの省略記号ボタン(...)をクリックして、「列の編集」ダイアログを開きます。

4. 「追加」をクリックして、新しい列を追加します。

5. 新しく作成した列に適切なオプションを選択します。

- InsertComponentの入力フィールドの横にある省略記号ボタン(...)をクリックして、挿入操作の実行時の値リストを構成します。

- UpdateComponentの入力フィールドの横にある省略記号ボタン(...)をクリックして、更新操作とダウンロード操作の実行時の値リストを構成します。

両方のオプションでも、作成するサブコンポーネントの選択ダイアログが表示されます。

6. TreeNodeListを選択して、「OK」をクリックします。

7. 手順5で選択したプロパティを展開して、次のように値を構成します。

- Listプロパティのモデルドリブン・リストに関連付けられたツリー・バインディング属性を選択します。

- 8.8項「統合Excelワークブックでの依存値リストの作成」の説明にあるように、従属する値リストを作成する場合にのみ、DependsOnListの値を選択してください。 DependsOnListに選択したツリー・バインディング属性またはリスト・バインディングは、従属値リスト内で親の値リストとして機能します。

- 必要に応じてReadOnlyプロパティを構成します。
これらのプロパティの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

図7-17は、TreeNodeListが列のUpdateComponentプロパティのサブコンポーネントとして選択された後の、AdvEditPriceList-DT.xlsxのADF表コンポーネント列のプロパティ・インスペクタを示します。

図7-17 値リストを表示するように構成されたADF表コンポーネント列

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

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

実行時には、ADF表コンポーネントはDownloadアクションを起動して、それぞれの列に値を移入します。また、このアクションは値リストをレンダリングするよう構成した列に値リストを移入します。図7-18は、Master Price ListモジュールのAdvEditPriceList-DT.xlsxからの例を示し、Categoryが値リストを表示するよう構成された列です。

図7-18 値リストを表示するADF表コンポーネント列の実行時のビュー

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

ModelDrivenColumnComponentサブコンポーネントをADF表コンポーネントに追加できます。ModelDrivenColumnComponentの値は、サーバー上でそれぞれの属性に指定されたコントロール・タイプのヒントにより決まります。

設計時には、列について、UpdateComponentプロパティまたはInsertComponentプロパティに対して、サブコンポーネント・タイプをModelDrivenColumnComponentと指定します。実行時には、属性に関連付けられたモデルドリブン・リストがある場合は、列はTreeNodeListサブコンポーネントを使用したドロップダウン・リストを使用します。

注意:

属性に関連付けられたモデルドリブン・リストがなかったり、リストに基づいていないコントロール・タイプが指定されている場合、列でInputTextサブコンポーネントが使用されます。コントロール・タイプがinput_text_lovまたはcombo_lovのモデルドリブンのリストがある場合、列はInputTextサブコンポーネントを使用します。

モデルドリブン・リストの作成の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のモデルドリブン・リストの作成方法に関する項を参照してください。

従属値リストのサポート

複数のModelDrivenColumnComponentリスト・サブコンポーネントがADF表コンポーネントで公開される場合、ADFデスクトップ統合は各リストが別のモデルドリブン・リストに依存するかどうかを判断します。リストに指定されたバインド変数が、別のリストにバインドされた属性を参照するかどうかが検証されます。

リストが別のモデルドリブン・リストに従属する場合、サブコンポーネントのDependsOnList値は実行時に自動的に設定されます。

サーバー・サイド・リストのバインディングの従属性は、同じツリー・ノードにあるリストについてのみ判断されます。次のツリー・ノード・リストのバインディングはサポートされていません。

- 異なるツリーまたはツリー・ノード内のリスト・バインディングに依存するバインディング

- ページ定義ファイル内のリスト・バインディングに依存するバインディング

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

ビュー・オブジェクトによって返される使用可能な属性に応じて、実行時にADF表コンポーネントが拡張または収縮するように、ADF表コンポーネントに動的な列を追加できます。TableColumn配列内にあるColumnsグループのDynamicColumnプロパティによって、この動作は制御されます。列を動的にするには、DynamicColumnプロパティをTrueに設定します。TableColumn配列の動的な列とは、属性名が設計時に認識されていないツリー・バインディングまたはツリー・ノード・バインディングにバインドされている列です。動的な列は、実行時に複数のワークシートの列に拡張できます。

ADF表コンポーネントの動的な列は、次のサブコンポーネント・タイプをサポートしています。

- InputText

- OutputText

- ModelDrivenColumnComponent

注意:

ADFデスクトップ統合は、動的な列にあるサブコンポーネント・タイプTreeNodeListをサポートしていません。

モデルドリブンの値リストのサポート

また、動的な列を構成して、サブコンポーネント・タイプが実行時のモデルの構成から決定される値リスト・サブコンポーネントをサポートできます。設計時には、UpdateComponentプロパティまたはInsertComponentプロパティに対して、サブコンポーネント・タイプをModelDrivenColumnComponentと指定します。実行時には、動的な列の拡張の際に、値リストをキャッシュする前にモデルドリブンのランタイム・コンポーネントが決定されます。リモート・サーブレットによって、クライアントはモデル構成を取得でき、クライアントは希望する列のサブコンポーネント・タイプを選択できるようになります。ModelDrivenColumnComponentの詳細は、7.14項「ADF表コンポーネントへのModelDrivenColumnComponentサブコンポーネントの追加」を参照してください。

7.15.1 動的な列の構成方法

EL式を次の形式で、ADF表コンポーネント列のInsertComponentプロパティによってサブコンポーネントとして指定されたコンポーネントのValueプロパティについて指定することにより、動的な列は、構成します。

#{bindings.TreeID.[TreeNodeID].AttributeNamePrefix*.inputValue}

または:

#{bindings.TreeID.AttributeNamePrefix*.inputValue}

詳細は、次のようになります。

- TreeIDはADF表コンポーネントで使用されるツリー・バインディングのIDです。

- TreeNodeIDは、ツリー・ノード・バインディングIDを指定するオプションの値です。この値を省略する場合は、属性がどのツリー・ノード・バインディングに属するかに関係なく、ツリー・バインディングからの一致するすべての属性が表示されます。

- AttributeNamePrefixは、ツリー・バインディングの基底にあるイテレータ内に存在する属性のサブセットを識別します。AttributeNamePrefixの値を指定しない場合、ツリー・バインディングまたはツリー・バインディング・ノードのすべての属性が返されます。常に*文字を使用してください。

注意:

動的な列を追加する際、ツリー・ノード属性名がページ定義ファイルで指定されていないことを確認してください。実行時には、ツリー・ノード・オブジェクトは基底にあるイテレータからすべての属性名を返します。ページ定義ファイルに指定された属性名がある場合、ツリー・ノード・オブジェクトはそのリストに基づいて、使用可能な属性名のリストを限定します。

次の例は、EmpTreeバインディングのmodel.EmpViewノードにある、"period"で始まる名前を持つすべての属性を返します。

#{bindings.EmpTree.[model.EmpView].period*.inputValue}

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

ADF表コンポーネントのDownloadアクションまたはDownloadForInsertアクションが起動されると、ADF表コンポーネントは一致する属性の最新のセットが含まれるように動的な列を自動的に更新します。Downloadが起動されるたびに、ADFデスクトップ統合は動的な列に対して、すべての行に同じ属性セットがあることを要求します。Downloadの際に属性のセットが行ごとに異なる場合、エラーが発生することがあります。

動的な列がInsert操作とUpdate操作をどちらもサポートする場合、動的な列のInsertComponentサブコンポーネントとUpdateComponentサブコンポーネントについて、Valueプロパティに同じEL式を指定する必要があります。実行時には、ADF表コンポーネントはEL式により返される属性バインディングの値を表示する動的な列を含むように拡張します。

ADF表コンポーネントのUploadアクションが起動されるとき、ワークブックはエンド・ユーザーに対して、以前にダウンロードした属性がツリー・バインディングにもう存在しない場合、データのアップロードを続行するかどうかを決定するプロンプトを表示します。

宣言型SQLモードによるビュー・オブジェクトのサポート

宣言型SQLモードで構成され、実行時にカスタマイズされたビュー・オブジェクトをサポートするために、ADFデスクトップ統合はselectedプロパティがFalseに設定されている属性をすべて無視します。サーバー・サイドでは、JUCtrlHierNodeBindingオブジェクトが属性リストを決定し、リクエストがあればそれを統合Excelワークブックに渡します。

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

次の構文を使用して、動的な列のHeaderLabelプロパティにEL式を記述します。

#{bindings.TreeID.[TreeNodeID].hints.AttributeNamePrefix*.label}

または:

#{bindings.TreeID.hints.AttributeNamePrefix*.label}

動的な列でInsert操作およびUpdate操作がサポートされている場合、動的な列のInsertComponentおよびUpdateComponentのValueプロパティに指定するものと同じツリー・バインディングID、ツリー・ノード・バインディングID、および属性名の接頭辞の値を、動的な列のHeaderLabelプロパティで指定します。

注意:

ADF表コンポーネントは、列を動的として構成する場合、列のVisibleプロパティの値を無視します。ADF表コンポーネント列のプロパティの詳細は、表A-10を参照してください。

エンド・ユーザーが値を入力しなければならない必須の列に、記号や文字列でマークを付ける場合は、HeaderLabelプロパティを構成する必要があります。次の構文を使用して、すべての必須の列に記号や文字列を追加するEL式を記述します。

=IF(#{bindings.TreeID.[TreeNodeID].hints.*.mandatory}, "<prefix_for_mandatory_cols>", "") & "#{bindings.TreeID.[TreeNodeID].hints.*.label}"

たとえば、次のEL式は必須の列のラベルにアスタリスク(*)文字を追加します。

=IF(#{bindings.MyTree.[myapp.model.MyChildNode].hints.*.mandatory}, "* ", "") & "#{bindings.MyTree.[myapp.model.MyChildNode].hints.*.label}"

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

列のデータ型に応じて、データ型ごとに異なるスタイルを指定できます。次の構文を使用して、動的な列のCellStyleNameプロパティにEL式を記述します。

=IF("#{bindings.TreeID.[TreeNodeID].hints.*.dataType}"="<data_type>", <custom_style_expression1>, <custom_style_expression2>)

次の例では、すべてのdate列にMyDateStyleスタイルが適用され、他のデータ型の列にはMyDefaultStyleが適用されます。

=IF("#{bindings.MyTree.[myapp.model.MyChildNode].hints.*.dataType}"="date", "MyDateStyle", "MyDefaultStyle")

次の例は、MyDateStyleスタイルがすべてのdateデータ型の列に、MyNumberStyleがすべてのnumberデータ型の列に、MyDefaultStyleがその他のデータ型の列にそれぞれ適用されるシナリオを示します。

=IF("#{bindings.MyTree.[myapp.model.MyChildNode].hints.*.dataType}"="date", "MyDateStyle", IF("#{bindings.MyTree.[myapp.model.MyChildNode].hints.*.dataType}"="number", "MyNumberStyle", "MyDefaultStyle"))

EL式の詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。

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

実行時、ADF読取り専用表コンポーネントは、参照するツリー・バインディングのデータを表示する、連続した範囲のセルにまたがる表をレンダリングします。エンド・ユーザーが編集できないデータを表示する場合に、このコンポーネントを使用します。

このコンポーネントは、Downloadアクションの起動時にコンポーネントがダウンロードする行数を決定するRowLimitなどのプロパティをサポートします。また、これには実行時にExcelワークシートに表示されるツリー・バインディングの列を決定するプロパティ・グループ(Columns)も含まれます。TreeIDプロパティは、コンポーネントが参照するツリー・バインディングを指定します。これらのプロパティや、ADF読取り専用表コンポーネントがサポートする他のプロパティの詳細は、A.10項「ADF読取り専用表コンポーネントのプロパティおよびアクション」を参照してください。

図7-19に、設計時のADF読取り専用表コンポーネントを示します。プロパティ・インスペクタが最前面に表示されています。

図7-19 設計時のADF読取り専用表コンポーネント

図7-20に、Master Price Listモジュールのページ定義ファイルExcelReadOnlyPageDef.xmlのツリー・バインディングProductListを参照するADF読取り専用表コンポーネントが実行時にレンダリングする列を示します。

図7-20 実行時のADF読取り専用表コンポーネントの列

注意:

実行時には、ADF読取り専用表コンポーネントに行を挿入すると、新しいExcelの行がダウンロードされたデータ・セットの一部であるかのような動作をしますが、新しい行はExcelのみに存在します。新しい行のデータはサーバーにアップロードされず、Fusion Webアプリケーションのデータには影響しません。

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

ADFデスクトップ統合デザイナの作業ウィンドウを使用して、ADF読取り専用表コンポーネントをワークシートに挿入します。

始める前に:

ADF読取り専用表コンポーネントについて理解しておくと役立ちます。詳細は、7.16項「ADF読取り専用表コンポーネントの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF読取り専用表コンポーネントを挿入するには:

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

2. コンポーネントを配置するExcelワークシートのセルを選択します。

3. バインディング・パレットで、ADF読取り専用表コンポーネントを作成するバインディングを選択して、バインディングの挿入をクリックします。

4. 表示されるダイアログで、「ADF読取り専用表」を選択します。

注意:

または、コンポーネント・パレットまたは「Oracle ADF」タブを使用しても、ADF読取り専用表コンポーネントを挿入できます。「ADF読取り専用表」を選択して、コンポーネントの挿入をクリックします。コンポーネント・パレットを使用してコンポーネントを作成する場合は、実行時にコンポーネントに表示されるそれぞれの列を追加する必要があります。

5. 表示されるプロパティ・インスペクタでプロパティを構成し、表示される列とコンポーネントが実行時に起動するアクションを決定します。

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

注意:

コンポーネントのプロパティを後から変更するには、コンポーネントを配置するワークシートのセルを選択して、プロパティ・インスペクタを表示します。

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

その他の列をADF読取り専用表コンポーネントに手動で追加したり、以前に削除した列をもう一度追加したりすることができます。

始める前に:

ADF読取り専用表コンポーネントについて理解しておくと役立ちます。詳細は、7.16項「ADF読取り専用表コンポーネントの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF読取り専用表コンポーネントに手動で列を追加するには:

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

2. ADF読取り専用表コンポーネントをホストするワークシートのセルを選択して、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックし、コンポーネントの編集:ADF読取り専用表ダイアログを表示します。

3. Columnsの入力フィールドの横にある省略記号ボタン(...)をクリックして、「列の編集」ダイアログを起動します。

4. 「追加」をクリックして、ADF読取り専用表コンポーネントに手動で新しい列を追加します。

5. 新しい列のプロパティに値を設定します。
ADF読取り専用表コンポーネントのプロパティの詳細は、表A-13を参照してください。

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

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

ADF表またはADF読取り専用表コンポーネントがダウンロードする行数は、コンポーネントのRowLimitプロパティ・グループの値を設定すれば後世できます。また、必要に応じて、ダウンロード可能な行数が指定した行数を超過したときにエンド・ユーザーに警告する警告メッセージを表示できます。

7.17.1 コンポーネントがダウンロードする行数の制限方法

Downloadアクションを起動するときにコンポーネントがダウンロードする行数を、RowLimit.MaxRowsプロパティの値として指定します。オプションで、ダウンロード可能な行数がRowLimit.MaxRowsで指定した値を超過した場合に、エンド・ユーザーがメッセージを受信するように、RowLimit.WarningMessageプロパティのEL式を記述します。

始める前に:

ADF表コンポーネントにデータをダウンロードする際に行数を制限する方法を理解しておくと役立ちます。詳細は、7.17項「表タイプ・コンポーネントがダウンロードする行数の制限」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

表タイプ・コンポーネントがダウンロードする行数を制限するには:

1. 統合Excelワークブックを開きます。

2. 表タイプ・コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。
詳細は、8.2項「アクション・セットの使用」を参照してください。

3. 表7-10の説明に従って、RowLimitプロパティ・グループのプロパティを構成します。これらのプロパティの詳細は、A.1項「ADFデスクトップ統合で頻繁に使用するプロパティ」を参照してください。

表7-10 RowLimitプロパティ・グループ

設定するプロパティ

設定する値

RowLimit.Enabled

Trueに設定すると、ダウンロードする行数がRowLimit.MaxRowsで設定した値に制限されます。

RowLimit.MaxRows

ダウンロードする最大行数に評価されるEL式を記述します。

RowLimit.WarningMessage

このプロパティにEL式を記述して、ダウンロード可能な行数がRowLimit.MaxRowsで指定した値を超過した場合にエンド・ユーザーにメッセージを生成します。

デフォルトの値では次のメッセージも生成されます。

#{_ADFDIres['ROWLIMIT_WARNINGS_MESSAGE_1']}

このプロパティの値がNULLの場合、Downloadアクションは、エンド・ユーザーにメッセージを表示せずにRowLimit.MaxRowsで指定した行数をダウンロードします。

4. 「OK」をクリックします。

図7-21は、ADF表コンポーネントの行の制限が構成されているEditPriceList-DT.xlsxワークブックの「コンポーネントの編集」ダイアログを示します。

図7-21 ADF表コンポーネントの行数の制限

7.17.2 実行時の処理: RowLimitプロパティのしくみ

表タイプ・コンポーネントのDownloadアクションが起動されると、RowLimit.MaxRowsの値として指定した行数がFusion Webアプリケーションからダウンロードされます。RowLimit.MaxRowsにEL式を指定したり、デフォルト値を変更しない場合、図7-22に示すものに似たメッセージ・ダイアログが表示されます。

#{_ADFDIres['ROWLIMIT_WARNINGS_MESSAGE_1']}

図7-22 行の制限を超過した場合の警告メッセージ

7.18 ADF表コンポーネントでのキャッシュされた属性値のクリア

表A-9 に示すRowDataプロパティ・グループを使用して、ADF表コンポーネントでキャッシュするデータを指定できます。この機能の詳細は、次を参照してください。

- 12.7項「ワークブックからデータをアップロードする際のデータ競合の処理」

- 第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」

ADF表コンポーネントは、アクション(ClearCachedRowAttributes)を公開します。これは、公開されるとADF表コンポーネントの現在の行のキャッシュされた属性の値をクリアします。

エンド・ユーザーがRowData.CachedAttributes配列の要素にも指定した属性バインディングを表示または編集できるように、コンポーネント(ADF表コンポーネントの列やADF入力テキスト・コンポーネントなど)は構成しないでください。RowData.CachedAttributes配列は、ワークシートのDownSyncアクションで取得された値をキャッシュします。ワークシートUpSyncアクションは、RowData.CachedAttributes配列の値をFusion Webアプリケーションに送信します。これによって、エンド・ユーザーがワークシート内のコンポーネントを通して公開される属性バインディングに行う編集が上書きされることがあります。

7.18.1 ADF表コンポーネントでのキャッシュされた属性値のクリア方法

ADF表コンポーネントのClearCachedRowAttributesアクションを起動するアクションを含むDoubleClickActionSetを構成します。

始める前に:

ADF表コンポーネントでキャッシュされた属性をクリアする方法を理解しておくと役立ちます。詳細は、7.18項「ADF表コンポーネントでのキャッシュされた属性値のクリア」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、7.1.2項「表タイプ・コンポーネントの追加機能」を参照してください。

ADF表コンポーネント内のキャッシュされた属性の値をクリアするには:

1. 統合Excelワークブックを開きます。

2. 実行時にDoubleClickActionSetを起動するOracle ADFコンポーネントの「アクションの編集」ダイアログを開きます。
アクション・セットの起動の詳細は、第8章「アクション・セットの使用」を参照してください。

3. ADF表コンポーネントのClearCachedRowAttributesアクションを起動するDoubleClickActionSetにアクションを追加します。

4. 「OK」をクリックします。

7.18.2 実行時の処理: ADF表コンポーネントによる値のキャッシュ

アクション・セットは、ADF表コンポーネントのClearCachedRowAttributesアクションを起動します。このアクションは、ADF表コンポーネントの現在の行のプロパティについて、RowData.CachedAttributesプロパティにより指定されたキャッシュされた値をクリアします。

7.19 ADF表コンポーネントでの変更の追跡

エンド・ユーザーは、ADF表コンポーネントをホストする統合Excelワークブックのセルで、データを作成したり変更できます。

列が更新可能で読取り専用でなければ、変更の追跡がアクティブ化されます。エンド・ユーザーが次の変更を行うと、変更の追跡がアクティブ化されます。

- セルの値の編集

- セルの値の挿入または削除

- どこかでコピーした値をADF表コンポーネント列のセルに貼り付ける場合

エンド・ユーザーが対応する行のデータを変更した場合、上向きの矢印に似た記号が_ADF_ChangedColumn列に表示されます。図7-23に例を示します。

図7-23 ADF表コンポーネントの変更された列

この記号は、コンポーネントのReadOnlyプロパティの値がFalseに設定されているコンポーネントによってホストされているデータを、エンド・ユーザーが変更すると表示されます。ADF入力テキストおよびTreeNodeListサブコンポーネントには、どちらにもReadOnlyプロパティがあります。TrueあるいはFalseに評価されるこのReadOnlyプロパティに、EL式または静的な文字列を記述できます。Trueに評価される静的な文字列またはEL式を記述する場合、_ADF_ChangedColumn列には記号は表示されません。ReadOnly EL式および変更の追跡の詳細は、7.8.2項「実行時の処理: ADF表コンポーネントによるデータのアップロード」を参照してください。

Trueに評価されるこのReadOnlyプロパティにEL式を記述する場合、ADFデスクトップ統合は変更の追跡の際に他のEL式とは異なる方法でこれを評価します。これは、エンド・ユーザーが切断されたモードで作業中にADF表コンポーネントのデータに変更を加える場合、Fusion Webアプリケーションへの接続を起動するのが望ましくないためです。かわりに、ADFデスクトップ統合は、Fusion Webアプリケーションへの接続が必要なEL式のあらゆる部分について、空白の文字列の値を代用します。この動作は、ADF表コンポーネントのCellStyleNameプロパティにも該当します。

注意:

変更を追跡する間に、エンド・ユーザーが新しいワークシートの行を挿入すると、セルのスタイルが適用されます。

たとえば、エンド・ユーザーが切断されたモードで、ADF表コンポーネント列のADF入力テキスト・コンポーネントにホストされるデータ値を変更するとします。変更を追跡する際に、ADFデスクトップ統合は、Fusion Webアプリケーションへの接続が必要なADF入力テキスト・コンポーネントのReadOnlyプロパティおよびADF表コンポーネント列のCellStyleNameプロパティのEL式の部分に対して、空白の文字列の値を代用します。このため、実行時の値を取得するためにFusion Webアプリケーションへの接続が必要な式の部分で、空白の文字列の値が代用された場合に、意図したとおりに評価されるこれらのプロパティにはEL式を記述します。

ADF出力テキスト・コンポーネントにはReadOnlyプロパティはありません。このコンポーネントまたはADF入力テキスト・サブコンポーネントおよびTreeNodeListサブコンポーネントによりホストされる値が変更されても、_ADF_ChangedColumn列は変更されません。

8 統合Excelワークブックへの対話性の追加

この章では、統合Excelワークブックに対話性オプションを追加する方法、データ・バインド検索フォームと値の依存値リストを作成してリボンタブを構成する方法、およびExcel式でEL式を使用する方法について説明します。

この章の内容は次のとおりです。

- 8.1項「統合Excelワークブックへの対話性の追加について」

- 8.2項「アクション・セットの使用」

- 8.3項「実行時リボン・タブの構成」

- 8.4項「Fusion WebアプリケーションからのWebページの表示」

- 8.5項「Webページ・ピッカー・ダイアログからのADF表列への値の挿入」

- 8.6項「統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成」

- 8.7項「統合Excelワークブックへのフォームの追加」

- 8.8項「統合Excelワークブックでの依存値リストの作成」

- 8.9項「Excel式を生成するためのEL式の使用」

- 8.10項「統合Excelワークブックでの計算済セルの使用」

- 8.11項「統合Excelワークブックでのマクロの使用」

8.1 統合Excelワークブックへの対話性の追加について

アクション・セットなどの機能を使用し、実行時リボン・タブの構成や依存値リストの作成によって、統合Excelワークブックをエンド・ユーザーに対して対話形式にすることができます。図8-1は、対話機能のいくつかを示します。

図8-1 統合Excelワークブックの対話機能

統合Excelワークブックに対話性を追加すると、エンド・ユーザーがワークブックでOracle ADFの機能を起動するアクション・セットを実行できるようになります。また、これらのアクション・セットの実行時に統合Excelワークブックでステータス・メッセージやアラート・メッセージ、エラー処理も提供されます。アクション・セットを起動するADFデスクトップ統合コンポーネントでのエンド・ユーザーの動作(ダブルクリック、クリック、選択)の他に、エンド・ユーザーが実行時にアクション・セットを起動するために使用する、ワークブックおよびワークシート・リボン・ボタンを構成できます。

8.1.1 統合Excelワークブックへの対話性の追加のユース・ケースと例

統合Excelワークブックに対話性を追加するために、エンド・ユーザーの動作により起動されるアクション・セットを使用できます。たとえば、図8-2に示すように、AdvEditPriceList-DT.xlsxの検索エリアの検索ボタンでは、複数のアクション・セットを使用して検索条件に一致するデータを検索してダウンロードします。

図8-2 検索ボタンのアクション・セット

図8-3は、EditPriceList.xlsxに実装されているカスタムの実行時リボン・タブの例を示します。

図8-3 EditPriceList.xlsxの実行時リボン・タブ

8.1.2 統合Excelワークブックへの対話性の追加の追加機能

アクション・セットと実行時リボン・タブの他に、その他の機能を追加してワークブックを構成できます。使用可能な他の機能へのリンクは次のとおりです。

- マクロ: マクロとExcel式を使用して、Fusion Webアプリケーションからダウンロードするデータ、またはFusion Webアプリケーションにアップロードするデータを管理します。詳細は、8.10項「統合Excelワークブックでの計算済セルの使用」と8.11項「統合Excelワークブックでのマクロの使用」を参照してください。

- Webページの表示: Excelワークブックと統合するFusion Webアプリケーションからページを表示できます。詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

- 依存値リスト: ADF値リスト・コンポーネントを、別の値リスト・コンポーネントによって値が決まる依存値リスト・コンポーネントとして構成できます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

- スタイル: 事前定義済のExcelのスタイルをいくつか使用して、フォーム・タイプ・コンポーネントの表示を構成できます。詳細は、9.2項「スタイルの使用」を参照してください。

8.2 アクション・セットの使用

アクション・セットは、特定の順序で実行される次のアクションの1つ以上からなる、順序付けされたリストです。

- ADFmAction

- ComponentAction

- WorksheetMethod

- Confirmation

- Dialog

アクション・セットは、エンド・ユーザーの動作(クリックやADFボタンなど)またはExcelワークシート・イベントによって起動できます。エンド・ユーザーの動作によってアクション・セットが起動される場合、ADFコンポーネントのプロパティ・インスペクタのアクション・セットのプロパティ名には、必要な動作の名前が先頭に付きます。次のリストは、ADFデスクトップ統合がプロパティ・インスペクタで表示するプロパティ名と、アクション・セットを起動するユーザーの動作を示します。

- ClickActionSetはADFボタン・コンポーネント用で、エンド・ユーザーが関連するアクション・セットを起動するためにボタンをクリックするときに使用します。

- DoubleClickActionSetはADF InputTextまたはADF出力テキスト・コンポーネント用で、エンド・ユーザーが関連のアクション・セットを起動するためにこれらのコンポーネントをダブルクリックするときに使用されます。

- SelectActionSetはワークシート・リボン・ボタン用で、エンド・ユーザーが関連のアクション・セットを起動するためにボタンを選択したときに使用されます。

- ActionSetはワークシート・イベント用で、アクション・セットを起動するときに明示的なエンド・ユーザーの動作は必要ありません。

ADFコンポーネントやワークシート・リボン・ボタン、またはワークシート・イベントから「アクションの編集」ダイアログを起動して、アクション・セットを定義あるいは構成します。アクション・セットが起動するアクションを定義する他に、アクション・セットのAlertプロパティを構成して、アクション・セットの起動の結果に対するフィードバックを提供できます。アクション・セットのStatusプロパティを構成して、アクション・セットが定義されたアクションを実行する際に、エンド・ユーザーにステータス・メッセージを表示します。「アクションの編集」ダイアログの詳細は、5.12項「コレクション・エディタの使用」を参照してください。

Master Price Listモジュールには、使用されるアクション・セットの例が数多く用意されています。1つの例は、EditPriceList-DT.xlsxワークブックで実行時にUpload Dataというラベルの付くADFボタン・コンポーネントです。このADFボタン・コンポーネントには、ADF表コンポーネントのUploadアクションを起動するアクション・セットが構成されています。図8-4は、設計モードでのアクションの編集ダイアログを示しています。

図8-4 EditPriceList-DT.xlsxワークブックのUpload Dataボタンのアクション・セット

ヒント:

アクションの編集ダイアログに追加するアクションごとに、「注釈」フィールドに説明を記述します。記述する説明はMembersリスト・ビューに表示されます。記述内容によっては、ADFデスクトップ統合が生成するデフォルトのエントリよりも意味をなす場合があります。

注意:

ADFデスクトップ統合は、 Membersリスト・ビューで指定した順にアクション・セット内のアクションを起動します。

8.2.1 アクション・セット内のメソッド・アクション・バインディングの起動方法

1つのアクション・セットで複数のメソッド・アクション・バインディングを起動できます。ページ定義ファイルは、Fusion Webアプリケーションと統合するワークシートで起動可能なアクション・バインディングを定義します。統合Excelワークブックのページ定義ファイルとアクション・バインディングの詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

「アクションの編集」ダイアログを使用して、起動するメソッド・アクション・バインディングを指定します。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットでメソッド・アクションを起動するには:

1. 統合Excelワークブックを開きます。

2. 「アクションの編集」ダイアログを開いて、ここに示す「追加」ボタンからドロップダウン・リストを起動します。

3. ADFmActionを選択して、次のリストにあるようにプロパティを構成します。

- ActionID
ActionIDの入力フィールドの横にある省略記号ボタン(...)をクリックして、バインディングIDピッカーを起動し、アクション・セットが起動するメソッド・アクション・バインディングを選択します。

- Annotation
オプションで、構成するアクションの目的に関するコメントを入力します。このプロパティに設定する値には、機能的な影響はありません。

4. 「OK」をクリックします。

8.2.2 アクション・セット内のコンポーネント・アクションの起動方法

ADFデスクトップ統合のADF表コンポーネントおよびADF読取り専用表コンポーネントは、Fusion Webアプリケーションと統合するExcelワークシート間のデータ送信の管理に使用できるアクションを公開します。ADF読取り専用表コンポーネントは、1つのコンポーネント・アクションDownloadを公開しますが、ADF表コンポーネントは他の多くのアクションを公開します。両方のコンポーネントのアクションの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。

アクションの配列にあるコンポーネント・アクションを参照することで、1つ以上のコンポーネント・アクションを起動するアクション・セットを構成できます。たとえば、図8-5は、ワークシートのADF表コンポーネントとADF読取り専用表コンポーネントがSelectActionSetアクション・セットから起動できる、コンポーネント・アクションの選択ダイアログを示します。

図8-5 コンポーネント・メソッドの選択ダイアログ

注意:

アクション・セットによってADF表コンポーネントまたはADF読取り専用表コンポーネントを起動する前に、これらのコンポーネントをExcelワークシートに含める必要があります。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットからコンポーネント・アクションを起動するには:

1. 統合Excelワークブックを開きます。

2. 「アクションの編集」ダイアログを開いて、ここに示す「追加」ボタンからドロップダウン・リストを起動します。

3. ComponentActionを選択して、次のリストにあるようにプロパティを構成します。

- ComponentID
ComponentIDの入力フィールドの横にある省略記号ボタン(...)をクリックして、コンポーネント・メソッドの選択ダイアログを起動し、アクション・セットが実行時に起動するコンポーネント・アクションを選択します。これによって、ComponentIDとMethodの各入力フィールドに値が移入されます。

- Action
アクション・セットが実行時に起動するコンポーネント・アクション。

- Annotation
オプションで、構成するアクションの目的に関するコメントを入力します。このプロパティに設定する値には、機能的な影響はありません。

4. 「OK」をクリックします。

8.2.3 コンポーネント・アクションを起動するアクション・セットに関する留意事項

統合Excelワークブックでのアクション・セットの動作に関する次の情報に注意してください。

8.2.3.1 アクション・セットの検証による正しいコンポーネント・アクションの起動

アクション・セットを作成する際は、ワークシートに複数のインスタンスのADF読取り専用表コンポーネントまたはADF表コンポーネントが含まれる場合、正しいコンポーネントのインスタンスからコンポーネント・アクションを起動するようにしてください。図8-6は、2つのインスタンスのADF読取り専用表コンポーネントを持つコンポーネント・アクションの選択ダイアログを示します。表A-1に示すComponentIDプロパティの値を使用して、コンポーネント・アクションを起動するコンポーネントのインスタンスを正しく識別してください。

図8-6 コンポーネント・メソッドの選択ダイアログ

8.2.3.2 切断されたワークブックでのアクション・セットの起動

エンド・ユーザーはFusion Webアプリケーションから切断されている間、第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」の説明に従って、統合Excelワークブックを使用できます。ADF表コンポーネントのDownloadアクションのような一部のコンポーネント・アクションを正常に完了するには、Fusion Webアプリケーションへの接続が必要です。このようなコンポーネント・アクションが含まれるアクション・セットをエンド・ユーザーが起動する場合、統合ExcelワークブックはFusion Webアプリケーションに接続しようと試み、必要があれば11.2項「Excelワークブック・ユーザーの認証」で説明されている認証プロセスを起動します。

8.2.4 ワークシート・イベントからアクション・セットを起動する方法

ADFデスクトップ統合には、ワークシート・イベントがいくつか用意されており、これはトリガーされるとアクション・セットを起動できます。次のワークシート・イベントはアクション・セットを起動できます。

- Startup

- Shutdown
DialogアクションのTargetプロパティがTaskPaneに設定されている場合、このイベントからDialogアクションを起動しないでください。

- Activate

- Deactivate

Eventsワークシート・プロパティによって参照されるイベントの配列(WorksheetEvent[] Array)に要素を追加します。イベントと、追加する要素の中でそれによって起動されるアクション・セットを指定します。Eventsワークシート・プロパティおよびアクション・セットを起動できるワークシート・イベントの詳細は、表A-19を参照してください。アクション・セットの詳細は、表A-14を参照してください。

「イベントの編集」ダイアログを使用して、ワークシート・イベントによって起動されるアクション・セットを指定します。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ワークシート・イベントからアクション・セットを起動するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。

3. ワークシート・プロパティの編集ダイアログで、Eventsプロパティの入力フィールドの横にある省略記号ボタン(...)をクリックします。

4. 「イベントの編集」ダイアログで、「追加」をクリックして、イベントおよびそれが起動する対応するアクション・セットを指定する新しい要素を追加します。
図8-7は、Master Price ListモジュールのEditPriceList-DT.xlsxファイルの例を示します。ここでは、ワークシート・イベントのStartupが、ADF表コンポーネントのDownloadアクションを起動するアクション・セットを起動します。

図8-7 ワークシートのStartupイベントにより起動されるアクション・セット

5. 「OK」をクリックします。

8.2.5 アクション・セットの実行中にステータス・メッセージを表示する方法

アクション・セットでStatusプロパティの値を指定することにより、アクション・セットの実行時にエンド・ユーザーに対してステータス・メッセージを表示できます。

ActionSet.Statusグループのプロパティのデフォルト値のいくつかは、実行時に予約済のリソース・バンドルで定義された文字列に解決するEL式です。これらのデフォルト値は、カスタムのリソース・バンドルを参照するEL式に置換できます。詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

「アクションの編集」ダイアログを使用して、ActionSet.Statusプロパティの値を構成します。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ステータス・メッセージを表示するには:

1. 統合Excelワークブックを開きます。

2. コンポーネントの「アクションの編集」ダイアログを開きます。

3. 次の表に従って、ActionSet.Statusプロパティ・グループのプロパティの値を設定します。

表8-1 ActionSet.Statusプロパティ・グループ

プロパティ

入力または選択する値

Enabled

Trueに設定すると、ステータス・メッセージが表示されます。デフォルト値はTrueです。

Message

実行時に表示するステータス・メッセージに解決するEL式または文字列。たとえば、Master Price ListモジュールのEditPriceList-DT.xlsxファイルのSearchボタンでは、Messageプロパティに次の値が構成されています。

Searching and downloading...

Title

実行時に表示するステータス・メッセージのタイトルに解決するEL式または文字列。たとえば、Master Price ListモジュールのEditPriceList-DT.xlsxファイルのSearchボタンでは、Titleプロパティに次の値が構成されています。

Query Products

プロパティ

入力または選択する値

図8-8は、実行時にSearchのラベルが付けられたMaster Price ListモジュールのEditPriceList-DT.xlsxワークブックにあるSearch ADFボタン・コンポーネントのActionSet.Statusプロパティ・グループに構成された値を示します。

図8-8 アクション・セットのステータス・メッセージ・プロパティ

ActionSet.Statusプロパティ・グループの詳細は、表A-14のStatusのエントリを参照してください。

4. 「OK」をクリックします。

8.2.6 実行時の処理: アクション・セットによるステータス・メッセージの表示

アクション・セットが起動されると、ActionSet.Statusプロパティがステータス・メッセージを表示するように構成されていれば、ステータス・メッセージが表示されます。図8-9は、EditPriceList-DT.xlsxワークブックのSearchボタンに構成されているアクション・セットが実行される際、実行時に表示されるステータス・メッセージを示します。

図8-9 ステータス・メッセージの実行時の表示

8.2.7 アクション・セットの起動後にアラートを発信する方法

エンド・ユーザーに対して、アクション・セットの操作が正常に完了したか、または失敗したかを通知するアラート・メッセージを表示できます。たとえば、アクション・セットのすべてのアクションが成功したときや、少なくとも1つは失敗があった場合にメッセージを表示できます。この動作は、ActionSet.Alertプロパティ・グループで構成します。

注意:

エンド・ユーザーがアクション・セットの実行をキャンセルした場合、アラート・メッセージは表示されません。たとえば、ポップアップ・ダイアログのWebページを起動するアクション・セットが実行を完了した後に表示されるようにアラート・メッセージを構成します。実行時には、エンド・ユーザーは、ポップアップ・ダイアログをホストするExcel Webブラウザ・コントロールの「閉じる」ボタンを使用してポップアップ・ダイアログを閉じることにより、アクション・セットの実行をキャンセルします。このシナリオでは、アラート・メッセージは表示されません。Webページの表示の詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

ActionSet.Alertグループのプロパティのデフォルト値の多くは、実行時に予約済のリソース・バンドルで定義された文字列に解決するEL式です。これらのデフォルト値は、カスタムのリソース・バンドルを参照するEL式に置換できます。詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

「アクションの編集」ダイアログを使用して、ActionSet.Alertプロパティ・グループの値を構成します。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットにアラートを追加するには:

1. 統合Excelワークブックを開きます。

2. 「アクションの編集」ダイアログを開きます。

3. 表8-2に従って、ActionSet.Alertプロパティ・グループのプロパティの値を設定します。

表8-2 ActionSet.Alertプロパティ・グループ

プロパティ

入力または選択する値

Enabled

ドロップダウン・リストからTrueを選択すると、アクション・セットの完了時にアラート・メッセージが表示されます。デフォルト値はFalseです。

FailureMessage

アクション・セットの実行時にエラーが発生した場合に、ダイアログ・ボックスに表示されるメッセージに評価されるEL式または文字列を指定します。たとえば、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックのUpload to Serverボタンでは、FailureMessageプロパティに次の値が構成されています。

#{components.TAB442758137.errors}

Upload to Serverボタンは、アクション・セットを起動します。これは、続いてADF表コンポーネントのUploadアクションを起動します。FailureMessageに指定されたEL式は、Uploadアクションでエラーがあった場合、エラー・メッセージを取得します。エラー処理の詳細は、12.4項「統合Excelワークブックでレポートされるエラー」を参照してください。

OKButtonLabel

ダイアログの「OK」ボタンに表示されるメッセージに評価されるEL式を指定します。デフォルトのEL式は次のとおりです。

#{_ADFDIres['DIALOGS_OK_BUTTON_LABEL']}

SuccessMessage

アクション・セットの実行時にエラーが発生しなかった場合に、ダイアログに表示されるメッセージに評価されるEL式を指定します。たとえば、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックのSave Changesボタンでは、SuccessMessageプロパティに次の値が構成されています。

Changes saved successfully

図8-10は、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックでADFボタン・コンポーネントのActionSet.Alertプロパティ・グループに構成された値を示します。このADFボタン・コンポーネントには、実行時にUpload to Serverというラベルが付けられます。

図8-10 アクション・セットのアラート・メッセージ・プロパティ

4. 「OK」をクリックします。

8.2.8 実行時の処理: アクション・セットによるアラート発信

図8-11は、Upload to Serverというラベルの付いたADFボタン・コンポーネントによって起動されるアクション・セットが正常に実行を完了したときに実行時に表示されるアラート・メッセージを示します。

図8-11 アラート・メッセージの実行時の表示

8.2.9 アクション・セットのエラー処理の構成方法

アクション・セットのActionOptionsプロパティの値を指定して、次のイベントのいずれかが発生したときのアクション・セットの動作を決定します。

- アクション・セットのアクションの失敗

- アクション・セットのすべてのアクションが正常に完了

これらのエディタの起動方法、またはADFコンポーネントのプロパティ・インスペクタの詳細は、第5章「開発ツールの使用」を参照してください。 アクション・セットのプロパティの詳細は、表A-13を参照してください。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

アクション・セットのエラー処理を構成するには:

1. 統合Excelワークブックを開きます。

2. 適切なエディタまたはプロパティ・インスペクタを開いて、次の表に従ってアクション・セットのActionOptionsプロパティの値を構成します。

表8-3 ActionOptionsプロパティ

設定するプロパティ

アクション

AbortOnFailure

True(デフォルト値)に設定すると、現在のアクションが失敗した場合、アクション・セットはそれ以降のアクションを一切実行しません。Falseに設定すると、前のアクションが成功か失敗かにかかわらず、アクション・セットはすべてのアクションを実行します。

FailureActionID

アクション・セットが正常に完了しなかった場合に起動するADFモデル・アクションを指定します。たとえば、アクション・セットの起動が失敗したときに、加えられた変更をロールバックするADFモデル・アクションを指定できます。

FailureActionIDメソッドの実行中にレコード・セットの通貨を変更するアクション・セットの呼び出しは、サポートされていません。また、ロールバック・メソッドは、アクション・セットでFailureActionIDとして指定しないでください。

SuccessActionID

アクション・セットが正常に完了した場合に起動するADFモデル・アクションを指定します。たとえば、commitアクションを実行するアクション・バインディングを指定できます。このプロパティの値はオプションで、commitアクションを実行するアクション・バインディングなど、最終のアクションをアクション・セット自体に指定できます。

SuccessActionIDメソッドの実行中にレコード・セットの通貨を変更するアクション・セットの呼び出しは、サポートされていません。

3. 「OK」をクリックします。

8.2.10 アクション・セット内の確認アクションの起動方法

確認アクションはエンド・ユーザーに対して、Confirmationアクションのプロパティで指定されたタイトルとプロンプトのメッセージを表示する簡単なメッセージ・ダイアログを提供します。

アクション・セットの実行は、エンド・ユーザーが提供されたボタンをクリックするまで一時停止します。ユーザーが「OK」をクリックすると、アクション・セットはアクション・セットの残りのアクションを続けます。ユーザーが「取消」をクリックすると、その時点でアクション・セットは中止され、残りのアクションは起動されません。エラーや成功がないため、FailureActionIDアクションやSuccessActionIDアクションは起動されません。

始める前に:

アクション・セットについて理解しておくと役立ちます。詳細は、8.2項「アクション・セットの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

Confirmationアクションをコンポーネントから起動するには:

1. 統合Excelワークブックを開きます。

2. 「アクションの編集」ダイアログを開き、ここの説明にあるように「追加」ボタンの下向き矢印をクリックしてドロップダウン・リストを開きます。

3. 「確認」を選択して、次のリストにあるようにプロパティを構成します。

- CancelButtonLabel
ダイアログの「取消」ボタンに表示されるメッセージに評価されるEL式または文字列を指定します。デフォルトのEL式は次のとおりです。

#{_ADFDIres['DIALOGS_CANCEL_BUTTON_LABEL']}

- OKButtonLabel
ダイアログの「OK」ボタンに表示されるメッセージに評価されるEL式または文字列を指定します。デフォルトのEL式は次のとおりです。

#{_ADFDIres['DIALOGS_OK_BUTTON_LABEL']}

- Prompt
ダイアログのプロンプトとして表示されるメッセージに評価されるEL式または文字列を指定します。デフォルトのEL式は次のとおりです。

#{_ADFDIres['DIALOGS_ACTION_CONFIRM_PROMPT']}

- Title
実行時に表示する確認ダイアログのタイトルに解決されるEL式または文字列を指定します。デフォルトのEL式は次のとおりです。

#{_ADFDIres['DIALOGS_ACTION_TITLE']}

4. オプションで、構成するアクションの目的に関するコメントをAnnotationプロパティに入力します。このプロパティに設定する値には、機能的な影響はありません。

5. 「OK」をクリックします。

図8-12は、「アクションの編集」ダイアログとDeleteボタンのデフォルトの属性値を示します。

図8-12 確認アクションの属性

8.2.11 実行時の処理: アクション・セットによる確認の提供

一度アクション・セットが起動されると、ユーザーに対して確認のプロンプトが表示されます。ユーザーが「OK」をクリックすると、次のアクションが実行され、「取消」をクリックすると、アクション・セットの実行はエラーなしに終了します。

注意:

ユーザーがConfirmationアクションをキャンセルする場合、FailureActionIDバインディングは実行されません。

図8-13は、デフォルトの確認ダイアログと「OK」ボタン、および「取消」ボタンを示します。

図8-13 確認のダイアログ

8.3 実行時リボン・タブの構成

Oracle ADFの機能を起動するアイテムを持つExcelリボンの実行時リボン・タブを、統合Excelワークブックで構成できます。実行時リボン・タブ・グループでVisibleワークブック・プロパティをTrueに設定すると、このタブが実行時に表示されます。Titleプロパティは、エンド・ユーザーに対して実行時に表示されるタブのタイトルを決定します。図8-14に示すように、デフォルトのタイトルはMyWorkbookです。

図8-14 実行時リボン・タブのワークブック・プロパティ

実行時にはタブがリボンの最後のタブとして表示され、図8-15に示すように、構成したすべてのコマンドが様々なタブのグループとして表示されます。

図8-15 リボン・タブの実行時の表示

図8-16は、EditPriceList.xlsxの実行時のリボン・タブと、ワークシート用に構成された2つのコマンドを示します。実行時には、コマンドはワークブックのコマンドを起動するアイテム、現在のワークシートのコマンドを起動するアイテム、すべてのデータをクリアするコマンド・グループ、ADFデスクトップ統合のバージョン情報を表示するコマンド・ワークグループの4つのグループに分類されます。

図8-16 EditPriceList.xlsxのリボン・タブの実行時の表示

エンド・ユーザーがLoginやLogoutなどのワークブック・アクションを起動できるようにするコマンドが実行時リボン・タブに含まれるように、ワークブックのプロパティにあるWorkbook Commandsプロパティを構成します。ワークシートのプロパティにあるRibbon Commandsプロパティを構成して、ユーザーがアクション・セットを起動できるようにするアイテムがADFデスクトップ統合のタブに含まれるようにします。ワークシートのコマンド・アイテムは、ワークシートがアクティブな場合に表示されます。ワークブック・コマンドを削除すると、そのワークブックの実行時タブに表示されなくなります。あるグループのすべてのコマンドを削除すると、そのワークブックがアクティブなときはそのグループは表示されません。

図8-17は、SelectActionSetアクション・セットを起動するワークシートのアクションが表示される、実行時のワークシート・グループを示します。

図8-17 実行時のワークシート・グループ

8.3.1 実行時リボン・タブのワークブック・コマンド・ボタンの構成方法

実行時リボン・タブにワークブック・コマンド・ボタンを定義するには、いくつかのワークブック・プロパティを構成します。次の手順は、ワークブックのアクション、Loginを例に使用して、ワークブック・グループのアイテムを作成または削除する方法を示します。

始める前に:

Excelの実行時リボン・タブについて理解しておくと役立ちます。詳細は、8.3項「実行時リボン・タブの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ワークブックのコマンド・ボタンを定義するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークブック・プロパティの編集」ダイアログで、実行時リボン・タブを展開してワークブック・コマンドを選択します。WorkbookMenuItem[]配列の横にある省略記号ボタン(...)をクリックして、図8-18に示すダイアログを表示します。

図8-18 ワークブック・コマンドの編集ダイアログ

4. 「追加」をクリックして、次のようにワークブックのコマンド・ボタンのプロパティの値を指定します。

- Method
ワークブック・コマンド・ボタンが起動するワークブック・アクションを指定します。

- Label
実行時にラベルとして表示される値を入力フィールドに入力します。あるいは、省略記号ボタン(...)をクリックして式ビルダーを起動し、実行時にリソース・バンドルの文字列に解決されるEL式を記述します。

ラベルに表示される実行時の値は1024文字を超えることはできません。1024文字を超える実行時の値は、切り捨てられて1024文字のみが表示されます。

リソース・バンドルの使用の詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

ラベルの詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

5. 「OK」をクリックします。

注意:

ワークブック・コマンドの編集ダイアログでのワークブック・コマンドの順序は、実行時には無視されます。ワークブック・レベルのコマンドの順序とグループ化は、常に同じです。

8.3.2 実行時リボン・タブのワークシート・コマンド・ボタンの構成方法

ワークシートのコマンドを定義するには、プロパティ・インスペクタを使用してワークシートのプロパティを構成します。デフォルトでは、ワークシートのプロパティでワークシート・グループに定義されるコマンド・ボタンはありません。ワークシートのプロパティのRibbon Commandsプロパティで参照されるリストにメンバーを追加します。

注意:

コマンド・ボタンを表示するには、Runtime Ribbon Tab.Visibleワークブック・プロパティをTRUEに設定してください。Runtime Ribbon Tab.VisibleがFALSEに設定されていると、コマンド・ボタンは表示されません。ワークブックのプロパティの詳細は、表A-18を参照してください。

始める前に:

Excelの実行時リボン・タブについて理解しておくと役立ちます。詳細は、8.3項「実行時リボン・タブの構成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ワークシートのコマンド・ボタンを定義するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. ワークシート・プロパティの編集ダイアログで、Ribbon Commandsプロパティの入力フィールドの横にある省略記号ボタン(...)をクリックして、図8-19のようにエディタを起動します。図8-17は、実行時のコマンドがどのように表示されるかを示します。

図8-19 リボン・コマンドの編集ダイアログ

4. 「追加」をクリックして、コレクション・エディタの「メンバー」リストに新しいリボン・ボタンを追加します。

5. 「SelectActionSet」のプロパティを構成して、リボン・ボタンが起動するアクションのタイプを指定します。

6. 「OK」をクリックします。

注意:

実行時には、ワークシート・コマンドはリボン・コマンドの編集ダイアログで定義された順序で表示されます。

8.4 Fusion WebアプリケーションからのWebページの表示

アクション・セットでDialogアクションを構成して、Excelワークブックと統合するFusion Webアプリケーションからのページを表示します。これらのページによって、統合Excelワークブックに追加の機能が提供されます。これには、Fusion Webアプリケーションと対話する検索ダイアログや表示内容の選択ダイアログなどの機能があります。アップロード・オプションも構成できます。

アクション・セットのDialogアクションは、次の2つのタイプのダイアログのどちらかを表示するように構成できます。

- ポップアップ・ダイアログ

- 実行時作業ウィンドウ

コンポーネントのアクション・セットのプロパティDialog.Target(PopupまたはTaskPane)は、Webページがレンダリングされる場所を決定します。

Dialog.Pageプロパティの値は、アクションの起動時に表示されるWebページを指定します。有効な値は、WebAppRootプロパティの値の相対URL、または絶対URLです。たとえば、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックは、ユーザーが実行時に「拡張検索」ボタンをクリックすると起動するページの値として次の相対URLを指定します。

/faces/secured/excelAdvSearch.jspx

次のような絶対URLも有効です。

http://www.oracle.com/technetwork/middleware/index.html

注意:

DialogアクションはADFタスク・フローをサポートしていません。

8.4.1 ポップアップ・ダイアログでのWebページの表示方法

アクション・セットのDialogアクションを構成して、ExcelのWebブラウザ・コントロールによりホストされているモデル・ポップアップ・ダイアログのFusion WebアプリケーションからWebページを起動できます。この機能は、たとえばFusion Webアプリケーションからのページにより表示される値を、統合Excelワークブックに入力できるようにする機能をエンド・ユーザーに提供します。

アクション・セットが起動するWebページは、大/小文字区別のID属性がADFdi_CloseWindowに設定されている予約済HTMLドキュメント・オブジェクト・モデル(DOM)要素(span要素など)を含む必要があります。例8-1は、Master Price ListモジュールのexcelAdvSearch.jspxページにあるspan要素の値を、f:verbatimタグのrenderedプロパティを使用して自動的に設定する方法を示します。

例8-1 HTMLドキュメント・オブジェクト・モデルのSpan要素の使用

<f:verbatim rendered="#{requestScope.searchAction eq 'search'}">
<span id="ADFdi_CloseWindow">Continue</span>
</f:verbatim>
<f:verbatim rendered="#{requestScope.searchAction eq 'cancel'}">
<span id="ADFdi_CloseWindow">Abort</span>
</f:verbatim>

図8-20は、EditPriceList-DT.xlsxワークブックのブラウザ・コントロールによりホストされるexcelAdvSearch.jspxページを示します。

図8-20 「拡張検索」ポップアップ・ダイアログ

例8-1に示すように、f:verbatimタグのrenderedプロパティが使用できない場合には、次のようにしなければならない場合があります。

1. Dialogアクションの結果の値をプロパティとして公開するバッキングBeanを作成します。

2. アクション・リスナーを使用して、バッキングBeanおよびspan要素のEL式を起動し、ADFdi_CloseWindowの値をBeanプロパティの値に設定します。

どちらの方法を使用する場合でも、ADFデスクトップ統合はADFdi_CloseWindowの値を監視して、ポップアップ・ダイアログをいつ閉じるかを決定します。ADFdi_CloseWindowが参照するものによって、次のように動作が異なります。

- 空白の文字列を参照する場合、または文字列が存在しない場合は、ポップアップ・ダイアログは開いたままになります。

- "Continue"を参照する場合、ポップアップ・ダイアログが閉じて、アクション・セットが次のアクションを起動します。
次の例は、"Continue"という値が割り当てられたADFdi_CloseWindowを示します。

var closeWindowSpan = document.getElementById("ADFdi_CloseWindow");

closeWindowSpan.innerHTML = "Continue";

- 他のなんらかの文字列の値を参照する場合、ポップアップ・ダイアログは開いたままになります。

DialogアクションのTargetプロパティをPopupに設定して、ExcelのWebブラウザ・コントロールによりホストされるモーダルなポップアップ・ダイアログでFusion WebアプリケーションからのWebページを表示します。モーダルなポップアップ・ダイアログにWebページを表示する場合は、Excelの作業ウィンドウにWebページを表示するときとは異なります。これは、アクション・セットが起動するDialogアクションは、ユーザーからの入力があるまで実行を続けられないためです。ポップアップ・ダイアログが開いているときに、エンド・ユーザーは統合Excelワークブックの他の部分と対話することはできません。ポップアップ・ダイアログがフォーカスを保持します。

エンド・ユーザーは、ブラウザ・コントロールを閉じたり、ADFデスクトップ統合がブラウザ・コントロールを閉じるまでは、ブラウザ・コントロール内でFusion Webアプリケーションからの複数のWebページ間を移動できます。

エンド・ユーザーがデータ・コントロールに対して行う変更をポップアップ・ダイアログを通じてすぐに同期するには、アクション・セットの次のアクションをDialogアクションの後に指定して、変更されたすべてのバインディングをワークシート(DownSyncワークシート・アクションを使用)またはADF表コンポーネント(Downloadアクションを使用)にダウンロードします。このシナリオでは、"Continue"をADFdi_CloseWindowの値として指定することが前提です。

注意:

- エンド・ユーザーが統合Excelワークブックをダウンロードできるように、ポップアップ・ダイアログに表示されるWebページを構成する場合、エンド・ユーザーがダウンロード後にワークブックを開くと、統合ExcelワークブックのOracle ADF機能は無効になります。

- リスト・ボックスやドロップダウン・リストなどのHTML <select>コンポーネントを使用している場合、ページがDialogアクションによって表示されるときは<select>コンポーネントはz-orderの構成に従わない点に注意してください。.NET Webブラウザ・コントロールでは、レイヤー化された重複するコンポーネントを持つWebページ上で、<select>コンポーネントが他のコンポーネントの上に表示されることがあります。

- Titleプロパティが空白の場合、Webページのタイトルがダイアログ・ウィンドウのタイトルとして使用されます。

8.4.2 ADFデスクトップ統合の実行時作業ウィンドウでのWebページの表示方法

アクションのDialog.TargetプロパティをTaskPaneに設定して、ADFデスクトップ統合の作業ウィンドウのDialog.Pageプロパティで指定したWebページを表示します。ポップアップ・ダイアログでWebページを表示するのとは対照的に、作業ウィンドウでWebページを表示すると、Webページを表示する間はアクション・セットでアクションの実行を継続できます。エンド・ユーザーは、Webページが表示されている間、統合Excelワークブックの他の部分にアクセスして対話することができます。

DialogアクションのTargetプロパティをTaskPaneに設定すると、ADFデスクトップ統合はADFdi_CloseWindowの値(および他の要素)を無視します。

8.4.3 Fusion Webアプリケーションからのページ表示に関する留意事項

Dialogアクションを起動するアクション・セットで追加のアクションを指定すれば、統合Excelワークブックに含まれるデータを、Fusion Webアプリケーションと同期した状態にできます。DialogアクションのShareFrameプロパティを設定することにより、Fusion Webアプリケーション・ページと統合Excelワークシートの両方が同じデータ・コントロール・フレームを使用するよう徹底することができます。

注意:

- カスタムのWebページがADF Facesに基づいていてポップアップ・ウィンドウを開く場合、そのWebページが正しく機能するには特定の方法で構成されている必要があります。コマンド・コンポーネントで、windowEmbedStyleをinlineDocumentに設定してください。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』を参照してください。

- Dialog.PageプロパティではEL式は受け入れられません。

8.4.3.1 統合ExcelワークブックとFusion Webアプリケーションの同期

エンド・ユーザーがFusion Webアプリケーションからのページを使用する際に、統合ExcelワークブックとFusion Webアプリケーションが同期された状態のままとなるように、Dialogアクションを起動するアクション・セットを次のように構成します。

- Dialogアクションを起動する前に、統合ExcelワークブックからFusion Webアプリケーションに変更を送信します。
RowUpSyncワークシート・アクションを起動して、ADF表コンポーネントの現在の行からの変更を同期します。

- Dialogアクションを起動した後、Fusion Webアプリケーションから統合Excelワークブックに変更を送信します。
RowDownSyncワークシート・アクションを起動して、Fusion WebアプリケーションからADF表コンポーネントの現在の行へ変更を送信します。

DoubleClickActionSetについては、アクション・セットを実行した後で、サーバー・サイド・モデルがアクション・セットの実行前と同じ状態にあることを確認してください。ほとんどの場合は、アクション・セットの開始時には保留のコミットされていない変更はないため、DoubleClickActionSetの終了ごとにすべてのコミットされていない変更をロールバックするだけで十分です。

統合ExcelワークブックとFusion Webアプリケーション間でのデータ同期の詳細は、第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」を参照してください。 ワークシート・アクションとADF表コンポーネント・アクションの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。

8.4.3.2 統合ExcelワークシートとFusion Webアプリケーション・ページ間のデータ・コントロール・フレームの共有

Fusion Webアプリケーションと統合Excelワークブックは、どちらもデータ・コントロール・フレームを使用して、トランザクションとビュー・オブジェクトの状態、および拡張機能によってページ定義ファイルで公開されるバインディングを管理します。Fusion Webアプリケーションのページを統合Excelワークシートから起動すると、ページを起動するDialogアクションのShareFrameプロパティをTrueに設定することで、ページと統合Excelワークシートが両方とも同じデータ・コントロール・フレームを使用するように徹底できます。

DialogアクションのPageプロパティで、Dialogアクションが起動するページを指定します。Dialogアクションが絶対URLやFusion Webアプリケーションの一部でないページを起動する場合、ShareFrameがTrueに設定されていると、ADFデスクトップ統合はShareFrameの値を無視します。

次のシナリオではShareFrameをFalseに設定します。

- アクション・セットのDialog.Pageプロパティは、絶対URLまたはFusion Webアプリケーションの一部でないページを参照します。

- アクション・セットのDialog.Pageプロパティは、Fusion Webアプリケーションの一部であるページを参照しますが、統合Excelワークシートと情報を共有する必要はありません。たとえば、オンライン・ヘルプの情報を表示するページなどです。

Fusion Webアプリケーションのデータ・コントロール・フレームの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のデータ・コントロール・インスタンスの共有に関する項を参照してください。

8.4.3.3 ADFデスクトップ統合フレーム共有に対するFusion Webアプリケーションの構成

ADFデスクトップ統合の機能をFusion Webアプリケーションに追加する際、アプリケーションが自動的に構成されて、ADFデスクトップ統合のフレーム共有がサポートされます。フレーム共有によって、統合Excelワークブックの各ワークシートが専用のDataControlフレームを使用できます。それぞれのワークシートから起動されるダイアログで表示されるWebページは、統合Excelワークシートと同じDataControlフレームを共有できます。

Fusion Webアプリケーションがフレーム共有をサポートしていることを検証するには:

1. JDeveloperでFusion Webアプリケーション・プロジェクトを開きます。

2. アプリケーション・ナビゲータで、「アプリケーション・リソース」ウィンドウを展開します。

3. 「ディスクリプタ」→「ADF META-INF」フォルダにあるadf-config.xmlファイルを開きます。

4. 「ソース」タブをクリックして、ソース・エディタを開きます。

5. 次のadf-desktopintegration-servlet-config要素が、</adf-config>タブの前のファイルにあることを確認します。

<adf-desktopintegration-servlet-config xmlns="http://xmlns.oracle.com/adf/desktopintegration/servlet/config">
<controller-state-manager-class>
oracle.adf.desktopintegration.controller.impl.ADFcControllerStateManager
</controller-state-manager-class>
</adf-desktopintegration-servlet-config>

6. adf-config.xmlファイルを保存して、JDeveloperを閉じます。

8.5 Webページ・ピッカー・ダイアログからの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 Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「データ・バインドされた選択リストとシャトルの作成」を参照してください。

ADF表コンポーネントからピッカー・ダイアログを起動するには:

1. 統合Excelワークブックを開きます。

2. ADF表コンポーネントを配置するExcelワークシートのセルを選択し、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックして、プロパティ・インスペクタを表示します。

3. ADF表コンポーネントのRowData.CachedAttributesプロパティを構成して、属性バインディング値を参照します。

4. Columnsの入力フィールドの横にある省略記号ボタン(...)をクリックして、「列の編集」ダイアログを表示します。

5. 「メンバー」・リストで、エンド・ユーザーが実行時にピッカー・ダイアログを起動する元の列を選択します。

6. 列のサブコンポーネント(UpdateComponentまたはInsertComponent)のDoubleClickActionSetのActions属性を、表8-4に示すように構成します。

表8-4 DoubleClickActionSetプロパティ

追加するアクション

アクション

ADFmAction

(InsertComponentの場合のみ)エンド・ユーザーがExcelワークシートのADF表コンポーネントで新しく作成された行からDoubleClickActionSetを起動する場合、CreateInsertアクション・バインディングを起動します。このシナリオでは、ADF表コンポーネントのRowUpSyncアクション(次のアクションで起動)は、Fusion Webアプリケーションにプレースホルダの行が含まれていない場合は失敗します。

ComponentAction

ADF表コンポーネントのTable.RowUpSyncアクションを起動して、ADF表コンポーネントの現在の行にあるFusion Webアプリケーションに対するすべての保留中の変更を同期します。

Dialog

Dialogアクションを構成して、Fusion Webアプリケーションからピッカー・ダイアログを起動します。DialogアクションのShareFrameプロパティをTrueに設定します。詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

ComponentAction

ADF表コンポーネントのTable.RowDownSyncアクションを起動して、ワークシートの現在のADF表コンポーネント行に相当するFusion WebアプリケーションのADF表コンポーネントのイテレータの行からのデータを同期します。

ADFmAction

(InsertComponentの場合のみ)CreateInsertアクション・バインディングを追加した場合、Deleteアクション・バインディングも起動してプレースホルダ行を削除する必要があります。

図8-21は、DoubleClickActionSetプロパティの「アクションの編集」ダイアログを示します。

図8-21 DoubleClickActionSetプロパティ

7. 「OK」をクリックします。

8.6 統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成

ADF入力テキスト・コンポーネントとADFボタン・コンポーネントを使用して、統合Excelワークブックでフォームを作成できます。エンド・ユーザーは、作成されたフォームを使用して、データや情報の問合せを挿入できます。この項では後者の例を使用して、フォームの作成方法を説明します。

エンド・ユーザーはADF入力テキスト・コンポーネントに検索語句を入力し、ADFボタン・コンポーネントをクリックして一致する結果を取得します。検索処理でエンド・ユーザーにより洗練されたユーザー・インタフェースを提示するために、Fusion Webアプリケーションから検索フォームを起動できます。これらの検索処理の結果は、統合ExcelワークブックのADF表コンポーネントまたはADF読取り専用コンポーネントにダウンロードできます。

図8-22は、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックが次の場合に検索オプションの構成に使用する、Oracle ADFコンポーネントの設計時のビューを示します。

1. ADFラベル・コンポーネントが単純検索フォームで使用されている

2. ADF入力テキスト・コンポーネントが単純検索フォームで使用されている

3. ADFボタン・コンポーネントが単純検索フォームで使用されている

4. ADFボタン・コンポーネントが拡張検索フォームを起動するために使用されている

図8-22 EditPriceList-DT.xlsxワークブックでの検索に使用されるOracle ADFコンポーネント

注意:

ADFデスクトップ統合は、ページ定義ファイルでのFindMode属性の使用はサポートしていません。FindMode属性の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のpageNamePageDef.xmlに関する項を参照してください。

8.6.1 統合Excelワークブックの単純検索フォームの作成方法

エンド・ユーザーが検索語句を入力できるように、ADF入力テキスト・コンポーネントを挿入して構成します。ADFボタン・コンポーネントの挿入およびアクション・セットの構成は、次の目的で実行します。

1. エンド・ユーザーがADF入力テキスト・コンポーネントに入力する値の取得。

2. 値の問合せ。

3. 結果を統合ExcelワークブックのADF表コンポーネントまたはADF読取り専用表コンポーネントにダウンロード。

始める前に:

ADFデータ・バインド検索フォームについて理解しておくと役立ちます。詳細は、8.6項「統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

統合Excelワークブックで単純検索フォームを作成するには:

1. 統合Excelワークブックを開きます。

2. エンド・ユーザーに検索条件を入力させるExcelワークシートのセルにADF入力テキスト・コンポーネントを挿入します。

3. ユーザーが入力する検索語句を属性バインディングに割り当てるように、ADF入力テキスト・コンポーネントを構成します。

図8-23は、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックの例を示します。ここでは、ADF入力テキスト・コンポーネントはユーザーが入力した値をsearchTerm属性バインディングに割り当てます。可変イテレータの一部であるsearchTermは、続いてNamedData引数としてexecuteSimpleProductQueryメソッドに渡されます。

図8-23 単純検索フォームのADF入力テキスト・コンポーネント

4. オプションで、ADF入力テキスト・コンポーネントにスタイルを割り当てて、セルに検索語句を入力できることをエンド・ユーザーに示します。

5. オプションで、隣接するセルにADFラベル・コンポーネントを作成し、手順2で作成したADF入力テキスト・コンポーネントに検索語句を入力できることをエンド・ユーザーに示します。

6. ExcelワークシートにADFボタン・コンポーネントを作成します。

7. ADFボタン・コンポーネントのLabelプロパティを、実行時に文字列を表示するようにボタンをクリックすれば検索処理を実行できることをエンド・ユーザーに示します。

8. 「アクションの編集」ダイアログを開いて、ADFボタン・コンポーネントのClickActionSetプロパティのアクションの配列(Action[]Array)構成します。表8-5は、順番に起動するアクションについて説明します。

表8-5 ADFボタン・コンポーネントのClickActionSetプロパティ

追加するアクション

アクション

Worksheet

UpSyncワークシート・アクションを起動して、ADF入力テキスト・コンポーネントやADF値リスト・コンポーネントをホストするセルに入力された値をFusion Webアプリケーションにコピーします。ワークシート・アクションの詳細は、A.13項「ワークシートのアクションとプロパティ」を参照してください。

ADFmAction

手順3で指定した属性バインディングにバインドされたADFモデル・アクションを起動します。ADFモデル・アクションは、属性バインディングによって参照されるエンド・ユーザーの検索語句に対して問合せを実行します。

EditPriceList-DT.xlsxワークブックの相当する例は、executeSimpleProductQueryアクション・バインディングで、これはsearchTerm属性バインディングにバインドされます。

Worksheet

DownSyncワークシート・アクションを起動して、Fusion Webアプリケーションからのすべての保留中の変更を、ワークシートのADF入力テキスト・コンポーネント、ADF出力テキスト・コンポーネント、ADF値リスト・コンポーネントに同期します。ワークシート・アクションの詳細は、A.13項「ワークシートのアクションとプロパティ」を参照してください。

Component

ADF表コンポーネントまたはADF読取り専用表コンポーネントからDownloadアクションを起動して、ADFモデル・アクションが取得した結果をダウンロードします。

9. 「OK」をクリックします。
図8-24は、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックからの例を示します。ここでは、ADFボタン・コンポーネントが、エンド・ユーザーがADF入力テキスト・コンポーネントに入力した検索語句を使用して、executeSimpleProductQueryアクション・バインディングを起動します。

図8-24 単純検索フォームのADFボタン・コンポーネント

8.6.2 統合Excelワークブックの拡張検索フォームの作成方法

ADFボタン・コンポーネントを使用して、エンド・ユーザーに対して検索フォームを表示するFusion Webアプリケーションからのページを起動します。ADFボタン・コンポーネントのアクション・セットを構成して、検索処理の検索結果が統合Excelワークブックにダウンロードされるように、ADF表コンポーネントまたはADF読取り専用コンポーネントについてDownloadアクションを起動します。

Fusion Webアプリケーションでの検索フォームの作成の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「ADFデータ・バインド検索フォームの作成」を参照してください。

始める前に:

ADFデータ・バインド検索フォームについて理解しておくと役立ちます。詳細は、8.6項「統合Excelワークブックでのデータ・バインドされたADF検索フォームの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

統合Excelワークブックで拡張検索フォームを起動するには:

1. 統合Excelワークブックを開きます。

2. ExcelワークシートにADFボタン・コンポーネントを作成します。

3. ADFボタン・コンポーネントのLabelプロパティを、実行時に文字列を表示するようにボタンをクリックすれば検索処理を実行できることをエンド・ユーザーに示します。

4. 「アクションの編集」ダイアログを使用して、ADFボタン・コンポーネントのClickActionSetプロパティのアクションの配列(Action[]Array)構成します。表8-6は、順番に起動するアクションについて説明します。

表8-6 拡張検索フォームを起動するアクション

追加するアクション

アクション

Dialog

検索フォームを含むFusion Webアプリケーションからのページを表示します。Fusion Webアプリケーションからのページを表示する詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

Component

ADF表コンポーネントまたはADF読取り専用表コンポーネントからDownloadアクションを起動して、ADFモデル・アクションが取得した結果をダウンロードします。

5. 「OK」をクリックします。
図8-25は、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックからの例を示します。ここでは、ADFボタン・コンポーネントがExecuteアクション・バインディングを起動して、エンド・ユーザーがMaster Price Listのモジュール検索ページ(excelAdvSearch.jspx)で指定した値を取得します。ADF表コンポーネントのDownloadアクションは、返された値を統合Excelワークブックをダウンロードします。

図8-25 拡張検索フォームのADFボタン・コンポーネント

8.7 統合Excelワークブックへのフォームの追加

第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」 の説明にあるADFデスクトップ統合コンポーネントを使用して、統合Excelワークブックでフォームを作成できます。これらのコンポーネントは、エンド・ユーザーに対して、表タイプ・コンポーネントにより提供される機能を使用してFusion Webアプリケーションからのデータ行をダウンロードするのでなく、個々のフィールドを表示、閲覧する機能を提供するときに役立ちます。次のコンポーネントを使用してフォームを作成します。

- ADFボタン
このコンポーネントを使用して、ClickActionSetを起動できるボタンをエンド・ユーザーに提供します。図8-26はSearchというラベルの付いたADFボタンを示し、これはエンド・ユーザーがADF入力テキスト・コンポーネントに入力した検索語句を使用して、検索処理を起動します。

- ADF入力テキスト
このコンポーネントを使用して、バインディングの現在の値を表示される読取り/書込みフィールドをエンド・ユーザーに提供します。また、このコンポーネントは、図8-26,に示すように値の入力にも使用できます。つまり、ユーザーがADF入力テキスト・コンポーネントに検索語句を入力します。

- ADF出力テキスト
このコンポーネントを使用して、バインディングの現在の値を表示される読取り専用フィールドをエンド・ユーザーに提供します。

- ADF値リスト
このコンポーネントを使用して、ユーザーがリスト・バインディングから値を選択できるドロップダウン・メニューをエンド・ユーザーに提供します。

- ADFラベル
このコンポーネントを使用して、作成するフォームの使用方法の説明や他の情報をエンド・ユーザーに提供します。たとえば、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックは、ADFラベル・コンポーネントを使用して、エンド・ユーザーに説明および検索語句の一致項目数を表示します。図8-26は、これらのコンポーネントの実行時の値を示します。テキストSearch For:は、検索文字列を入力するようエンド・ユーザーに指示するラベルで、8 records foundラベルに検索文字列に一致するレコード件数が表示されます。

図8-26 統合Excelワークブックのフォームの実行時の表示

ADFデスクトップ統合の作業ウィンドウを使用して、必要なコンポーネントをワークシートに挿入します。

統合Excelワークブックでフォームを作成するには:

1. 完了したフォームにどのADFフォーム・コンポーネントが必要かを決定し、それを統合Excelワークシートに挿入します。
これらのコンポーネントの詳細は、第6章「ADFデスクトップ統合フォーム・タイプ・コンポーネントの使用」を参照してください。

2. 挿入するコンポーネントのレイアウトと外観を構成します。
コンポーネントの外観の構成の詳細は、第9章「統合Excelワークブックの外観の構成」を参照してください。

3. フォームをテストします。
統合Excelワークブックのテストの詳細は、第13章「統合Excelワークブックのテスト」を参照してください。

8.8 統合Excelワークブックでの依存値リストの作成

ADFデスクトップ統合は、統合Excelワークブックでの値リストの作成に使用する次のコンポーネントを提供します。

- ADF値リスト
Excelワークシートで値リストを作成するときに、このコンポーネントのプロパティを構成します。

- TreeNodeListサブコンポーネント
ADF表コンポーネント列で値リストを作成するときに、このコンポーネントのプロパティを構成します。

これら2つのコンポーネントを使用して、統合Excelワークブックに依存値リストを作成できます。依存値リストとは、値リスト・コンポーネント(子の値リスト)で、値は別の値リスト・子(親の値リスト)によって決定されます。

サーバーサイド・リスト・バインディングを、親の値リストの選択された項目が変更になったときに、使用可能な子の値リストの項目が正しく更新されるように定義する必要があります。図8-27は、Master Price ListモジュールのAdvEditPriceList-DT.xlsxファイルから2つの画面を使用した例で、ここではCategory列(親の値リスト)が変わると、Sub-Category列(子の値リスト)が変更になります。

図8-27 Master Price Listモジュールの値リストと依存値リスト

表8-7は、以前にリストしたコンポーネントを使用して作成できる依存値リストの実装と、それぞれの実装を完了するための要件を示します。

表8-7に説明する実装には、モデルドリブン・リストが必要なものがあります。モデルドリブン・リストの作成の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のモデルドリブン・リストの作成方法に関する項を参照してください。

表8-7 依存値リストの構成オプション

構成

要件

ADF値リスト・コンポーネントを使用して、Excelワークシートで親と子の値リストの両方をレンダリングします。

ADF値リスト・コンポーネントの両方のインスタンスがリスト・バインディングを参照する必要があります。参照するリスト・バインディングの1つまたは両方をモデルドリブン・リストにすることができます。

両方のリスト・バインディングがモデルドリブン・リストを参照できるのは、基底にあるイテレータに少なくとも1つのデータ行がある場合のみです。実行時に基底のイテレータにデータ行がなく、エンド・ユーザーが親リスト(ADF値リスト・コンポーネントのDependsOnListIDプロパティにより参照されるリスト・バインディング)からの値を選択する場合、子の値リスト(ADF値リスト・コンポーネントのListIDプロパティにより参照されるリスト・バインディング)は、エンド・ユーザーが選択する値に基づいてフィルタ処理されません。

このシナリオを回避するには、次のオプションのいずれかを選択します。

- 基底にあるイテレータに少なくとも1つのデータ行があることを確認

- 複数のイテレータを公開して、必要なすべてのイテレータがリフレッシュされる別のリスト・バインディング構成を使用

詳細は、8.8.1項「Excelワークシートでの依存値リストの作成方法」を参照してください。

TreeNodeListサブコンポーネントを使用して、ADF表コンポーネント列で親と子の値リストをレンダリングします。

親と子の値リスト(TreeNodeListサブコンポーネント)は、どちらもモデルドリブン・リストに関連付けられたツリー・バインディング属性を参照する必要があります。

詳細は、8.8.3項「ADF表コンポーネント列での依存値リストの作成方法」を参照してください。

TreeNodeListサブコンポーネントを使用して、ADF値リスト・コンポーネントで親の値リストを、ADF表コンポーネント列で子の値リストをそれぞれレンダリングします。

子の値リスト(TreeNodeListサブコンポーネント)は、モデルドリブン・リストに関連付けられたツリー・バインディング属性を参照する必要があります。親の値リスト(ADF値リスト・コンポーネント)がリスト・バインディングを参照する必要があります。

詳細は、8.8.5項「ExcelワークシートおよびADF表コンポーネント列での依存値リストの作成」を参照してください。

依存値リストを作成する場合は、次の点に注意してください。

- DependsOnListまたはDependsOnListIDによって参照されるセルの値が変更されると、ADFデスクトップ統合は、エンド・ユーザーへの警告なしに子のコンポーネント値リストへの以前の変更をすべて上書きします。

- DependsOnList(またはDependsOnListID)プロパティで指定されたリストがExcelワークシートのコンポーネントで参照されていないかぎり、依存値リストは機能しません。

- 再帰的な依存関係が定義されている場合(リストAがリストBに依存し、リストBがリストAに依存)、最初の依存関係(リストAがリストBに依存)が期待される動作をトリガーします。ADFデスクトップ統合は、他の依存関係を誤った構成と見なします。

- 次のようにして依存関係の連鎖を作成できます。

- リストAがリストBに依存

- リストBがリストCに依存

このシナリオでは、リストCの変更(祖父母の値リスト)がリストA(孫の値リスト)とリストB(子の値リスト)の両方を更新します。同様のシナリオを作成する場合、親の値リストの選択内容が変わったときに、孫の値リストと子の値リストがどちらも確実にリフレッシュされるようにする必要があります。孫の値リストに2つのバインド変数を指定し、ビュー属性に暗示的な依存関係を設定することにより、これを行います。もうひとつの方法は、モデルドリブン・リストが構成されているそれぞれのビュー属性間に明示的な属性の依存関係を制限することです。たとえば、属性Aが属性Bと属性Cに依存し、属性Bが属性Cに依存するように指定します。

- 依存値リストのキャッシュの詳細は、15.4項「切断されたモードで使用するための値リストのキャッシング」を参照してください。

- ADFデスクトップ統合は、依存値リストに表示される値をキャッシュします。したがって、親リストの選択に対する依存リストの項目の値は、ADF表コンポーネントのすべての行で一貫している必要があります。

8.8.1 Excelワークシートでの依存値リストの作成方法

ADF値リスト・コンポーネントの2つのインスタンスを使用して、Excelワークシートで依存値リストを作成します。

親のADF値リスト・コンポーネントによって参照されるリスト・バインディングを、子のADF値リスト・コンポーネントのListOfValues.DependsOnListIDプロパティの値に指定します。

ADF値リストの詳細は、A.5項「ADF値リスト・コンポーネントのプロパティ」を参照してください。

始める前に:

依存値リストについて理解しておくと役立ちます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

Excelワークシートで依存値リストを作成するには:

1. 存在しない場合は、必要なリスト・バインディングをページ定義ファイルに追加します。
ページ定義ファイルへのバインディングの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

2. 統合Excelワークブックを開きます。

3. 6.6項「ADF値リスト・コンポーネントの挿入」の説明に従って、2つのADF値リスト・コンポーネントを統合Excelワークブックに挿入します。

4. 依存値リストで親となるADF値リスト・コンポーネントのプロパティ・インスペクタを表示し、ListOfValues.ListIDプロパティの値を親となるリスト・バインディングに設定します。

5. 依存値リストで子となるADF値リスト・コンポーネントのプロパティ・インスペクタを表示して、その値を次のように設定します。

- ListOfValues.ListID
依存値リストで子となるリスト・バインディングを指定します。

- ListOfValues.DependsOnListID
手順4でADFリスト値コンポーネントに親として指定したリスト・バインディングを選択します。

図8-28は、子のADF値リストのプロパティ・インスペクタを示します。ここでは、CountryIdリスト・バインディングが親の値リストとして指定され、StateIdリストが依存値リストです。

図8-28 Excelワークシートの設計時の依存値リスト

6. 「OK」をクリックします。

8.8.2 実行時の処理: Excelワークシートによる依存値リストのレンダリング

実行時にはADFデスクトップ統合は、ADF値リスト・コンポーネントの両方のインスタンスをレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。

図8-29は、依存値リストのStateIDが、選択されたCountryIdリスト値からの状態のみを表示する様子を示します。

図8-29 Excelワークシートの実行時の依存値リスト

8.8.3 ADF表コンポーネント列での依存値リストの作成方法

TreeNodeListサブコンポーネントのインスタンスを使用して、ADF表コンポーネント列の依存値リストで両方の値リストを実行時にレンダリングします。

ツリー・バインディング属性を親のTreeNodeListサブコンポーネントのListプロパティの値に指定します。また、ツリー・バインディング属性を子のTreeNodeListサブコンポーネントのListプロパティに、親のTreeNodeListサブコンポーネントにより参照される同じツリー・バインディング属性をDependsOnListプロパティの値にそれぞれ指定します。

両方のツリー・バインディング属性が、ツリー・バインディングをページ定義ファイルに追加する前に、モデルドリブン・リストに関連付けられていることを確認してください。モデルドリブン・リストの作成の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のモデルドリブン・リストの作成方法に関する項を参照してください。ページ定義ファイルへのツリー・バインディングの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

TreeNodeListサブコンポーネントの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

始める前に:

依存値リストについて理解しておくと役立ちます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ADF表コンポーネントに依存値リストを作成するには:

1. 統合Excelワークブックを開きます。

2. 存在しない場合は、ADF表コンポーネントを挿入します。
詳細は、7.3項「ExcelワークシートへのADF表コンポーネントの挿入」を参照してください。

3. TableColumn[] Arrayの入力フィールドの横にある省略記号ボタン(...)をクリックすることにより、ADF表コンポーネントのプロパティ・インスペクタを表示して、「列の編集」ダイアログを起動します。

4. 作成されない場合、「追加」をクリックして、親の値リストとなる新しい列を追加します。値リストの作成の詳細は、7.13項「ADF表コンポーネント列での値リストの作成」を参照してください。

5. 実行時の依存値リストで子の値リストとなる新しい列を、ADF表コンポーネントに追加します。値リストの作成の詳細は、7.13項「ADF表コンポーネント列での値リストの作成」を参照してください。

6. 親の値リストのツリー・バインディング属性を、DependsOnListプロパティの値として指定します。
図8-30は、子のADFデスクトップ統合のツリー・ノード・コンポーネントのプロパティ・インスペクタを示し、ParentCategoryIdツリー・バインディング属性は、親の値リストとして指定されます。

図8-30 ADF表コンポーネント列の設計時の依存値リスト

7. 「OK」をクリックします。

8.8.4 実行時の処理: ADF表コンポーネント列による依存値リストのレンダリング

実行時にはADF表コンポーネントは、TreeNodeListサブコンポーネントの両方のインスタンスを、これらのインスタンスを表示するよう構成した列にレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。

図8-31は、Category列の値リストでエンド・ユーザーが選択する値が、Sub-Category列の値リストに表示されるサブカテゴリの対応する値となる様子を示します。

図8-31 ADF表コンポーネント列の実行時の依存値リスト

注意:

子のリストと親のリストが同じADF表コンポーネントの列にバインドされている場合、エンド・ユーザーが親リストの選択内容を変更すると、現在の行の子のリスト項目のみが変更されます。

8.8.5 ExcelワークシートおよびADF表コンポーネント列での依存値リストの作成

ADF値リスト・コンポーネントのインスタンスとTreeNodeListサブコンポーネントのインスタンスを使用して、親と子の値リストをレンダリングする依存値リストを作成します。

- Excelワークシートの親の値リスト
ADF値リスト・コンポーネントのインスタンスは、親の値リストをExcelワークシートにレンダリングします。

- ADF表コンポーネント列の子の値リスト
TreeNodeListサブコンポーネントのインスタンスは、子の値リストをADF表コンポーネント列にレンダリングします。

親のADF値リスト・コンポーネントのListIDプロパティの値として、リスト・バインディングを指定します。ツリー・バインディング属性を子のTreeNodeListサブコンポーネントのListプロパティに、親のADF値リスト・コンポーネントによって参照される同じリスト・バインディングをDependsOnListプロパティの値にそれぞれ指定します。

ツリー・バインディング属性が、ツリー・バインディングをページ定義ファイルに追加する前に、モデルドリブン・リストに関連付けられていることを確認してください。モデルドリブン・リストの作成の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のモデルドリブン・リストの作成方法に関する項を参照してください。ページ定義ファイルへのリストおよびツリー・バインディングの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

ADF値リスト・コンポーネントの詳細は、A.5項「ADF値リスト・コンポーネントのプロパティ」を参照してください。 TreeNodeListサブコンポーネントの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

始める前に:

依存値リストについて理解しておくと役立ちます。詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ExcelワークシートとADF表コンポーネント列に依存値リストを作成するには:

1. 統合Excelワークブックを開きます。

2. 6.6項「ADF値リスト・コンポーネントの挿入」の説明に従って、ADF値リスト・コンポーネントを統合Excelワークブックに挿入します。

3. ADF値リスト・コンポーネントのプロパティ・インスペクタを表示し、ListIDプロパティの値を、依存値リストで親の値リストとなるリスト・バインディングに設定します。

4. 「OK」をクリックします。

5. TableColumn[] Arrayの入力フィールドの横にある省略記号ボタン(...)をクリックすることにより、ADF表コンポーネントのプロパティ・インスペクタを表示して、「列の編集」ダイアログを起動します。

6. 「追加」をクリックして、実行時の依存値リストで子の値リストとなる新しい列をADF表コンポーネントに追加します。

7. 新しく作成した列に適切なオプションを選択します。

- InsertComponentの入力フィールドの横にある省略記号ボタン(...)をクリックして、挿入操作の実行時の値リストを構成します。

- UpdateComponentの入力フィールドの横にある省略記号ボタン(...)をクリックして、更新操作とダウンロード操作の実行時の値リストを構成します。

両方のオプションでも、作成するサブコンポーネントの選択ダイアログが表示されます。

8. TreeNodeListを選択して、「OK」をクリックします。

9. 手順7で選択したプロパティを展開して、次のように値を構成します。

- 3でADF値リスト・コンポーネントのListIDプロパティの値に指定したものと同じリスト・バインディングを、DependsOnListプロパティの値として選択します。

- Listプロパティのモデルドリブン・リストに関連付けられたツリー・バインディング属性を選択します。

- 必要に応じてReadOnlyプロパティを構成します。

10. 「OK」をクリックします。
図8-32は、子のADFデスクトップ統合のツリー・ノード・コンポーネントのプロパティ・インスペクタを示し、countryListリスト・バインディングは、親の値リストとして指定されます。

図8-32 ExcelワークシートおよびADF表コンポーネント列の設計時の依存値リスト

8.8.6 実行時の処理: ExcelワークシートとADF表コンポーネント列による依存値リストのレンダリング

実行時にはADF値リスト・コンポーネントは親の値リストをレンダリングし、ADF表コンポーネントは子の値リストをTreeNodeListサブコンポーネントを表示するよう構成した列にレンダリングします。エンド・ユーザーが親の値リストから値を選択すると、選択された値によって子のリストの値リストが決まります。

図8-33は、エンド・ユーザーがCountryId値リストで選択する値によって、ADF表コンポーネントのStateId列に表示される値リストが決まる様子を示します。

図8-33 ExcelワークシートおよびADF表コンポーネント列の実行時の依存値リスト

注意:

親のリストがワークシートのセルにバインドされて、子のリストがADF表コンポーネント列にバインドされている場合、エンド・ユーザーが親リストの選択内容を変更すると、表のすべての行に対して子のリスト項目が更新されます。

8.9 Excel式を生成するためのEL式の使用

EL式を使用して、ADFコンポーネントの値としてExcel式を生成できます。たとえば、EL式でHYPERLINK関数を使用できます。EL式でExcelのHYPERLINK関数を使用する場合、ADF出力テキスト・コンポーネントなどのOracle ADFコンポーネントを使用して、実行時にハイパーリンクを表示するには、HYPERLINK関数をExcelのT関数内に囲む必要があります。

ADFデスクトップ統合はExcelの式を認識するため、HYPERLINK関数を囲む必要があります。これを回避するには、HYERLINK関数の回りにT関数を配置して、HYPERLINK関数の値がT関数によって評価されるようにします。結果の値は、ADFコンポーネントが参照するExcelのセルに挿入されます。HYPERLINK Excel関数を起動するEL式を記述する際は、次の構文を使用します。

=T("=HYPERLINK(""link_location"",""friendly_name"")")

たとえば、エンド・ユーザーがコンポーネントをクリックすると、次のEL式はHYPERLINK関数を使用して、http://www.oracle.comに移動します。

=T("=HYPERLINK(""http://www.oracle.com"", ""#{bindings.ProductId.inputValue}"")")

HYPERLINK関数を使用してEL式を記述する場合、エラー・メッセージが表示されないようにするため、適用するカスタムのスタイルの「セルのフォーマット」ダイアログの保護タブの「ロック済」チェック・ボックスを選択することをお薦めします。

8.9.1 EL式を使用してハイパーリンクを表示する際のセルの構成方法

ExcelのT関数を使用するEL式を記述して、ExcelのHYERLINK関数の出力を評価します。次の作業は、ADF出力テキスト・コンポーネントを構成してハイパーリンクを表示する様子を示します。このリンクをクリックすると、ProductNameバインディングを検索語句に使用して、Oracle OTN Discussion Forum for Developer Toolsで検索処理を起動します。

始める前に:

動的なハイパーリンクについて理解しておくと役立ちます。詳細は、8.9項「Excel式を生成するためのEL式の使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

セルを構成し、EL式を使用してハイパーリンクを表示するには:

1. 統合Excelワークブックを開きます。

2. ADF出力テキスト・コンポーネントをExcelワークシートに挿入します。

3. ADF出力テキスト・コンポーネントのValueプロパティにEL式を記述します。
記述するEL式は、Excel HYPERLINK関数を起動して、出力を評価するためにExcel T関数を使用します。この例では、Valueプロパティに次のEL式を入力しました:

=T("=HYPERLINK(""http://forums.oracle.com/forums/search.jspa?objID=c19&q=#{bindings.ProductName}"", ""#{bindings.ProductName}"")")

注意:

Excelでは、式を正しく評価できるように、EL式に二重引用符(""#{bindings.ProductName}""など)を記述する必要があります。

4. 「OK」をクリックします。

8.9.2 実行時の処理: EL式を使用したセルによるハイパーリンクの表示

ADFデスクトップ統合は、記述するEL式を実行時に評価します。次の例では、ADFデスクトップ統合は次のことを実行します。

- ProductNameバインディングの値を取得

- ProductNameバインディングの値をURLに挿入

- ユーザーがクリックして検索を起動できる、ハイパーリンクの付いたセルに結果を挿入

図8-34は、8.9.1項「EL式を使用してハイパーリンクを表示する際のセルの構成方法」で構成した例の実行時の表示を示します。ここでは、Zune 30GBはProductNameバインディングの取得された値です。ADF出力テキスト・コンポーネントをホストするセルをエンド・ユーザーがクリックすると、Oracle OTN Discussion Forum for Developer ToolsでZune 30GBの検索処理が起動されます。

図8-34 ハイパーリンクを表示するよう構成されたADF出力テキスト・コンポーネント

8.10 統合Excelワークブックでの計算済セルの使用

統合Excelワークブックで値の計算を実行するExcel式を記述できます。Before 統合Excelワークブックで値を計算するExcel式を記述する前に、次の点に注意してください。

- 式は、Oracle ADFバインディングを参照するセルと参照しないセルに入力できます。

- 統合Excelワークブックのエンド・ユーザーは実行時に式を入力できます。

- 統合Excelワークブックの開発者は、設計時に式を入力できます。

- 起動時には、ADF表コンポーネント・アクションUploadとRowUpSyncが、式の計算結果をFusion Webアプリケーションに送信しますが、式自体は送信されません。

- Oracle ADFバインディングを参照するセルが次の処理によって変更された場合、Excelではこれらのセルの式が再計算されます。

- ADF表コンポーネントRowDownSyncアクションとDownloadアクションの起動

- Oracle ADFコンポーネントのレンダリング

- ADF表コンポーネントとADF読取り専用コンポーネントは、行がFusion Webアプリケーションからのデータを受け入れるために収縮すると同時に、行を挿入または削除します。式はExcel独自のルールに従って複製されます。

- ADF表コンポーネントまたはADF読取り専用表コンポーネントを参照するセルの上または下に式を入力できます。これらのコンポーネントの下に入力した式は、表示される行数を受け入れるためにコンポーネントが収縮する際、コンポーネントを基準にしてその位置を保持します。

Excel関数の詳細は、Excelのオンライン・ヘルプ・ドキュメントの関数の参照の項を参照してください。

8.10.1 Excel式により生成された値を表示する列の作成方法

Excel式によって計算された値を表示する列を、Excelのリボンのメニュー・オプションを使用して、ワークシートに直接挿入します。ADF表コンポーネントまたはADF読取り専用表コンポーネントの列を管理するコレクション・エディタを使用して、計算された値を表示する列を追加することはできません。

始める前に:

統合Excelワークブックでの計算されたセルの使用方法を理解しておくと役立ちます。詳細は、8.10項「統合Excelワークブックでの計算済セルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

Excel式により生成された値を表示する列を作成するには:

1. Excelワークシートの設計モードで、Excelの式により生成された値を実行時に表示する列を表示するセルを選択します。
たとえば、EditPriceList-DT.xlsxのセルH15には次の式が含まれています。

=G15-F15

セルG15は実行時にList Priceとラベル付けされるADF表コンポーネント列の設計時の参照で、F15は実行時にCost Priceとラベル付けされるADF表コンポーネント列の設計時のセル参照です。

セルH14は、式のヘッダーをマークします。これには、Labelプロパティが次のEL式に設定されたADFラベル・コンポーネントが含まれます。

#{res['excel.difference.label']}

このEL式は、実行時にexcel.difference.label文字列キーを取得します。

図8-35は、Excel式が式のバーに表示されている、手動で挿入された列の設計時の表示、および実行時にリソース・バンドルから文字列キーの値を取得するADFラベル・コンポーネントを示します。

図8-35 Excel式により生成された値を表示する列の設計時の表示

2. Excelの「保存」ボタンを使用して変更を保存します。

8.10.2 実行時の処理: 列でのExcel式の値の表示

実行時には、手動で挿入された列の各行に正しい値が表示されるように、ADF表コンポーネントとADF読取り専用コンポーネントが収縮する際に、Excelは式を複製して調整します。図8-36は、図8-35に示す例の実行時の表示の一部で、式が対応する各行を評価するようにExcelが式を調整しています。

図8-36 Excel式により生成された値を表示する列の実行時の表示

8.10.3 表タイプ・コンポーネント列の合計の計算方法

次の作業は、Excel関数のSUMとOFFSETを使用して、Master Price ListモジュールのEditPriceList-DT.xlsxでDifferenceとラベル付けされた列の合計を実行時に計算する様子を示します。ADF表コンポーネントまたはADF読取り専用表コンポーネントがダウンロードする行数に基づいて、拡張または収縮するセルの範囲を参照する場合に、記述するExcel式でOFFSET関数を使用します。SUM関数が、Excelのセル範囲の合計を計算します。

始める前に:

統合Excelワークブックでの計算されたセルの使用方法を理解しておくと役立ちます。詳細は、8.10項「統合Excelワークブックでの計算済セルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、8.1.2項「統合Excelワークブックへの対話性の追加の追加機能」を参照してください。

ADF表コンポーネントで列の合計を計算するには:

1. 設計モードで、Excel式を記述するExcelワークシートのセルを選択します。EditPriceList-DT.xlsxでは、これは参照を持つセルH16です。

2. 実行時にセル範囲で計算を実行するExcel式を記述します。例:
=SUM(OFFSET(G14,1,0):OFFSET(G15,-1,0))

SUMは、現在G14とG15によって参照されているセル範囲の値の合計を計算します。

図8-37は、統合ExcelワークブックのExcel式の設計時の表示を示します。

図8-37 統合ExcelワークブックのExcel式の設計時の表示

3. 変更を保存して実行時モードに切り替え、入力したExcel式が正しく評価されるかテストします。

8.10.4 実行時の処理: Excelによる表タイプ・コンポーネント列の合計計算

図8-38は、図8-37のExcel式が評価されるときの、統合Excelワークブックの実行時の表示です。このExcel式は、設計モードで指定したセル範囲にある値の合計を計算します。実行時にExcelの式バーに表示されるセル参照(H14とH61)は、設計時に式バーに表示されるもの(G14とG15)とは異なります。これは、ADF表コンポーネントが移動され、ダウンロードしたデータ行を含むように拡張されたためです。

図8-38 統合ExcelワークブックのExcel式の実行時の表示

8.11 統合Excelワークブックでのマクロの使用

統合ExcelワークブックのExcelイベントに基づいて、マクロを定義して実行できます。

次の点に注意してください。

- Excelイベントによってトリガーされるマクロは、ExcelイベントがADFデスクトップ統合によって起動する場合はトリガーされません。

- Excelイベントによって起動されるADFデスクトップ統合コードは、Excelイベントがマクロによってトリガーされるときに実行されます。

9 統合Excelワークブックの外観の構成

この章では、Excelでの定義済スタイルおよびカスタム・スタイルを使用して統合Excelワークブックの外観を構成する方法、EL式を使用して実行時にワークブックのOracle ADFコンポーネントにスタイルを動的に適用する方法、ラベルを使用してExcelワークブックをブランディングする方法、およびワークシート保護機能を使用する方法についても説明します。

この章の内容は次のとおりです。

- 9.1項「統合Excelワークブックの外観の構成の概要」

- 9.2項「スタイルの使用」

- 9.3項「EL式を使用した動的なスタイルの適用」

- 9.4項「統合Excelワークブックでのラベルの使用」

- 9.5項「操作性を向上するスタイルの使用」

- 9.6項「統合Excelワークブックのブランディング」

- 9.7項「ワークシート保護の使用」

9.1 統合Excelワークブックの外観の構成の概要

Excel機能とOracle ADF機能の両方を使用して、統合Excelワークブックの外観を構成できます。ワークブックの外観を構成すると、エンド・ユーザーにとってのワークブックの使い勝手をよくすることができます。たとえば、実行時にADF出力テキスト・コンポーネントをレンダリングするセルに特定のスタイルを適用して、そのセルが読取り専用であることをエンド・ユーザーに示すことができます。また、会社のスタイル・シートやExcelワークブックが統合するFusion Webアプリケーションの色のスキームと一致するように、統合Excelワークブックの外観を構成する場合もあります。

統合Excelワークブックでスタイルを使用してデータを構成することには、様々な利点があります。たとえば、ADF出力テキスト・コンポーネントに特定のスタイルを使用し、ADF入力テキスト・コンポーネントには異なるスタイルを使用できます。

ADFデスクトップ統合には、ワークブックで構成するADFデスクトップ統合コンポーネントに適用する事前定義済のExcelスタイルがいくつか用意されています。デスクトップ統合プロジェクトのニーズを満たすために、追加のスタイルを定義することもできます。その場合は、ロケールや地域、言語に応じて様々にレンダリングされるExcelワークブックの形式を十分に理解しておいてください。

9.1.1 統合Excelワークブックの構成のユースケースおよび例

スタイルを使用して、ADFデスクトップ統合のコンポーネントの外観をカスタマイズできます。その例として、図9-1は、EditPriceList.xlsxのADF表の列に適用される様々なスタイルを示しています。図9-1に示すスタイルの一部は事前定義済スタイルで(例: _ADFDI_TableCellStyle)その他は開発者が作成したもの(例:mplTableCellR0Pctg)です。

図9-1 EditPriceList.xlsxのADF表の列に適用されるスタイル

9.1.2 統合Excelワークブックの外観を構成するための追加の機能

統合Excelワークブックの外観を構成するためにスタイルを適用した後、ワークブックを構成するための機能をさらに追加することが必要になる場合があります。使用可能な他の機能へのリンクは次のとおりです。

- ブランディング: ADFデスクトップ統合には、スタイル以外にもプロパティの集合(BrandingItems)が用意されており、これによって、アプリケーション名、アプリケーションのバージョン詳細および著作権情報を使用した統合Excelワークブックのブランディングが可能になります。詳細は、9.6項「統合Excelワークブックのブランディング」を参照してください。

- ローカライズ: Fusion Webアプリケーションでの国際化およびローカライズの処理の一部として、統合Excelワークブックをカスタマイズできます。詳細は、第10章「統合Excelワークブックの国際化」を参照してください。

9.2 スタイルの使用

ADFデスクトップ統合には、Excelで定義されたスタイルを実行時に一部のOracle ADFコンポーネントに適用するメカニズムが用意されています。スタイルの適用をサポートするOracle ADFコンポーネントには、名前にStyleNameを含むプロパティがあります。たとえば、ADF表コンポーネントとADF読取り専用表コンポーネントの列プロパティは、実行時に適用されるスタイルを決定するプロパティHeaderStyleNameおよびCellStyleNameをサポートします。

9.2.1 ADFデスクトップ統合の事前定義済スタイル

多くのプロパティには、ADFデスクトップ統合モジュールのスタイルの事前定義済リストから引き出されるデフォルトの値があります。たとえば、HeaderStyleNameプロパティのデフォルト値は、ADFデスクトップ統合で事前定義されたスタイルの1つである_ADFDI_HeaderStyleです。ADFデスクトップ統合は、ExcelワークブックがADFデスクトップ統合との併用が有効になっている場合、これらの事前定義済スタイルをExcelワークブックに自動的に追加します。

次に、事前定義済スタイルを示します。

- _ADFDI_FormBottomStyle

- _ADFDI_FormDoubleClickCellStyle

- _ADFDI_FormTopStyle

- _ADFDI_HeaderStyle

- _ADFDI_InputTextStyle

- _ADFDI_LabelStyle

- _ADFDI_OutputTextStyle

- _ADFDI_ReadOnlyTableStyle

- _ADFDI_TableCellROStyle

- _ADFDI_TableCellStyle

- _ADFDI_TableChangedColumnStyle

- _ADFDI_TableDoubleClickCellStyle

- _ADFDI_TableFlagColumnStyle

- _ADFDI_TableKeyCellStyle

- _ADFDI_TriangleHeaderStyle

自分で定義するこれらのスタイルや他のスタイルを、統合ExcelワークブックからFusion Webアプリケーションと統合する予定の別のExcelワークブックにマージできます。追加で使用するスタイルをExcelワークブックで作成することもできます。たとえば、日付に固有の形式を追加するには、_ADFDI_TableCellStyleeを複製して、MyTableCellDateStyleという名前を付け、日付に固有の形式を追加します。

実行時にADFデスクトップ統合のコンポーネントに適用するスタイルを決定したら、EL式を記述してスタイルをコンポーネントに関連付けることができます。StyleNameを名前に含むADFデスクトップ統合コンポーネントのプロパティは、EL式を値として受け入れます。他のADFコンポーネントのADFラベル・コンポーネントとLabelプロパティでも、EL式がサポートされます。これらのEL式は、リソース・バンドルで定義された文字列キーの値やFusion Webアプリケーションで定義された属性コントロール・ヒントの値を取得できます。

新しいスタイルの作成と、ワークブックへのスタイルのマージの詳細は、Excelのドキュメントを参照してください。

9.2.2 Excelの日付形式とMicrosoft Windowsの地域と言語のオプション

Excelでセルに適用できる、「数値」スタイルの「日付」に分類される表示形式の一部は、ユーザーがMicrosoft Windowsの「コントロール パネル」からアクセスできる「地域と言語のオプション」を使用してローカル・システムのロケールを変更すると変わります。「タイプ」リストのこれらの形式の先頭に*文字が付きます。図9-2に示す日付の種類の例では、「フランス語(フランス)」の表記規則を使用してセルの日付書式が設定されています。

図9-2 Excelのフランス語の日付書式

エンド・ユーザーが、図9-3にあるように「英語 (米国)」を使用するようにシステムの地域オプションを変更した場合、 図9-2のスタイルでフォーマットされるセルは、「英語 (米国)」の表記規則を使用します。

図9-3 Excelの英語(米国)の日付書式

9.2.3 Oracle ADFコンポーネントへのスタイルの適用方法

Oracle ADFコンポーネントにスタイルを適用するには、プロパティ・インスペクタを使用して、StyleNameを名前に持つプロパティの値を設定します。

始める前に:

スタイルについて理解しておくと役立ちます。詳細は、9.2項「スタイルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、9.1.2項「統合Excelワークブックの外観を構成するための追加の機能」を参照してください。

スタイルを適用するには:

1. 統合Excelワークブックで、変更するOracle ADFコンポーネントを参照するセルを選択して、「Oracle ADF」タブの「プロパティの編集」ボタンをクリックします。
たとえば、ADF表コンポーネントを参照するセルを選択します。

2. 「列」に続いて、実行時にセルの形式を変更する列の配列にある列の値をクリックします。

3. CellStyleNameプロパティを選択し、省略記号ボタン(...)をクリックして「式の編集」ダイアログを表示します。

4. Stylesノードを展開して、実行時に列のセルに適用するスタイルを選択します。
たとえば、通貨に基づいたスタイル(Currency[0]スタイル)をCurrencyタイプのList Priceデータバインド列に適用します。汎用のスタイルではなく、Currency[0]スタイルをCurrencyタイプのデータ・バインド列に適用すると、実行時のデータ(価格の値)が通常の値(小数桁数2桁)ではなく、小数桁数ゼロに切り捨てられた値として表示されます。

5. 「式に挿入」をクリックして、Currency[0]を「式」フィールドに挿入します。
図9-4に、「式の編集」ダイアログを示します。

図9-4 スタイルを適用する「式の編集」ダイアログ

6. 「OK」をクリックします。

9.2.4 実行時の処理: ADFコンポーネントへのスタイルの適用方法

名前にStyleNameが付いているプロパティの値として入力したEL式は、実行時に評価されます。これが事前定義済スタイルまたは開発者が定義したスタイルに対応する場合、そのスタイルはプロパティを設定したADFコンポーネントに適用されます。

ADFコンポーネントを参照するセルに、ADFのプロパティで定義されたものとは異なるスタイルが適用されている場合、ADFコンポーネントは既存のスタイルを実行時に上書きして、プロパティで定義されたスタイルを適用します。

たとえば、図9-5は、Currency[0]スタイルが適用されてデフォルトのTableCellCurrencyスタイルが上書きされた後のSite Price列の実行時の値を示します。

図9-5 別のスタイルを適用した後の実行時の値

9.3 EL式を使用した動的なスタイルの適用

StyleNameを名前に含むOracle ADFコンポーネントのプロパティは、EL式を値として受け入れます。記述するEL式は、実行時に指定されたADFコンポーネントに適用されるExcelスタイルに解決することができます。記述するEL式は、ADFデータ・バインディング式などを使用するExcel式です。ADFデスクトップ統合は、ユーザーがセル間を移動するときやアップロード時には、結果を評価または適用しません。

次の例は、EL式を使用して、実行時のADFコンポーネントの動作および外観を決定できる様々なコンテキストを示しています。例9-1では、ダウンロード時にスタイルを動的に適用します。バインディングのステータス値がClosedの場合、読取り専用スタイル(MyReadOnlyStyle)を適用します。それ以外のときは、別のスタイル(MyReadWriteStyle)を適用します。

例9-1 ダウンロード時にスタイルを動的に適用する場合

=IF("#{bindings.Status}" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")

例9-2では、Excel式とADFバインディング式を取り混ぜて使用し、エラーおよびタイプ変換を処理します。

例9-2 エラーをタイプ変換を処理するEL式

=IF(ISERROR(VALUE("#{bindings.DealSize}")), "BlackStyle", IF(VALUE("#{bindings.DealSize}") > 300, "RedStyle", "BlackStyle"))

9.3.1 実行時の処理: EL式の評価方法

実行時にEL式を評価する際、ADFデスクトップ統合はEL式が参照する値を決定します。そしてExcel式のEL式を、その値に置換します。例9-1では、まずADFデスクトップ統合は次のExcel式でEL式、#{bindings.Status}の値を決定します。

=IF("#{bindings.Status}" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")

続いて、次の例にあるようにEL式を実行時の値に置換します。ここでは、式はClosedに評価されます。

=IF("Closed" = "Closed", "MyReadOnlyStyle", "MyReadWriteStyle")

Excelは式を評価し、この例ではMyReadOnlyStyleスタイルに適用します。

9.3.2 実行時にスタイルを適用するEL式の記述方法

Oracle ADFコンポーネントのプロパティ・インスペクタからアクセスできる「式の編集」ダイアログに、EL式をサポートするOracle ADFコンポーネントのプロパティのEL式を記述します。図9-6に、ADFボタン・コンポーネントのプロパティ・インスペクタ・ウィンドウから起動された「式の編集」ダイアログを示します。

図9-6 「式の編集」ダイアログ

始める前に:

動的にスタイルを適用する方法を理解しておくと役立ちます。詳細は、9.3項「EL式を使用した動的なスタイルの適用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、9.1.2項「統合Excelワークブックの外観を構成するための追加の機能」を参照してください。

実行時にスタイルを適用するEL式を記述するには:

1. 統合Excelワークブックを開きます。

2. EL式を記述する、Oracle ADFコンポーネントを参照するExcelワークシートのセルを選択します。

3. 「Oracle ADF」タブの「プロパティの編集」ボタンをクリックして、プロパティ・インスペクタを表示します。

4. EL式を関連付けるプロパティ・インスペクタのプロパティを選択し、省略記号ボタン(...)をクリックして「式の編集」ダイアログを表示します。

注意:

「式の編集」ダイアログは、手順2で選択したOracle ADFコンポーネントがEL式をサポートする場合のみ表示されます。コンテキストによっては、省略記号ボタン(...)でアクションの編集ダイアログなどの他のエディタが起動する場合があります。

図9-6に示すように「式の編集」ダイアログには、EL式で参照できるOracle ADFコンポーネント、バインディング、スタイル、リソース、Excel機能の階層リストが表示されます。このダイアログに入力するEL式の構文の詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。

9.3.3 スタイルを適用するEL式に関する留意事項

スタイルに評価されるEL式は、次の場合に適用されます。

- ADF表コンポーネントがDownloadアクションまたはDownloadForInsertアクションを起動する場合

- 行がADF表コンポーネントに挿入される場合

- ワークシートがDownSyncアクションを起動する場合

スタイルに評価されるEL式は、次の場合には適用されません。

- ADF表コンポーネントがRowDownSyncアクションを起動する場合

- エンド・ユーザーがセルの形式のプロパティを編集する場合
また、エンド・ユーザーがセルの値を編集すると、スタイルに評価されるEL式は再評価されない点にも注意してください。

- EL式の実行時の値は、エンド・ユーザーの統合Excelワークブックで定義されたスタイルには一致しません。
このシナリオでは、対象セルのスタイルの形式は変わりません。既存のスタイル形式が保持されます。クライアントサイドのロギングを構成した場合、EL式がエンド・ユーザーの統合Excelワークブックで定義されていないスタイルに評価されると、ADFデスクトップ統合はログ・ファイルにエントリを生成します。クライアントサイドのロギングの詳細は、C.3項「統合Excelワークブックのログ・ファイルの生成」を参照してください。

9.4 統合Excelワークブックでのラベルの使用

ラベルを使用して、統合Excelワークブックの機能をどのように使用するかについての情報をエンド・ユーザーに提供します。リソース・バンドルで定義された文字列キーの値あるいは属性コントロール・ヒントを取得するEL式を記述できます。統合Excelワークブックは、ワークブックが初期化されるときにのみLabelプロパティの値を評価します。

9.4.1 リソース・バンドルからの文字列キーの値の取得

図9-7は、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックの設計時の表示の一部を示しています。対応するLabelプロパティにEL式が指定されている、ADFラベル・コンポーネントとADFボタン・コンポーネントの例を示します。

図9-7 Labelプロパティを持つADFラベル・コンポーネントとADFボタン・コンポーネントの設計時の表示

実行時には、これらのEL式はMaster Price Listモジュールに登録されたresリソース・バンドルで定義された文字列キーに解決されます。リソース・バンドルは、「ワークブック・プロパティ」ダイアログで定義します。リソース・バンドルからの文字列キーの参照の詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

図9-8は、図9-7に設計モードで示されているADFラベル・コンポーネントとADFボタン・コンポーネントに相当する実行時の表示を示しています。

図9-8 Labelプロパティを持つADFラベル・コンポーネントとADFボタン・コンポーネントの実行時の表示

9.4.2 属性コントロール・ヒントの値の取得

リソース・バンドルからの文字列キーの他に、ADFラベル・コンポーネントと他のADFコンポーネントのLabelプロパティは、JDeveloperプロジェクトのエンティティ・オブジェクトとビュー・オブジェクトに定義する属性コントロール・ヒントを参照できます。図9-9は、EditPriceList-DT.xlsxワークブックのADF表コンポーネントにあるProduct Name列の式ビルダーを示しています。式ビルダーは、実行時に属性コントロール・ヒントに定義される値(Product Name)を取得する、ProductName列のHeaderLabelプロパティに対するEL式を含みます。

図9-9 Labelプロパティの属性コントロール・ヒントの値を取得するEL式

属性コントロールのヒントは、ビュー・オブジェクトとエンティティ・オブジェクトの両方に構成できます。エンティティ・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のエンティティ・オブジェクトの属性コントロール・ヒントの定義に関する項を参照してください。ビュー・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のビュー・オブジェクトの属性コントロール・ヒントの定義に関する項を参照してください。

9.4.3 統合ExcelワークブックがLabelプロパティをどのように評価するか

統合Excelワークブックは、開発者またはエンド・ユーザーが初めてワークブックを開いた後、ワークブックが初期化されるときにADFコンポーネントのLabelプロパティを評価します。統合Excelワークブックは、ワークブック自身がシステム上のディレクトリに保存されるときに、Labelプロパティの取得された値を保存します。

Labelプロパティの取得された値は、ワークシートのDownSyncアクションやADF表コンポーネントのDownloadアクションのようなアクションの起動中にリフレッシュされません。表A-17に示されるようにワークブックのアクションClearAllDataまたはEditOptionsを起動する場合、Labelプロパティの取得された値を間接的にリフレッシュします。

9.5 操作性を向上するスタイルの使用

統合Excelワークブックのエンド・ユーザーに、Fusion Webアプリケーションに統合する目的で提供するADFコンポーネントの使用方法に関するわかりやすい情報を提供することはよい習慣です。これには次のようにします。

- ADFボタン・コンポーネントやADF入力テキスト・コンポーネントなど、Oracle ADFコンポーネントの使用方法に関する説明をエンド・ユーザーに提供します。
ADFラベル・コンポーネントと他のADFコンポーネントのLabelプロパティは、エンド・ユーザーにコンポーネントの使用方法に関する説明を提供するラベルを記述できるため、この作業で役に立ちます。

- ADFコンポーネントが読取り専用か読取り/書込みなのかを示すスタイルを適用します。

9.5.1 使い勝手を向上するADFラベル・コンポーネントの使用

ADFラベル・コンポーネントを使用して、統合Excelワークブックのエンド・ユーザーに、ワークブックで他のADFコンポーネントを使用する方法に関する情報を提供できます。たとえば、便宜上は多くのフォームで*を使用して、入力フィールドへの値の入力が必須であることをエンド・ユーザーに示します。図9-10は、3つのADF入力テキスト・コンポーネントと隣接するセルのADFラベル・コンポーネントを示しています。それぞれのADFラベル・コンポーネントは、実行時にリソース・バンドルから文字列キーの値を取得するEL式を参照します。各文字列キーは、値の入力が必須であることをエンド・ユーザーに示すために、*文字を含めます。

図9-10 エンド・ユーザーに説明を提供するADFラベル・コンポーネント

リソース・バンドルの使用の詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

9.5.2 統合Excelワークブック内の読取り専用プロパティに関する留意事項

統合Excelワークブックの読取り専用プロパティに関して、次の点に注意してください。

- ADF出力テキスト、ADFラベルおよびADF表ヘッダー行には、読取り専用のプロパティはありません。ただし、これらのコンポーネントは読取り専用の動作を意味してきました。また、エンド・ユーザーはこれらのコンポーネントをホストするセルに値を入力でき、これらのセルに表示される値を一時的に変更できます。ADFデスクトップ統合は、ワークシートからアップロードする際はこれらの変更を無視し、Fusion Webアプリケーションからデータをダウンロードする際にこれらを上書きします。

- ADF入力テキスト・コンポーネント、ADF値リスト・コンポーネント、TreeNodeListサブコンポーネントには、それぞれに読取り専用のプロパティ(ReadOnly)があります。

注意:

ADF入力テキスト・コンポーネントのValueプロパティにExcel式を指定する場合、コンポーネントはReadOnlyプロパティがTrueに設定されているかのように動作します。コンポーネントは、ReadOnlyプロパティの実際の値を無視します。

- 実行時に読取り専用セルの値を保護するには、ワークシート保護を自動に設定します。ワークシート保護を有効にした後で読取り専用セルの編集を試みた場合、Excelで警告メッセージが表示され、編集はブロックされます。ワークシート保護の詳細は、9.7項「ワークシート保護の使用」を参照してください。

- Excelのシートの保護機能やブックの保護機能は、統合Excelワークブックで直接使用しないでください。また、エンド・ユーザーがこれらの機能を使用しないようにしてください。

エンド・ユーザーの混乱を避けるため、ADF出力テキスト・コンポーネントなどのコンポーネントに対して、コンポーネントが読取り専用か編集可能かをエンド・ユーザーに示すスタイルを適用してください。デフォルトでは、ADF出力テキスト・コンポーネントは事前定義済のスタイル、_ADFDI_OutputTextStyleを使用します。この章の説明にあるように、独自のスタイルを定義してそれをコンポーネントに適用できます。

ADFデスクトップ統合のコンポーネントがサポートするプロパティの詳細は、付録A「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。

9.6 統合Excelワークブックのブランディング

ADFデスクトップ統合には、アプリケーション名やバージョン情報、著作権情報などの情報によって構成して統合Excelワークブックのブランディングに使用できるいくつかの機能があります。この情報を統合Excelワークブックに関連付けるために、ワークブックのBrandingItemsプロパティ・グループを使用できます。エンド・ユーザーがViewAboutDialogワークブック・アクションを実行時に起動するリボン・ボタンをクリックすればこのブランディング情報を閲覧できるように、8.3項「実行時リボン・タブの構成」の説明に従って、リボン・タブを構成する必要があります。ワークブック・アクションの詳細は、表A-17を参照してください。

また、リソース・バンドルに文字列キーを定義して、タイトルなどの情報を1つの場所に定義しておくと、実行時、EL式がこれらの文字列キーの値を取得する際に、統合Excelワークブック内の複数の場所でこの情報を使用できます。文字列キーの定義の詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

9.6.1 統合Excelワークブックのブランディング方法

ワークブックBrandingItemsプロパティ・グループの値を定義します。

始める前に:

統合Excelワークブックのブランドのカスタマイズ方法を理解しておくと役立ちます。詳細は、9.6項「統合Excelワークブックのブランディング」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、9.1.2項「統合Excelワークブックの外観を構成するための追加の機能」を参照してください。

統合Excelワークブックをブランディングするには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークブック・プロパティの編集」ダイアログで、BrandingItemsの入力フィールドの横にある省略記号ボタン(...)をクリックします。

4. 「BrandingItemsの編集」ダイアログで、「追加」をクリックして、新しい要素に次のように値を指定します。

- Name
定義するブランディング項目の名前、またはEL式を指定します。

- Value
リテラル文字列を指定するか、または省略記号ボタン(...)をクリックして、式ビルダーを起動し、実行時に値を取得するEL式を記述します。BrandingItemsは、リテラル文字列またはリソース式を使用しなければならず、バインディング式を一切含むことはできません。

図9-11に、Master Price Listモジュールのブランディング項目の設計時の表示を示します。

図9-11 Master Price Listモジュールのブランディング項目の設計時の表示

5. 「OK」をクリックします。

9.6.2 実行時の処理: BrandingItemsプロパティ・グループ

実行時には、BrandingItemsプロパティ・グループに定義する名前の値の組合せが、「Oracle ADF」タブの「情報」ボタンからエンド・ユーザーが起動するダイアログに表示されます。これは、8.3項「実行時リボン・タブの構成」の説明に従って、表示するように構成済です。 図9-12に、Master Price ListモジュールのEditPriceList.xlsxワークブックにおけるブランディング項目の実行時の表示を示します。

図9-12 Master Price Listモジュールのブランディング項目の実行時の表示

9.7 ワークシート保護の使用

デフォルトでは、ロックされたセルおよびADFデスクトップ統合の読取り専用コンポーネント(ADFラベルおよびADF出力テキストなど)の値をエンド・ユーザーが実行時に編集できます。データをアップロードする際、Fusion Webアプリケーションからデータをダウンロードするときに、ADFデスクトップ統合はこれらの変更を無視して上書きします。

ロックされたセルが実行時に編集されるのを防ぐため、ワークシート保護を有効にする必要があります。オプションで、エンド・ユーザーがワークシート保護をオフにしないように、パスワードを提供できます。

9.7.1 ワークシート保護を有効化する方法

ワークシート保護を使用すると、ロックされたセルおよび読取り専用セルについて正真正銘の読取り専用モードを有効化し、実行時に編集されないようにします。

始める前に:

ワークシート保護について理解しておくと役立ちます。詳細は、9.7項「ワークシート保護の使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、9.1.2項「統合Excelワークブックの外観を構成するための追加の機能」を参照してください。

ワークシート保護を有効化するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークシート・プロパティの編集」ダイアログで、Protectionプロパティを展開して次のように値を構成します。

- 実行時にワークシートの保護を有効化するには、「モード」を「自動」に設定します。

- 必要があれば、「パスワード」・フィールドに値を入力します。エンド・ユーザーは、この値を知らなければ実行時にシートの保護をオフにできません。
パスワードは暗号化されず、Excelで有効なパスワードの長さは最大255文字です。これより長いパスワードを指定すると、シート保護を切り替える際に実行時に警告なしで切り捨てられます。

図9-13に、Master Price Listモジュールのワークシート保護の設計時の表示を示します。

図9-13 Master Price Listモジュールのワークシート保護の設計時の表示

4. 「OK」をクリックします。

9.7.2 実行時の処理: ロックされたプロパティの動作方法

実行時にエンド・ユーザーが読取り専用のセルやADFデスクトップ統合の読取り専用コンポーネントを編集しようとすると、Excelに図9-14に示すような警告メッセージが表示されます。

図9-14 実行時のワークシート保護の警告

ワークシート保護が有効化されている場合、ADFデスクトップ統合はADFデスクトップ統合コンポーネントの範囲にあるセルのLockedプロパティを制御します。ADFデスクトップ統合コンポーネントの範囲外にあるLockedプロパティは、影響を受けません。ADFデスクトップ統合コンポーネントの範囲外にあるLockedプロパティは、影響を受けません。

実行時には、ADFデスクトップ統合はコンポーネントの読取り専用動作を評価します。ADFラベルやADF出力テキストなど一部のコンポーネントは常に読取り専用で、ADF入力テキストのような他のコンポーネントは読取り専用のプロパティを持っています。実行時には、読取り専用コンポーネントがtrueに評価されると、Lockedプロパティはtrueに設定されます。ADF表コンポーネントのヘッダー・ラベルは常に読取り専用ですが、列のサブコンポーネントはADF出力テキストやADF入力テキストである場合があります。実行時には、各コンポーネントの読取り専用の動作が評価され、対応するセルのLockedプロパティは適切な値に設定されます。

9.7.3 ワークシートの保護に関する留意事項

ワークシートの保護はデフォルトでは有効化されておらず、特定のワークシートに使用する場合は設計時に有効化する必要があります。また、ワークシートの保護が有効化された後は、セルのLockedプロパティは設計時ではなく、実行時に設定されます。

ワークシート保護に使用するパスワードは暗号化されず、安全な場所に保存されない点にも注意してください。ワークシートの保護は、ワークシートの操作性を向上するためのものであり、重要なデータを保護するものではありません。

ワークシート保護を有効化した後は、Excelの動作が異なります。主な動作の違いは次のとおりです。

- ADF表コンポーネントはKey列に読取り専用セルを含むため、ソートできません。

- エンド・ユーザーは行全体または列全体を挿入できます。ただし、一度挿入すると削除はできません。

- エンド・ユーザーは行や列を部分的には挿入できません。

10 統合Excelワークブックの国際化

この章では、統合Excelワークブックの開発時に考慮する国際化の問題、リソース・バンドルの使用方法、および統合Excelワークブックのローカライズ方法について説明します。

この章の内容は次のとおりです。

- 10.1項「統合Excelワークブックの国際化の概要」

- 10.2項「統合Excelワークブックでのリソース・バンドルの使用」

- 10.3項「ADFデスクトップ統合でのローカライズ」

10.1 統合Excelワークブックの国際化の概要

ADFデスクトップ統合には、統合Excelワークブックを国際化されたFusion Webアプリケーションの一部として提供できるようにするいくつかの特徴があります。主な特徴の1つとして、リソース・バンドルを使用して、設計時にOracle ADFコンポーネントに表示されるユーザーが参照可能な文字列のローカライズを管理します。また、リソース・バンドルを使用して、実行時にこれらのコンポーネントに表示されるユーザーが参照可能な文字列も管理します。この章では、リソース・バンドルの使用についても説明します。

統合Excelワークブックでの国際化とローカライズに関して、次の点に注意してください。

- 国際化されたデータ
ADFデスクトップ統合では、シングルバイトとダブルバイトの両方のキャラクタ・セットがサポートされています。ExcelワークシートとFusion Webアプリケーションとの間で送信されるデータを、XMLペイロードにマーシャリングします。これらのXMLペイロードでは、正規化されたフォーマットの日付、時間および数字でUTF-8エンコーディングが使用されます。

- ロケール
Excelワークブックを使用するシステムのロケールにより、日付、時間および数字のフォーマットが決まります。これらの設定(システムのフォーマットとロケール)は、Fusion Webアプリケーションで使用される設定と異なる場合があります。ADFデスクトップ統合はこれらの設定を同期しませんが、データの整合性が保持されるように徹底します。ADFデスクトップ統合には、実行時に統合ExcelワークブックのOracle ADFコンポーネントの言語や表示設定をエンド・ユーザーが変更するためのメカニズムがありません。

スタイルを構成したり、統合ExcelワークブックのADFコンポーネントに適用する場合、ロケールに依存するスタイルを構成または選択してください。詳細は、9.2項「スタイルの使用」を参照してください。

Fusion Webアプリケーションの国際化の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』の「ページの国際化とローカライズ」を参照してください。

10.1.1 統合Excelワークブックの国際化のユースケースおよび例

国際化されたFusion Webアプリケーションの統合Excelワークブックを作成できます。国際化されたFusion Webアプリケーションの一部として統合Excelワークブックを設計すると、特定のローカル言語および文化に簡単に適応できるようになります。リソース・バンドルおよび他のコンポーネントを使用し、設計時および実行時にテキストを翻訳してロケール固有のコンポーネントを追加することで、特定のローカル言語および文化に対応する統合Excelワークブックを構成できます。詳細は10.3項「ADFデスクトップ統合でのローカライズ」を参照してください。

図10-1に、日本語用に構成された統合Excelワークブックの例を示します。

図10-1 日本語の統合Excelワークブック

10.1.2 統合Excelワークブックを国際化するための追加の機能

統合Excelワークブックを国際化した後、必要に応じてワークブックを構成するための機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。

- セキュリティ: セキュアなFusion Webアプリケーションを使用する場合もそうでない場合も、統合Excelワークブックのセキュリティ実装について認識しておく必要があります。詳細は、第11章「統合Excelワークブックの保護」を参照してください。

- 統合Excelワークブックの検証: Fusion Webアプリケーションおよび統合Excelワークブックに対して、サーバー・サイドおよびクライアント・サイドの検証を構成できます。詳細は、第12章「統合Excelワークブックへの検証の追加」を参照してください。

- 統合Excelワークブックの公開およびデプロイ: 統合Excelワークブックの設計と検証に続く最終ステップは、公開およびデプロイです。詳細は、第14章「統合Excelワークブックのデプロイ」を参照してください。

10.2 統合Excelワークブックでのリソース・バンドルの使用

ADFデスクトップ統合はリソース・バンドルを使用して、設計時と実行時にExcelワークブックのADFコンポーネントに表示される、ユーザーが参照可能な文字列を管理します。JDeveloperは、リソース・バンドルをADFデスクトップ統合プロジェクトに格納します。

統合Excelワークブックで定義する文字列を含むリソース・バンドルを最高20まで登録できます。リソース・バンドルは、1MBを超えることはできません。20を上回るリソース・バンドル、または1MBを超えるリソース・バンドルを登録しようとすると、ADFデスクトップ統合はクライアント・サイド・ログ・ファイルに警告を書き込み、追加のリソース・バンドルあるいは1MBの上限に達した後のリソース・バンドルの登録を停止します。

たとえば、リソース・バンドルAが2MBで、リソース・バンドルBが1MBの場合、ADFデスクトップ統合はリソース・バンドルAの最初の1MB分のデータと、リソース・バンドルBのすべてのデータを登録します。クライアント・サイド・ロギングの詳細は、C.3.2項「クライアント・サイド・ロギングの概要」を参照してください。

Resourcesワークブック・プロパティは、統合Excelワークブックが使用できるリソース・バンドルを指定します。このプロパティでは、統合Excelワークブックでのリソース・バンドル(ResourceBundle[] Array)の配列を指定します。配列の各要素には、リソース・バンドルを一意に識別するプロパティ(Alias)と、JDeveloperデスクトップ統合プロジェクトのリソース・バンドルへのパスを識別するプロパティ(Class)があります。たとえば、Master Price ListモジュールのEditPriceList-DT.xlsxは、次のClassプロパティの値を持つresリソース・バンドルを参照します。

oracle.fodemo.masterpricelist.resources.UIStrings

Resourcesワークブック・プロパティの詳細は、A.12項「ワークブックのアクションとプロパティ」を参照してください。

デフォルトでは、ADFデスクトップ統合に予約済のリソース・バンドルがあり、これが多くのコンポーネント・プロパティによって実行時に使用される文字列のキー値を提供します。Fusion Webアプリケーションと統合するようにExcelワークブックを有効化すると、デフォルトで予約済リソース・バンドルがそのワークブックに登録されます。ADFデスクトップ統合は、_ADFDIresの値を使用して、このリソース・バンドルを一意に識別します。多くのEL式が、このリソース・バンドルの文字列の値を参照します。たとえば、次のEL式はWorkbookMenuItemsのLoginボタンのLabelプロパティのデフォルト値です。

#{_ADFDIres['TOOLBAR_MENU_CMD_LOGIN']}

上の例では、_ADFDIresは予約済のリソース・バンドルを識別し、TOOLBAR_MENU_CMD_LOGINがリソース・バンドルの文字列(Login...)を識別して実行時にLoginボタンに使用するためのキーです。

別のリソース・バンドルを登録する場合、_ADFDIresリソース・バンドルから割り当てられたデフォルトの文字列のキー値を、ADFコンポーネント・プロパティの多くに置換できます。

10.2.1 統合Excelワークブックでのリソース・バンドルの登録方法

リソースの編集ダイアログを使用して要素をResourceBundle[] Arrayに追加することにより、リソース・バンドルを登録します。

始める前に:

リソース・バンドルの使用方法を理解しておくと役立ちます。詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、10.1.2項「統合Excelワークブックを国際化するための追加の機能」を参照してください。

リソース・バンドルを登録するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークブック・プロパティの編集」ダイアログでResourcesの入力フィールドの横にある省略記号ボタン(...)をクリックして、図10-2に示すリソースの編集ダイアログを表示します。

図10-2 リソースの編集ダイアログ

4. リソース・バンドルの値を指定して、「OK」をクリックします。
リソース・バンドルに指定する値の詳細は、表A-18のリソースのエントリを参照してください。

10.2.2 予約済リソース・バンドルからの文字列キー値の置換方法

予約済のリソース・バンドルからの文字列キーは、統合Excelワークブックに登録したリソース・バンドルから文字列キーを指定することで置換できます。

始める前に:

リソース・バンドルの使用方法を理解しておくと役立ちます。詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、10.1.2項「統合Excelワークブックを国際化するための追加の機能」を参照してください。

予約済のリソース・バンドルからの文字列のキー値を置換するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 実行時リボン・タブをクリックして、WorkbookMenuItem[] Arrayの入力フィールドの横にある省略記号ボタン(...)をクリックします。

4. Labelプロパティの入力フィールドの横にある省略記号ボタン(...)をクリックして、式ビルダーを起動します。

5. 実行時に表示する文字列のキー値を取得するEL式を記述します。
図10-3は、EL式がリソース・バンドル(res)で定義された文字列キー(key_Login)を参照する例を示しています。このEL式は、_ADFDIresリソース・バンドルの文字列キーを参照するデフォルトのEL式を置換します。

図10-3 キー文字列値を置換する式ビルダー

6. 「OK」をクリックします。

10.2.3 構成不可能なリソースの上書き方法

この上書き可能なリソースには、ユーザーが参照可能な実行時の文字列がいくつか含まれます。これらは、ADFデスクトップ統合コンポーネントのプロパティを構成しても、置換できません。例として、図7-13に示すようなデフォルトのアップロード・ダイアログに表示される文字列があげられます。

これらのユーザーが参照可能な実行時の文字列を置換するには、ADFデスクトップ統合がサポートしている上書き可能なリソースからの文字列キーを含むFusion Webアプリケーションにリソース・バンドルを作成します。付録F「上書き可能なリソースの文字列キー」に、これらの文字列キーの一覧があります。作成したリソース・バンドルで上書きする、付録Fに記載されている文字列キーの値を定義します。

始める前に:

リソース・バンドルの使用方法を理解しておくと役立ちます。詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、10.1.2項「統合Excelワークブックを国際化するための追加の機能」を参照してください。

構成不可能なリソースを上書きするには:

1. Fusion Webアプリケーションにリソース・バンドルを作成します。

リソース・バンドルの作成の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』のロケールとリソース・バンドルの定義に関する項を参照してください。

2. 付録F「上書き可能なリソースの文字列キー」に記載された文字列キーのリソース・バンドルに、実行時に表示する文字列のキー値を定義します。

3. 手順1で作成したリソース・バンドルを登録する際に、_ADFDIresをAliasプロパティの値に設定します。
リソース・バンドルの登録方法の詳細は、10.2.1項「統合Excelワークブックでのリソース・バンドルの登録方法」を参照してください。

表F-1に、ADFデスクトップ統合でサポートされる上書き可能なリソースの文字列キーを示します。上書き可能なリソースの文字列キーごとに、英語の値列に記載された値に代わる値を指定します。

10.2.4 実行時の処理: 構成不可能なリソースの上書き

ADFデスクトップ統合により、作成したリソース・バンドルで定義した表F-1に記載されている文字列キーの値が取得されます。予約済のリソース・バンドルから作成したリソース・バンドルで定義していない他の文字列キーの値が取得されます。

注意:

LOGIN_WINDOW_TITLEまたはLOGIN_CONFIRM_CONNECT_2を上書きする値を指定すると、上書きの値はWebアプリケーションへの初回の接続では表示されません。初回の接続ではデフォルト値が使用されます。詳細は、10.2.2項「予約済リソース・バンドルからの文字列キー値の置換方法」を参照してください。

10.2.5 リソース・バンドルに関する留意事項

統合Excelワークブックのリソース・バンドルに関する追加情報は、次の項を参照してください。

10.2.5.1 リソース・バンドルのタイプ

ADFデスクトップ統合は、次のタイプのリソース・バンドルの使用をサポートしています。

- プロパティ・バンドル(.properties)

- リスト・リソース・バンドル(.rts)

- Xliffリソース・バンドル(.xlf)

リソース・バンドルの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』の手動によるロケールとリソース・バンドルの定義に関する項を参照してください。

10.2.5.2 統合Excelワークブックのリソース・バンドルのキャッシング

ADFデスクトップ統合は、最初にFusion Webアプリケーションに接続するときに統合Excelワークブックが取得するリソース・バンドルからの文字列キーの値をキャッシュします。統合Excelワークブックによって以前の値がキャッシュされた後にリソース・バンドルの文字列キーの値を変更した場合、ClearAllDataワークブック・アクションが起動され、エンド・ユーザーがワークブックをいったん閉じてから再び開くことによりFusion Webアプリケーションから変更済の値が取得されないかぎり、変更した値はワークブックに表示されません。ClearAllDataワークブック・アクションの詳細は、表A-17を参照してください。

10.2.5.3 リソース・バンドルのEL式の構文

ADFデスクトップ統合では、次の例に示すように[]文字を使用して、文字列のキー名をEL式で囲む必要があります。

#{res['StringKey']}

ADFデスクトップ統合は、次の構文をサポートしていません。

#{res.StringKey}

10.3 ADFデスクトップ統合でのローカライズ

ADFデスクトップ統合は、多様なテクノロジのセットを統合しています。これらのテクノロジのそれぞれが、Fusion Webアプリケーションをローカライズするときに、自然な人間の言語の選択をコントロールする様々なオプションを提供します。

エンド・ユーザーが統合Excelワークブックと対話するときには、様々な要素が関係しています。これらの要素のひとつひとつに、サポートされる言語とリソース翻訳の独自のセットがあります。こうしたシナリオでは、言語の翻訳はそれぞれのパブリッシャの役割です。

表10-1は、関係する要素および翻訳におけるそれらの役割の概要を示します。

表10-1 ローカライズの概要

ローカライズの対象

使用する言語の決定

Microsoftオペレーティング・システム

オペレーティング・システムの言語設定。「コントロール パネル」の「地域の設定」から言語を選択できます。

Microsoft Office

Microsoft Officeの言語の設定

ADFデスクトップ統合のダイアログ・アクションで表示されるWebページ

通常はMicrosoft Internet Explorerの言語設定により制御されます。

ADFデスクトップ統合のクライアント・リソース

Microsoft Officeの言語の設定

ADFデスクトップ統合のサーバー・リソース

Microsoft Internet Explorerの言語設定

ADFデスクトップ統合のカスタム・リソース・バンドル

Microsoft Internet Explorerの言語設定

図10-4は、Fusion Webアプリケーションに関わる様々な要素が翻訳でどのような役割を果すかを示します。

図10-4 ADFデスクトップ統合でのローカライズ

ADFデスクトップ統合でのローカライズの詳細は、OTNの『Oracle ADF 11g Desktop Integration Localization whitepaper』を参照してください。

http://www.oracle.com/technetwork/developer-tools/jdev/adfdi-localization-129807.pdf

11 統合Excelワークブックの保護

この章では、認証済セッションで認証と認可の機能を提供することにより、統合ExcelワークブックをFusion Webアプリケーションとともに保護する方法について説明します。この章では、認証済および非認証のセッションでの統合Excelワークブックへのアクセス方法と、統合Excelワークブックの保護に関連するキャンバスの問題について説明します。

この章の内容は次のとおりです。

- 11.1項「統合Excelワークブックのセキュリティの概要」

- 11.2項「Excelワークブック・ユーザーの認証」

- 11.3項「統合Excelワークブックのメタデータの整合性チェック」

- 11.4項「統合Excelワークブックの保護に関する留意事項」

11.1 統合Excelワークブックの保護の概要

認証が必須のFusion Webアプリケーションを使用している場合、統合Excelワークブックは、Fusion Webアプリケーションに接続してデータをダウンロードする前に、有効なユーザー・セッションを確認および作成します。確立されたセッションは、統合ExcelワークブックとFusion Webアプリケーションの間でデータが転送されるたびに使用されます。また、このセッションは、統合Excelワークブックから参照されるWebページに対しても使用されます。

認証が必須のFusion Webアプリケーションでは、統合ExcelワークブックはWebアプリケーションとの間でデータを転送する前に有効で認証済のユーザー・セッションが確立されているかどうかを確認します。

必須ではありませんが、統合Excelワークブックをデプロイする前に、Fusion WebアプリケーションにADFセキュリティを構成しておくことをお薦めします。ADFセキュリティの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「Fusion WebアプリケーションでのADFセキュリティの有効化」を参照してください。

認証済および認証されていないFusion Webアプリケーションの両方について、ADFデスクトップ統合はCookieベースのセッションの確立に依存します。認証のメカニズムを持たないため、 Fusion Webアプリケーションは完全に安全というわけではありません。したがって、統合ExcelワークブックとともにWebアプリケーションをデプロイする前に、Fusion WebアプリケーションでADFセキュリティを有効化することをお薦めします。

ADFセキュリティを使用して構成されたセキュアなFusion Webアプリケーションを使用する場合は、認証に関して統合Excelワークブックを構成する必要はありません。統合Excelワークブックを開いたときに、ワークブックの実行対象であるFusion WebアプリケーションがセキュアなアプリケーションかどうかがADFデスクトップ統合で検出され、自動的に認証が施行されます。

11.1.1 統合Excelワークブックのセキュリティのユースケースおよび例

セキュアなFusion Webアプリケーションの統合Excelワークブックを開くと、図11-1のように「ログイン」ダイアログが開き、Fusion Webアプリケーションへの接続を求めるプロンプトが表示されます。この「ログイン」ダイアログは、Fusion Webアプリケーションがセキュアでない場合も表示されます。

図11-1 接続を確認するダイアログ

「はい」をクリックすると、図11-2の例ように、資格証明の入力を求める別のダイアログが表示されます。

図11-2 エンド・ユーザーの資格証明を確認するダイアログ

図11-2に示したダイアログは、認証の施行に関するFusion Webアプリケーションの構成方法によって異なります。たとえば、Webアプリケーションでフォームベース認証が使用されている場合は、エンド・ユーザーに対して、ブラウザ・ダイアログ、およびユーザー名とパスワードのフィールドを含むWebページが表示されます。

11.1.2 セキュアなFusion Webアプリケーションの統合Excelワークブックの追加の機能

統合Excelワークブックを保護した後、必要に応じてワークブックの機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。

- 統合Excelワークブックの検証: Fusion Webアプリケーションおよび統合Excelワークブックに対して、サーバー・サイドおよびクライアント・サイドの検証を構成できます。詳細は、第12章「統合Excelワークブックへの検証の追加」を参照してください。

- 統合Excelワークブックのテスト: 統合Excelワークブックを公開してデプロイする前に、テストする必要があります。詳細は、第13章「統合Excelワークブックのテスト」を参照してください。

- 統合Excelワークブックの公開およびデプロイ: 統合Excelワークブックの設計と検証に続く最終ステップは、公開およびデプロイです。詳細は、第14章「統合Excelワークブックのデプロイ」を参照してください。

11.2 Excelワークブック・ユーザーの認証

Excelワークブックと安全なFusion Webアプリケーションの統合には、統合ExcelワークブックとFusion Webアプリケーションをホストするサーバー間で確立された認証済のWebセッションが必要です。ADFセキュリティは、ユーザーの認証に使用するメカニズムを決定します。

エンド・ユーザーが有効な認証済セッションなしにExcelワークブックを開く場合、エンド・ユーザーを認証するためにログインのメカニズムが起動されます。

11.2.1 実行時の処理: Loginメソッドの起動方法

loginメソッドが起動された後、統合ExcelワークブックとFusion Webアプリケーションの間に新しいセッションが確立され、Webブラウザのコントロールを含むモーダルのダイアログが表示されます。このWebブラウザ・コントロールには、Fusion Webアプリケーションが使用するログイン・メカニズムが表示されます。たとえば、Fusion WebアプリケーションがHTTP Basic認証を使用する場合、Webブラウザ・コントロールには、図11-3に示すような単純なダイアログが表示されます。

図11-3 Fusion WebアプリケーションがBasic認証を使用する際に表示されるダイアログ

エンド・ユーザーがユーザー資格証明を入力し、これらが有効である場合、認証済セッションが作成され、クライアント(ExcelワークブックがホストするWebブラウザ・コントロール)に割り当てられます。

注意:

セッションがすでに確立されているときにLoginメソッドが起動されると、そのセッションを解放するためにまず内部でLogoutアクションが起動されます。

11.2.2 実行時の処理: Logoutメソッドの起動方法

logoutメソッドが起動された後、ダイアログが表示されて、現在のセッションからログアウトしたことがユーザーに通知されます。ワークブックを閉じたり、Excelリボンの実行時カスタム・タブから「全データのクリア」オプションを選択すると、ユーザーは自動的にログアウトします。

図11-4 ユーザーがログアウトすると表示されるダイアログ

ログアウトした後、データをアップロードまたはダウンロードするにはユーザーはもう一度ログインする必要があります。

(テスト・モードまたは実行時モードで)同じ資格証明を持つ2つ以上のワークブックが開いている場合、1つのワークブックを閉じてもログアウトのメカニズムは起動しません。ユーザーはログインしたままになり、残りの開いたワークブックで引き続き作業できます。閉じているワークブックは、資格証明をもう一度求められずに開くことができます。同じ資格証明を必要とするすべてのワークブックが閉じられると、ユーザーはログアウトします。

11.3 統合Excelワークブックのメタデータの整合性チェック

ADFデスクトップ統合には、ExcelワークブックとFusion Webアプリケーションの統合に使用するメタデータが、エンド・ユーザー用にExcelワークブックを公開した後に不正に変更されていないか検証するメカニズムがあります。これは、ハッシュ・コードの値を生成して、値をADFデスクトップ統合のクライアント・レジストリ・ファイル(adfdi-client-registry.xml)に挿入します。このファイルは14.3項「統合Excelワークブックの公開」にあるように、統合Excelワークブックを公開するときに作成されます。ADFデスクトップ統合は、adfdi-client-registry.xmlファイルをFusion WebアプリケーションのWEB-INFディレクトリに格納します。

統合Excelワークブックを再度公開する場合、ADFデスクトップ統合は新しいハッシュ・コードの値を生成して、adfdi-client-registry.xmlファイルの値を置換します。存在しない場合、ADFデスクトップ統合はadfdi-client-registry.xmlファイルを作成します。

ApplicationHomeFolderおよびWebPagesFolderワークブック・プロパティを使用すると、統合ExcelワークブックはFusion WebアプリケーションのWEB-INFディレクトリの場所を識別できます。統合Excelワークブックを公開してADFデスクトップ統合によりハッシュ・コード値が生成されるようにするには、これらのプロパティに有効な値を設定しておく必要があります。

ADFデスクトップ統合は、ワークブックのメタデータにあるほとんどの要素とWorkbookIDワークブック・プロパティの値を使用して、ハッシュ・コードの値を生成します。WorkbookIDワークブック・プロパティは読取り専用であり、統合Excelワークブックを一意に識別します。既存の統合Excelワークブックをコピーして新規の統合Excelワークブックを作成する場合、WorkbookIDワークブック・プロパティをリセットする必要があります。WebAppRootプロパティの値は実行時に変わることが予測されるため、ADFデスクトップ統合はハッシュ・コードの計算からこれを除外します。

この項のワークブック・プロパティの詳細は、表A-18を参照してください。

11.3.1 ワークブックIDのリセット方法

WorkbookIDワークブック・プロパティの値は、それぞれのワークブックに固有であり、開発者による変更はできません。ただし、WorkbookIDワークブック・プロパティをリセットすることはできます。既存の統合Excelワークブックをコピーして新しい統合Excelワークブックを作成する場合、これを行う必要があります。

始める前に:

統合Excelワークブックのメタデータの整合性を検証する方法を理解しておくと役立ちます。詳細は、11.3項「統合Excelワークブックのメタデータの整合性チェック」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、11.1.2項「セキュアなFusion Webアプリケーションの統合Excelワークブックの追加の機能」を参照してください。

ワークブックIDをリセットするには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. 「ワークブック・プロパティの編集」ダイアログで、ワークブックIDのリセットリンクをクリックします。

4. 表示される確認用ダイアログ(図11-5を参照)で「はい」をクリックし、WorkbookIDワークブック・プロパティをリセットします。

図11-5 ワークブックIDのリセット・ダイアログ

5. 「OK」をクリックします。

11.3.2 Fusion Webアプリケーションでのメタデータ改ざんチェックを無効にする方法

デフォルトではADFデスクトップ統合は、ExcelワークブックとFusion Webアプリケーションの統合に使用するメタデータが、エンド・ユーザー用にExcelワークブックを公開した後に不正に変更されていないか検証します。Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)のパラメータを構成すれば、メタデータの改ざんチェックを無効化できますが、これはお薦めしません。

始める前に:

統合Excelワークブックのメタデータの整合性を検証する方法を理解しておくと役立ちます。詳細は、11.3項「統合Excelワークブックのメタデータの整合性チェック」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、11.1.2項「セキュアなFusion Webアプリケーションの統合Excelワークブックの追加の機能」を参照してください。

Fusion Webアプリケーションでメタデータの改ざんチェックを無効化するには:

1. Fusion Webアプリケーションを停止します。

2. Fusion Webアプリケーションのweb.xmlファイルを開きます。

3. 表11-1に示すように、adfdiRemoteサーブレットに初期化パラメータを追加して、メタデータの改ざんチェックを無効化します。

表11-1 メタデータ改ざんチェックの無効化

プロパティ

値

Name

次の初期化パラメータ名を入力します。

TamperingCheck.Enabled

Value

TamperingCheck.Enabledの値をFalseに設定します。

図11-6にJDeveloperのweb.xmlエディタを示します。

図11-6 JDeveloperでのメタデータ改ざんチェックの無効化

4. web.xmlファイルを保存します。
Fusion Webアプリケーションのweb.xmlファイルには次のエントリがあります。

<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>

5. Fusion Webアプリケーションをリビルドして再起動します。

web.xmlファイルの詳細は、付録E「Webアプリケーション・デプロイメント・ディスクリプタのADFデスクトップ統合設定」を参照してください。

11.3.3 ADFデスクトップ統合クライアント・レジストリで不足したエントリを許可する方法

adfdi-client-registry.xmlファイル内でWorkbookIDワークブック・プロパティのエントリの欠落が許可されるように、メタデータ改ざんチェックを構成できます。これを行うには、Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)のパラメータを構成します。ただし、これはお薦めしません。

始める前に:

統合Excelワークブックのメタデータの整合性を検証する方法を理解しておくと役立ちます。詳細は、11.3項「統合Excelワークブックのメタデータの整合性チェック」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、11.1.2項「セキュアなFusion Webアプリケーションの統合Excelワークブックの追加の機能」を参照してください。

エントリが不足しているFusion Webアプリケーションのメタデータを許可するには:

1. Fusion Webアプリケーションを停止します。

2. Fusion Webアプリケーションのweb.xmlファイルを開きます。

3. 表11-2に示すように、adfdiRemoteサーブレットに初期化パラメータを追加して、エントリが不足しているメタデータを許可します。

表11-2 エントリが不足するメタデータの許可

プロパティ

値

Name

次の初期化パラメータ名を入力します。

TamperingCheck.AllowMissingEntries

Value

TamperingCheck.AllowMissingEntriesの値をTrueに設定します。

図11-7にJDeveloperのweb.xmlエディタを示します。

図11-7 JDeveloperにおけるエントリが不足しているメタデータの許可

4. web.xmlファイルを保存します。
Fusion Webアプリケーションのweb.xmlファイルには次のエントリがあります。

<servlet>
<servlet-name>adfdiRemote</servlet-name>
<servlet-class>...</servlet-class>
<init-param>
<param-name>TamperingCheck.AllowMissingEntries</param-name>
<param-value>True</param-value>
</init-param>
</servlet>

5. Fusion Webアプリケーションをリビルドして再起動します。

web.xmlファイルの詳細は、付録E「Webアプリケーション・デプロイメント・ディスクリプタのADFデスクトップ統合設定」を参照してください。

11.3.4 メタデータ改ざんチェックを実行する際の実行時の処理

実行時に、統合Excelワークブックはメタデータのハッシュ・コードを再生成し、最初サーバー・リクエストによってそれをFusion Webアプリケーションに提供します。Fusion Webアプリケーションがこのハッシュ・コードに一致するものを取得できない場合、統合Excelワークブックにエラーが返されます。改ざんチェック・プロセスからエラーを受信すると、ただちに統合Excelワークブックはこの失敗をエンド・ユーザーに報告して、統合フレームワークを閉じます。

11.4 統合Excelワークブックの保護に関する留意事項

Fusion Webアプリケーションによる統合Excelワークブックの保護について、次の点に注意してください。

- データ・セキュリティ
Fusion Webアプリケーションからダウンロードしたデータを含むExcelワークブックを、他のユーザーがそのExcelワークブックにアクセスできるネットワーク・ディレクトリなどの場所に保存する場合、他のユーザーはExcelワークブックに保存されているデータにアクセスできます。

- Microsoft Excelのセキュリティ
ワークブックにパスワードを設定するExcelの機能を使用して、統合Excelワークブックのセキュリティを強化できます。これにより、許可されていないユーザーは、ワークブックを開いたり変更することができなくなります。Excelのセキュリティ機能の詳細は、Excelのドキュメントを参照してください。

- 15.2項「セッション間のサーバー・データ・コンテキストのリストア」の説明に従って、データをキャッシュするように統合Excelワークブックを構成できます。統合Excelワークブックに機密データをキャッシュしないように注意してください。

- Fusion Webアプリケーションがhttpsプロトコル上で実行されていて、クライアントにセキュリティ証明書をインストールしていない場合、統合Excelワークブックではログイン時にエラーが発生し、接続は確立されません。接続を確立するには、セキュリティ証明書をインストールする必要があります。

- Oracle Access Managerを使用する環境でアプリケーションを実行するには、システム管理者はADFデスクトップ統合のリモート・サーブレットのURLが、Oracle Access Managerの保護済リソースとして構成されていることを確認する必要があります。詳細は、『Oracle Access Managerアクセス・システム管理ガイド』を参照してください。

- WebGate 11gを使用する環境でアプリケーションを実行するには、ユーザー定義のパラメータfilterOAMAuthnCookieをFalseに設定します。詳細は、『Oracle Access Managerアクセス・システム管理ガイド』のパートナ(エージェントおよびアプリケーション)のリモート登録に関する章を参照してください。

- システム管理者は、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>

- Microsoft Internet Explorerを使用して統合Excelワークブックをダウンロードするエンド・ユーザーは、Excelアプリケーションが参照可能になる前に、予期せず資格証明の入力を要求され、ワークブックが開いた後にもう一度入力を要求されることがあります。これは、WebアプリケーションがBasicやDigestなどの特定の認証メソッドを使用するように設定されている場合に発生する可能性があります。余分に入力を要求されるのは、Internet Explorerがワークブックを含むWebフォルダでOPTIONSリクエストを行うためです。
余分なログイン・プロンプトを回避するには、エンド・ユーザーはワークブックをブラウザから直接開くのではなく、ローカルで保存します。

12 統合Excelワークブックへの検証の追加

この章では、統合Excelワークブックにサーバー・サイド検証とクライアント・サイド検証を提供する方法、検証の失敗やデータ競合などのエラーを報告する方法、およびカスタム・エラー・ハンドラを使用してエラー・レポートを構成する方法について説明します。

この章の内容は次のとおりです。

- 12.1項「統合Excelワークブックへの検証の追加の概要」

- 12.2項「統合Excelワークブックのサーバー・サイド検証の追加」

- 12.3項「統合Excelワークブックのクライアント・サイド検証の追加」

- 12.4項「統合Excelワークブックでレポートされるエラー」

- 12.5項「ADF表コンポーネントでの行ごとのステータスの追加」

- 12.6項「統合Excelワークブックでのエラー・メッセージへの詳細の追加」

- 12.7項「ワークブックからデータをアップロードする際のデータ競合の処理」

12.1 統合Excelワークブックへの検証の追加の概要

Fusion Webアプリケーションと統合Excelワークブックにサーバー・サイドとクライアント・サイドの検証を構成して、ADFモデル・レイヤーおよびMicrosoft Excelにより提供される検証オプションを活用します。これらの検証オプションに加えて、ADFデスクトップ統合のコンポーネントを利用して、Fusion Webアプリケーションからエラー・メッセージを返したり、コンポーネント・アクションの結果のステータスを提供するほか、Fusion WebアプリケーションによりホストされるデータとのExcelワークブックの競合でデータが変更されるときに発生するエラーを管理できます。

統合Excelワークブックに検証を追加することには、いくつかの利点があります。Fusion Webアプリケーションおよび統合Excelワークブックで検証ルールを作成して、エンド・ユーザーによるデータ入力を検証できます。

12.1.1 統合Excelワークブックの検証のユースケースおよび例

検証ルールは、無効なデータのアップロードを停止することでサーバーを保護します。たとえば、ワークシートおよび表の検証ルールを使用して、図12-1に示すように、サーバーへのアップロード時に無効なデータを取得できます。

図12-1 実行時のワークブックおよび表の検証エラー

12.1.2 統合Excelワークブックに検証を追加するための追加の機能

統合Excelワークブックで検証ルールを適用した後、必要に応じてワークブックを構成するための機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。

- 統合Excelワークブックのテスト: 統合Excelワークブックを公開してデプロイする前に、テストする必要があります。詳細は、第13章「統合Excelワークブックのテスト」を参照してください。

- 統合Excelワークブックの公開およびデプロイ: 統合Excelワークブックの設計と検証に続く最終ステップは、公開およびデプロイです。詳細は、第14章「統合Excelワークブックのデプロイ」を参照してください。

12.2 統合Excelワークブックのサーバー・サイド検証の追加

ADFデスクトップ統合は、ADFモデル・レイヤーがバインディングの属性に対して設定する検証ルールを使用します。エンド・ユーザーがADFデスクトップ統合コンポーネントの1つに入力または編集したデータ(ADF表コンポーネントなど)は、Fusion Webアプリケーションの設定ルールおよび条件に対して検証できます。Oracle ADFでの検証ルールの定義に関する一般的な情報は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「検証とビジネス・ルールの宣言的な定義」を参照してください。

ADFモデル・レイヤーの検証の追加の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のADF Modelレイヤー検証の追加に関する項を参照してください。

12.3 統合Excelワークブックのクライアント・サイド検証の追加

ADFデスクトップ統合はクライアント・サイドの検証を提供しません。ただし、Excelのデータ検証機能を使用して、エンド・ユーザーがセルに入力したデータの型や値を制御することはできます。これらの機能によって、データ・エントリを一定の日付範囲に制限したり、リストを使用して選択内容を限定したり、正の整数のみをセルに入力したりすることができます。たとえば、EditPriceList-DT.xlsxワークブックのProduct Number列を構成して、ユーザーがこの列のセルに整数のみを入力できるようにすることができます。

ADF表コンポーネント内の列にカスタム検証を適用した場合、実行時にADF表コンポーネントの列に値が移入されると、検証が伝播されます。ただし、設計時にTreeNodeListサブコンポーネントを参照する列に適用されたカスタム検証は、ADFデスクトップ統合によって実行時に上書きされる点に注意してください。これは、ADFデスクトップ統合が、実行時に起動される独自のリスト制約検証を適用するためです。

注意:

- 検証が失敗するとExcelにエラー・メッセージが表示されます。これらのエラー・メッセージはローカライズできません。

- ADFデスクトップ統合は、サーバー・サイドの検証の警告をサポートしていません。Fusion Webアプリケーションで定義されるルールに設定される検証の警告は、統合Excelワークブックによって表示されません。

Excelでのデータ検証の詳細は、Excelのドキュメントを参照してください。

12.4 統合Excelワークブックでレポートされるエラー

Excelワークブックと統合されるFusion Webアプリケーションをホストするサーバーは、操作の結果をフィードバックするエラー・メッセージをエンド・ユーザーに返すことができます。返されるエラー・メッセージには、検証の失敗、競合エラー、レコードの削除などがあります。

12.4.1 EL式を使用してレポートされるエラー

エンド・ユーザーにエラー・メッセージ概要を返すには、ADF出力テキスト・コンポーネントのValueプロパティにEL式を設定する必要があります。実行時には、エラーが発生すると、ADF出力テキスト・コンポーネントによりエラー・メッセージの概要がエンド・ユーザーに表示されます。

ADF出力テキスト・コンポーネントのValueプロパティに設定するEL式のタイプは、ワークシートで起動されたアクション・セットにより生成されるエラー・メッセージ概要を返すか、あるいはADF表コンポーネントやADF読取り専用表コンポーネントなど他のコンポーネントで起動されたアクションにより生成されるエラー・メッセージ概要を返すかによって異なります。次のEL式では、ワークシートでアクション・セットを起動したときに返されるエラー・メッセージの概要が表示されます。

#{worksheet.errors}

実行時には、アクション・セットが起動を開始すると、以前のエラー・メッセージ概要があればクリアされます。起動時にエラーが発生しない場合、エラー・メッセージは空白のままです。エラーが発生した場合、ADF出力テキスト・コンポーネントによってエラー・メッセージ概要が表示されます。

ワークシートで起動されたアクション・セットにより生成されるエラー・メッセージ概要を返すには、アクション・セットのAlert.FailureMessageプロパティの値に#{worksheet.errors}を設定する方法もあります。この方法では、生成されたエラー・メッセージ概要がダイアログに表示されます。

Fusion Webアプリケーションと対話するアクションを持つADF表コンポーネントやADF読取り専用表コンポーネントなどのコンポーネントも、エラー・メッセージ概要を返すことができます。ADF出力テキスト・コンポーネントのValueプロパティ、またはアクション・セットのAlert.FailureMessageプロパティに次のEL式を設定します。

#{components.componentID.errors}

componentIDは、アクションを起動するコンポーネント(ADF表コンポーネントやADF読取り専用表コンポーネントなど)のIDを指します。

Fusion Order DemoアプリケーションのMaster Price ListモジュールのEditPriceList-DT.xlsxファイルは、ワークシートで起動するアクション・セットやADF表コンポーネントのアクションで生成されるエラー・メッセージの概要を返す方法を示します。図12-2に、設計モードのEL式を示します。

図12-2 ADF出力テキスト・コンポーネントでエラー・メッセージを返すEL式

12.4.2 コンポーネント・アクションを使用してレポートされるエラー

ADFデスクトップ統合は、ADF表コンポーネントまたは統合Excelワークシートにより生成されるエラー詳細を表示するアクションを提供します。

これらのアクションのいずれかを起動するアクション・セットは、アクションを1つのみ含む必要があります。一般的に、アクション・セットは起動時にエラー・ラベルとメッセージ・リストをクリアします。次のいずれかのアクションを起動するアクション・セットは、エラー・ラベルとメッセージ・リストをエンド・ユーザーに返します。

- ワークシートのDisplayWorksheetErrorsアクション
ワークシートのエラー・メッセージを表示するには、ワークシートのコンポーネントのアクション・セットまたはワークシートのリボン・ボタンを構成して、このアクションを起動します。たとえば、図12-3は、DisplayWorksheetErrorsアクションをワークシートのADF出力テキスト・コンポーネントのDoubleClickActionSet項目として構成する、アクションの編集ダイアログを示します。

図12-3 DisplayWorksheetErrorsアクション

実行時にADF OutputTextコンポーネントをダブルクリックすると、図12-4に示すようにDisplayWorksheetErrorsアクションが起動します。

図12-4 DisplayWorksheetErrorsアクションの実行時の表示

ワークシートのDisplayWorksheetErrorsアクションの詳細は、A.13項「ワークシートのアクションとプロパティ」を参照してください。

- ADF表コンポーネントのDisplayRowErrorsアクション
ADF表コンポーネントで発生した行レベルの失敗を表示するには、このアクションを起動します。行レベルの失敗は、エンド・ユーザーが次のアクションを起動すると発生します。

- Upload

- DeleteFlaggedRows

- ADF表コンポーネントの列から起動されたDoubleClickActionSet

このアクションの使用の詳細は、12.5項「ADF表コンポーネントでの行ごとのステータスの追加」を参照してください。

- ADF表コンポーネントのDisplayTableErrorsアクション
ADF表コンポーネントで発生した表レベルの失敗を表示するには、このアクションを起動します。ADF表コンポーネント列のDoubleClickActionSetがこのアクションを起動することは、意図されていません。かわりに、ADF表コンポーネントのBatchOptions.CommitBatchActionIDプロパティで指定されたアクション・バインディングの起動時に失敗が発生した場合にエンド・ユーザーにエラー・メッセージを返すアクション・セットにこのアクションを追加します。

実行時にADF OutputTextコンポーネントをダブルクリックすると、図12-5に示すようにDisplayTableErrorsアクションが起動します。

図12-5 DisplayTableErrorsアクションの実行時の表示

ADF表コンポーネント・アクションの詳細は、A.9項「ADF表コンポーネントのプロパティとアクション」を参照してください。

12.5 ADF表コンポーネントでの行ごとのステータスの追加

ADF表コンポーネントには、次のADF表コンポーネント・アクションの起動後に、ADF表コンポーネントからの行が正常に処理されたかどうかをエンド・ユーザーに示すメカニズムがあります。

- DeleteFlaggedRows

- Upload

- ADF表コンポーネントの列から起動されたDoubleClickActionSet

ADF表コンポーネントは、ADF表コンポーネント・アクションの起動後に、各行のステータスを_ADF_StatusColumn列に移入します。たとえば、ADF表コンポーネントのUploadアクションの起動後に、各行のアップロード・ステータスを_ADF_StatusColumn列に移入します。

図12-6は、ADF表コンポーネントの行を示しています。Changed列の上向き矢印で示されているように、これらの行の値は変更されています。CostPrice列では、数値が1つあるはずのところに2つの文字列値が入力されています。

図12-6 アップロードの前に行が変更済のADF表コンポーネント

図12-7は、ADF表コンポーネントのUploadアクションの起動後にADF表コンポーネントにある同じ行を示しています。ADF表コンポーネントは、_ADF_StatusColumn列(この例の実行時はStatusというラベル付き)に、行の更新が成功したかどうかを示すメッセージを移入します。

図12-7 アップロード後に行が変更済のADF表コンポーネント

デフォルトでは、__ADF_StatusColumn列のDoubleClickActionSetは、ADF表コンポーネントのDisplayRowErrorsアクションを起動するように構成されています。エンド・ユーザーが実行時にこの列の行をダブルクリックすると、ADF表コンポーネントによりDisplayRowErrorsアクションが起動されます。エラーが存在する場合、このアクションによってその行のエラーのリストを示すダイアログが表示されます。エラーがない場合、ダイアログにはエラーが発生しなかったことを示すメッセージが表示されます。図12-8は、Status列にUpdate failedと表示される図12-7のセルをエンド・ユーザーがダブルクリックすると表示されるダイアログを示しています。

図12-8 行のエラー・メッセージを表示するダイアログ

_ADF_StatusColumn列の詳細は、7.11項「ADF表コンポーネント内の特殊な列」を参照してください。

12.6 統合Excelワークブックでのエラー・メッセージへの詳細の追加

Fusion Webアプリケーションを構成して、カスタムのエラー・ハンドラを使用してエラーを報告し、統合Excelワークブックでエンド・ユーザーに表示されるエラー・メッセージに対する詳細を提供することができます。

この機能を実装するには、カスタムのエラー・ハンドラがgetDetailedDisplayMessageメソッドを上書きして、DCErrorMessageオブジェクトを返す必要があります。実行時にADFデスクトップ統合は、カスタムのエラー・ハンドラを検出して、DCErrorMessageオブジェクトに対してgetHtmlTextメソッドを起動します。ADFデスクトップ統合には、エラー・メッセージ・リストのgetHtmlTextメソッドにより返されるHTMLが詳細として含まれます。

カスタムのエラー・ハンドラの作成の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のエラー処理のカスタマイズに関する項を参照してください。

12.7 ワークブックからデータをアップロードする際のデータ競合の処理

エンド・ユーザーの1人(John)がFusion WebアプリケーションからExcelワークブックにダウンロードしたデータ行に変更を加えて、異なるセッションにいる別のエンド・ユーザー(Jane)が、Johnが行をダウンロードした後にFusion Webアプリケーションで同じ行を変更する場合、Johnが変更済の行をアップロードしようとすると、JohnとJaneがそれぞれ行った変更が競合するために、エラーが発生する可能性があります。Fusion Webアプリケーションの構成によっては、JohnはRowInconsistentExceptionタイプのエラー・メッセージを受信することがあります。Fusion Webアプリケーションを構成してデータを保護する方法の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の同時に更新したデータの損失を防止する方法に関する項を参照してください。

統合Excelワークブックでこの競合を解決するには、JohnがFusion Webアプリケーションから最新バージョンのデータをダウンロードする必要があります。ただし、ADF表コンポーネントのDownloadアクションを起動すると、コンポーネントがExcelワークブックにホストしているすべてのデータがリフレッシュされます。これによって、Johnが加えた他の変更で競合エラー・メッセージを生成しないものが上書きされる可能性があります。このシナリオを解決するために、ADF表コンポーネントのDownloadFlaggedRowsアクションを公開できます。このアクションが起動すると、エンド・ユーザーがダウンロード用にフラグ付けした行についてのみデータがダウンロードされます。このアクションを使用して、Johnは競合の問題を解決し、変更済データをアップロードできます。

第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」には、複数のセッションに対しての統合Excelワークブックの使用に関する情報が記載されています。行のフラグ付けの詳細は、7.10.2項「ADF表コンポーネントでの行のフラグ付け」を参照してください。コンポーネント・アクションの起動の詳細は、8.2.2項「アクション・セット内のコンポーネント・アクションの起動方法」を参照してください。ADF表コンポーネントでサポートされるコンポーネントの詳細は、A.9章「ADF表コンポーネントのプロパティとアクション」を参照してください。

12.7.1 データをアップロードする際のデータ競合を処理するためのワークブックの構成

RowData.ChangeIndicatorAttributeプロパティに対してツリー・バインディングの行に固有な属性を指定して、行が最後にADF表コンポーネントによってダウンロードされてから別のユーザーによって変更されたかどうかを判断します。

ワークブックを構成してデータの競合を処理するには:

1. 統合Excelワークブックを開きます。

2. ADF表コンポーネントを参照するExcelワークシートのセルを選択し、「Oracle ADF」タブの「コンポーネントの編集」をクリックして、コンポーネントの編集:ADF表ダイアログを表示します。

3. RowData.ChangeIndicatorAttributeプロパティについて、行に固有のツリー・バインディングの属性を指定して、統合ExcelワークブックでADF表コンポーネントによって最後にダウンロードされてから、別のユーザーによって行が変更されているかを判断します。

4. 「OK」をクリックします。

12.7.2 実行時の処理: データ競合の処理方法

ADF表コンポーネントは、RowDownSyncアクションを起動する際にRowData.ChangeIndicatorAttributeの値として指定した、ツリー・バインディングの行に固有な属性の元の値をキャッシュします。ADF表コンポーネントがRowUpSyncアクションを起動する際、Fusion Webアプリケーションによってホストされるバインディングの値と、ADF表コンポーネントがキャッシュした元の値が異なるかどうかをチェックします。これらが異なる場合、Fusion Webアプリケーションによってホストされるバインディングの値が、ADF表コンポーネントがバインディングの値をダウンロードした後に変更されているため、データの競合を示します。

13 統合Excelワークブックのテスト

この章では、統合Excelワークブックを構成段階でテストおよび検証する方法、またサーバーpingテストを実行する方法について説明します。

この章の内容は次のとおりです。

- 13.1項「統合Excelワークブックのテストの概要」

- 13.2項「Fusion Webアプリケーションのテスト」

- 13.3項「統合Excelワークブックの構成の検証」

- 13.4項「統合Excelワークブックのテスト」

- 13.5項「サーバーpingテストの実行」

13.1 統合Excelワークブックのテストの概要

統合Excelワークブックを公開してエンド・ユーザーにデプロイする前にテストすると、構成した機能が予定どおり動作することを確認できます。統合Excelワークブックをテストする前に、Excelワークブックと統合するFusion Webアプリケーションをテストします。

統合Excelワークブックをデプロイする前に、検証を行い、Fusion Webアプリケーションとの統合をテストする必要があります。統合Excelワークブックのテストには、次の処理が含まれます。

- 統合Excelワークブックの検証

- 統合Excelワークブックのテスト・モードでの実行

13.1.1 統合Excelワークブックのテストのユースケースおよび例

統合Excelワークブックをテストするには「Oracle ADF」タブの「実行」ボタンをクリックし、設計モードに戻るには「停止」ボタンをクリックします。図13-1に、設計モードの場合とテスト・モードの場合の「Oracle ADF」タブのボタンを示します。

図13-1 「Oracle ADF」タブの「実行」および「停止」ボタン

13.1.2 統合Excelワークブックをテストするための追加の機能

統合Excelワークブックを検証してテストした後、必要に応じてワークブックの機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。

- 統合Excelワークブックの公開: ワークブックをテストおよび検証した後、公開する必要があります。詳細は、14.3項「統合Excelワークブックの公開」を参照してください。

- 統合Excelワークブックのデプロイ: ワークブックを公開した後、Fusion Webアプリケーションとともにデプロイできます。詳細は、14.4項「公開したワークブックをFusion Webアプリケーションとともにデプロイする方法」を参照してください。

- 切断モードでの作業: エンド・ユーザーが統合Excelワークブックにデータをダウンロードした後、サーバーに接続できない、またはサーバー・セッションが期限切れになった状態で、そのワークブックを使用することが必要になる場合があります。詳細は、15.1項「切断されたワークブックの概要」を参照してください。

13.2 Fusion Webアプリケーションのテスト

統合Excelワークブックのテストを開始する前に、Excelワークブックと統合するFusion Webアプリケーションをテストします。Fusion Webアプリケーションのテストの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。Excelワークブックと統合するFusion Webアプリケーションについて、C.1項「Fusion WebアプリケーションによるADFデスクトップ統合のサポートの検証」の手順を行い、ADFデスクトップ統合がサポートされていることを検証してください。Fusion Webアプリケーションをテストする前に、ADFアプリケーション・モジュールのビュー・インスタンスもテストできます。ADFアプリケーション・モジュールのテストの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のOracle ADFモデル・テスターを使用したテストおよびデバッグに関する項を参照してください。

統合ExcelワークブックがFusion Webアプリケーションのアプリケーション・ソース・ディレクトリに保存されていない場合は、JDeveloperでFusion Webアプリケーションを実行する前に、すべての統合ExcelワークブックおよびExcelアプリケーションを閉じたことを確認してください。開く対象のファイルがExcelによってロックされたために、ロックされたファイルが検出されると、アプリケーション・デプロイメントは失敗します。

ヒント:

Fusion WebアプリケーションのWebページからダウンロードした統合Excelワークブックをテストする場合は、アプリケーションを再デプロイする前に再公開する必要があります。ワークブックを再公開することで、そのバージョンを確実に最新にすることができます。

アプリケーションのテストで判明した問題を解決するために、Fusion Webアプリケーションに対して変更を行う場合は、次の作業を行う必要があります。

- Excelおよびすべての統合Excelワークブックを閉じます。開く対象のファイルがExcelによってロックされたために、ロックされたファイルが検出されると、アプリケーション・デプロイメントは失敗します。

- Fusion Webアプリケーションの開発に使用するJDeveloperプロジェクトを再ビルドします。

- Fusion Webアプリケーションを実行します。

- 統合Excelワークブックに関連付けられているページ定義ファイルをリロードします。ページ定義ファイルをリロードするには、統合Excelワークブックの「Oracle ADF」タブにある「バインディングのリフレッシュ」ボタンをクリックします。

これらの手順を行うことで、Fusion Webアプリケーションでの変更が統合Excelワークブックに反映されるようになります。ページ定義ファイルの再ロード方法の詳細は、4.3.3項「Excelワークブックへのページ定義ファイルのリロード方法」を参照してください。

13.3 統合Excelワークブックの構成の検証

ADFデスクトップ統合には、統合Excelワークブックの構成に対する、一連の検証ルールが用意されています。統合Excelワークブックの作成後、テストまたはデプロイを行う前にワークブックを検証できます。

13.3.1 統合Excelワークブックの構成の検証方法

統合Excelワークブックをテストまたはデプロイする前に、ワークブックの構成を検証する必要があります。

統合Excelワークブックの構成を検証するには:

1. 統合Excelワークブックを開きます。

2. 統合Excelワークブックで「Oracle ADF」タブをクリックします。

3. 「テスト」グループで「検証」をクリックします。
構成の検証ダイアログが表示され、すべての警告とエラーが示されます。

4. 警告またはエラーが表示された場合は、クリックして選択します。ダイアログに、警告またはエラーのメッセージの説明が表示されます。
たとえば、図13-2は、無効なEL式の検証失敗のメッセージを示しています。

図13-2 検証失敗という結果になった無効なEL式

警告またはエラーが表示されなかった場合は、「閉じる」をクリックしてダイアログを閉じます。

注意:

検証失敗を解決する間、構成の検証ダイアログを開いたままにしておいて構いません。エラーまたは警告を解決できたかどうかを検証するには、再検証をクリックして検証ルールを再実行します。

13.3.2 統合Excelワークブックの検証時の処理

設計時にワークブックを検証する際、ADFデスクトップ統合では、ワークシートおよびワークシートのコンポーネント・プロパティを含むすべてのワークブック構成プロパティが、定義済の検証ルールと比較して検証されます。すべての検証失敗(エラーおよび警告)は、構成の検証ダイアログに表示されます。検証失敗を個別に選択すると、その失敗に関する背景情報、および各検証失敗を特定して修正するために必要な詳細が表示されます。

構成の検証ダイアログでは、個々の検証失敗に関する次の情報が提供されます。

- 重大度タイプ(エラーまたは警告)

- ワークシートの名前。検証失敗が特定のワークシートに該当しない場合は、「ワークブック」という単語が表示されます。

- ワークシートのコンポーネントID(検証失敗が特定のワークシート・コンポーネントに該当しない場合は、「ワークブック」または「ワークシート」)

- 検証失敗が含まれているプロパティ

- 検証失敗(エラーまたは警告)の説明

ダイアログで特定の失敗エントリを選択すると、その失敗に関する次のような追加の詳細が表示されます。

- プロパティ・コンテキストのフルパス

- プロパティ値

一部の検索ルールでは、結果が複数の異なる失敗になる場合があります。たとえば、式の検証時には、式のタイプ、式の構文、またはプロパティが公開されるワークブック構成内の場所に基づいて、異なる検証失敗が発生します。

次の式値を例にあげます。

#{bindings.EmpView1.hints.Empno.label}

この式値は、表コンポーネント内部の列ヘッダー・ラベル内で使用される場合は有効ですが、Worksheet.Title式の一部として指定される場合は無効です。

注意:

ワークブック構成プロパティのグループに対してEnabledがFalseに設定されている場合、同じグループに含まれる他のプロパティ値の検証はスキップされます。

13.3.3 検証失敗の修正方法

ワークブックの検証時には検証失敗や警告メッセージが戻されることがありますが、次の手順で簡単に修正できます。

1. エラーまたは警告メッセージの発生元であるコンポーネントを特定します。
図13-2の場合、エラーはADF入力テキスト・コンポーネントで生成されています。ワークシート内のすべての入力テキスト・コンポーネントの中から、searchTerm2式を使用するコンポーネントを特定します。

2. そのコンポーネントのプロパティ・エディタを開きます。

3. プロパティ・コンテキストのフルパスで識別される無効なプロパティ値にナビゲートします。

4. プロパティ値を編集して検証失敗を解決します。
図13-3に、ADF入力テキスト・コンポーネントのプロパティ・エディタおよび無効なEL式を示します。

図13-3 検証失敗の解決

5. ワークブックを再検証して、検証失敗が解決したかどうかを検証します。再検証をクリックして検証ルールを再実行します。

6. 検証失敗の修正がすべて完了したら、「閉じる」をクリックして構成の検証ダイアログを閉じます。
図13-4に、警告またはエラーのメッセージが表示されていない構成の検証ダイアログを示します。

図13-4 検証失敗メッセージが表示されていない構成の検証ダイアログ

13.3.4 統合Excelワークブックの構成の検証失敗を実行時に記録する方法

デフォルトでは、実行時に統合Excelワークブックの構成は検証されません。ただし、クライアントのログ・レベルをErrorまたはWarningに設定することで、実行時の検証失敗を記録できます。クライアント・サイド・ロギングの有効化の詳細は、C.3.2項「クライアント・サイド・ロギングの概要」を参照してください。

13.4 統合Excelワークブックのテスト

Fusion Webアプリケーションと統合するExcelワークブックを構成する際には、設計モードからテスト・モードに切り替えて、ワークブックに追加する機能をテストできます。テスト・モードと設計モードを切り替えるには、「Oracle ADF」タブを使用します。

テスト・モードでは、統合Excelワークブックの構成状況に合せて、その機能をテストできます。テスト・モードは、公開された統合Excelワークブックをエンド・ユーザーが表示および実行するときの状態に相当するため、エンド・ユーザーの視点から統合Excelワークブックを確認できます。テスト・モードの統合Excelワークブックと、公開された統合Excelワークブックとの違いは、公開された統合ExcelワークブックではユーザーがADFデスクトップ統合の作業ウィンドウを使用できない点です。

テスト・モードおよび設計モードの詳細は、5.1項「開発ツールについて」を参照してください。

統合Excelワークブックを実行する際、テスト・モードと実行時モードではいくつかの違いがあります。それらの相違点を表13-1に示します。

表13-1 テスト・モードと実行時モードの違い

テスト・モード

実行時モード

改ざんチェックは実行されません。

改ざんチェックが実行されます。

接続確認ダイアログは表示されません。

接続確認ダイアログが表示されます。

「Oracle ADF」リボン・タブが表示されます。

「Oracle ADF」タブは表示されません。

設計モードに切り替えることができます。

設計モードに切り替えることはできません。

ADFデスクトップ統合では、統合Excelワークブックでトリガーされたイベントに基づいて情報を取得するログ・ファイルを生成できます。これらのログ・ファイルの詳細は、付録C「統合Excelワークブックのトラブルシューティング」を参照してください。

注意:

統合Excelワークブックのテストを開始する前に、次のことを確認してください。

- Fusion Webアプリケーションが実行されていること

- サーバーへのpingが正常に行われ、サーバーがADFデスクトップ統合用に構成されていること

テスト・モードで統合Excelワークブックを実行するには:

- 統合Excelワークブックをテストおよび実行するには、「Oracle ADF」タブの「実行」ボタンをクリックします。
統合Excelワークブックは、設計モードからテスト・モードに切り替わります。ADFデスクトップ統合では、テスト・モードを開始する前に、すべての設計時コンポーネントのプレースホルダが消去されます。

テスト・モードを停止して統合Excelワークブックを設計モードに戻すには:

- テスト中の統合Excelワークブックの「Oracle ADF」タブで、「停止」ボタンをクリックします。
統合Excelワークブックは、テスト・モードから設計モードに切り替わります。ADFデスクトップ統合では、設計モードに切り替わる前に、表示可能なデータおよびキャッシュされたデータがワークブックのあらゆる部分からすべて削除され、設計時コンポーネントのプレースホルダが再描画されます。

注意:

エンド・ユーザーが統合Excelワークブックを開いてから変更を行っていない場合でも、これを閉じようとすると、ワークブックを保存するためのダイアログがMicrosoft Excelによって表示されます。これは予測どおりの動作であり、エンド・ユーザーが統合Excelワークブックを開くたびに、ADFデスクトップ統合によって変更が行われることに起因します。

13.5 サーバーpingテストの実行

サーバーpingテストにより、実行中のシステムでADFデスクトップ統合リモート・サーブレットのバージョンを確認できます。また、リモート・サーブレットがロードされて応答していることを確認するのにも役立ちます。

Fusion Webアプリケーションを実行して有効なユーザーとしてログインした後、次の書式のURLを開いてリモート・サーブレットが実行されているかどうかを検証します。

http://<hostname>:<portnumber>/<context-root>/adfdiRemoteServlet

たとえば、Master Price List Fusion Webアプリケーションを実行する場合は、次のURLを開きます。

http://127.0.0.1:7101/FODMasterPriceList/adfdiRemoteServlet

次のレスポンスは、リモート・サーブレットが実行されていることを証明します。

Oracle ADF 11g Desktop Integration (11.1.1.55.30) [1738]

Response from oracle.adf.desktopintegration.servlet.DIRemoteServlet: OK.

この例の場合、リモート・サーブレットのバージョンは11.1.1.55.30、リモート・サーブレットに対応するADFデスクトップ統合のバージョンは1738です。

注意:

サーバーpingテストを実行するには、有効なユーザー・セッションが必要です。Webアプリケーションの認証が有効になっている場合は、ログインするための有効な資格証明を求められます。

14 統合Excelワークブックのデプロイ

この章では、Fusion Webアプリケーションと統合したワークブックをエンド・ユーザーに公開してデプロイする方法を説明します。また、Fusion Webアプリケーションからのパラメータを統合Excelワークブックに渡す方法についても説明します。

この章の内容は次のとおりです。

- 14.1項「統合Excelワークブックのデプロイの概要」

- 14.2項「エンド・ユーザーがADFデスクトップ統合を使用できるようにするための処理」

- 14.3項「統合Excelワークブックの公開」

- 14.4項「公開したワークブックをFusion Webアプリケーションとともにデプロイする方法」

- 14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」

14.1 統合Excelワークブックのデプロイの概要

統合Excelワークブックの開発が終了した後、最終の統合Excelワークブックをエンド・ユーザーが使用できるようにするために、完成したFusion Webアプリケーションをアプリケーション・サーバーにデプロイします。Fusion Webアプリケーションと統合される最終のExcelワークブックをデプロイする前に、14.3項「統合Excelワークブックの公開」の説明に従ってこれを公開する必要があります。Excelワークブックを公開した後、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の「Fusion Webアプリケーションのデプロイ」に概説されている方法のいずれかを使用してデプロイできます。

統合Excelワークブックのデプロイ対象となるエンド・ユーザーは、次の作業を行う必要があります。

- 各自のマシンでADFデスクトップ統合をセットアップします。
ADFデスクトップ統合のsetup.exeツールを、ネットワーク上のディレクトリなどからエンド・ユーザーが使用できるようにします。詳細は、14.2項「エンド・ユーザーがADFデスクトップ統合を使用できるようにするための処理」を参照してください。

- 必要であれば、各自のExcelアプリケーションに対してセキュリティ設定を構成します。

Fusion Webアプリケーションとともに統合Excelワークブックをデプロイする際に、ワークブックのダウンロードURLを明示的に提供する必要はありません。エンド・ユーザーは、Fusion Webアプリケーションのユーザー・インタフェースから統合Excelワークブックをダウンロードできます。詳細は、14.4項「公開したワークブックをFusion Webアプリケーションとともにデプロイする方法」を参照してください。

14.1.1 統合Excelワークブックのデプロイのユースケースおよび例

「Oracle ADF」タブの「公開」ボタンを使用して、公開の準備が整ったワークブックのコピーを保存します。図14-1に、「公開」ボタン、およびこのボタンをクリックすると開くワークブックの公開ダイアログを示します(このダイアログを使用して、公開およびFusion Webアプリケーションとともにデプロイするための準備が整った統合Excelワークブックのコピーを保存します)。

図14-1 ワークブックの公開ダイアログ

14.1.2 統合Excelワークブックをデプロイするための追加の機能

統合Excelワークブックを公開してデプロイした後、必要に応じてワークブックの機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。

- パラメータ渡し: Fusion Webアプリケーションのページを構成して、エンド・ユーザーがそのページからワークブックをダウンロードするときに、統合Excelワークブックにパラメータ値を渡すことができます。詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

- 切断されたワークブック: Fusion Webアプリケーションと接続されていない状態で、エンド・ユーザーが統合Excelワークブックを使用できます。詳細は、第15章「切断されたモードでの複数のWebセッションにおける統合Excelワークブックの使用」を参照してください。

14.2 エンド・ユーザーがADFデスクトップ統合を使用できるようにするための処理

開発者が統合Excelワークブックで構成した機能をエンド・ユーザーが使用するには、ADFデスクトップ統合のランタイム・エディションをインストールする必要があります。setup.exeツールは、MW_HOME\oracle_common\modules\oracle.adf.desktopintegration_11.1.1ディレクトリのadfdi-excel-runtime-client-installer.zipファイル内にあります。MW_HOMEはミドルウェア・ホーム・ディレクトリです。

setup.exeツールの使用の詳細は、I.1項「ADFデスクトップ統合のランタイム・エディションのインストール」を参照してください。

Microsoft ClickOnceインストーラの詳細は、次のサイトを参照してください。

http://msdn.microsoft.com/en-us/library/71baz9ah.aspx

14.3 統合Excelワークブックの公開

Oracle ADFの機能を使用したExcelワークブックの構成が終了したら、これを公開する必要があります。ワークブックを公開することで、構成した統合Excelワークブックを対象となるエンド・ユーザーが使用できるようになります。

ADFデスクトップ統合では、ワークブックを公開する方法が2つ用意されています。統合ExcelワークブックをExcelから直接公開するか、JDeveloperで使用可能な公開ツールを使用してコマンドラインからワークブックを公開できます。コマンドラインの公開ツールでは、ANTビルド・スクリプトを使用して、Fusion Webアプリケーションから統合Excelワークブックを公開できます。

14.3.1 Excelから統合Excelワークブックを公開する方法

ワークブックを公開するには、「Oracle ADF」タブ上のボタンをクリックして表示されるダイアログで値を指定するか、コマンドラインの公開ツールを使用します。ワークブックを公開するためのコマンドライン公開ツールは、Fusion Webアプリケーションから使用できます。

始める前に:

統合Excelワークブックの公開方法について理解しておくと役立ちます。詳細は、14.3項「統合Excelワークブックの公開」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。

Excelからワークブックを公開するには:

1. 統合Excelワークブックを開きます。

2. 「ワークブック・プロパティの編集」ダイアログのApplicationHomeFolderおよびWebPagesFolderプロパティが正しいことを確認します。これらのプロパティが設定されていない場合、統合Excelワークブックの公開時にADFデスクトップ統合によって設定するよう求められます。
詳細は、4.2.2項「新しい統合Excelワークブックの構成方法」を参照してください。

3. 「Oracle ADF」タブで「公開」ボタンをクリックします。

4. 図14-1のように、表示されるワークブックの公開ダイアログ・ボックスで、公開するワークブックのディレクトリとファイル名を指定します。公開するワークブック用に指定するディレクトリおよびファイル名は、設計時のワークブックのディレクトリおよびファイル名とは異なるものにする必要があります。

5. 「保存」をクリックして変更内容を保存します。

注意:

ADFデスクトップ統合には、Excelの「最終版にする」機能との互換性はありません。統合するワークブックでこの機能を使用すると、予期しないエラーが複数発生する可能性があります。

14.3.2 コマンドライン公開ツールを使用した統合Excelワークブックの公開方法

この公開ツールはコマンドラインから実行するもので、MW_HOME\jdeveloper\adfdi\bin\excel\tools\publishディレクトリにあるpublish-workbook.exeを指します。公開ツールを実行する前に、ソースの統合Excelワークブックを開いて「ワークブック・プロパティの編集」ダイアログのApplicationHomeFolderおよびWebPagesFolderプロパティが正しいことを確認します。

注意:

すでに公開済のワークブックまたは実行時モードのワークブックを公開することはできません。

始める前に:

統合Excelワークブックの公開方法について理解しておくと役立ちます。詳細は、14.3項「統合Excelワークブックの公開」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。

MW_HOME\jdeveloper\adfdi\bin\excel\tools\publishディレクトリにナビゲートし、次の構文を使用して公開ツールを実行します。

publish-workbook -workbook (-w) <source-workbook-path> -out (-o) <destination-workbook-path>

source-workbook-pathはソース・ワークブックのフルパスで、destination-workbook-pathは公開されるワークブックの保存先のフルパスです。ワークブックのパスが異なる場合でも、保存先のワークブックにソースと同じ名前を付けることはできません。

例:

publish-workbook -workbook D:\Application1\Project1\ViewController\src\oracle\foddemo\masterpricelist\excel\workbook-src.xlsx -out D:\Application1\Project1\ViewController\public_html\excel\published\workbook.xlsx

ヒント:

公開ツールの必須の引数に関する詳細を参照するには、次のコマンドを実行します。

publish-workbook -help (-h)

統合Excelワークブックが正常に公開されると、公開ツールによって成功メッセージが表示されます。ワークブックの公開中にエラーが発生した場合は、公開ツールによって処理が中止され、コマンドライン・コンソールにエラー・メッセージが表示されます。

コマンドライン公開ツールを使用する場合は、デフォルトでコマンドライン・コンソールに情報レベルのメッセージが記録されます。

ANTでの公開ツールの使用

Fusion Webアプリケーションのビルド時にANTスクリプトを作成して、JDeveloperから公開ツールを実行できます。ANTを使用してユーティリティを実行するには、次のいずれかの方法を使用します。

- プロジェクト用のANTビルド・スクリプトを生成して、ワークブックのコマンドライン公開ツールを実行するためのターゲットを追加します。

- ワークブックのコマンドライン公開ツールを実行するために、別個のANTビルド・スクリプトを生成または作成します。

公開ツールを実行するためのANTビルド・スクリプトのサンプル(publish-workbook.xml)は、MW_HOME\jdeveloper\adfdi\bin\excel\samplesディレクトリにあります。このANTスクリプトのサンプルは、コマンドラインのワークブック公開ツールの起動を実例で示します。

14.3.3 統合Excelワークブックの公開時の処理

設計モードで「公開」ボタンをクリックすると、ADFデスクトップ統合では次のアクションが実行されます。

1. 必須のワークブック設定を検証します。

2. クライアント・レジストリを更新します。詳細は、11.3項「統合Excelワークブックのメタデータの整合性チェック」を参照してください。

3. 公開されるワークブックを、指定のファイル名で、指定のディレクトリに作成します。

4. 公開されるワークブックのワークブック設定からApplicationHomeFolder、WebAppRootおよびWebPagesFolderの各プロパティを消去します。

5. ワークシートが設計モードのときにワークシートに表示されるバインディング式を削除します。

6. ワークブックのモードを実行時モードに変更します。

14.4 公開したワークブックをFusion Webアプリケーションとともにデプロイする方法

統合ExcelワークブックがJDeveloperプロジェクトを構成する他のファイルとともにパッケージ化されていない場合は、Fusion WebアプリケーションのJDeveloperプロジェクトに統合Excelワークブックを追加します。こうすることで、最終のFusion Webアプリケーションをデプロイする際に、Fusion Webアプリケーションと統合するExcelワークブックが確実にデプロイされます。たとえば、Master Price Listモジュールには、このモジュールによって次の場所で統合されるExcelワークブックが格納されます。

<FOD_HOME>\MasterPriceList\ViewController\src\oracle\foddemo\masterpricelist\excel\excel

<FOD_HOME>は、Fusion Order Demoアプリケーションのインストール・ディレクトリです。

統合Excelワークブックの格納先を決定したら、エンド・ユーザーが統合ExcelワークブックにアクセスできるようにFusion WebアプリケーションでWebページを構成できます。たとえば、図14-2は、Master Price Listモジュールによって表示されたPriceListSummary.jspxページのExcel→ライブ・スプレッドシートを使用して編集メニュー・オプションをクリックして起動された、Internet Explorerの「ファイルのダウンロード」ダイアログを示しています。

図14-2 Fusion Webアプリケーションからの統合Excelワークブックの起動

図14-2に示されている機能を有効にするには、Excelワークブックが認識されるようにFusion WebアプリケーションのHTTPフィルタ・パラメータを構成する必要があります。Fusion WebアプリケーションでADFデスクトップ統合が有効になっている場合、これらのパラメータはJDeveloperによって自動的に構成されます。HTTPフィルタ・パラメータを手動で構成する場合は、付録E「Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定」を参照してください。

Fusion WebアプリケーションのHTTPフィルタを構成した後、Fusion Webアプリケーションによってエンド・ユーザーに表示されるWebページを構成し、エンド・ユーザーがExcelワークブックを起動できるようにします。Fusion Webアプリケーションと統合されたExcelワークブックを起動できるようにする基本的な方法は、ワークブックを起動するハイパーリンクを提供することです。たとえば、Webページに次のようなHTMLを記述できます。

<a href="/excel/EditPriceList.xlsx">Open the Master Price List in Excel</a>

excelは、WebPagesFolderワークブック・プロパティによって指定されるディレクトリのサブディレクトリで、EditPriceList.xlsxはエンド・ユーザーが起動するExcelワークブックです。

ボタン、リストおよびリボン・コマンド・ボタンからエンド・ユーザーがExcelワークブックを起動できるようにするための機能を提供できます。次にいくつかの例を示します。

- ボタン
クリックすると統合Excelワークブックが起動するボタンをWebページ上に表示します。

- 選択リスト
統合Excelワークブックを起動するボタンとともに、ADF Faces selectOneChoiceコンポーネントを使用します。

- メニュー
ADF Faces goMenuItemコンポーネントを使用します。

図14-2に示されているライブ・スプレッドシートを使用して表示および問合せメニューでは、goMenuItemコンポーネントが使用されています。PriceListSummary.jspxページにこのメニューが表示されます。次のエントリは、Master Price ListモジュールのPriceListSummary.jspxページに表示されるもので、goMenuItemコンポーネントを実例で示します。

<af:goMenuItem id="goReadOnly"
textAndAccessKey="#{res['pls.productList.menu.lsr.label']}"
destination="/excel/published/ReadOnlyPriceList.xlsx"/>

Fusion WebアプリケーションのWebページの作成の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』を参照してください。

14.5 Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法

Fusion Webアプリケーションのページを構成して、エンド・ユーザーがそのページからワークブックをダウンロードするときに、統合Excelワークブックにパラメータ値を渡すことができます。たとえば、エンド・ユーザーが商品リストを表示するページからワークブックをダウンロードする場合、エンド・ユーザーがダウンロードを起動したときにワークブックに表示される商品リストは、ページ上に表示される商品リストと一致します。それ以降にワークシートまたはFusion Webアプリケーションのページの一方でエンド・ユーザーが行った変更は、他方のデータには影響しません。

この機能を構成するには、次の作業を行う必要があります。

- エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードできるように、HTTPフィルタが構成されていることを確認します。デフォルトでは、Oracle ADFデスクトップ統合プロジェクトでADFデスクトップ統合を有効化すると、JDeveloperによってHTTPフィルタが適切な値で構成されます。HTTPフィルタのパラメータ値を検証するには、E.2項「ADFデスクトップ統合Excelダウンロード・フィルタの構成」を参照してください。

- エンド・ユーザーによる統合Excelワークブックのダウンロード元となるFusion Webアプリケーションのページを構成して、エンド・ユーザーがダウンロードを実行したときにそのパラメータがURL引数を介して統合Excelワークブックに渡されるようにします。

- 統合Excelワークブックのワークシートに関連付けられているページ定義ファイルを構成して、エンド・ユーザーがワークブックをダウンロードするFusion Webアプリケーションのページのパラメータを使用してワークシートが初期化されるようにします。

- エンド・ユーザーがダウンロードする統合Excelワークブックのワークブック・プロパティおよびワークシート・プロパティを構成して、エンド・ユーザーがダウンロードを起動するFusion Webアプリケーションのページのパラメータがワークブックに含まれるようにします。

14.5.1 Fusion Webアプリケーションのページを構成してパラメータを渡す方法

<af:goLink>タグを挿入し、エンド・ユーザーがダウンロードする統合Excelワークブックおよびダウンロードする値を参照する、このタグのプロパティ値を指定します。起動時に<af:goLink>タグおよびそのプロパティ値によって参照される値のリフレッシュをFusion Webアプリケーションに要求するコマンドを、ページ上に指定します。

始める前に:

Fusion Webアプリケーションから統合Excelワークブックへパラメータ値を渡す方法を理解しておくと役立ちます。詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。

Fusion Webアプリケーションのページを構成するには:

1. JDeveloperで、エンド・ユーザーによる統合Excelワークブックのダウンロード元となるページにaf:goLinkを挿入します。

2. 構造ウィンドウでaf:goLinkノードを右クリックし、「プロパティに移動」を選択します。

3. 「共通」セクションを開き、表14-1の説明に従ってプロパティの値を設定します。

表14-1 af:goLinkタグのプロパティ

タグに対して設定するプロパティを説明しています。" title="af:goLinkタグのプロパティ" width="100%">

プロパティ

値

Text

実行時にエンド・ユーザーに表示されるテキストを記述します。

たとえば、次のようなテキストを記述して実行時に表示します。

Download to Excel

Destination

ダウンロードする統合Excelワークブックおよびその値をURL引数として指定するEL式を記述するための式ビルダーを起動します。

たとえば、次のようなEL式を記述します。

"/excel/workbook.xlsx?productName=#{bindings.productName.attributeValue}"

?より右の、問合せ文字列全体のURLエンコードされたランタイム値は、2048バイト未満にする必要があります。ランタイム値が2048バイトを超える場合、統合Excelワークブックに含まれるURL引数は、2048バイト内に収まる分のみです。残りのURL引数は、統合Excelワークブックに含まれません。かわりに、これらのURL引数が含まれていないことを示すログ・エントリがFusion Webアプリケーションによって書き込まれます。

たとえば、productName=#{bindings.productName.attributeValue}&productType=#{bindings.productType.attributeValue}のURLエンコードされたランタイム値は、2048バイト未満であることが必要です。

また、URLに含まれる文字数が256を超える場合は、エンド・ユーザーが統合Excelワークブックをダウンロードして保存せずに開いたときに、例外が発生します。この問題を解決するには、URLの長さを256文字に制限するか、ワークブックを開く前に保存するようエンド・ユーザーに指示する必要があります。

4. 必要に応じて、「動作」セクションを開き、起動するとaf:goLinkタグおよびDestinationプロパティの値を更新するpartialTriggersプロパティのコンポーネントIDを指定します。
たとえば、NextButton、PreviousButton、FirstButtonおよびLastButtonというIDのナビゲーション・ボタンがある場合は、次のように指定します。

:NextButton :PreviousButton :FirstButton :LastButton

5. ページを保存します。
この手順で示した例を使用した場合にJDeveloperによってJSFページに生成されるエントリを、次の例に示します。

<af:goLink text="Download to Excel"
destination="/excel/workbook.xlsx?productName=#{bindings.productName.attributeValue}"
partialTriggers=":NextButton :PreviousButton :FirstButton :LastButton"/>

14.5.2 ワークシートのページ定義ファイルを構成してパラメータを受け取る方法

次の手順で、統合Excelワークブックのワークシートに関連付けられているページ定義ファイルを構成します。

- 14.5.3項「統合Excelワークブックでパラメータのプロパティを構成する方法」ではワークブックのParametersプロパティを構成しますが、これによって指定される値でワークシートを初期化する、parameter要素を1つ以上追加します。
次の例は、統合Excelワークブックのワークシートに関連付けられているページ定義ファイルのパラメータ要素を示しています。

<parameters>
<parameter id="ProductNameParam" />
</parameters>

- ワークシートに関連付けられているページ定義ファイルが正しく初期化されるように、invokeActionおよびメソッド・アクション・バインディングを追加します。

注意:

invokeActionを含むページ定義ファイルを統合Excelワークブックで使用すると、invokeActionで使用されるメソッドが複数回起動する可能性があります。必要であれば、メソッドをコーディングして、このような複数起動を処理します。<invokeAction>要素のRefreshおよびRefreshConditionプロパティを構成して、起動頻度を管理することもできます。

次の例は、filterByProductNameメソッド・アクション・バインディングを起動するinitializeProductTable invokeActionを示しています。invokeActionは、ProductNameParamの値が指定された場合のみリフレッシュされます。

<executables>
<invokeAction Binds="filterByProductName" id="initializeProductTable"
Refresh="deferred"
RefreshCondition="${bindings.ProductNameParam != null}"/>
...
</executables>

メソッド・アクション・バインディングによって、ビュー・オブジェクト・メソッド(filterByProductName)が起動します。このビュー・オブジェクト・メソッドにより、ProductNameParamの値を参照する1つの文字列引数(ProductNameArg)が取得されます。

<bindings>
<methodAction id="filterByProductName" RequiresUpdateModel="true"
Action="invokeMethod" MethodName="filterByProductName"
IsViewObjectMethod="true" DataControl="AppModuleDataControl"
InstanceName="AppModuleDataControl.ProductVO1">
<NamedData NDName="ProductNameArg" NDValue="${bindings.ProductNameParam}"
NDType="java.lang.String"/>
</methodAction>
. . .
</bindings>

ページ定義ファイルの構成の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

14.5.3 統合Excelワークブックでパラメータのプロパティを構成する方法

エンド・ユーザーによってFusion Webアプリケーションからダウンロードされる統合Excelワークブックが、ワークブックのダウンロードURLの問合せ文字列に含まれているパラメータ値を受け取るように、ワークブックのParametersプロパティおよびワークシートのParametersプロパティを構成します。

始める前に:

Fusion Webアプリケーションから統合Excelワークブックへパラメータ値を渡す方法を理解しておくと役立ちます。詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、14.1.2項「統合Excelワークブックをデプロイするための追加の機能」を参照してください。

ワークブックのParametersプロパティを構成するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. Parametersの入力フィールドの横にある省略記号ボタン(...)をクリックして、パラメータの編集ダイアログを起動します。

4. 「追加」をクリックして新しいワークブック初期化パラメータを追加し、プロパティを次のように構成します。

- (オプション)「注釈」フィールドに、ワークブック初期化パラメータの説明を入力します。

- 14.5.1項「Fusion Webアプリケーションのページを構成してパラメータを渡す方法」でaf:goLinkタグのDestinationプロパティ用に構成したURL引数の名前を、「パラメータ」フィールドで指定します。
たとえば、表14-1に示したaf:goLink URL引数を追加した場合、Parameterプロパティの値は図14-3に示すようにproductNameになります。

図14-3 ワークブック・パラメータ

5. 必要に応じて手順4を繰り返し、他のワークブック初期化パラメータを追加します。

6. 「OK」をクリックします。
ワークブックのParametersプロパティの詳細は、表A-18を参照してください。

ワークシートのParametersプロパティを構成するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. Parametersの入力フィールドの横にある省略記号ボタン(...)をクリックして、パラメータの編集ダイアログを起動します。

4. 「追加」をクリックして新しいワークシート・パラメータを追加し、図14-4のように構成します。

- (オプション)「注釈」フィールドに、ワークシート・パラメータの説明を入力します。

- 14.5.2項「ワークシートのページ定義ファイルを構成してパラメータを受け取る方法」でワークシートに関連付けられているページ定義ファイルに追加したパラメータ要素を、「パラメータ」フィールドで指定します。

- ワークブック初期化パラメータ(ワークブックのParameters配列)に対して指定したParameterプロパティの値を参照するEL式を、「値」フィールドに記述します。EL式を記述する際は、次の構文を使用します。
#{workbook.params.parameter}

parameterは、ワークブック初期化パラメータ用に指定されたParameterプロパティの値を参照します。

図14-4 ワークシート・パラメータ

5. 必要に応じて手順4を繰り返し、他のワークブック初期化パラメータを追加します。

6. 「OK」をクリックします。
ワークシートのParametersプロパティの詳細は、表A-19を参照してください。

デフォルトでは、ワークブック・パラメータは、ワークブックがメタデータをリクエストするためにサーバーに接続するとき、エンド・ユーザーがログアウトするとき、またはセッションが期限切れになるときに、その都度送信されません。必要であれば、SendParametersプロパティを構成して、初期化パラメータが送信されるようにワークブックを構成できます。

ワークシートのSendParametersプロパティを構成するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. プロパティ・インスペクタで、次の表および図14-4に示すようにSendParametersの値を設定します。

表14-2 SendParametersプロパティ

設定するプロパティ

設定する値

SendParameters

True: ワークブックがメタデータまたはデータをリクエストするためにサーバーに接続すると、ワークブック・パラメータが送信されます。Trueに設定した場合、すべてのユーザー・セッションにおいて、メタデータがリクエストされるたび、およびデータが初めてリクエストされたときに、パラメータが送信されます。デフォルト値はFalseです。

詳細は、15.2項「セッション間でのサーバー・データ・コンテキストのリストア」を参照してください。

4. 「OK」をクリックします。

14.5.4 実行時の処理: Fusion Webアプリケーションから統合Excelワークブックへパラメータを渡す方法

エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードすると、af:goLinkタグが評価され、現在の製品名が取得されてURLに組み込まれます。adfdiExcelDownloadフィルタによって、URLのすべてのパラメータの名前および値が、ダウンロードされた統合Excelワークブックに埋め込まれます。

エンド・ユーザーがワークブックをダウンロードして初めて開くときに、統合Excelワークブックのアクティブなワークシートが初期化されます。この初期化プロセスには、Webアプリケーションからのメタデータのフェッチも含まれます。格納されたワークブック・パラメータが存在する場合は、ワークシート・メタデータの取得処理の一部としてADFデスクトップ統合のリモート・サーブレットに送信されるため、<invokeAction>実行可能ファイルなどのアプリケーション・ロジックに使用できます。具体的には、これらのパラメータはバインディング・コンテナがリフレッシュされる前にBindingContainer DCParametersに送信されます。ワークシートのStartupイベントで設定されたアクションも初期化中に実行されます。初期化の後、統合Excelワークブックがディスクに保存される際に、各ワークシートの初期化ステータスが記録されます。

統合Excelワークブックを保存して閉じた後、再び開くと、前に初期化されたワークシートに対する初回の初期化はスキップされます。統合Excelワークブックの初回のダウンロード時にワークブック・パラメータが取得され、サーバー・コンテキストの設定にこれらのパラメータが必要である場合は、Worksheet.ServerContext.SendParametersプロパティをTrueに設定する必要があります。SendParametersプロパティがTrueの場合、各ユーザー・セッションにおいて、メタデータのリクエストごとに、またデータの初回のリクエスト時に、ワークブック・パラメータが送信されます。

ワークブックのすべてのワークシートの初期化状態をリセットするには、ClearAllDataアクションを起動します。ClearAllDataアクションの詳細は、表A-17を参照してください。

注意:

ShareFrameプロパティがTrueのアクション・セットでWebダイアログが起動すると、サーバーに渡されたパラメータの値がリセットされる可能性があります。これらのパラメータが使用され、それらの値がWebダイアログの起動間で維持されることが必要なカスタム・コードでは、ユーザー・セッションのデータ構造にこれらの値が保存されるようにしてください。

15 複数のWebセッション間における切断モードでの統合Excelワークブックの使用

この章では、Fusion Webアプリケーションに接続していないときにエンド・ユーザーが使用できる機能について説明します。さらに、エンド・ユーザーがFusion Webアプリケーションから切断された後、統合Excelワークブックを介してアプリケーションに接続する際に、サーバー・データ・コンテキストをリストアする方法を説明します。

この章の内容は次のとおりです。

- 15.1項「切断されたワークブックの概要」

- 15.2項「セッション間でのサーバー・データ・コンテキストのリストア」

- 15.3項「統合Excelワークブックでの静的情報のキャッシュ」

- 15.4項「切断モードで使用する値リストのキャッシュ」

15.1 切断されたワークブックの概要

エンド・ユーザーは、統合Excelワークブックを開いて、開発者が構成したワークブック・リボン・コマンドからFusion Webアプリケーションにログオンできます。Fusion Webアプリケーションではユーザーにセッションが割り当てられます。Fusion Webアプリケーションへの接続が確立され、有効なセッションが割り当てられると、エンド・ユーザーはFusion Webアプリケーションからワークブックへデータをダウンロードできます。その後、ワークブック・リボン・コマンドを使用してFusion Webアプリケーションからログオフするか、Fusion Webアプリケーションをホストするネットワークから切断するなどしてFusion Webアプリケーションから切断することができます。

ユーザーに割り当てられたセッションがFusion Webアプリケーションでどのように終了するかは、ユーザーがFusion Webアプリケーションからどのように切断されたかによって決まります。ユーザーがワークブック・コマンドを使用してFusion Webアプリケーションからログオフした場合は、ただちにセッションが終了します。ユーザーが他の方法(たとえば、ワークブックを閉じるなど)でFusion Webアプリケーションから切断した場合、ユーザーに割り当てられたセッションは、セッション・タイムアウトが期限切れになると終了します。

Fusion Webアプリケーションから切断された統合Excelワークブックを使用して、エンド・ユーザーは次のアクションを実行できます。

- Fusion Webアプリケーションからダウンロードしたデータの変更

- ワークブック内の適切なADF表コンポーネントへの新規データの挿入

- データの変更を保存してワークブックを閉じ、再度開くこと(Fusion Webアプリケーションへのデータのアップロードは不要)

- ADF表コンポーネントでの変更の追跡および更新

15.1.1 切断されたワークブックのユースケースおよび例

公開された統合Excelワークブックをエンド・ユーザーが開くと、ワークブックに必要なデータがダウンロードされます。その後、サーバーから切断されても、統合Excelワークブックでデータの編集や更新を続行し、保存して閉じることができます。図15-1に、データが更新されたEditPriceList.xlsxの例を示します。

図15-1 切断されたワークブックでの更新

統合Excelワークブックを保存後に開くと、更新が検出され、図15-2に示すように、変更の破棄を確認するプロンプトがエンド・ユーザーに表示されます。エンド・ユーザーが「いいえ」をクリックした場合、変更はワークブックに表示されます。エンド・ユーザーが「はい」をクリックした場合は、データをダウンロードするためにサーバーに接続することを求められます。

図15-2 切断されたワークブックの保留中の変更を破棄するダイアログ

15.1.2 切断されたワークブックの追加の機能

統合Excelワークブックを切断モードで検証してテストした後、必要に応じてワークブックの機能をさらに追加できます。使用可能な他の機能へのリンクは次のとおりです。

- 統合Excelワークブックのトラブルシューティング: 統合Excelワークブックの開発中またはデプロイ時に、問題が発生する可能性があります。詳細は、付録C「統合Excelワークブックのトラブルシューティング」を参照してください。

- ADFデスクトップ統合のランタイム・エディションのインストール: ADFデスクトップ統合および統合Excelワークブックをエンド・ユーザーが使用できるようにするために、開発者はADFデスクトップ統合のランタイム・エディションをインストールする必要があります。詳細は、付録I「エンド・ユーザーのアクション」を参照してください。

15.2 セッション間でのサーバー・データ・コンテキストのリストア

次のいずれかのイベントが発生し、Fusion Webアプリケーションによってエンド・ユーザーに新しいセッションが割り当てられる場合に、ビュー・オブジェクトの状態が正しくリストアされるようにページ定義ファイルを構成する必要があります。

- エンド・ユーザーが、ワークブックのデータを変更し、ワークブックを保存して閉じた後、ワークブックを再度開いて、ワークブックを保存して閉じる前に、実行した変更をアップロードしようとしました。

- ADF表コンポーネントのDownloadアクションの起動からUploadアクション(またはFusion Webアプリケーションにアクセスする他のADF表コンポーネント・アクション)の起動までの時間が、Fusion Webアプリケーションのセッションに対して指定されているセッション・タイムアウト値を超えました。

上に示した両方のシナリオには、2つのセッションが関係しています。最初のセッションは、エンド・ユーザーが統合Excelワークブックを開いてFusion Webアプリケーションにログオンしたときに割り当てられます。エンド・ユーザーがFusion Webアプリケーションからログオフするか、セッションが期限切れになると、Fusion Webアプリケーションはこのセッションを終了します。エンド・ユーザーが統合Excelワークブックを再び開いたとき、またはFusion Webアプリケーションと相互作用するアクションを起動したときに、Fusion Webアプリケーションによって2番目のセッションが割り当てられます。

ページ定義ファイルを構成する以外にも、エンド・ユーザーがFusion Webアプリケーションからログオフした場合、またはFusion Webアプリケーションに変更をコミットする前にセッションが期限切れになった場合に保留中の変更が失われないように、統合Excelワークブックの機能を構成します。たとえば、CreateInsertアクション・バインディングおよびワークシートのDownSyncアクションを起動するために、ワークシートのStartupイベントを構成します。また、UpSyncアクションおよびCommitアクション・バインディングを起動するために、「保存」というラベルのADFボタン・コンポーネントを構成します。エンド・ユーザーのセッションが終了すると、Fusion Webアプリケーションによって新しいセッションが割り当てられた後にエンド・ユーザーが「保存」ボタンをクリックした場合でも、レコードは保存されません。このようなシナリオを回避するために、「保存」というラベルのADFボタン・コンポーネントからCreateInsertアクション・バインディングを起動することをお薦めします。

別の例として、ADF表コンポーネントのDownloadForInsertアクションの動作があります。ADF表コンポーネントによるDownloadForInsertアクションの起動をサポートするために、一時レコードを作成するカスタム・メソッドをFusion Webアプリケーションで作成する場合は、DownloadForInsertアクションの起動に成功した後、これらの一時レコードを必ず削除してください。DownloadForInsertアクションの使用の詳細は、7.7項「ADF表コンポーネントに挿入前のデータをダウンロードするためのワークシートの構成」を参照してください。

15.2.1 サーバー・データ・コンテキストをリストアするための統合Excelワークブックの構成方法

セッションとセッションの間にワークシートのServerContextプロパティ・グループの値として統合Excelワークブックにキャッシュする属性バインディングを指定します。さらに、このプロパティ・グループでは、Fusion Webアプリケーションによって統合Excelワークブックに新しいセッションが割り当てられると属性バインディングを使用してサーバー・サイド・コンテキストをリストアするアクション・バインディングを指定できます。

ServerContextプロパティ・グループの値を指定するには、ワークシートに関連付けられているページ定義ファイルで、サーバー・コンテキストのリストアの対象となる属性バインディングおよびアクション・バインディングを公開しておく必要があります。属性バインディングおよびアクション・バインディングのページ定義ファイルへの追加の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。ServerContextプロパティ・グループの詳細は、表A-19のServerContextのエントリを参照してください。

始める前に:

サーバー・データ・コンテキストのリストア方法を理解しておくと役立ちます。詳細は、15.2項「セッション間でのサーバー・データ・コンテキストのリストア」を参照してください。

他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、15.1.2項「切断されたワークブックの追加の機能」を参照してください。

サーバー・データ・コンテキストをリストアするように統合Excelワークブックを構成するには:

1. 統合Excelワークブックを開きます。

2. 「Oracle ADF」タブの「ワークブック」グループで、「ワークブック・プロパティ」をクリックします。

3. ワークシート・プロパティの編集ダイアログで、表15-1の説明に従ってServerContextプロパティ・グループの値を構成します。

表15-1 サーバー・データ・コンテキストをリストアするためのServerContextプロパティ

プロパティ

入力または選択する値

CacheDataContexts

CacheDataContextsのコレクションに要素を追加します。追加する要素を次のように構成します。

- RestoreDataContextActionID
CachedServerContextsによって指定されるデータをリストアするためにFusion Webアプリケーションに接続するアクション・バインディング(たとえば、Executeアクション・バインディング)を指定します。

- CachedServerContexts
RestoreDataContextActionIDによって指定されるアクション・バインディングが起動する前にキャッシュおよび設定される属性バインディング値を識別する配列。配列(CachedServerContext)の各要素は、CachedAttributeIDプロパティおよびRestoredAttributeIDプロパティをサポートします。

CacheDataContextsプロパティおよびそのサブプロパティの詳細は、A.13項「ワークシート・プロパティ」を参照してください。

IDAttributeID

現在のワークシートに表示される行を一意に識別する属性バインディングを指定します。実行時には、サーバー・データ・コンテキストが正しくリストアされているかどうかを判断するために、このプロパティが参照する値が使用されます。

このプロパティおよびそのサブプロパティの詳細は、A.13項「ワークシート・プロパティ」を参照してください。

統合Excelワークブックでパラメータを使用しており、そのワークブックをFusion Webアプリケーションからダウンロードしてデプロイした場合は、14.5.3項「統合Excelワークブックでパラメータのプロパティを構成する方法」を参照してください。

4. 「OK」をクリックします。

注意:

Parametersおよび<invokeAction>実行可能ファイルを使用する統合Excelワークブックに関して、新しいセッションの作成時にParametersおよび<invokeAction>によってサーバー・データ・コンテキストをリストアできる場合は、RestoreDataContextActionIDおよびCachedServerContextsを構成する必要はありません。

15.2.2 実行時の処理: 統合Excelワークブックによるサーバー・データ・コンテキストのリストア方法

ワークシートでは、初期セッションが割り当てられたセッション(たとえば、session ID 1)の中で、ServerContextプロパティ・グループを使用してデータがキャッシュされます。その後、ADF表コンポーネントのUploadアクションが起動される、別のセッションID(たとえば、session ID 2)を持つセッションで、ServerContextプロパティ・グループにキャッシュされたデータがFusion Webアプリケーションに送信されます。

15.3 統合Excelワークブックでの静的情報のキャッシュ

Fusion Webアプリケーションから切断されている間にエンド・ユーザーがワークブックを使用できるように、相対的に静的な特定の種類のデータが統合Excelワークブックにキャッシュされます表15-2に、統合Excelワークブックでキャッシュされるデータの種類を示します。また、統合Excelワークブックによってそのデータがリフレッシュされるタイミングも示します。

表15-2 統合Excelワークブックでキャッシュされるデータの種類

データの種類

キャッシュのタイミング

リフレッシュのタイミング

実行時固有のものではないページ定義構成(コントロール・バインディング・タイプ、IDおよびラベルなど)

ページ定義ファイルにバインドされている統合Excelワークシートがアクティブ化され、ページ定義ファイルの構成のキャッシュが存在しない場合。

統合Excelワークブックの新規コピーをダウンロードするか、表A-17に示すワークブック・アクションClearAllDataおよびEditOptionsを起動しないかぎり、ページ定義構成はリフレッシュされません。

ADF値リスト・コンポーネントのリスト項目

ADF値リスト・コンポーネントによってFusion Webアプリケーションからリスト項目が初めてダウンロードされるとき。

Fusion Webアプリケーションによってホストされるリスト項目の値が統合Excelワークブックによってキャッシュされたものと異なる場合。キャッシュされたリスト項目がリフレッシュされるのは、ワークブック・セッションが存在する場合のみで、ワークブック・セッションごとに1回限りです。

表A-17で説明しているワークブック・アクションClearAllDataおよびEditOptionsを起動した場合も、キャッシュされたリスト項目が消去されます。

リソース・バンドルの文字列

統合Excelワークブックが初めて初期化されるとき。ワークブックが初期化されるのは、変換後に初めて開いたとき、またはClearAllDataの起動後です。

統合Excelワークブックの新規コピーをダウンロードするか、表A-17に示すワークブック・アクションClearAllDataおよびEditOptionsを起動しないかぎり、リソース・バンドルの文字列のキャッシュはリフレッシュされません。

15.4 切断モードで使用する値リストのキャッシュ

ADFデスクトップ統合では、ADF値リストによって参照される値、および開発者が値リストや依存する値リストの作成に使用するTreeNodeListサブコンポーネントをキャッシュして、実行時にエンド・ユーザーが値を選択したときに、これらのコンポーネントによってFusion Webアプリケーションにリクエストが送信されないようにします。これらのコンポーネントを使用した値リストの作成の詳細は、次の各項を参照してください。

- 6.6項「ADF値リスト・コンポーネントの挿入」

- 7.13項「ADF表コンポーネント列での値リストの作成」

- 8.8項「統合Excelワークブックでの依存値リストの作成」

ADFデスクトップ統合では、各コンポーネントに対して最大250の値がキャッシュされます。値が250を超える値リストをコンポーネントが参照する場合、ADFデスクトップ統合では、最初の250の値をキャッシュして、残りの値に関する警告メッセージをクライアント・サイドのログ・ファイルに書き込みます。統合Excelワークブックを構成して、値リストによって参照される値が250を超えるFusion Webアプリケーションのページから、選択ダイアログを起動させることを検討してください。クライアント・サイドのログ・ファイルの詳細は、C.3項「統合Excelワークブックのログ・ファイルの生成」を参照してください。Fusion Webアプリケーションのページからの選択ダイアログの起動の詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」および8.5項「Webページ・ピッカー・ダイアログからのADF表列への値の挿入」を参照してください。

統合Excelワークブックにキャッシュされた値リストは、ワークブック・セッションごとに1回リフレッシュされます。このリフレッシュは、Fusion Webアプリケーションによって参照される値が、統合Excelワークブックによる最後の値リストのキャッシュ以降に変更された場合に、ユーザーがFusion WebアプリケーションとのWebセッションを再確立すると行われます。

値リストから選択した値をアップロードする際に、その選択値がFusion Webアプリケーションにすでに存在しない場合、アップロードは失敗します。このような状況が発生するのは、あるエンド・ユーザーがFusion Webアプリケーションで値を削除し、別のエンド・ユーザーが統合Excelワークブックのキャッシュされた値リストでその値を選択して変更し、変更した値をFusion Webアプリケーションにアップロードしようとした場合などです。データの競合の処理の詳細は、12.7項「ワークブックからデータをアップロードする際のデータ競合の処理」を参照してください。

Fusion Webアプリケーションをデプロイし、公開した統合Excelワークブックをエンド・ユーザーが使用するようになった後にFusion Webアプリケーションの構成を変更する場合は、統合Excelワークブックの新しいコピーをダウンロードするか、もしくはClearAllDataコマンドを実行するようエンド・ユーザーに通知する必要があります。ClearAllDataアクションの詳細は、表A-17を参照してください。

Fusion Webアプリケーションでの変更には、ワークシートで公開されているADF値リストやTreeNodeListサブコンポーネントに関連付けられているリスト・バインディングの定義の変更が含まれる場合があります。リスト・バインディング構成を変更すると、変更前にダウンロードおよび実行されたワークブックで予期しない例外が発生する可能性があります。

A ADFデスクトップ統合コンポーネントのプロパティおよびアクション

この付録では、ADFデスクトップ統合コンポーネントのプロパティを一覧表示し、それについて説明します。また、特定のコンポーネント(ADF入力テキスト、ADF出力テキスト、ADF値リスト、ADFボタン、ADF表、ワークブック、ワークシートなど)によって公開されるアクションについても説明します。

この付録の内容は次のとおりです。

- A.1項「ADFデスクトップ統合で頻繁に使用するプロパティ」

- A.2項「ADF入力テキスト・コンポーネントのプロパティ」

- A.3項「ADF出力テキスト・コンポーネントのプロパティ」

- A.4項「ADFラベル・コンポーネントのプロパティ」

- A.5項「ADF値リスト・コンポーネントのプロパティ」

- A.6項「TreeNodeListサブコンポーネントのプロパティ」

- A.7項「ModelDrivenColumnComponentサブコンポーネントのプロパティ」

- A.8項「ADFボタン・コンポーネントのプロパティ」

- A.9項「ADF表コンポーネントのプロパティおよびアクション」

- A.10項「ADF読取り専用表コンポーネントのプロパティおよびアクション」

- A.11項「アクション・セットのプロパティ」

- A.12項「ワークブックのアクションおよびプロパティ」

- A.13項「ワークシートのアクションおよびプロパティ」

A.1 ADFデスクトップ統合で頻繁に使用するプロパティ

表A-1に、多くのコンポーネントで参照されるADFデスクトップ統合のプロパティを、アルファベット順に示します。

表A-1 ADFデスクトップ統合で頻繁に使用するプロパティ

名前

型

EL

説明

ActionSet

N

アクション・セットの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

Annotation

String

N

このフィールドを使用して、ワークシートでのコンポーネントの使用に関するコメントを入力します。入力したコメントは、ワークブックの動作に影響を与えません。これは、コードのコメントに相当するものです。

ComponentID

String

N

ADFデスクトップ統合によってこの文字列が生成されることで、統合ExcelワークブックでADFコンポーネントの各インスタンスが一意に識別されます。

Label

String

Y

実行時に評価されるEL式を指定します。ADFデスクトップ統合のEL式の詳細は、付録B「ADFデスクトップ統合のEL式」を参照してください。ラベルの使用の詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

Position

N

このプロパティは、統合ExcelワークブックのOracle ADFコンポーネントの左上隅を定義します。

ReadOnly

Boolean

Y

このプロパティをTRUEに設定すると、ADFデスクトップ統合は、このプロパティを使用するコンポーネントを参照するセルにユーザーが加える変更を無視します。このプロパティは、Excelのワークブックやワークシートの保護機能とは関係ありません。ReadOnlyをTRUEに設定すると、ユーザーはセルを変更できません。TRUEの場合、Oracle ADFコンポーネントを参照するセルの動作は次のようになります。

- ADFデスクトップ統合は、ワークシートがリフレッシュされると、警告なしで変更を上書きします。

- 統合ExcelワークブックがFusion Webアプリケーションと同期される際に、Fusion Webアプリケーションに変更は送信されません。

エンド・ユーザーの混乱を避けるため、ReadOnlyをTRUEに設定したセルには、セルのコンテンツが変更不可であることを視覚的に判断できるスタイルを適用します。スタイルの適用の詳細は、9.2項「スタイルの使用」を参照してください。

RowLimit

このプロパティ・グループでは、ADF表コンポーネントまたはADF読取り専用表コンポーネントでダウンロードおよび表示する行数を構成できます。

詳細は、7.17項「表タイプ・コンポーネントがダウンロードする行数の制限」を参照してください。

RowLimit.Enabled

Boolean

N

TRUEに設定すると、ダウンロードする行数がRowLimit.MaxRowsで設定した値に制限されます。デフォルト値はTRUEです。

このプロパティの値は必須です。

RowLimit.MaxRows

Integer

Y

ダウンロードする最大行数に評価されるEL式を記述します。このコンポーネントは、Downloadアクションの起動時にEL式を評価します。デフォルト値は500です。MaxRowsが正の整数以外の場合、コンポーネントは可能なかぎり多くの行をダウンロードしようとします。ABCなどの無効な式は、-1(負の整数)として解釈されます。その結果、コンポーネントは可能なかぎり多くの行をダウンロードしようとします。

MaxRowsの値を0に設定すると、最初の0行をダウンロードするかどうかを尋ねるメッセージが表示されます。このメッセージが表示されないようにするには、MaxRowsを0以外の正の整数に設定します。

RowLimit.WarningMessage

String

Y

ダウンロード可能な行数がRowLimit.MaxRowsで指定された数を超える場合にエンド・ユーザーに表示されるメッセージを生成するEL式を記述します。このコンポーネントは、Downloadアクションを起動するたびにこのEL式を評価します。Excel 2007以上のバージョンのワークシートで対応できる最大行数は、約100万行です。

RowLimit.WarningMessageのデフォルト値は次のとおりです。

#{_ADFDIres['ROWLIMIT_WARNINGS_MESSAGE_1']}

デフォルト値のかわりに使用する文字列キーを、カスタム・リソース・バンドルから指定できます。ダウンロード可能な行数を警告メッセージでエンド・ユーザーに知らせる場合は、リソース・バンドルの文字列キーに対して次のような値を記述します。

使用可能な行が多すぎます。最初の{0}行を表示しますか。

{0}は、実行時にRowLimit.MaxRowsの値を参照するプレースホルダです。

RowLimit.WarningMessageに対して、次のようなEL式を記述します。

#{res['stringkey']}

resは、カスタム・リソース・バンドルを表し、stringkeyは、カスタム・リソース・バンドルで定義する文字列キーを表します。リソース・バンドルの詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

このプロパティの値がNULLの場合、Downloadアクションは、エンド・ユーザーにメッセージを表示せずにRowLimit.MaxRowsで指定した行数をダウンロードします。

StyleName

String

Y

Oracle ADFコンポーネントのレンダリング時に適用される現在のExcelワークブックのスタイルを指定します。詳細は、9.2項「スタイルの使用」を参照してください。

Value

各種

Y

このプロパティは、ADF表コンポーネントのRowDownSyncアクションまたはワークシートのDownSyncアクションの起動後に評価されるEL式を参照します。結果の値は、通常、選択したコンポーネントに表示されるプライマリ値です。

A.2 ADF入力テキスト・コンポーネントのプロパティ

表A-2に、ADF入力テキスト・コンポーネントのプロパティをアルファベット順に示します。

表A-2 ADF入力テキスト・コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

InputText.DoubleClickActionSet

ユーザーがセルをダブルクリックすると起動するアクション・セットを指定します。アクション・セットの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

InputText.ReadOnly

このプロパティの詳細は、表A-1を参照してください。

InputText.Value

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

A.3 ADF出力テキスト・コンポーネントのプロパティ

表A-3に、ADF出力テキスト・コンポーネントのプロパティをアルファベット順に示します。

表A-3 ADF出力テキスト・コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

OutputText.DoubleClickActionSet

ユーザーがセルをダブルクリックすると起動するアクション・セットを指定します。アクション・セットの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

OutputText.Value

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

A.4 ADFラベル・コンポーネントのプロパティ

ADFラベル・コンポーネントは、実行時に静的な文字列値を表示します。ADFデスクトップ統合は、Labelプロパティが参照するEL式が評価されると値を生成します。ラベルの使用の詳細は、9.4項「統合Excelワークブックでのラベルの使用」を参照してください。

表A-4に、ADFラベル・コンポーネントが参照するプロパティをアルファベット順に示します。

表A-4 ADFラベル・コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Label

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

A.5 ADF値リスト・コンポーネントのプロパティ

表A-5に、ADFラベル・コンポーネントが参照するプロパティをアルファベット順に示します。ADF値リスト・コンポーネントの作成の詳細は、6.6項「ADF値リスト・コンポーネントの挿入」を参照してください。

表A-5 ADF値リスト・コンポーネントのプロパティ

名前

型

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

ListOfValues.DependsOnListID

リスト・バインディング

N

リスト・バインディングを選択すると、依存値リストで実行時に使用できる選択肢を判断するために、その値が使用されます。

選択するリスト・バインディングは、モデルドリブン・リストでも構いません。

依存値リストの詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

ListOfValues.ListID

リスト・バインディング

N

値のリストで使用可能な値を定義するリスト・バインディングを選択します。選択するリスト・バインディングは、モデルドリブン・リストでも構いません。

ListOfValues.ReadOnly

Boolean

N

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

StyleName

このプロパティの詳細は、表A-1を参照してください。

A.6 TreeNodeListサブコンポーネントのプロパティ

TreeNodeListは、ADF表サブコンポーネントの1つで、実行時にADF表コンポーネントの列にドロップダウン・メニューをレンダリングします。ADF値リスト・コンポーネントと同じ機能をエンド・ユーザーに提供します。

TreeNodeListサブコンポーネントは、ADFデスクトップ統合の作業ウィンドウのコンポーネント・パレットには表示されません。かわりに、A.9.2項「ADF表コンポーネントの列プロパティ」で説明しているADF表コンポーネントの表の列プロパティUpdateComponentまたはInsertComponentに対して起動するサブコンポーネントとしてTreeNodeListを指定する際に、このサブコンポーネントのプロパティを構成します。

表A-6に、TreeNodeListサブコンポーネントに対して構成するプロパティを示します。

表A-6 TreeNodeListサブコンポーネントのプロパティ

名前

型

EL

説明

DependsOnList

ツリー・バインディング属性またはリスト・バインディング

Y

依存値リストで親値リストとして機能するツリー・バインディング属性またはリスト・バインディングを指定します。

指定するツリー・バインディング属性は、モデルドリブン・リストと関連付けられている必要があります。

依存値リストの詳細は、8.8項「統合Excelワークブックでの依存値リストの作成」を参照してください。

リスト

ツリー・バインディング属性

Y

ADF表コンポーネントの列に表示されるランタイム・ドロップダウン・メニューで使用可能な値を定義する、モデルドリブン・リストに関連付けられているツリー・バインディング属性を指定します。

ReadOnly

Boolean

Y

このプロパティの詳細は、表A-1を参照してください。

A.7 ModelDrivenColumnComponentサブコンポーネントのプロパティ

ModelDrivenColumnComponentサブコンポーネントは、TreeNodeListコンポーネントと同様に、ADFデスクトップ統合の作業ウィンドウのコンポーネント・パレットには表示されません。かわりに、A.9.2項「ADF表コンポーネントの列プロパティ」で説明しているADF表コンポーネントの表の列プロパティUpdateComponentまたはInsertComponentに対して起動するサブコンポーネントとしてModelDrivenColumnComponentを指定する際に、このサブコンポーネントのプロパティを構成します。

表A-7に、ModelDrivenColumnComponentサブコンポーネントに対して構成するプロパティを示します。

表-7 ModelDrivenColumnComponentサブコンポーネントのプロパティ

名前

型

EL

説明

DoubleClickActionSet

ユーザーがセルをダブルクリックすると起動するアクション・セットを指定します。アクション・セットの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

ReadOnly

Boolean

Y

このプロパティの詳細は、表A-1を参照してください。

Value

各種

Y

このプロパティの詳細は、表A-1を参照してください。

A.8 ADFボタン・コンポーネントのプロパティ

表A-8に、ADFボタン・コンポーネントのプロパティをアルファベット順に示します。

表A-8 ADFボタン・コンポーネントのプロパティ

名前

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

ClickActionSet

ユーザーがセルをダブルクリックすると起動するアクション・セットを指定します。アクション・セットの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Label

このプロパティの詳細は、表A-1を参照してください。

LowerRightCorner

このプロパティはExcelセルの参照です。Positionと一緒に使用して、Excelワークシートでボタンが占有する領域を指定します。

Position

このプロパティの詳細は、表A-1を参照してください。

A.9 ADF表コンポーネントのプロパティおよびアクション

ADF表コンポーネントは、ここに示すプロパティおよびコンポーネント・アクションを使用します。

A.9.1 ADF表コンポーネントのプロパティ

表A-9に、ADF表コンポーネントが使用するプロパティをアルファベット順に示します。

表A-9 ADF表コンポーネントのプロパティ

名前

型

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

BatchOptions

このプロパティ・グループでは、ADF表コンポーネントのバッチ・オプションを構成できます。これらのプロパティの使用方法は、7.10項「ADF表コンポーネントでのバッチ処理」を参照してください。

BatchOptions.BatchSize

Integer

N

ADF表コンポーネントのアクション(UploadまたはDeleteFlaggedRows)によってCommitBatchActionIDが起動される前に処理する行数を指定します。正の整数以外の値の場合、1回のバッチですべての行が処理されます。デフォルト値は100行です。

このプロパティの値は必須です。

BatchOptions.CommitBatchActionID

アクション・バインディング

N

BatchSizeで指定した行数が処理されると起動するアクション・バインディングを指定します。アクション・バインディングは、コミット・タイプのアクションになります。

BatchOptions.LimitBatchSize

Boolean

N

このプロパティをTRUEに設定すると、行がバッチで処理され、各バッチにはBatchSizeで指定した行数が含まれます。FALSEに設定すると、すべての行が1回のバッチで処理されます。

BatchOptions.StartBatchActionID

アクション・バインディング

N

各バッチの開始時に起動するアクション・バインディングを指定します。たとえば、特定のデータベースで必要に応じて、このプロパティを「トランザクションの開始」などの操作に使用できます。

このプロパティの値はオプションです。

Columns

列の配列。配列の各列によりサポートされるプロパティの詳細は、A.9.2項「ADF表コンポーネントの列プロパティ」を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

RowActions

このプロパティ・グループでは、有効で起動可能なアクションを指定できます。

RowActions.DeleteRowActionID

アクション・バインディング

N

フラグ付けされた各行を削除するために起動するアクション・バインディングを指定します。

このプロパティの値はオプションです。

RowActions.DeleteRowEnabled

Boolean

N

TRUEに設定すると、既存の行を削除できます。FALSEがデフォルト値です。

このプロパティの値は必須です。

RowActions.FailureActionID

アクション・バインディング

N

行の処理時に不具合が発生した場合に起動するアクション・バインディングを指定します。

このプロパティの値はオプションです。

RowActions.InsertAfterRowActionID

アクション・バインディング

N

ADF表コンポーネントのUploadアクションを使用して、挿入される各行に対して起動するアクション・バインディングを指定します。このアクション・バインディングは、属性の設定後に起動されます。このプロパティはカスタム・アクションで使用するのが適切です。この場合、変数イテレータはメイン・イテレータとともに使用されます。

このプロパティの値はオプションです。

RowActions.InsertBeforeRowActionID

アクション・バインディング

N

Uploadコンポーネント・アクションを使用して、挿入される各行に対して起動するアクション・バインディングを指定します。指定したアクション・バインディングは、属性を設定する前に起動されます。

このプロパティの値はオプションです。

RowActions.InsertRowEnabled

Boolean

N

TRUEに設定すると、ADF表コンポーネントに新しい行を挿入できます。FALSEがデフォルト値です。

このプロパティをTRUEに設定した場合、次のプロパティの一方または両方の値を指定する必要があります。

- RowActions.InsertAfterRowActionID

- RowActions.InsertBeforeRowActionID

InsertAfterRowActionIDまたはInsertBeforeRowActionID)のどちらのプロパティに対して値を指定するかは、Fusion Webアプリケーションでの新しい行の作成方法によって決まります。通常、Fusion WebアプリケーションではCreateInsertアクション・バインディングを使用して新しい行の作成および挿入を行います。このシナリオでは、CreateInsertアクション・バインディングをInsertBeforeRowActionIDの値として指定します。

ADF表コンポーネントでの行の挿入の詳細は、7.5項「データを挿入するためのADF表コンポーネントの構成」を参照してください。

RowActions.InsertRowsAfterUploadEnabled

Boolean

N

TRUEに設定すると、前にアップロードされたかどうかにかかわらず、変更された行を再挿入できます。FALSEがデフォルト値です。

InsertRowEnabledがFALSEに設定されている場合、このプロパティは無視されます。

RowActions.UpdateRowActionID

アクション・バインディング

N

各行を更新するために起動するアクション・バインディングを指定します。

このプロパティの値はオプションです。

RowActions.UpdateRowEnabled

Boolean

N

TRUEに設定すると、既存の行を更新できます。デフォルト値はTRUEです。

このプロパティの値は必須です。

RowData

Fusion Webアプリケーションでの複数のセッション間で統合Excelワークブックにデータをキャッシュする場合に、CachedAttributesプロパティの値を設定します。

ChangeIndicatorAttributeIDプロパティの値を設定して、Fusion Webアプリケーションからダウンロードした行が、それ以降に別のユーザーによって変更されたかどうかを判断します。

RowData.CachedAttributes

Array

N

この配列のプロパティの値を指定して、データがキャッシュされる属性を決定します。この配列の各CachedTreeAttribute要素では、次のプロパティがサポートされます。

- Value
データのキャッシュの対象となるツリー・バインディング属性を選択します。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

エンド・ユーザーがRowData.CachedAttributes配列の要素にも指定した属性バインディングを表示または編集できるように、コンポーネント(ADF表コンポーネントの列やADF入力テキスト・コンポーネントなど)は構成しないでください。RowData.CachedAttributes配列は、ワークシートのDownSyncアクションで取得された値をキャッシュします。ワークシートのUpSyncアクションは、RowData.CachedAttributes配列でキャッシュされた値をFusion Webアプリケーションに送信します。これによって、エンド・ユーザーがワークシート内のコンポーネントを通して公開される属性バインディングに行う編集が上書きされることがあります。

RowData.CachedAttributes配列を使用したADF表コンポーネントへのデータのキャッシュの詳細は、8.5項「Webページ・ピッカー・ダイアログからのADF表列への値の挿入」を参照してください。

RowData.ChangeIndicatorAttributeID

バインディング

N

統合Excelワークブックに最後にダウンロードした行が、それ以降別のユーザーによって変更されたかどうかを判断するために使用する、ツリー・バインディングの行固有の属性を指定します。

詳細は、12.7項「ワークブックからデータをアップロードする際のデータ競合の処理」を参照してください。

RowLimit

このプロパティ・グループの詳細は、表A-1を参照してください。

TreeID

バインディング

N

現在のワークシートのページ定義ファイルからツリー・バインディングを指定します。行のダウンロードおよびアップロードが正しく機能するには、このプロパティの値を指定する必要があります。統合Excelワークブックのページ定義の要件の詳細は、表4-1を参照してください。

UniqueAttribute

属性バインディング

Y

TreeIDの値として指定したツリー・バインディングの属性を指定するEL式を記述します。この属性の値は、ADF表コンポーネントのDownloadアクションの起動時に統合Excelワークブックにキャッシュされます。ADFデスクトップ統合は、現在の行からデータを設定または取得する前に、この値を使用して、ツリー・バインディングのイテレータが正しく配置されるようにします。

次の場合、このプロパティの値はオプションです。

- ADF表コンポーネントが挿入専用として構成されている(RowActions.InsertRowEnabledがTrueでRowActions.UpdateRowEnabledがFalseに設定されている)場合。

- 基礎となるツリー・バインディングによってrowKeyが公開される場合(この場合、rowKeyは配置に使用されます)。

ツリー・バインディングのイテレータによってrowKeyが公開されない場合は、値を指定する必要があります。

A.9.2 ADF表コンポーネントの列プロパティ

表-10に、TableColumn配列の列で使用できるプロパティを示します。

表A-10 ADF表コンポーネントの列プロパティ

名前

型

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

CellStyleName

String

Y

列の各セルに適用されるExcelスタイル名に解決されるEL式を記述します。

DynamicColumn

Boolean

N

Trueに設定すると、列が動的になります。デフォルト値はFalseです。動的な列の詳細は、7.15項「ADF表コンポーネントへの動的な列の追加」を参照してください。

HeaderLabel

String

Y

実行時に評価される場合、列ヘッダーにラベルを表示するEL式を記述します。

HeaderStyleName

String

Y

列ヘッダーの各セルに適用されるExcelスタイル名に解決されるEL式を記述します。

ID

String

N

列に名前を割り当てて、列とその目的を識別します。このプロパティに割り当てる値には、機能的な影響はありません。ただし、値を指定すること、および指定する値が列のリスト内で一意であることが必要です。ADF表コンポーネントの列の追跡に役立ちます。次のIDは、ADF表コンポーネントの3つのデフォルトの列に予約されています。

- _ADF_ChangedColumn

- _ADF_FlagColumn

- _ADF_StatusColumn

これらの列の詳細は、7.11項「ADF表コンポーネント内の特殊な列」を参照してください。

InsertComponent

ADFコンポーネント

N

挿入操作のために、バインディングを表すコンポーネントのプロパティを指定します。このコンポーネントは次のいずれかになります。

- InputTextコンポーネント
このコンポーネントがサポートするプロパティの詳細は、A.2項「ADF入力テキスト・コンポーネントのプロパティ」を参照してください。

- OutputTextコンポーネント
このコンポーネントがサポートするプロパティの詳細は、A.3項「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。

- TreeNodeListコンポーネント
このコンポーネントがサポートするプロパティの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

- ModelDrivenColumnComponent
このコンポーネントがサポートするプロパティの詳細は、A.7項「ModelDrivenColumnComponentサブコンポーネントのプロパティ」を参照してください。

InsertUsesUpdateがTrueの場合、ADF表コンポーネントはInsertComponentプロパティの値を無視します。

InsertUsesUpdate

Boolean

N

挿入操作と更新操作で同じコンポーネント・タイプを使用する場合はTrueに設定します。Trueの場合、ADF表コンポーネントはInsertComponentプロパティの値を無視してUpdateComponentプロパティの値を読み取ります。

デフォルト値はTrueです。

UpdateComponent

ADFコンポーネント

N

更新操作およびダウンロード操作のために、バインディングを表すコンポーネントのプロパティを指定します。このコンポーネントは次のいずれかになります。

- InputTextコンポーネント
このコンポーネントがサポートするプロパティの詳細は、A.2項「ADF入力テキスト・コンポーネントのプロパティ」を参照してください。

- OutputTextコンポーネント
このコンポーネントがサポートするプロパティの詳細は、A.3項「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。

- TreeNodeListコンポーネント
このコンポーネントがサポートするプロパティの詳細は、A.6項「TreeNodeListサブコンポーネントのプロパティ」を参照してください。

- ModelDrivenColumnComponent
このコンポーネントがサポートするプロパティの詳細は、A.7項「ModelDrivenColumnComponentサブコンポーネントのプロパティ」を参照してください。

Visible

Boolean

Y

TrueまたはFalseに解決されるEL式を記述します。Trueの場合、列はADF表コンポーネントに表示されます。Falseの場合、列は表示されません。デフォルト値はTrueです。

列を動的にする場合、ADF表コンポーネントはVisibleプロパティの値を無視します。動的な列の詳細は、7.15項「ADF表コンポーネントへの動的な列の追加」を参照してください。

A.9.3 ADF表コンポーネントのアクション

表A-11に、ADF表コンポーネントで使用できるコンポーネント・アクションを示します。

表A-11 ADF表コンポーネントのアクション

コンポーネント・アクション

説明

ClearCachedRowAttributes

ADF表コンポーネントの現在の行に対してキャッシュされた属性の値をクリアします。このアクションは、ADF表コンポーネントの列のDoubleClickActionSetのみで起動する必要があります。

DeleteFlaggedRows

ADF表コンポーネントのフラグ付けされた各行セットに対して指定のアクションを起動して、これらの行をADF表コンポーネントから削除します。

詳細は、7.9項「Fusion Webアプリケーションで行を削除するためのADF表コンポーネントの構成」を参照してください。

DisplayRowErrors

ADF表コンポーネントの現在の行に関するエラー詳細がある場合は、これを表示します。このアクションは、ADF表コンポーネントで設定された列のアクションからのみ起動する必要があります。デフォルトでは、表7-8の_ADF_StatusColumnは、このアクションを起動するアクション・セットで構成されます。

DisplayTableErrors

エラーがある場合に、ADF表コンポーネントのメッセージ・ダイアログに、詳細なエラー・リストを表示します。このアクションを、ADF表コンポーネントで設定された列のアクションから起動しないでください。かわりに、ADFボタン、ADF出力テキスト・コンポーネントまたはワークシート・リボン・ボタンに対してアクション・セットを構成して、このアクションを起動します。

Download

TreeIDの現在の状態に相当する行をダウンロードします。TreeIDの詳細は、A.9.1項「ADF表コンポーネントのプロパティ」を参照してください。

DownloadFlaggedRows

TreeID内で使用可能な現在の項目セットに相当するフラグ付けされた行をダウンロードします。TreeIDの詳細は、表A-9を参照してください。

DownloadForInsert

このアクションを起動すると、Fusion WebアプリケーションからADF表コンポーネントへ行がダウンロードされ、各行が保留中の挿入として扱われます。

同じアクション・セット内でDownloadおよびDownloadForInsertをアクションとして指定しないでください。これらのアクションのうち、アクション・セットで起動される最後のアクションよって、ADF表コンポーネントに表示されるデータが決まります。

DownloadForInsertアクションでダウンロードするすべての行を変更済としてマーク付けするアクション・セットでは、次に起動するコンポーネント・アクションとしてMarkAllRowsChangedコンポーネント・アクションを指定します。

ADF表コンポーネントのRowActions.InsertRowEnabledプロパティがFalseに設定されている場合、アクション・セットから起動されたDownloadForInsertアクションは無視されます。DownloadForInsertアクションが正しく起動するように、RowActions.InsertRowEnabledをTrueに設定します。

詳細は、7.7項「ADF表コンポーネントに挿入前のデータをダウンロードするためのワークシートの構成」および15.2項「セッション間でのサーバー・データ・コンテキストのリストア」を参照してください。

FlagAllRows

すべての行にフラグを設定します。

このアクションを起動すると、_ADF_FlagColumn列のすべての行にフラグ文字が設定されます。フラグ文字には次のプロパティがあります。

Character Code 25CF, Unicode(hex)

これは、黒丸として表示されます。

_ADF_FlagColumn列の詳細は、7.10.2項「ADF表コンポーネントでの行のフラグ付け」および7.11項「ADF表コンポーネント内の特殊な列」を参照してください。

Initialize

このアクションは次のアクションを実行します。

- ADF表コンポーネントからすべての行のデータを削除します。

- ADF表コンポーネントの行から、キャッシュされた属性の値をクリアします。

- プレースホルダ行を作成します。

- ADF表コンポーネントにレンダリングする動的な列の数を再計算します。

- 列ヘッダーを再描画します。

統合Excelワークブックに保存されていない保留中の変更がADF表コンポーネントに含まれている場合は、このアクションの起動を取り消すことができるダイアログがエンド・ユーザーに対して表示されます。

MarkAllRowsChanged

DownloadForInsertコンポーネント・アクションでダウンロードされるすべての行を_ADF_ChangedColumn列で変更済としてマーク付けする場合は、アクション・セットでDownloadForInsertコンポーネント・アクションを起動した後、起動するコンポーネント・アクションとしてMarkAllRowsChangedコンポーネント・アクションを指定します。

MarkAllRowsUnchanged

このコンポーネント・アクションを指定すると、_ADF_ChangedColumn列からすべてのフラグがクリアされます。

RowDownSync

現在のワークシート行に相当する、Fusion WebアプリケーションにあるADF表コンポーネントのイテレータの行のデータを、ワークシートと同期させます。このアクションは現在のワークシート行に作用するため、ADF表コンポーネントの列に関連付けられているDoubleClickActionSetのみにより、このアクションを起動する必要があります。

列のVisibleプロパティの値は、RowDownSyncの起動時にADF表コンポーネントによって評価および適用されません。列のCellStyleNameプロパティの値は、RowDownSyncの起動時にADF表コンポーネントによって評価および適用されます。列プロパティの詳細は、A.9.2項「ADF表コンポーネントの列プロパティ」を参照してください。

RowUpSync

ADF表コンポーネントがFusion Webアプリケーションを参照する現在のワークシート行の、保留中の変更を同期させます。RowUpSyncは現在のワークシート行に作用するため、ADF表コンポーネントの列に関連付けられているDoubleClickActionSetのみにより、このアクションを起動する必要があります。RowUpSyncを起動するDoubleClickActionSetは、さらに、Fusion WebアプリケーションにあるADF表コンポーネントのイテレータの位置を現在のワークシート行に変更します(イテレータがFusion Webアプリケーションに存在する場合)。

UnflagAllRows

_ADF_FlagColumn列のセルからフラグを削除します。

_ADF_FlagColumnの詳細は、7.10.2項「ADF表コンポーネントでの行のフラグ付け」および7.11項「ADF表コンポーネント内の特殊な列」を参照してください。

Upload

保留中の変更をFusion Webアプリケーションにアップロードします。

詳細は、7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」を参照してください。

ExcelワークブックとFusion Webアプリケーションの間でのデータ競合の解決の詳細は、12.7項「ワークブックからデータをアップロードする際のデータ競合の処理」を参照してください。

A.10 ADF読取り専用表コンポーネントのプロパティおよびアクション

ADF読取り専用表コンポーネントは、1つのアクション、Downloadを公開します。このアクションは、ADF読取り専用表のプロパティTreeIDで識別される表の現在の行をダウンロードします。表A-12に、ADF読取り専用表コンポーネントがサポートするTreeIDとその他のプロパティを示します。

表A-12 ADF読取り専用表コンポーネントのプロパティ

名前

型

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

Columns

Array

N

読取り専用列の配列を参照します。この配列の列がサポートできるプロパティの詳細は、表A-13を参照してください。

ComponentID

このプロパティの詳細は、表A-1を参照してください。

Position

このプロパティの詳細は、表A-1を参照してください。

RowLimit

このプロパティ・グループの詳細は、表A-1を参照してください。

TreeID

ツリー・バインディング

N

ADF読取り専用表コンポーネントがワークシートにツリー・バインディングを挿入して作成された場合、現在のワークシートに関連付けられているページ定義ファイルのツリー・バインディングIDを参照します。

表A-13に、ReadOnlyColumn配列の列で使用できるプロパティをアルファベット順に示します。

表A-13 ADF読取り専用表コンポーネントの列プロパティ

名前

型

EL

説明

Annotation

このプロパティの詳細は、表A-1を参照してください。

CellStyleName

String

Y

列の各セルに適用されるExcelスタイル名に解決されるEL式を記述します。

HeaderLabel

String

Y

列ヘッダーのラベルに解決されるEL式を記述します。

HeaderStyleName

String

Y

列ヘッダーの各セルに適用されるExcelスタイル名に解決されるEL式を記述します。

ID

String

N

列に名前を割り当てて、列とその目的を識別します。このプロパティに割り当てる値には、機能的な影響はありません。ただし、値を指定すること、および指定する値が列のリスト内で一意であることが必要です。ADF読取り専用表コンポーネントの列の追跡に役立ちます。

OutputText

ADFコンポーネント

このコンポーネントがサポートするプロパティの詳細は、A.3項「ADF出力テキスト・コンポーネントのプロパティ」を参照してください。

A.11 アクション・セットのプロパティ

表A-14に、アクション・セットに対して構成できるプロパティをアルファベット順に示します。

表A-14 アクション・セットのプロパティ

名前

型

EL

説明

ActionOptions

このプロパティ・グループは、ローカル・アクションとリモート・アクションを起動するためのオプションを指定します。

ActionOptions.AbortOnFailure

Boolean

N

TRUEに設定した場合、1つのアクションが失敗すると、配列の残りのアクションは起動されません。FALSEの場合、以前のアクションが成功したか失敗したかにかかわらず、すべてのアクションが起動されます。デフォルト値はTRUEです。デフォルト値はTRUEです。

ActionOptions.FailureActionID

アクション・バインディング

N

アクション・セットが正常に実行されない場合に起動するアクション・バインディングを指定します。たとえば、アクション・セットの起動が失敗したときに、加えられた変更をロールバックするアクション・バインディングを指定できます。

ActionOptions.SuccessActionID

アクション・バインディング

N

アクション・セットが正常に実行された場合に起動するアクション・バインディングを指定します。たとえば、commitアクションを実行するアクション・バインディングを指定できます。このプロパティの値はオプションです。

Actions

Array

N

アクションの順序付きの配列を指定します。アクションは次のいずれかになります。

- ADFmAction
基礎となるページ定義ファイルのアクション・バインディングまたはメソッド・アクション・バインディングを起動します。ADFmAction.ActionIDプロパティは、起動するアクション・バインディングまたはメソッド・アクション・バインディングを識別します。ページ定義ファイルの詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

- ComponentAction
ワークシートのコンポーネントが公開するアクションを起動します。ComponentAction.ComponentIDは、アクションを公開するコンポーネントを識別し、ComponentAction.Methodは、起動するアクションを識別します。

ADFデスクトップ統合のコンポーネントの中では、ADF表コンポーネントおよびADF読取り専用表コンポーネントのみがアクションを公開します。これらのアクションの詳細は、A.9項「ADF表コンポーネントのプロパティおよびアクション」およびA.10項「ADF読取り専用表コンポーネントのプロパティおよびアクション」を参照してください。 コンポーネント・アクションの起動の詳細は、8.2.2項「アクション・セット内のコンポーネント・アクションの起動方法」を参照してください。

- WorksheetMethod
ワークシート・アクションを起動します。ワークシート・アクションの詳細は、A.13項「ワークシートのアクションとプロパティ」を参照してください。

- Confirmation
確認のダイアログを起動します。このアクションで使用するプロパティの詳細は、A.11.1項「確認アクションのプロパティ」を参照してください。

- Dialog
ポップアップ・ダイアログまたはExcelの作業ウィンドウでWebページを起動します。詳細は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

Alert

このプロパティ・グループは、リクエストしたアクションが完了したことを示す、アラート形式のダイアログを表示するかどうか、またどのように表示するかを決定します。表示されるダイアログには、ユーザーがメッセージを確認してダイアログを終了できるボタンが1つあります。アラート・メッセージの表示方法は、8.2.7項「アクション・セットの起動後にアラートを発信する方法」を参照してください。

このグループのプロパティの多くは、EL式を使用してリソース・バンドルから文字列値を取得します。EL式の使用の詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

Alert.Enabled

Boolean

N

TRUEに設定すると、アクション・セットの操作が正常に完了した場合または1つ以上の失敗が発生した場合にエンド・ユーザーに通知する、アラート・メッセージが表示されます。

詳細は、8.2.7項「アクション・セットの起動後にアラートを発信する方法」を参照してください。

Alert.FailureMessage

String

Y

アクション・セットの実行時にエラーが発生するとダイアログに表示されるメッセージに評価されるEL式を指定します。デフォルトのEL式は次のとおりです。

#{_ADFDIres['DIALOGS_ACTION_ALERT_FAILURE_PROMPT']}

Alert.OKButtonLabel

String

Y

ダイアログの「OK」ボタンに表示されるメッセージに評価されるEL式を指定します。デフォルトのEL式は次のとおりです。

#{_ADFDIres['DIALOGS_OK_BUTTON_LABEL']}

Alert.SuccessMessage

String

Y

アクション・セットの実行時にエラーが発生しなかった場合に、ダイアログに表示されるメッセージに評価されるEL式を指定します。デフォルトのEL式は次のとおりです。

#{_ADFDIres['DIALOGS_ACTION_ALERT_SUCCESS_PROMPT']}

Alert.Title

String

Y

ダイアログのタイトル領域に表示されるメッセージに評価されるEL式を指定します。デフォルトのEL式は次のとおりです。

#{_ADFDIres['DIALOGS_ACTION_TITLE']}

Annotation

Annotationの詳細は、表A-1を参照してください。

Status

このプロパティ・グループは、アクション・セットの実行時にステータス・メッセージを表示するかどうか、またどのように表示するかを決定します。ステータス・メッセージの表示方法は、8.2.5項「アクション・セットの実行中にステータス・メッセージを表示する方法」を参照してください。

このグループのプロパティの多くは、リソース・バンドルで定義された文字列キーを参照するEL式を使用します。詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

Status.Enabled

Boolean

N

TRUE(デフォルト)の場合、アクション・セットの実行時にステータス・ウィンドウが表示されます。FALSEの場合、ステータス・ウィンドウは表示されません。

Status.Message

String

Y

アクション・セットの実行中に、ステータス・ウィンドウで評価および表示するEL式を指定します。デフォルト値は次のとおりです。

#{_ADFDIres['STATUS_MESSAGE_PROMPT']}

Status.Title

String

Y

アクション・セットの実行中に、ステータス・ウィンドウのタイトル領域で評価および表示するEL式を指定します。デフォルト値は次のとおりです。

#{_ADFDIres['DIALOGS_ACTION_TITLE']}

A.11.1 確認アクションのプロパティ

表A-15に、アクション・セットのActionsの配列にあるConfirmationアクションがサポートするプロパティを、アルファベット順に示します。Actionsの配列およびアクション・セットが使用する他のプロパティの詳細は、表A-14を参照してください。

表A-15 確認アクションのプロパティ

名前

型

EL

説明

Annotation

Annotationの詳細は、表A-1を参照してください。

CancelButtonLabel

String

Y

実行時に「取消」ボタンで評価および表示されるEL式。デフォルト値は次のとおりです。

#{_ADFDIres['DIALOGS_CANCEL_BUTTON_LABEL']}

OKButtonLabel

String

Y

実行時に「OK」ボタンで評価および表示されるEL式。デフォルト値は次のとおりです。

#{_ADFDIres['DIALOGS_OK_BUTTON_LABEL']}

Prompt

String

Y

実行時に確認のダイアログのメイン領域で評価および表示されるEL式。デフォルト値は次のとおりです。

#{_ADFDIres['DIALOGS_ACTION_CONFIRM_PROMPT']}

Title

String

Y

実行時に確認のダイアログのタイトル領域で評価および表示されるEL式。デフォルト値は次のとおりです。

#{_ADFDIres['DIALOGS_ACTION_TITLE']}

A.11.2 ダイアログ・アクションのプロパティ

表A-16に、アクション・セットのActionsの配列にあるDialogアクションがサポートするプロパティを示します。Actionsの配列およびアクション・セットが使用する他のプロパティの詳細は、表A-14を参照してください。

表A-16のプロパティを使用してFusion WebアプリケーションからWebページを起動する方法は、8.4項「Fusion WebアプリケーションからのWebページの表示」を参照してください。

表A-16 ダイアログ・アクションのプロパティ

名前

型

EL

説明

Annotation

String

N

このプロパティの詳細は、表A-1を参照してください。

Page

String

N

アクションが起動するWebページを指定します。相対URLおよび絶対URLが有効な値です。

ShareFrame

Boolean

N

TRUE(デフォルト)に設定すると、同じデータ・コントロール・フレーム内のDialog.Pageプロパティで指定されたWebページがExcelワークシートとして実行されます。絶対URLを指定した場合、ADFデスクトップ統合はDialog.ShareFrameプロパティの値を無視します。

Target

リスト

N

アクションが起動するWebページのレンダリングの状態を指定します。次のいずれかを選択します。

- 埋込みWebブラウザ内のモーダルなダイアログにWebページをレンダリングするPopup。

- ランタイム作業ウィンドウにWebページをレンダリングするTaskPane。

Title

String

Y

実行時にDialogのタイトルに解決されるEL式を記述するか、またはリテラル文字列を記述します。

WindowSize

Integer

N

表示されるダイアログの初期サイズをピクセルで指定します。有効な値の範囲は、0～2147483647です。指定された値が大きすぎるか小さすぎる場合は、実行時に適宜上方または下方修正されます。デフォルト値は、Heightが625でWidthが600です。

A.12 ワークブックのアクションおよびプロパティ

表A-17に、ワークブックで起動できるアクションを示します。これらのアクションを起動するためのリボン・ボタンの構成の詳細は、8.3.1項「実行時リボン・タブのワークブック・コマンド・ボタンの構成方法」を参照してください。

表A-17 ワークブックのアクション

アクション

説明

Login

このアクションを起動すると、統合ExcelワークブックとFusion Webアプリケーションの間に新しいセッションが作成されます。

起動時にすでにセッションが確立されていた場合は、最初にLogoutアクションが内部的に起動して、そのセッションが解放されます。認証を強制するWebアプリケーションに対して実行されるワークブックの場合、Loginアクションは、エンド・ユーザーに対して有効なユーザー資格証明の提供を求めます。

Logout

起動するとADFデスクトップ統合によってFusion Webアプリケーションにリクエストが送信され、統合ExcelワークブックとFusion Webアプリケーションの間のセッションが無効になります。このアクションの起動後、エンド・ユーザーは、次に統合ExcelワークブックがFusion Webアプリケーションにアクセスする際に認証を受ける必要があります。

ClearAllData

このアクションが起動すると、ユーザーが入力したすべてのデータが、Oracle ADFバインディングを参照するセルからクリアされます。表(ADF表コンポーネントやADF読取り専用表コンポーネントで作成された表など)は、ラベルがクリアされてヘッダー行のみが表示されるように切り捨てられます。入力テキスト・コンポーネントまたは出力テキスト・コンポーネントを参照するセルの値はクリアされます。列ヘッダーおよびラベルもクリアされます。統合Excelワークブックが使用するすべてのリソース・バンドルへの参照がクリアされます。バインディングを含まないワークシートやページ定義ファイルを参照しないワークシートは変更されません。ダイアログによって、エンド・ユーザーはこのアクションの起動の確認を求められます。エンド・ユーザーが起動を確認すると、ADFデスクトップ統合はアクションの起動後に次のイベントを実行します。

- 統合ExcelワークブックのLogoutアクションを起動します。

- ランタイム・セッションを終了して、統合Excelワークブックのすべてのデータとすべてのキャッシュをクリアします。

- 統合Excelワークブックを再初期化して、ワークブックのLoginアクションを起動します。

ClearAllDataアクションを起動しても、Fusion Webアプリケーションでホストされるデータは変更されません。Fusion Webアプリケーションでホストされるデータを変更するには、次のアクションを1つ以上起動する必要があります。

- ワークシートのUpSyncアクション
このアクションは、表以外のタイプのコンポーネントで参照されるすべてのデータを同期させます。詳細は、A.13項「ワークシートのアクションとプロパティ」を参照してください。

- ADF表コンポーネントのRowUpSyncアクションを使用して、行の保留中の変更をFusion Webアプリケーションと同期させることができます。ADF表コンポーネントのDeleteFlaggedRowsアクションを起動すると、フラグ付きの行を削除できます。ADF表コンポーネントのアクションの詳細は、A.9.3項「ADF表コンポーネントのアクション」を参照してください。

EditOptions

このアクションを起動すると、エンド・ユーザーがWebAppRootプロパティの現在の値を確認し、新しい値を入力できるダイアログが起動されます。

エンド・ユーザーがWebAppRootの値を変更する場合、「OK」をクリックすると確認のダイアログが表示されます。変更を確認すると、次のイベントが発生します。

- ワークブックのClearAllDataアクションが起動します。

- ワークブックのLogoutアクションが起動します。

- バインディングで参照されるワークブックのデータはすべて削除されます。

- WebAppRootの参照は、Excelワークブックの構成で更新されます。

- WebAppRootの値として指定されたFusion Webアプリケーションでユーザーを認証するために、ワークブックのLoginアクションが起動されます。
ClearAllDataワークブック・アクションは、統合Excelワークブックで参照されるすべてのリソース・バンドルをクリアします。WebAppRootが変更されると、統合Excelワークブックは、再初期化プロセスの中でFusion Webアプリケーションからリソース・バンドルを取得しようとします。このFusion Webアプリケーションへのリクエストにより、認証プロセスがトリガーされます。

ViewAboutDialog

このアクションを起動すると、BrandingItemsワークブック・プロパティで定義された情報および他の情報(サポートするソフトウェアのバージョンなど)を表示する「バージョン情報」ダイアログが起動します。

表A-18に、Excelワークブックで使用できるADFデスクトップ統合のプロパティをアルファベット順に示します。

表A-18 ワークブックのプロパティ

名前

型

EL

説明

ApplicationHomeFolder

String

N

デスクトップ統合プロジェクトを開発するJDeveloperアプリケーション作業領域(.jws)のルート・ディレクトリの絶対パスを指定します。

たとえば、Master Price Listモジュールと統合するワークブックのこのプロパティの値は、次のようになります。

C:\FusionOrderDemo\MasterPriceList

最初に統合Excelワークブックを開くときに、ADFデスクトップ統合によって、このプロパティの値の指定が求められます。

詳細は、4.2.2項「新しい統合Excelワークブックの構成方法」を参照してください。

BrandingItems

Array

N

リソース・バンドル参照に解決される名前と値のペアの配列(#{res['myAppName']}など)、またはリテラル文字列。配列の各ペアは、名前と値で構成されます。各名前と値は、リテラル文字列またはEL式を参照できます。

統合Excelワークブックのブランディングの詳細は、9.6項「統合Excelワークブックのブランディング」を参照してください。

Login.WindowSize

Integer

N

表示されるログイン・ダイアログの初期サイズをピクセルで指定します。有効な値の範囲は、0から画面の幅または高さまでです。指定された値が大きすぎるか小さすぎる場合は、実行時に適宜上方または下方修正されます。デフォルト値は、Heightが625でWidthが600です。

Parameters

Array

N

Fusion Webアプリケーションのページから統合Excelワークブックへパラメータを渡すために構成する、ワークブック初期化パラメータの配列。Fusion Webアプリケーションのページでは複数のワークブック初期化パラメータを定義できます。ページで指定するそれぞれのワークブック初期化パラメータ(URL引数を参照するパラメータ)は、この配列のParameterプロパティで指定する必要があります。指定しない場合は無視されます。

配列の各要素では、次のプロパティがサポートされます。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

- Parameter
エンド・ユーザーがダウンロードする統合Excelワークブックの元の場所であるFusion Webアプリケーションのページで定義した、ワークブック初期化パラメータの名前を指定します。

このプロパティの使用の詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

Project

String

N

現在のJDeveloper作業領域にあるJDeveloperプロジェクトの名前を指定します。ADFデスクトップ統合は、指定されたプロジェクトに相当する.jprファイルをロードしようとします。その.jprファイルが使用できない場合、または適切な形式でない場合は、エラーが表示されます。

設計モードで統合Excelワークブックを初めて開くと、ADFデスクトップ統合により親フォルダ階層で.jprファイルが検索されます。.jprファイルが検出されると、Projectの値がその.jprファイルに相当するプロジェクトの名前に設定されます。

ADFデスクトップ統合は、ApplicationHomeFolderで指定されたapplication_name.jwsファイルから、使用可能なプロジェクトの名前をロードします。

RemoteServletPath

String

N

ADFデスクトップ統合のリモート・サーブレットのパスを指定します。これは、WebAppRootに対して指定した値の相対パスにする必要があります。RemoteServletPathに指定する値は、Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)で指定する値と一致している必要があります。このプロパティのデフォルト値は次のとおりです。

/adfdiRemoteServlet

Resources

Array

N

ワークブックに登録するリソース・バンドルの配列を指定します。配列の各要素では、次のプロパティがサポートされます。

- Alias
Workbook.Resources内で一意の文字列値を指定します。EL式は、この文字列を使用してリソース・バンドルを参照します。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

- Class
クラスの完全修飾名を指定します。指定するクラス名は、ワークブックを統合するFusion Webアプリケーションで使用するJavaリソース・バンドル・クラスになります。たとえば、Master Price ListモジュールのEditPriceList-DT.xlsxワークブックは、次のリソース・バンドルを参照します。

oracle.fodemo.masterpricelist.resources.UIStrings

詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

Runtime Ribbon Tab

-

-

このプロパティ・グループは、実行時にリボン・タブをExcelに表示するかどうか、またどのように表示するかを定義します。この表の後続のエントリで、Runtime Ribbon Tabグループのプロパティを説明します。リボン・タブおよびそのコマンドの詳細は、8.3項「実行時リボン・タブの構成」を参照してください。

Runtime Ribbon Tab.Annotation

String

N

このプロパティの詳細は、A.1項「ADFデスクトップ統合で頻繁に使用するプロパティ」を参照してください。

Runtime Ribbon Tab.Visible

Boolean

N

TRUEの場合、実行時にリボン・タブが表示されます。EnabledをFALSEに設定すると、リボン・タブは表示されません。デフォルト値はTRUEです。

Runtime Ribbon Tab.Title

String

Y

タイトル領域に表示されるリボン・タブのタイトルに評価されるEL式を指定します。Excelでは、リボン・タブのタイトルの最大文字数は1024に設定されています。指定するEL式のランタイム値が1024文字を超えた場合、Excelでエラー・メッセージが生成されないように、ADFデスクトップ統合によって値が切り捨てられるため、この文字数を超えないようにしてください。

Runtime Ribbon Tab.Workbook Commands

Array

N

この配列の各要素は、実行時のワークブックのコマンドに相当します。配列の各要素では、次のプロパティが使用されます。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

- Label
このプロパティの詳細は、表A-1を参照してください。

コマンド・ラベルに&文字を表示する場合は、&&を指定する必要があります。実行時、Excelでは単一の&文字は特殊文字として解釈され、&の次の文字がワークブック・コマンドのキーボード・アクセラレータとして割り当てられます。

- Method
ワークブックのリボン・ボタンが起動するワークブック・アクションを指定します。ワークブック・アクションの詳細は、表A-17を参照してください。

WebAppRoot

String

N

Fusion Webアプリケーションのルートの完全修飾URL。

WebPagesFolder

String

N

統合Excelワークブックで使用する予定のWebページを含むディレクトリのパスを指定します。パスに指定する値は、ApplicationHomeFolderの値の相対パスにする必要があります。

WorkbookID

String

N

統合Excelワークブックの一意の識別子。設計モードで初めてワークブックを開くと、ADFデスクトップ統合によって一意の識別子が生成されます。

この値は変更できません。ただし、「ワークブック・プロパティの編集」ダイアログの「WorkbookIDのリセット」リンクを使用すると、ADFデスクトップ統合で新しい値を生成できます。

11.3項「統合Excelワークブックのメタデータの整合性チェック」で説明しているように、このプロパティの値は改ざんチェック時に使用されます。

A.13 ワークシートのアクションおよびプロパティ

ADFデスクトップ統合のExcelワークシートでは、次のアクションを起動できます。

- UpSync
ワークシート内のADF入力テキスト・コンポーネントおよびADF値リスト・コンポーネントの保留中の変更を、Fusion Webアプリケーションに同期させます。

- DownSync
Fusion Webアプリケーションの変更を、ワークシート内のADF入力テキスト、ADF出力テキストおよびADF値リストの各コンポーネントにダウンロードします。

- DisplayWorksheetErrors
エラーがある場合に、統合Excelワークシートのメッセージ・ダイアログに、詳細なエラー・リストを表示します。このアクションは、ADFコンポーネント(ADF表タイプのコンポーネント以外)またはワークシートのリボン・ボタンによって起動されるアクション・セットで起動してください。

アクション・バインディングまたはメソッド・アクション・バインディングを起動するようにADFボタン・コンポーネントを構成する場合、ユーザーが実行時にADFボタン・コンポーネントをクリックすると起動するアクション・セットは、デフォルトで次のように移入されます。

1. UpSync

2. ADFボタン・コンポーネントに指定するアクション・バインディングまたはメソッド・アクション・バインディング

3. DownSync

空のフォームを使用してワークシートで最初に起動するアクションがUpSyncワークシート・アクションの場合、エラーが発生する可能性があります。そのため、最初に起動するアクションは必ずDownSyncワークシート・アクションにしてください。最初にDownSyncワークシート・アクションを起動するには、ADFボタン・コンポーネントのアクション・セットまたは表A-19で説明しているワークシート・イベント(StartupまたはActivate)のいずれかを構成します。

表A-19に、Excelワークシートで使用できるADFデスクトップ統合のプロパティを示します。

表A-19 ワークシートのプロパティ

名前

型

EL

説明

Annotation

String

N

このプロパティの詳細は、表A-1を参照してください。

Events

Array

N

この配列の各要素は、関連付けられたワークシートのイベントが発生した場合に起動するアクション・セットを指定します。アクション・セットの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。ワークシート・イベントの詳細は、この表のEvents.n.Eventのエントリを参照してください。

Events.nで始まるこの表の続くエントリは、この配列の要素がサポートするプロパティを示しています。nは、配列の特定の要素を指します。

Events.n.ActionSet

ActionSet

N

アクション・セットのプロパティの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

Events.n.InvokeOnceOnly

Boolean

N

このプロパティのデフォルト値はFALSEです。

TRUEに設定すると、このイベントに対するアクション・セットがワークシートによって起動されたかどうかに関する情報がワークブックに格納され、起動された場合は、ワークシートによるそのアクション・セットの2回目の起動が回避されます。ワークブックを保存しないとこの情報は失われます。つまり、次にワークブックを開いたときに、ワークシートによってイベントが再び起動されます。

Events.n.Annotation

String

N

Annotationプロパティの詳細は、表A-1を参照してください。

Events.n.Event

リスト

N

ワークシートでは、アクション・セットを起動するために構成できる、次のイベントがサポートされます。

- Startup
Excelが起動します。

- Shutdown
Excelワークブックが終了するか、またはExcelアプリケーションが終了します。

- Activate
ユーザーが現在のワークシートに移動します。

- Deactivate
ユーザーが現在のワークシートから離れるか、または停止イベントがトリガーされます。

ワークシート・イベントは、起動するアクション・セットが失敗した場合でも、実行を完了します。

ワークシート・イベントおよびアクション・セットの詳細は、8.2.4項「ワークシート・イベントからアクション・セットを起動する方法」を参照してください。

Protection.Mode

リスト

N

ワークシートでは次の2つのオプションが提供されます。

- オフ
実行時にワークシートの保護が使用されません。

- Automatic
実行時にワークシートの保護が自動的に有効になります。

このプロパティのデフォルト値はOffです。

Protection.Password

String

N

エンド・ユーザーが実行時にシートの保護をオフにするのを防止するためのパスワードを指定します。Excelで許可される最大パスワード長は、255文字です。

Ribbon Commands

Array

N

実行時にコマンドとして表示されるワークブック・アクションを1つ以上指定します。各コマンドは、WorksheetMenuItem配列の要素です。この配列のエントリでは、次のプロパティがサポートされます。

- Annotation

- Label

- SelectActionSet

AnnotationおよびLabelプロパティの詳細は、表A-1を参照してください。SelectActionSetプロパティの詳細は、A.11項「アクション・セットのプロパティ」を参照してください。

コマンド・ラベルに&文字を表示する場合は、&&を指定する必要があります。実行時、Excelでは単一の&文字は特殊文字として解釈され、&の次の文字がワークシート・コマンドのキーボード・アクセラレータとして割り当てられます。

Page Definition

String

N

ワークシートに関連付けるページ定義ファイルを指定します。ページ定義ファイルの詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

Parameters

Array

N

ワークブックのParametersプロパティから統合Excelワークブックのワークシートへパラメータを渡すために構成する、ワークシート・パラメータの配列。配列の各要素では、次のプロパティがサポートされます。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

- Parameter
ワークシートに関連付けられているページ定義ファイルに追加したparameter要素のIDを指定します。

- Value
ワークブック初期化パラメータ(ワークブックのParameters.Parameterプロパティ)に対して指定したParameterプロパティの値を参照するEL式を記述します。このワークシートに関連付けられているページ定義ファイルが初めて初期化されるときに、ワークブックのParameters.Parameterプロパティによってこの値が提供されます。

このプロパティの使用の詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

RowData

Fusion Webアプリケーションでの複数のセッション間で統合Excelワークブックにデータをキャッシュする場合に、CachedAttributesプロパティの値を設定します。

ChangeIndicatorAttributeIDプロパティの値を設定して、Fusion Webアプリケーションからダウンロードした行が、それ以降別のユーザーによって変更されたかどうかを判断します。

RowData.CachedAttributes

Array

N

この配列のプロパティの値を指定して、データがキャッシュされる属性を決定します。この配列の各CachedAttribute要素では、次のプロパティがサポートされます。

- AttributeID
このプロパティは、データがキャッシュされる属性バインディングを参照します。AttributeIDに関しては、属性バインディングを指定したり、同じワークシートのフォーム(たとえば、ADF入力テキスト・コンポーネント)で編集可能フィールドとして指定しないでください。

- Annotation
このプロパティの詳細は、表A-1を参照してください。

キャッシュされた属性の値のクリアの詳細は、7.18項「ADF表コンポーネントでのキャッシュされた属性値のクリア」を参照してください。

RowData.ChangeIndicatorAttributeID

バインディング

N

統合Excelワークブックに最後にダウンロードした行が、それ以降別のユーザーによって変更されたかどうかを判断するために使用する、ツリー・バインディングの行固有の属性を指定します。

詳細は、12.7項「ワークブックからデータをアップロードする際のデータ競合の処理」を参照してください。

ServerContext

このプロパティ・グループは、現在のワークシートに表示される行を一意に識別する属性バインディングを参照するため、複数のセッション間でサーバー・データ・コンテキストを再確立することが可能になります。

詳細は、15.2項「セッション間でのサーバー・データ・コンテキストのリストア」を参照してください。

ServerContext.CacheDataContexts

Array

N

サーバー・サイド・コンテキストを再確立する必要のあるバインディング・コンテナで複数のイテレータが定義されている場合に、CacheDataContexts配列に要素を追加します。CacheDataContexts配列では、ワークシートのキャッシュされたデータ・コンテキストを保存するために次のプロパティがサポートされます。

- RestoreDataContextActionID
起動するアクション・バインディングを参照します。

- CachedServerContexts
RestoreDataContextActionIDによって指定されるアクション・バインディングが起動する前にキャッシュおよび設定される属性バインディング値を識別する配列。CachedServerContext配列の各要素は、CachedAttributeIDプロパティおよびRestoredAttributeIDプロパティをサポートします。CachedAttributeIDは、ワークシートにキャッシュする属性バインディング値を識別します。RestoredAttributeIDは、宛先の属性バインディング値がソースの属性バインディング値と異なる場合に値を指定する、オプションのプロパティです。RestoredAttributeIDの値を指定しない場合、宛先の属性バインディング値としてCachedAttributeIDの値が使用され、その値はアクション・セットの起動前に設定されます。

- Annotation
このプロパティの詳細は、A.1項「ADFデスクトップ統合で頻繁に使用するプロパティ」を参照してください。

ServerContext.IDAttributeID

バインディング

N

現在のワークシートに表示される行を一意に識別する属性バインディングを指定します。このプロパティは、サーバー・コンテキストがワークシートの表以外のタイプのコンポーネントに対して適切に再確立されているかどうかを判断するために実行時に使用されます。

ServerContext.SendParameters

Boolean

N

このプロパティのデフォルト値はFALSEです。

TRUEに設定すると、複数のセッション間でコンテキストを再確立する際に、ワークブックによってこのワークシートの初期化パラメータが送信されます。

Title

String

Y

文字列に解決され、ワークシートの名前を設定するEL式を記述します。設計時のEL式には長さの制限はなく、次の特殊文字を含めることができます。

[ ] \ / * ?

実行時に評価される文字列で表示できるのは最大31文字で、これらの特殊文字は無視されます。評価される文字列の長さが31文字を超える場合、余分な文字は切り捨てられ、表示されません。

Titleプロパティ用に記述するEL式では、実行時に各ワークシートに対して一意の値が生成され、31文字未満になるようにしてください。たとえば、EL式によって生成される統合ワークシートのTitleプロパティの値が既存のワークシートの名前と一致すると、エラーが発生します。

B ADFデスクトップ統合のEL式

この付録では、ADFデスクトップ統合のEL式の構文について説明し、EL式の記述に関するガイドラインを提供します。また、属性コントロール・ヒントの構成方法についても説明します。

この付録の内容は次のとおりです。

- B.1項「EL式を作成するガイドライン」

- B.2項「ADFデスクトップ統合コンポーネントのEL構文」

- B.3項「ADFデスクトップ統合の属性コントロール・ヒント」

B.1 EL式を作成するガイドライン

次に、統合ExcelワークブックのEL式の特性と、EL式を記述する際の推奨事項を示します。

- Oracle ADFコンポーネントのプロパティに適した型に正しく評価されるリテラル値。次にいくつかの例を示します。

- ブール型の値trueおよびfalse

- -1、0および100などの整数値

- hello worldなどの文字列値

- 1つ以上の有効なEL式の一部を含む文字列。次に有効な構文の例を示します。

- #{row.bindings.ProductId.inputValue}

- #{components.TAB416222534.errors}

- #{res['excel.saveButton.label']}

- 有効なExcel式。Excel式の文字列は、文字=で開始する必要があります。リテラル文字列に#{...}式が含まれる場合、最初にADFデスクトップ統合がこの式を評価して、結果の値をExcel式の文字列に挿入します。その後、ExcelがExcel式を評価します。
EL式を記述する場合、次の点に注意してください。

- Excel式の要素を#{...}式の中で使用しないでください。

- EL式はADF構成内で管理されるため、EL式にExcelのセルの参照を含めることはできません。参照されるセルを移動すると、ExcelはADF構成を更新できません。これを回避するには、Excelの数式バーの「Name」ボックスを使用して、名前付きのセルの参照または範囲を定義します。名前付きセルの参照または名前付きセル範囲の参照は、EL式から参照できます。名前付きセルの参照または範囲の定義の詳細は、Excelのドキュメントを参照してください。

- ページ定義ファイルのEL式
ページ定義ファイルでEL式を記述するために使用する構文の詳細は、4.3項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。

B.2 ADFデスクトップ統合コンポーネントのEL構文

表B-1に、EL式をサポートするADFデスクトップ統合コンポーネントでサポートされる式のプロパティを示します。

これらのプロパティを参照するために、EL式では次の構文を使用します。

#{components.componentID.property}

componentIDはコンポーネントのIDを参照し、propertyはプロパティ(rowCountなど)を参照します。

表B-1 ADFデスクトップ統合コンポーネントの式のプロパティ

プロパティ

コンポーネント・タイプ

プロパティの型

予期される実行時の値

設計時の値

rowCount

表

ROTable

Int

>=0

0

currentRowIndex

表

ROTable

Int

>= 0 AND < RowCount(ゼロ・ベースのインデックス)

-1

currentRowMode

表

String

"insert"

"update"

"unknown"

errors

表

String

N/A

N/A

readOnly

Table.Column

Boolean

TRUE

FALSE

FALSE

取得するものに応じて、次の構文を使用してEL式を記述します。

- 実行時のワークシート・エラー
#{worksheet.errors}

ワークシート・エラーの詳細は、12.4項「統合Excelワークブックでレポートされるエラー」を参照してください。

- ワークブック初期化パラメータ
#{workbook.params.parameterName}

parameterNameは、ワークブック初期化パラメータの名前です。これらのパラメータの使用の詳細は、14.5項「Fusion Webアプリケーションのページからワークブックへパラメータ値を渡す方法」を参照してください。

- リソース・バンドルの文字列キーの値
#{resourceBundleAlias['resourceBundleKey']}

resourceBundleAliasはリソース・バンドルの別名で、resourceBundleKeyは文字列キーの値です。リソース・バンドルの詳細は、10.2項「統合Excelワークブックでのリソース・バンドルの使用」を参照してください。

表B-2に、Oracle ADFコントロール・バインディングでサポートされる構文とプロパティを示します。ADFデスクトップ統合でサポートされる属性コントロール・ヒント(controlHint)の詳細は、表B-3を参照してください。

表B-2に示すEL式の一部は、5.8項「式ビルダーの使用」で説明している式ビルダーを使用して生成できます。その他のEL式は、表B-2の説明に従って記述する必要があります。

表B-2 Oracle ADFコントロール・バインディングの式のプロパティと構文

構文

コンポーネント・タイプ

オブジェクトのプロパティ

設計時の値

式ビルダーを使用し、次の構文でEL式を生成します。

#{bindings.attributeID}
#{bindings.attributeID.label}
#{bindings.attributeID.hints.controlHint}

また、これらのEL式を次のEL式に追加して記述することもできます。

#{bindings.attributeID.inputValue}

属性

属性コントロール・ヒント

""

式ビルダーを使用し、次の構文でEL式を生成します。

#{bindings.ListID}
#{bindings.ListID.label}
#{bindings.ListID.hints.controlHint}

リスト

属性コントロール・ヒント

""

表タイプのコンポーネントの列に対しては、次の構文でEL式を記述します。

#{row.bindings.attributeID.inputValue}

7.15項「ADF表コンポーネントへの動的な列の追加」で説明しているように、ADF表コンポーネントに動的な列を追加する場合は、次の構文でEL式を記述します。

#{bindings.TreeID.[TreeNodeID].AttributeNamePrefix*.inputValue}
#{bindings.TreeID.AttributeNamePrefix*.inputValue}
#{bindings.TreeID.[TreeNodeID].hints.AttributeNamePrefix*.controlHint}
#{bindings.TreeID.[TreeNodeID].hints.AttributeNamePrefix*.label}

AttributeNamePrefixおよび[TreeNodeID]の値はオプションですが、*は必須です。

Table.Column

inputValue

""

B.3 ADFデスクトップ統合の属性コントロール・ヒント

ADFデスクトップ統合は、表B-3に示す属性コントロール・ヒント名の値を読み取ることができます。ADFデスクトップ統合がFusion Webアプリケーションから属性コントロール・ヒントの値を取得するために使用するEL式を記述します。表B-2に、実行時に属性コントロール・ヒントの値を取得するEL式の構文を示します。

属性コントロール・ヒントは、Fusion Webアプリケーションで構成します。エンティティ・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のエンティティ・オブジェクトの属性コントロール・ヒントの定義に関する項を参照してください。ビュー・オブジェクトに属性コントロール・ヒントを追加する方法の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のビュー・オブジェクトの属性コントロール・ヒントの定義に関する項を参照してください。

表B-3 ADFデスクトップ統合で使用する属性コントロール・ヒント

属性コントロール・ヒント

型

Fusion Webアプリケーションで構成する値

label

String

エンティティ・オブジェクトまたはビュー・オブジェクト用に構成されるラベル属性コントロール・ヒントの値を参照します。

updateable

Boolean

関連付けられている属性バインディングが更新可能な場合はtrueを戻します。

readOnly

Boolean

この属性コントロール・ヒントは、ADFデスクトップ統合独自のものです。関連付けられている属性バインディングが更新可能でない場合はtrueを戻します。

EL式のExcel式を評価する際の統合Excelワークブックのパフォーマンスを最適化するには、コンポーネントのReadOnlyプロパティに対して次の構文でEL式を記述することをお薦めします。

#{bindings.attributeID.hints.readOnly}

次の構文はお薦めしません。

=NOT(#{bindings.attributeID.hints.updateable})

属性コントロール・ヒントのreadOnlyプロパティは、A.1項「ADFデスクトップ統合で頻繁に使用するプロパティ」で説明しているADFデスクトップ統合コンポーネントのReadOnlyプロパティとは異なります。

mandatory

Boolean

関連付けられている属性バインディングの値が必須の場合はtrueを戻します。

dataType

String

属性コントロール・ヒントのデータ型を戻します。Fusion Webアプリケーションでは、複雑な名前の様々なデータ型をサポートできます。dataType属性コントロール・ヒントは、EL式の記述を簡略化するためにADFデスクトップ統合に導入されました。これにより、Fusion Webアプリケーションでサポートされるデータ型が、ADFデスクトップ統合でサポートされる次の値にマップされます。

- string

- number

- date

- boolean

- other

ADFデスクトップ統合の属性コントロール・ヒントは、Webアプリケーションのモデル構成で使用できる情報に基づきます。ADFデスクトップ統合では、ビュー・オブジェクトまたはエンティティ・オブジェクトのヒント値がサポートされますが、 ヒント値が実行時に行ごとのレベルで計算される場合は、プログラムによるヒント値のオーバーライドはサポートされません。

C 統合Excelワークブックのトラブルシューティング

この付録では、開発中に問題が発生した場合に統合Excelワークブックのトラブルシューティングを行い、ログ・ファイルを生成する方法について説明します。また、発生する可能性のあるいくつかのエラーと問題(バージョンの不一致、404エラー、「Oracle ADF」タブが統合Excelワークブックに表示されないなど)についても説明します。

この付録の内容は次のとおりです。

- C.1項「Fusion WebアプリケーションによるADFデスクトップ統合のサポートの検証」

- C.2項「統合Excelワークブックのエンド・ユーザー認証の検証」

- C.3項「統合Excelワークブックのログ・ファイルの生成」

- C.4項「Excelワークブックの構成のエクスポート」

- C.5項「ADFデスクトップ統合の一般的な問題」

注意:

プロパティ・インスペクタは、プロパティまたはプロパティの組合せに入力した値が有効かどうかの検証は実行しません。無効な値があると、実行時にエラーが発生します。実行時のエラーを回避するには、プロパティ・インスペクタでプロパティに有効な値を指定してください。プロパティ・インスペクタの詳細は、5.6項「プロパティ・インスペクタの使用」を参照してください。

C.1 Fusion WebアプリケーションによるADFデスクトップ統合のサポートの検証

特定のURLを使用して、Fusion WebアプリケーションによってADFデスクトップ統合のリモート・サーブレット(adfdiRemote)が実行されていることを確認し、ADFデスクトップ統合のバージョンを確認できます。この情報は、統合Excelワークブックに関連するエラーが発生した場合に役立ちます。たとえば、統合Excelワークブックのトラブルシューティングを行う際に、ADFデスクトップ統合のリモート・サーブレットが稼働しているかどうかを判断できます。

ADFデスクトップ統合のリモート・サーブレットが稼働していることを検証するには:

1. Fusion Webアプリケーションにログオンします。

2. Webブラウザのアドレス・バーに、ワークブックのプロパティWebAppRootおよびRemoteServletPathを連結した値を入力します。これは、次のようなURLに相当します。
http://hostname:7101/FusionApp/adfdiRemoteServlet

ADFデスクトップ統合のリモート・サーブレットが稼働している場合、Webページが元に戻って次のようなメッセージが表示されます。

ADF Desktop Integration Remote Servlet 11g (11.1.1.48.86) [520]
Response from oracle.adf.desktopintegration.servlet.DIRemoteServlet: OK.

C.2 統合Excelワークブックのエンド・ユーザー認証の検証

統合Excelワークブックのエンド・ユーザーが、ADFのセキュリティを使用して構成されているFusion Webアプリケーションと相互作用するアクションを起動する際にユーザー認証を要求されない場合、統合ExcelワークブックまたはFusion Webアプリケーションのどちらかでセキュリティが正しく構成されていない可能性があります。次の手順を実行して、セキュアなFusion Webアプリケーションによってエンド・ユーザーが認証されること、およびセキュリティが有効であることを検証できます。

セキュアなFusion Webアプリケーションによってエンド・ユーザーが認証されることを検証するには:

セキュアなFusion Webアプリケーションによってエンド・ユーザーが認証されることを検証するには、ADFデスクトップ統合のリモート・サーブレットが稼働中かどうかを検証するために使用したURLを、ブラウザのアドレス・バーに入力します。詳細は、C.1項「Fusion WebアプリケーションによるADFデスクトップ統合のサポートの検証」を参照してください。Fusion Webアプリケーションのセキュリティが有効である場合は、ユーザー資格証明を入力するよう求められます。

統合Excelワークブックの保護の詳細は、第11章「統合Excelワークブックの保護」を参照してください。

C.3 統合Excelワークブックのログ・ファイルの生成

ADFデスクトップ統合では、ログ・ファイルを生成して、次のソフトウェアによってADFデスクトップ統合内でトリガーされるイベントに基づいて情報を取得できます。

- Webサーバー上にある、HTTPフィルタおよびADFデスクトップ統合のリモート・サーブレット(サーバー・サイド・ロギング)
サーバー・サイド・ロギングの詳細は、C.3.1項「サーバー・サイド・ロギングの概要」を参照してください。

- Fusion Webアプリケーションと統合するExcelワークブック(クライアント・サイド・ロギング)
クライアント・サイド・ロギングの詳細は、C.3.2項「クライアント・サイド・ロギングの概要」を参照してください。

C.3.1 サーバー・サイド・ロギングの概要

ADFデスクトップ統合のサーバー・サイド・ログ・ファイルの生成は、他のOracle ADFモジュールの場合と同じように構成します。構成するには、j2ee-logging.xmlという構成ファイルで冗長レベルと出力場所を指定する値を設定する必要があります。また、JDeveloperのOracle Diagnostics Logging構成を使用して、logging.xmlファイルで指定されるロギング・レベルを構成することもできます。JDeveloperのデバッグ・ツールおよびADFログ出力の使用の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のADFログ出力の使用に関する項を参照してください。

表C-1に、ADFデスクトップ統合のログ・ファイルの生成を構成するために、j2ee-logging.xmlファイルの<logger>要素に属性パラメータとして指定するパッケージ名を示します。

表C-1 ログ・ファイルを構成するためのパッケージの名前

ログ・ファイル・エントリを生成するコンポーネント

入力するパッケージ名

すべてのADFデスクトップ統合サーバー・ロジック

oracle.adf.desktopintegration

ADFデスクトップ統合のリモート・サーブレット

oracle.adf.desktopintegration.servlet

ADFデスクトップ統合のHTTPフィルタ

oracle.adf.desktopintegration.filter

表C-2に、ログ・ファイルで取得する情報のタイプと、対応するログ・ファイルのエントリ・レベルを示します。

表C-2 サーバー・サイド・ロギングのレベル

ログ・レベル

説明

SEVERE (ERROR)

すべての例外とエラーを取得します。

WARNING

リカバリ不能な問題の状況をすべて取得します。

INFOまたはCONFIG

サーブレットの初期化などのライフ・サイクル・イベントを取得します。

CONFIG

クライアントとサーバーの各やりとりについて、ステータスや実行コンテキストを返すハートビート・イベントを取得します。

FINE

FINER

FINEST

これらの値では診断情報のレベルが段階的に高くなります。

C.3.2 クライアント・サイド・ロギングの概要

ADFデスクトップ統合を構成して、トリガーされるイベントのログをクライアントで保存できます。デフォルトでは、ログ・ファイルは生成されません。ログを保存するためのOracle ADFデスクトップ統合モジュールの構成方法は、C.3.2.1項「ログを保存するためのADFデスクトップ統合の構成方法」を参照してください。

C.3.2.1 ログを保存するためのADFデスクトップ統合の構成方法

ADFデスクトップ統合には、イベント・ログを生成し、ログに簡単にアクセスするためのロギング・ツールが用意されています。このロギング・ツールは、「Oracle ADF」タブの「ロギング」グループに含まれており、設計モードとテスト・モードの両方で使用できます。

図C-1に、「Oracle ADF」タブのロギング・ツールを示します。

図C-1 「Oracle ADF」タブのロギング・ツール

「ロギング」グループには次のボタンがあります。

- コンソール
統合Excelワークブックを開発およびテストしながら最新のログ・エントリを確認できる、ロギング・コンソール・ウィンドウを表示します。このコンソールには、コンソールが開いている間に記録されたエントリが表示されます。このコンソールには、コンソールが開いている間に記録されたエントリが表示されます。図C-2に示すロギング・コンソール・ウィンドウには、情報およびエラーのログ・エントリが表示されています。

このコンソールは、サイズ変更が可能でバッファ・サイズが64,000文字の非モーダル・ウィンドウです。バッファがいっぱいになると、古いエントリは削除されます。ログ・エントリを保存するには、テキスト・ファイルを選択してコピーします。

図C-2 ロギング・コンソール・ウィンドウ

このダイアログには次のボタンがあります。

- レベルの設定: ログ出力レベルを設定する場合は、これをクリックします。このボタンをクリックすると、目的のログ出力レベルを選択できるロギング出力レベル・ダイアログが開きます。

- クリア: ログ・バッファをクリアする場合にクリックします。

- 閉じる: ダイアログを閉じる場合にクリックします。

注意:

一般的なロギング・コンソール・ウィンドウでは、開いているすべての統合Excelワークブックのエントリが記録されます。

- 出力レベルの設定
ログ出力のレベルを選択するよう求められます。表C-3に、クライアント・サイド・ロギングがサポートするログ・レベルを示します。

図C-3 ロギング出力レベル・ダイアログ

表C-3 クライアント・サイド・ロギングのレベル

レベル

説明

クリティカル

クリティカルな情報を取得します。

エラー

重度のエラーと例外に関する情報を取得します。

警告

リカバリ不能な状況を取得します。

情報

ライフ・サイクル・イベントとコントロール・フロー・イベントを取得します。

詳細

アプリケーションの実行フローに関する詳細を取得します。

オフ

ログは取得されません。これがデフォルト値になります。

注意:

ログの出力レベルは、指定されたログ出力のすべてのリスナーに適用されます。

- ログ出力ファイルの追加
指定のファイルまたは形式にロギング出力を送るための、一時ロギング・リスナーを作成します。「新規一時ロギング出力ファイルの追加」ダイアログで、目的のファイル出力形式(テキストまたはXML)を選択し、ログ出力ファイルのパスとファイル名を指定します。

図C-4 新規一時ロギング出力ファイルの追加ダイアログ

一時リスナーは、現在のExcelセッションのロギング出力のみを送り、ADFデスクトップ統合の構成ファイルには登録されません。統合Excelワークブックを閉じると、一時リスナーは削除されます。

注意:

「ログ出力ファイルの追加」ボタンをクリックすると、新しいリスナーが作成されます。新しいリスナーによって、ADFデスクトップ統合の構成ファイルで定義された既存のリスナー、または他の一時リスナーは置換されません。

- 構成のリフレッシュ
ADFデスクトップ統合の構成ファイルをリロードします。ADFデスクトップ統合の構成ファイルによって、ADFデスクトップ統合で記録される情報のタイプが決まります。また、ログ・ファイルの場所および出力形式も決まります。

ADFデスクトップ統合の構成ファイルの作成および構成の詳細は、C.3.2.2項「ADFデスクトップ統合の構成ファイルについて」を参照してください。

C.3.2.2 ADFデスクトップ統合の構成ファイルについて

ADFデスクトップ統合の構成ファイルは、デザイナ・エディションの場合はadfdi-excel-addin.dll.config、ランタイム・エディションの場合はadfdi-excel-addin-runtime.dll.configとして保存されます。ファイルの正しい名前および場所を調べるには、「Oracle ADF」タブの「ワークブック」グループにある「バージョン情報」ボタンをクリックします。表示されるダイアログで「プロパティ」タブをクリックし、「構成」エントリで構成ファイルのファイル名および場所を調べます。

構成ファイルの要素の詳細は、Microsoft Developer Networkのドキュメントの「Configuration File Schema for the .NET Framework」の項を参照してください。トレースおよびデバッグの設定の詳細は、Microsoft Developer Networkのドキュメントの「Trace and Debug Settings Schema」の項を参照してください。

クライアント・サイド・ロギングの有効な構成方法は多数ありますが、例C-1に示す構成ファイルのサンプルはその1つで、形式の異なる(.txtおよび.xml)2つのログ・ファイルが生成されます。このファイルでは、様々な情報(ThreadId、ProcessIdおよびDateTimeなど)がVerboseロギング・レベルで取得されます。

例C-1 構成ファイルのサンプル

<?xml version="1.0"?>
<configuration>
<system.diagnostics>
<sources>
<source name="adfdi-common" switchValue="Verbose">
<listeners>
<add type="System.Diagnostics.DelimitedListTraceListener"
name="adfdi-common-excel.txt"
initializeData="c:\logs\adfdi-common-excel.txt"
delimiter="|"
traceOutputOptions="ThreadId, ProcessId, DateTime"/>
<add type="System.Diagnostics.XmlWriterTraceListener"
name="adfdi-common-excel.xml"
initializeData="c:\logs\adfdi-common-excel.xml"
traceOutputOptions="None"/>
</listeners>
</source>
</sources>
</system.diagnostics>
</configuration>

C.3.2.3 ユーザー環境変数を使用したロギングの構成方法

ADFデスクトップ統合の構成ファイルを格納するディレクトリにアクセスできないユーザーは、ユーザー環境変数の値を設定してログ・ファイルの保存場所とロギング・レベルを変更できます。ロギング・レベルとXMLログ・ファイルの場所を構成するための、2つのユーザー環境変数を追加できます。

Windowsでユーザー環境変数を追加または構成するには:

1. Windowsの「スタート」ボタンをクリックして、「設定」→「コントロール パネル」をクリックします。

2. 「コントロール パネル」で「システム」をダブルクリックします。

3. 「システムのプロパティ」ダイアログで「詳細設定」タブ→「環境変数」ボタンをクリックします。

4. 「環境変数」ダイアログで「usernameのユーザー環境変数 」入力フィールドの下方にある「新規」をクリックし、次の表の説明に従って変数を追加します。

表C-4 ロギングを構成するためのユーザー環境変数

入力する変数の名前

指定する値

adfdi-common-file

ロギング情報を取得するXMLファイルのディレクトリ・パスおよびファイル名を定義する値。

ここで指定するディレクトリは、adfdi-common-file変数を追加する前に存在している必要があります。生成されるログ・ファイルはXML形式です。

adfdi-common-level

ロギングのレベルを指定する値。有効な値は表C-3を参照してください。

5. 「OK」をクリックします。

C.3.2.4 adfdi-commonオブジェクトに関する留意事項

adfdi-commonオブジェクトは、Microsoft .NET FrameworkのSystem.Diagnostics名前空間のTraceSourceクラスのインスタンスです。このオブジェクトを使用してログ・ファイルを生成すると、Fusion Webアプリケーションと統合するExcelワークブックでトリガーされるイベントの情報を取得できます。

TraceSourceクラスの詳細は、Microsoft Developer Networkのドキュメントを参照してください。

C.4 Excelワークブックの構成のエクスポート

ExcelワークブックのXML構成は、名前と場所を指定したXMLファイルにエクスポートできます。このファイルは、Fusion Webアプリケーションに統合されるExcelワークブックのデバッグまたは分析が必要な場合に役立ちます。このファイルには、ワークブックの各ワークシートの子要素や、リモート・サーブレットの相対パスなどのリソースが含まれます。

次の手順では、ExcelワークブックからのXML構成のエクスポートについて説明します。

統合ExcelワークブックからXML構成をエクスポートするには:

1. 「Oracle ADF」タブの「バージョン情報」をクリックします。
「Oracle ADF 11gデスクトップ統合について」ダイアログ・ボックスが表示されます。

2. 「プロパティ」ビュー・タブをクリックして、「メタデータのエクスポート」ボタンをクリックします。

エクスポートするメタデータを保存するファイルのファイル名と場所の指定を求めるダイアログ・ボックスが表示されます。

3. ファイル名と場所を指定して、「保存」をクリックします。
統合Excelワークブックにより、指定したファイルに指定の形式でXML構成がエクスポートされます。

C.5 ADFデスクトップ統合の一般的な問題

この項では、最も一般的な問題およびその解決策について説明します。

エラー・メッセージ: [ADFDI-00127] SyncServletResponseにバージョンの不一致が検出されました。バージョンxが見つかりましたが、バージョンyが必要です。

原因: クライアントのADFデスクトップ統合のバージョンがWebアプリケーションのADFデスクトップ統合のバージョンと一致していません。

処置: クライアントのADFデスクトップ統合をアンインストールして、Webアプリケーションと同じバージョンのADFデスクトップ統合をインストールします。ADFデスクトップ統合クライアントのインストールの詳細は、3.5項「ADFデスクトップ統合のインストール」を参照してください。

エラー・メッセージ: 404エラー - サーブレットが見つかりません

原因: web.xmlデプロイメント・ディスクリプタの設定がWorkbook.RemoteServletPathプロパティの値と同期していません。

処置: 「ワークブック・プロパティ」エディタを開いてWorkbook.RemoteServletPathプロパティの値を確認します。

エラー・メッセージ: キャッチされない例外が、リフレクション経由でコールされたメソッドによりスローされました。(HRESULTからの例外: 0x80131604)

原因: Microsoft .NETプログラミング・サポートが有効化されていません。

処置: Microsoft .NETプログラミング・サポートを有効化します。詳細は、3.3項「Microsoft .NETプログラミング・サポートの有効化」を参照してください。

エラー・メッセージ: このWebサーバーはBasic認証により制御されており、Secure Socket Layer (SSL)を使用しないため、このWebサーバーへのアクセスは無効です。

原因: ユーザーが、Microsoft Office 2010を使用して公開されたワークブックを、Basic認証を使用して保護されているFusion Webアプリケーションからダウンロードして開こうとしています。

処置: デフォルトでは、Microsoft Office 2010アプリケーションは非SSL接続を介したBasic認証を無効にします。このエラーを解決するには、次のいずれかの方法を使用します。

- Fusion WebアプリケーションでBasic認証のかわりにフォームベース認証を使用します。

- 保存したワークブックをダウンロードしてから開きます。

- SSL暗号化を有効にします。

SSLを経由しないBasic認証を使用する場合は、Microsoftサポートのソリューション(http://support.microsoft.com/kb/2123563)を参照してください。

問題: ADFデスクトップ統合のインストール後、統合Excelワークブックに「Oracle ADF」タブが表示されません。

原因: ADFデスクトップ統合のアドインがExcelで有効化されていません。

処置: Excelの「Options」ダイアログで、ADFデスクトップ統合アドインを有効にします。Excelで「Microsoft Office」ボタンをクリックし、「Excel Options」をクリックして「Excel Options」ダイアログを開きます。「Add-Ins」タブで「Manage」ドロップダウン・リストを開いてCOM Add-ins」を選択し、「Go」をクリックします。「COM Add-ins」ダイアログで、「Oracle ADF Desktop Integration Add-in for Excel」チェック・ボックスを選択し、「OK」をクリックします。

エラー・メッセージ: プログラミングによる Visual Basic プロジェクトへのアクセスは信頼性に欠けます

原因: Excelのマクロ設定が有効化されていません。

処置: 「セキュリティ センター」ダイアログの「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」チェック・ボックスが選択されていることを確認します。詳細は、3.4項「ADFデスクトップ統合からMicrosoft Excelへのアクセスを許可する」を参照してください。

問題: Fusion Webアプリケーションから統合Excelワークブックをダウンロードする際に「編集オプション」ダイアログが表示され、WebAppRootを要求されます。

原因: web.xmlでadfdiExcelDownloadフィルタが正しく構成されていないため、ダウンロードされるワークブックにこのフィルタがWebAppRootプロパティを設定できません。

処置: web.xml内にadfdiExcelDownloadフィルタが正しく構成されていることを確認します。このフィルタを使用している場合、それがADFライブラリWebアプリケーション・サポートに対して正しい順序で指定されていることを確認します。また、adfdiExcelDownloadフィルタのフィルタ・マッピングが正しいことも確認してください(E.2項「ADFデスクトップ統合Excelダウンロード・フィルタの構成」を参照)。また、ブラウザによりファイルがダウンロードされるディレクトリをクリアする必要もあります。

D ワークブック管理ツールの使用

この付録では、ワークブック管理ツールの使用方法を説明します。このツールを使用して、Fusion Webアプリケーションと統合するワークブックを管理できます。

この付録の内容は次のとおりです。

- D.1項「ワークブック管理ツールの使用」

D.1 ワークブック管理ツールの使用

最終の統合Excelワークブックを公開した後、ワークブック管理ツールを使用して、WebAppRootなどの様々なワークブック・プロパティの値を設定します。このツールは、統合Excelワークブックを公開した後にFusion WebアプリケーションのURLが変更された場合などに使用します。

また、ワークブックの設定を変更しようとしてもできない場合や、E.2項「ADFデスクトップ統合Excelダウンロード・フィルタの構成」で説明しているHTTPフィルタの値を設定しない場合にも使用できます。

ワークブック管理ツールはJavaベースのプログラムであり、Oracle ADFで使用されているJavaのバージョンをサポートするオペレーティング・システムで実行できます。また、次のディレクトリにあるadf-desktop-integration-admin-tool.jarファイルにアクセスする必要があります。

MW_HOME\jdeveloper\adfdi\lib

第3章「開発環境の設定」で示したような、ADFデスクトップ統合でのコンポーネントやユーティリティのその他の要件は、ワークブック管理ツールに適用されません。

ワークブック管理ツールを使用してワークブックの設定を変更するには:

- コマンドライン・コンソールを開いて次のコマンドを実行します。

java -cp adf-desktop-integration-admin-tool.jar oracle.adf.desktopintegration.admintool.WorkbookAdminTool <arg(s)>

<arg(s)>は、表D-1に示す1つ以上の必須またはオプションの引数です。

表D-1 ワークブック管理ツールのコマンドライン・オプション

値を指定する引数

目的

引数の値は必須か

-workbook

更新するワークブックのディレクトリ・パスを指定します。

はい

-root

このプロパティの値を、デスクトップ・アプリケーションを統合するWebアプリケーションの完全修飾URLに設定します。

いいえ

-mode

ワークブックのモードを次のいずれかに変更します。

- RT
RTは実行時モードを示します。

- DT
DTは設計モードを示します。

- TST
TSTはテスト・モードを示します。

ワークブックのモードの詳細は、5.1項「開発ツールについて」を参照してください。

いいえ

-out

出力ファイルのディレクトリ・パスおよびファイル名を指定します。

はい

-quiet

詳細出力が生成されないようにする場合に、この引数を指定します。

いいえ

-help

ヘルプ情報を出力します。

いいえ

次のコマンドは、Fusion Webアプリケーション(http://hostname:7101/FODADFBC)に対して実行時モード(RT)でワークブックのコピー(text.xlsx)を作成し、新しいファイル名(myresult.xlsx)でディレクトリに書き込みます。

java -cp adf-desktop-integration-admin-tool.jar oracle.adf.desktopintegration.admintool.WorkbookAdminTool -workbook test.xlsx -mode RT -root http://hostname:7101/FODADFBC -out myresult.xlsx

E Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定

この付録では、Fusion Webアプリケーションでの使用を可能にするためにADFデスクトップ統合サーブレット(adfdiRemote)に対して設定する値について説明します。また、この付録では、ADFデスクトップ統合に同梱されているHTTPフィルタの動作を決めるデプロイメント・ディスクリプタ・ファイルの値について説明します。さらに、これらの値の使用例を示すデプロイメント・ディスクリプタ・ファイルからの抜粋を提供します。

この付録の内容は次のとおりです。

- E.1項「ADFデスクトップ統合サーブレットの構成」

- E.2項「ADFデスクトップ統合Excelダウンロード・フィルタの構成」

- E.3項「デプロイメント・ディスクリプタ・ファイルの例」

注意:

ADFデスクトップ統合およびADFライブラリWebアプリケーション・サポートをデスクトップ統合プロジェクトに追加すると、この付録で説明するweb.xmlファイルに自動的にエントリが生成されます。詳細は、4.2項「Fusion Webアプリケーションへの統合Excelワークブックの追加」を参照してください。

E.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_11.1.1

MW_HOMEはミドルウェア・ホーム・ディレクトリです。

4.2項「Fusion Webアプリケーションへの統合Excelワークブックの追加」の説明に従ってADFデスクトップ統合をプロジェクトに追加すると、Fusion Webアプリケーションでサーブレット(DIRemoteServlet)を有効化するために必要なエントリを使用して、デプロイメント・ディスクリプタが自動的に構成されます。必要であれば、サーブレットを手動で構成できます。

ADFデスクトップ統合サーブレットを構成するには:

1. JDeveloperで、対象となるADFデスクトップ統合プロジェクトのデプロイメント・ディスクリプタ・ファイル(web.xml)を探して開きます。
通常、このファイルはプロジェクトのWEB-INFディレクトリにあります。

2. 「サーブレット」ページをクリックして「追加」アイコンをクリックし、「サーブレット」表に行エントリを作成します。このアイコンは、「サーブレット」表の右上隅にあります。

Fusion WebアプリケーションでadfdiRemoteサーブレットを有効化するために、表E-1に従って値を入力します。

表E-1 adfdiRemoteサーブレットを有効化するための値

プロパティ

入力する値

名前

adfdiRemote

型

サーブレット・クラス

サーブレット・クラス/JSPファイル

oracle.adf.desktopintegration.servlet.DIRemoteServlet

3. 「サーブレット」ページで「サーブレット・マッピング」タブ→「追加」アイコンをクリックして、「サーブレット・マッピング」表に行を作成します。
Fusion WebアプリケーションでadfdiRemoteサーブレットのURLパターンを追加するために、表E-2に従って値を入力します。入力する値は、統合ExcelワークブックでRemoteServletPathワークブック・プロパティに対して指定する値と一致する必要があります。これらの値では、大/小文字が区別されます。

表E-2 adfdiRemoteサーブレットにURLパターンを追加するための値

プロパティ

入力する値

URLパターン

/adfdiRemoteServlet

図E-1に、Master Price Listモジュールのweb.xmlの「サーブレット」ページを示します。

図E-1 デプロイメント・ディスクリプタの「サーブレット」ページ

4. 「フィルタ」ページをクリックし、「フィルタ」表にadfBindingsフィルタが含まれているかどうか確認します。エントリが存在する場合はそれを選択し、次の手順に進みます。該当するエントリがない場合は、「追加」アイコンをクリックして「フィルタ」表に行エントリを作成します。このアイコンは、「フィルタ」表の右上隅にあります。
ADFバインディング・フィルタをadfdiRemoteサーブレットに追加するために、表E-3に従って値を入力します。

表E-3 adfdiRemoteサーブレットにバインディング・フィルタを追加するための値

プロパティ

入力する値

名前

adfBindings

クラス

oracle.adf.model.servlet.ADFBindingFilter

5. 「フィルタ」ページで「フィルタ・マッピング」タブ→「追加」アイコンをクリックして、「フィルタ・マッピング」表に行を作成します。
マッピング・フィルタをadfdiRemoteサーブレットに追加するために、表E-4に従って値を入力します。このフィルタ・マッピングは、手順2のサーブレットの名前と一致する必要があります。

表E-4 adfdiRemoteサーブレットにマッピング・フィルタを追加するための値

プロパティ

入力する値

マッピング・タイプ

サーブレット

マッピング

adfdiRemote

図E-2に、Master Price Listモジュールのweb.xmlの「フィルタ」ページを示します。

図E-2 デプロイメント・ディスクリプタの「フィルタ」ページ

6. デプロイメント・ディスクリプタ・ファイルを保存して、行った変更を適用するためにADFデスクトップ統合プロジェクトを再ビルドします。

E.2 ADFデスクトップ統合Excelダウンロード・フィルタの構成

ADFデスクトップ統合の次のディレクトリに格納されているadf-desktop-integration.jarに、HTTPフィルタが含まれています。

MW_HOME\oracle_common\modules\oracle.adf.desktopintegration_11.1.1

MW_HOMEはミドルウェア・ホーム・ディレクトリです。

エンド・ユーザーがFusion Webアプリケーションから統合Excelワークブックをダウンロードする前に、アプリケーションによってHTTPフィルタが起動されて統合Excelワークブックで変更が行われるように、Fusion Webアプリケーションのデプロイメント・ディスクリプタ・ファイル(web.xml)でエントリを構成します。この変更が行われることにより、エンド・ユーザーが開いたときに統合Excelワークブックが正しく機能します。HTTPフィルタは次の変更を行います。

- WebAppRoot
このプロパティの値を、エンド・ユーザーによる統合Excelワークブックのダウンロード元となるFusion Webアプリケーションの完全修飾URLに設定します。

- ワークブックのモード
統合Excelワークブックが誤って設計モードまたはテスト・モードのままになっている場合に、ワークブックのモードを実行時モードに変更します。

注意:

adfdiExcelDownloadフィルタを使用しない場合は、かわりにワークブック管理ツールを使用して、ワークブックでWebAppRootプロパティを設定できます。詳細は、D.1項「ワークブック管理ツールの使用」を参照してください。

デフォルトでは、プロジェクトでADFデスクトップ統合を有効化すると、JDeveloperによってADFデスクトップ統合プロジェクトにHTTPフィルタが追加されます。

HTTPフィルタを構成するには:

1. JDeveloperで、対象となるADFデスクトップ統合プロジェクトのデプロイメント・ディスクリプタ・ファイル(web.xml)を探して開きます。
通常、このファイルはプロジェクトのWEB-INFディレクトリにあります。

2. 「フィルタ」ページをクリックし、「フィルタ」表にadfBindingsフィルタが含まれていることを確認します。エントリが存在する場合はそれを選択し、次の手順に進みます。該当するエントリがない場合は、「追加」アイコンをクリックして「フィルタ」表に行エントリを作成します。
フィルタを作成するため、または値を構成して既存のHTTPフィルタを変更するために、表E-5に従って値を入力します。

表E-5 HTTPフィルタを構成するためのプロパティ

プロパティ

入力する値

名前

adfdiExcelDownload

クラス

oracle.adf.desktopintegration.filter.DIExcelDownloadFilter

表示名

(オプション)「一般フィルタ」タブで、JDeveloperに表示されるフィルタの表示名を入力します。

説明

(オプション)「一般フィルタ」タブで、フィルタの説明を入力します。

3. 「フィルタ」ページで「フィルタ・マッピング」タブ→「追加」アイコンをクリックして、「フィルタ・マッピング」表に行を作成します。
表E-6に従って値を入力し、デフォルトのファイル形式(.xlsx)を使用する統合Excelワークブックのフィルタ・マッピングを追加します。

表E-6 フィルタ・マッピングを構成するためのプロパティ

プロパティ

入力する値

マッピング・タイプ

URLパターン

マッピング

*.xlsx

ディスパッチャ・タイプ

このプロパティには値は不要です。

4. 表E-7に従って値を入力し、マクロ有効ワークブック形式(.xlsm)を使用する統合Excelワークブック用に、別のフィルタ・マッピングを追加します。

表E-7 フィルタ・マッピングを構成するためのプロパティ

プロパティ

入力する値

マッピング・タイプ

URLパターン

マッピング

*.xlsm

ディスパッチャ・タイプ

このプロパティには値は不要です。

図E-3に、Master Price Listモジュールのweb.xmlの「フィルタ」ページを示します。

図E-3 デプロイメント・ディスクリプタの「フィルタ」ページ

5. 「アプリケーション」ページをクリックし、「MIMEマッピング」セクションを開いて「追加」アイコンをクリックします。
表E-8に従って値を入力し、デフォルトのファイル形式(.xlsx)を使用する統合ExcelワークブックのMIMEタイプを追加します。

表E-8 MIMEマッピングを追加するためのプロパティ

プロパティ

入力する値

拡張子

*.xlsx

MIMEタイプ

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

6. 表E-9に従って値を入力し、マクロ有効ワークブック形式(.xlsm)を使用する統合Excelワークブック用に、別のMIMEタイプを追加します。

表E-9 MIMEマッピングを追加するためのプロパティ

プロパティ

入力する値

拡張子

*.xlsm

MIMEタイプ

application/vnd.ms-excel.sheet.macroEnabled.12

図E-4に、Master Price Listモジュールのweb.xmlの「アプリケーション」ページを示します。

図E-4 デプロイメント・ディスクリプタの「アプリケーション」ページ

7. デプロイメント・ディスクリプタ・ファイルを保存して、行った変更を適用するためにADFデスクトップ統合プロジェクトを再ビルドします。

web.xmlファイルでフィルタおよびフィルタ・マッピング情報を更新する際には、Fusion Webアプリケーションから統合Excelワークブックをダウンロードできるように、adfdiExcelDownloadフィルタ・エントリの下にADFライブラリWebアプリケーション・サポート(<filter-name>ADFLibraryFilter</filter-name>)が表示されるようにしてください。

E.3 デプロイメント・ディスクリプタ・ファイルの例

次の例は、ADFデスクトップ統合が含まれているFusion Webアプリケーションのweb.xmlファイルからの抜粋で、デスクトップ統合プロジェクト用に構成するエントリを示しています。フィルタの順序の詳細は、4.4.4項「ADFデスクトップ統合をJDeveloperプロジェクトに追加する際の処理」を参照してください。

<filter>
<filter-name>adfBindings</filter-name>
<filter-class>
oracle.adf.model.servlet.ADFBindingFilter</filter-class>
</filter>
<filter>
<filter-name>adfdiExcelDownload</filter-name>
<filter-class>
oracle.adf.desktopintegration.filter.DIExcelDownloadFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<servlet-name>adfdiRemote</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>adfdiExcelDownload</filter-name>
<url-pattern>*.xlsx</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfdiExcelDownload</filter-name>
<url-pattern>*.xlsm</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>adfdiRemote</servlet-name>
<servlet-class>
oracle.adf.desktopintegration.servlet.DIRemoteServlet
</servlet-class>
</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>

F オーバーライド可能なリソースの文字列キー

この付録では、オーバーライド可能な予約済リソース・バンドルの文字列キーについて説明します。

表F-1に、文字列キーおよび対応する現在の英語の値を示します。表F-1の文字列キーおよび実行時に表示する値を定義するための、リソース・バンドルを作成します。予約済リソース・バンドルのオーバーライド方法は、10.2.3項「構成不可能なリソースの上書き方法」を参照してください。

表F-1 予約済リソース・バンドルの文字列キーおよび値

実行時の文字列キー値の表示対象

文字列キー

ADFデスクトップ統合の予約済リソース・バンドルの英語の値

説明

Upload Options

UPLOAD_OPTIONS_TITLE

Upload Options

Upload Options

UPLOAD_OPTIONS_PROMPT

Specify options to use during the Upload operation

Upload Options

UPLOAD_OPTIONS_CONTINUE_ON_FAIL_LABEL

On failure, continue to upload subsequent rows

Upload Options

UPLOAD_OPTIONS_DOWNLOAD_AFTER_LABEL

Download all rows after successful upload

Table.Download

DOWNLOAD_OVERWRITE_TITLE

Download

Table.Download

DOWNLOAD_OVERWRITE_PROMPT

Do you wish to discard the pending changes?

Table.Download

ROWLIMIT_WARNINGS_TITLE

Row limit exceeded

Table.Initialize

INITIALIZE_OVERWRITE_TITLE

Initialize

Table.Initialize

INITIALIZE_OVERWRITE_PROMPT

Do you wish to discard the pending changes?

Workbook.ClearAllData

CLEARDATA_CONFIRM_TITLE

Clear all data

Workbook.ClearAllData

CLEARDATA_CONFIRM_PROMPT

This command will log you out of your current session and clear all the data from all worksheets in the workbook.Are you sure?

Workbook.Logout

LOGOUT_STATUS_TITLE

Logout

Workbook.Logout

LOGOUT_STATUS_PROMPT

You have been logged out from your current session.

Table.Upload

COMPONENTS_TABLE_DYN_COLS_NOT_AVAIL_TITLE

Upload

Table.Upload

COMPONENTS_TABLE_DYN_COLS_NOT_AVAIL_PROMPT

One or more dynamic columns is no longer available, do you wish to continue?

表のステータス

UPLOAD_STATUS_NO_UPDATES

No updates detected

表のステータス

TABLE_UPLOAD_RECORD_NOT_FOUND

Record not found

表のステータス

TABLE_UPLOAD_CANNOT_INSERT_MORE_THAN_ONCE

Cannot insert record more than once

表のステータス

TABLE_COMMIT_FAILED_1

See Error Detail {0}

{0}はバッチ番号です。

表のステータス

TABLE_COMMIT_FAILURE_DETAILS_2

Error Detail {0}:{1}

{0}はバッチ番号です。

{1}はエラー・メッセージです。

表のステータス

TABLE_UPLOAD_ROW_UPDATE_SUCCESS

Row updated successfully

表のステータス

TABLE_UPLOAD_ROW_INSERT_SUCCESS

Row inserted successfully

表のステータス

TABLE_UPLOAD_ROW_UPDATE_FAILURE

Update failed

表のステータス

TABLE_UPLOAD_ROW_INSERT_FAILURE

Insert failed

表のステータス

TABLE_DELETE_ROW_FAILURE

Delete failed

表のステータス

TABLE_ROW_KEY_VALUE_INVALID

Key value invalid

表のステータス

TABLE_DOWNLOAD_FAILURE

Download failed

表のステータス

TABLE_DOWNLOAD_ROW_FAILURE

Row download failed

表のステータス

TABLE_DOWNLOAD_FLAGGED_FAILURE

Download flagged rows failed

表のステータス

TABLE_DOWNLOAD_FOR_INSERT_FAILURE

Download for insert failed

表のステータス

MESSAGE_DETAILS_NONE

No error details available

表のステータス

MESSAGE_DETAILS_ROW_TITLE

Row Errors

表のステータス

MESSAGE_DETAILS_ROW_PROMPT

Errors for this row:

表のステータス

MESSAGE_DETAILS_TABLE_TITLE

Table Errors

表のステータス

MESSAGE_DETAILS_TABLE_PROMPT

Error details for this table:

表のステータス

表のエラー

ワークシート・エラー

MESSAGE_DETAILS_HELP_LABEL

Click on each error to reveal additional information

エラー・リストに表示されます。

表のステータス

表のエラー

ワークシート・エラー

MESSAGE_LABEL_DEFAULT_CONTEXT

アクション

ワークシート・エラー

MESSAGE_DETAILS_WORKSHEET_TITLE

Worksheet Errors

ワークシート・エラー

MESSAGE_DETAILS_WORKSHEET_PROMPT

Error details for this worksheet:

ワークシート・エラー

MESSAGE_DETAILS_PARSE_FAILURE

A problem has occurred while retrieving the error details.The information is no longer available.

ワークシート・エラー

MESSAGE_LABEL_FAILED_1

{0} failed

{0}はコンテキスト・ラベルです。

Workbook.Login

LOGIN_WINDOW_TITLE

Login

Workbook.Login

LOGIN_CONFIRM_CONNECT_2

You are about to connect to the following application:\n{0}\nand\n{1}\n\nDo you want to connect?

{0}および{1}は、アプリケーションで使用するURLです。

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?

注意:

表F-1に記載されているキーは、次の構文のEL式には使用できません。

#{_ADFDIres['key']}

G ADFデスクトップ統合でサポートされるJavaのデータ型

この付録では、ADFデスクトップ統合プロジェクトでサポートされるJavaのデータ型のリストを提供します。

Javaプリミティブ型

- long

- int

- short

- boolean

- double

- float

Javaオブジェクト型

- java.lang.Long

- java.lang.Integer

- java.lang.Short

- java.lang.Boolean

- java.lang.String

- oracle.jbo.domain.Date

- oracle.jbo.domain.Timestamp

- oracle.jbo.domain.TimestampLTZ

- oracle.jbo.domain.TimestampTZ

- java.util.Date

- java.sql.Date

- java.sql.Time

- java.sql.Timestamp

- java.lang.Double

- java.lang.Float

- java.math.BigDecimal

- oracle.jbo.domain.RowID

- oracle.jbo.domain.Number

H ADFデスクトップ統合モデルAPIの使用

この付録では、ツリー・ノード・バインディングに使用可能な実際の行がない場合に、アップロード・プロセスで渡される属性値にアクセスするために、ADFデスクトップ統合モデルAPIライブラリを使用してカスタムのApplicationModuleメソッドを有効化する方法について説明します。

この付録の内容は次のとおりです。

- H.1項「一時行オブジェクトの概要」

- H.2項「ADFデスクトップ統合モデルAPIの概要」

- H.3項「ADFデスクトップ統合モデルAPIのクラスおよびメソッド」

H.1 一時行オブジェクトの概要

各ADF表コンポーネントは、ページ定義内で定義されているツリー・バインディングにバインドされます。各ツリー・コントロール・バインディングには、1つ以上のノードが定義されています。親子関係の場合、ツリー・バインディングには2つのノードがあり、一方は親表用、もう一方は子表用です。実行時に、ADF表コンポーネントは各ワークシート行に親と子の両方の属性を表示します。アップロード時に、ADFデスクトップ統合は親ノードと子ノードの両方に属性値を設定します。

特定の状況では、Table.Uploadリクエストの処理中に使用できる実際のデータ行が特定のツリー・ノードにないことがあります。ツリー・ノードにデータがない場合について、一般的な2つのシナリオを次に示します。

- ツリー・ノードのイテレータ結果セットに、使用できるデータ行がありません。この原因は、ゼロ行を戻す問合せの可能性があります。

- 親子関係で外部キーが親表に移入されていない場合は、親と子のツリー・ノード間のリンクに実際の行が含まれていない可能性があります。

状況によっては、サーバー上に使用可能な実際の行がない場合でも、エンド・ユーザーがワークシートに値を入力してサーバーにアップロードできるようにすることがあります。アップロード時に、ADFデスクトップ統合は一時行オブジェクトを作成し、ワークシート行からアップロードされた値を格納します。ADFデスクトップ統合モデルAPIを使用すると、カスタムのJavaコードを記述して一時行オブジェクトにアクセスし、その値を収集できます。

アップロード時にカスタムのJavaコードをコールするには、pageDefアクション・バインディングを介してカスタムのJavaコードを公開し、ADF表コンポーネントのUpdateRowActionIDまたはInsertAfterRowActionIDを構成してpageDefアクション・バインディングを指すようにする必要があります。

H.2 ADFデスクトップ統合モデルAPIの概要

データをアップロードする際にADF表コンポーネントのツリー・ノードに実際の行がない場合、ADFデスクトップ統合のリモート・サーブレットにより、属性値を格納する一時行オブジェクトが作成されます。一時行オブジェクトおよびその属性値にアクセスするには、ADFデスクトップ統合モデルAPIライブラリを使用するカスタムのJavaコードを記述する必要があります。

注意:

EJBまたはTopLinkのデータ・コントロールでは、ADFデスクトップ統合モデルAPIはサポートされていません。

APIで使用できるクラスおよびメソッドの詳細は、H.3項「ADFデスクトップ統合モデルAPIのクラスおよびメソッド」を参照してください。

H.2.1 JDeveloperプロジェクトへのADFデスクトップ統合モデルAPIライブラリの追加方法

通常、ADFデスクトップ統合モデルAPIライブラリはアプリケーションのデータ・モデル・プロジェクトに追加します。このライブラリは独立ライブラリで、いずれの機能にも含まれません。これは「プロジェクト・プロパティ」ダイアログ・ボックスを介して追加できます。

ADFデスクトップ統合モデルAPIライブラリをプロジェクトに追加するには:

1. 「アプリケーション・ナビゲータ」でデータ・モデル・プロジェクトを右クリックし、「プロジェクト・プロパティ」を選択します。

2. 「プロジェクト・プロパティ」ダイアログで、「ライブラリとクラスパス」を選択して、使用可能なライブラリのリストを表示します。

3. 「ライブラリの追加」ダイアログ・ボックスで「ライブラリの追加」をクリックし、「ADFデスクトップ統合モデルAPI」ライブラリを選択します。

図H-1 「ライブラリの追加」ダイアログ

4. 「OK」をクリックします。ライブラリ名が「クラスパス・エントリ」リストに追加されます。

5. 「OK」をクリックして「プロジェクト・プロパティ」ダイアログ・ボックスを閉じます。

H.3 ADFデスクトップ統合モデルAPIのクラスおよびメソッド

ADFデスクトップ統合モデルAPIライブラリには1つのpublicクラスがあり、一時行オブジェクトを取得するためのAPIが含まれています。

H.3.1 oracle.adf.desktopintegration.model.ModelHelperクラス

ModelHelperクラスはpublicクラスであり、モデルAPIを公開します。次の各項で、このクラスで使用できるメソッドについて説明します。

H.3.1.1 getAdfdiTempChildRowメソッド

このメソッドは、特定のマスター行に関連付けられている一時子行オブジェクト(ViewRowImplオブジェクト)を参照するために使用します。使用可能な実際のViewRowImplオブジェクトがない場合には、必要に応じてサーブレット・コードによって一時オブジェクトViewRowImplが作成され、属性値が格納されます。

このメソッドは、ワークシートから送られる、属性値を含む一時子オブジェクトViewRowImplを戻します。

メソッド構文

public static final ViewRowImpl getAdfdiTempChildRow(ViewRowImpl masterRow, java.lang.String childAccessor)

パラメータ

- masterRow – マスター行オブジェクト

- childAccessor – 子属性名

H.3.1.2 getAdfdiTempRowForViewメソッド

このメソッドは、特定のビューに関連付けられている一時子行オブジェクト(ViewRowImplオブジェクト)を参照するために使用します。使用可能な実際のViewRowImplオブジェクトがない場合には、必要に応じてサーブレット・コードによって一時オブジェクトViewRowImplが作成され、属性値が格納されます。

このメソッドは、ワークシートから送られる、属性値を含む一時子オブジェクトViewRowImplを戻します。

メソッド構文

public static final ViewRowImpl getAdfdiTempRowForView(ApplicationModuleImpl am,java.lang.String viewDefName)

パラメータ

- am – アプリケーション・モジュール・インスタンス

- viewDefName – ビュー定義名

H.3.1.3 getChildViewDefメソッド

このメソッドは、ビュー・リンクの宛先属性によって1つ以上の子識別子属性が指定される場合に、多相子ビュー定義を参照するために使用します。マスター行のソース属性は、ViewObjectImpl.findViewDefFromDiscrValues APIを介して正しい多相子ビュー定義を参照します。子識別子属性が定義されていない場合、または子ビューが多相でない場合は、デフォルトの子オブジェクトViewDefImplが戻されます。

このメソッドは、ワークシートから送られる、属性値を含む一時子オブジェクトViewRowImplを戻しますが、オブジェクトが見つからない場合はNULLを戻します。

メソッド構文

public static final ViewDefImpl getChildViewDef(ViewRowImpl masterRow,java.lang.String childAccessor)

パラメータ

- masterRow – マスター行オブジェクト

- childAccessor – 子属性名

I エンド・ユーザーのアクション

この付録では、アプリケーションおよび統合Excelワークブックの使用時にエンド・ユーザーが実行するアクションについて説明します。たとえば、ADFデスクトップ統合のランタイム・エディションのインストール、統合Excel以外のワークブックからのデータのインポート、実行時のワークブックの変更、ワークブックでの日付/時刻の値のタイムゾーン変換の処理について説明します。

この付録で説明するアクションは、開発したFusion WebアプリケーションがMaster Price Listモジュールのように機能することを前提としています。

この付録の内容は次のとおりです。

- I.1項「ADFデスクトップ統合のランタイム・エディションのインストール」

- I.2項「統合されていないExcelワークシートからのデータのインポート」

- I.3項「個人情報の削除」

- I.4項「実行時の統合Excelワークブックの変更」

- I.5項「実行時の統合Excelワークブックの制限」

- I.6項「統合Excelワークブックの使用」

- I.7項「タイムゾーン変換の処理」

I.1 ADFデスクトップ統合のランタイム・エディションのインストール

ADFデスクトップ統合および統合Excelワークブックをエンド・ユーザーが使用できるようにするために、開発者はADFデスクトップ統合のランタイム・エディションをインストールする必要があります。

ADFデスクトップ統合の設定ツールを実行すると、必要なソフトウェアがシステムにインストールされているかどうかが検証されます。必要なソフトウェアの詳細は、次の項を参照してください。

- 3.2項「必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア」

- 3.3項「Microsoft .NETプログラミング・サポートの有効化」

- 3.4項「ADFデスクトップ統合からMicrosoft Excelへのアクセスを許可する」

注意:

ADFデスクトップ統合のランタイム・エディションのインストールには、JDeveloperは必要ありません。

ADFデスクトップ統合のランタイム・エディションをインストールするには:

1. MW_HOME\oracle_common\modules\oracle.adf.desktopintegration_11.1.1ディレクトリ(MW_HOMEはミドルウェア・ホーム・ディレクトリ)にナビゲートします。

2. adfdi-excel-runtime-client-installer.zipの内容を一時ディレクトリに抽出します。

3. adfdi-excel-runtime-client-installer.zipファイルの抽出先ディレクトリにあるsetup.exeファイルを実行します。
図I-1に、setup.exeファイルの場所およびランタイム・エディションのインストールの例を示します。

図I-1 ADFデスクトップ統合のランタイム・エディションのインストール

4. setup.exeで起動したダイアログ・ボックスに表示される手順に従い、必要なコンポーネントを正しくインストールします。

5. プロンプトが表示された場合は「はい」をクリックしてシステムを再起動し、ADFデスクトップ統合の設定を完了します。

注意:

ADFデスクトップ統合のランタイム・エディションは、JDeveloperからインストールできません。

ADFデスクトップ統合のデザイナ・エディションとランタイム・エディションの両方を、同じシステムにインストールすることはできません。一方をインストールする前に、もう一方をアンインストールする必要があります。

I.2 統合されていないExcelワークシートからのデータのインポート

統合ExcelワークブックのADF表コンポーネントを使用して、Fusion Webアプリケーションにデータ行の大規模なバッチをアップロードする場合、エンド・ユーザーは、統合されていないExcelワークシートでこれらのデータ行を準備できます。その後、ADF表コンポーネントのUploadアクションを起動する前に、ADF表コンポーネントにデータを挿入できます。

統合されていないExcelワークブックでデータを準備するには:

1. 統合されていないExcelワークシートで、統合ExcelワークブックのADF表コンポーネントのレイアウトと一致するように、データのレイアウトを配置します。

たとえば、ADF表コンポーネントにProduct、PriceおよびDescriptionなどの列が含まれている場合、統合されていないExcelワークシートでこのレイアウトを複製します。

ヒント:

ADF表コンポーネントの列ヘッダーを、統合されていないExcelワークシートにコピーします。

2. Excelの機能を使用して、手順1で配置した、統合されていないExcelワークシートの列の下に、データ行をインポートします。

3. TreeNodeListサブコンポーネントを使用するADF表コンポーネントの列に挿入される行の値は、値リストに含まれる選択肢の1つと一致する必要があります。

ヒント:

このような行に対して適切な制約が定義され、複製が可能になるように、ADF表コンポーネントの行を統合Excelワークブックから同じワークブックの別のワークシートへコピーします。

統合されていないExcelワークブックからADF表コンポーネントへデータを挿入するには:

1. ADF表コンポーネントで、n行のダウンロードされた既存の行またはADF表コンポーネントの最後にある新しい行を選択します(nは挿入する行数)。

2. 右クリックしてExcelのポップアップ・メニューから「挿入」を選択します。

3. 統合されていないExcelワークシートで、手順2で作成したADF表コンポーネントの行に挿入するセルを選択します。

警告:

統合されていないExcelワークシートで、行や列ではなく、セルを選択してください。

4. Excelメニューで「ホーム」→「コピー」を選択します。

5. ADF表コンポーネントで、手順2で挿入した行の左上隅のセルを選択します。

6. Excelメニューで「ホーム」→「貼り付け」を選択します。

注意:

ADF表コンポーネントを含む統合Excelワークシートでは、A列は表示されません。

7. 7.8項「ADF表コンポーネントから変更をアップロードするためのADFコンポーネントの構成」に従って構成した専用の機能を使用して、ADF表コンポーネントのUploadアクションを起動できます。

I.3 個人情報の削除

Excelワークブックと統合するFusion Webアプリケーションで、シングル・サインオンなどのセキュリティ・メカニズムを使用する場合、 エンド・ユーザーが統合ExcelワークブックにアクセスするシステムのCookieに、個人識別情報を格納できます。エンド・ユーザーは、Microsoft Internet Explorerを使用してこの情報を削除できます。エンド・ユーザーは、アクティブなCookieベースのWebセッションをすべて無効にするために、ログアウトしてすべての統合Excelワークブックを閉じる必要があります。

個人情報の削除の詳細は、Microsoft Internet Explorerのドキュメントを参照してください。

I.4 実行時の統合Excelワークブックの変更

開発者が第14章「統合Excelワークブックのデプロイ」に従って最終の統合Excelワークブックを公開およびデプロイした後、エンド・ユーザーは実行時にワークブックに対して次の変更を行えます。

- ADF表コンポーネントまたはADF読取り専用表コンポーネントからの列の削除

- ADFボタン・コンポーネント以外のADFコンポーネントを移動するためのセルのドラッグ・アンド・ドロップ

- ADF表コンポーネントへの新しい行の挿入

- ADF表コンポーネントまたはADF読取り専用表コンポーネントの列の順序変更

- ADF表コンポーネントまたはADF読取り専用表コンポーネントの列間への統合されていない列の挿入

ただし、実行時のワークブックへの変更には、統合の破損を引き起こす、サポート対象外のものもあります。たとえば、ADF表コンポーネントまたはADF読取り専用表コンポーネントの最初の列を、実行時に削除したり移動することはできません。実行時に許可されない変更の詳細は、I.5項「実行時の統合Excelワークブックの制限」を参照してください。

I.5 実行時の統合Excelワークブックの制限

ADFデスクトップ統合コンポーネントの実行時の変更には、既知の制限があります。

- ADF読取り専用表コンポーネントの列の移動 – エンド・ユーザーがADF読取り専用表コンポーネントの列を移動して表の一番左の列にした場合、エンド・ユーザーがデータをダウンロードしようとすると、ADFデスクトップ統合によって例外が生成されます。
この問題を解決するには、変更を保存せずにワークブックを閉じて開きなおす必要があります。

- 統合Excelワークシートの削除 – エンド・ユーザーが統合Excelワークシートを削除した場合、エンド・ユーザーが統合Excelワークブックを保存しようとすると、ADFデスクトップ統合によって例外が生成されます。
この問題を解決するには、変更を保存せずにワークブックを閉じて開きなおす必要があります。

その他の既知の制限:

- Excelの「条件付き書式」機能は、ADFデスクトップ統合の表コンポーネントでは効果的に使用できません。

- エンド・ユーザーが統合Excelワークシートで拡大または縮小を行うと、ADFボタン・コンポーネントは無効になります。ADFボタン・コンポーネントがアクティブになるのは、ズームが100%の場合のみです。

- Excelの「シートの保護」機能は、統合Excelワークブックと互換性がありません。

I.6 統合Excelワークブックの使用

ADFデスクトップ統合テクノロジおよび統合Excelワークブックを初めて使用するエンド・ユーザーは、次に示す一般的なアクションについて理解しておく必要があります。

- 変更済データのアップロード後にすべての行をダウンロードするには、「アップロード・オプション」ダイアログ・ボックスの「正常にアップロードした後はすべての行をダウンロードします」チェック・ボックスが選択されていることを確認します。

- 変更をアップロードする前に、変更されたすべての行の「変更済」列に、上向き三角形のマークが付いていることを確認してください。上向き三角形をダブルクリックすると、このマークが削除され、関連する行のデータはアップロードされません。

- テキスト・スタイルで書式設定されているセルの数値または日付値の書式が、データのアップロード時にExcelで保持されるようにするには、値を入力する前にアポストロフィ記号(')を追加します。アポストロフィ記号はエスケープ文字として機能するため、値と一緒に表示されません。

- 表のキー列のいずれのセルも、削除、編集またはクリアしないでください。これらの値を変更すると、アップロードの失敗およびデータの破損につながる可能性があります。

- Excelの「シートの保護」または「ブックの保護」の設定を変更しないでください。これらの設定は、「校閲」タブの「変更」グループに含まれています。

- Webアプリケーションと統合されているセルから値を消去するには、Excelのセルを削除するのではなく、セルの値をクリアします。

- Fusion Webアプリケーションがhttpsプロトコル上で実行されていて、クライアントにセキュリティ証明書をインストールしていない場合、統合Excelワークブックではログイン時にエラーが発生し、接続は確立されません。接続を確立するには、セキュリティ証明書をインストールする必要があります。Excelから証明書をインストールできない場合は、Internet Explorerを開いて同じWebサイトにナビゲートします。証明書のインストールを求めるプロンプトが表示されます。

- 一部のADFコンポーネントに含まれるセルが、ダブルクリックに反応してアクションを実行するように構成されていることがあります。ADF表コンポーネントの「ステータス」列のセルは、その一例です。これらのセルを右クリックして、ポップアップ・メニューから「処理の起動」を選択することもできます。

行の挿入または削除、ADF表のデータのソートなどの一般的なアクションについては、後続の項で説明します。

I.6.1 統合ExcelワークブックのADF表コンポーネントに行を挿入する方法

ADF表コンポーネントに行を挿入する際には、ワークシートの行全体を挿入し、すべての必須列にデータを追加します。詳細は、7.5項「データを挿入するためのADF表コンポーネントの構成」を参照してください。

1つ以上の行があるADF表の場合、表の最後の行の後にはプレースホルダ行がありません。そのため、表の最終行の後のワークブック・セルに挿入されたデータは、アップロードされません。最終行の後の行のデータをアップロードするには、Excelの行全体を挿入する必要があります。

ADF表コンポーネントに行を挿入するには:

1. ADF表コンポーネントで行ヘッダーをクリックし、新しい行の挿入位置の下の行全体を選択します。

2. 行を選択した状態で右クリックし、「挿入」を選択します。
選択した行の上に、新しい行が挿入されます。

注意:

- 表ヘッダーから表の最後の行まで、Excelの行全体を挿入します。表の最後の行の後に新しい行を挿入しないでください。

- ADF表にデータ行がない場合は、表の最初の行がプレースホルダ行として機能します。

I.6.2 統合ExcelワークブックのADF表のデータをソートする方法

表のデータをソートするには、Excelの「並べ替えとフィルタ」コマンドを選択します。

特定の列を基準にADF表のデータをソートするには:

1. ソートする列のヘッダーまたは任意のセルを選択します。

2. 「ホーム」タブの「編集」グループで、「並べ替えとフィルタ」をクリックします。ドロップダウン・リスト・オプションから、目的のソート順序を選択します。

複数の列を基準に表のデータをソートするには:

1. 表の任意のセルを選択します。

2. 「ホーム」タブの「編集」グループで、「並べ替えとフィルタ」をクリックして「ユーザー設定の並べ替え」選択します。

3. 「並べ替え」ダイアログで列を追加し、その優先順序を設定します。「先頭行をデータの見出しとして使用する」チェック・ボックスが選択されていることを確認してください。

4. 「OK」をクリックします。

I.6.3 統合ExcelワークブックのADF表の行を削除する方法

行のセルの値をクリアしても行は削除されず、Excelワークシートから行を削除しても、その行はWebアプリケーションから削除されません。

ADF表コンポーネントの行を削除するには、「フラグ付き」列の各セルをダブルクリックして行にフラグを付け、それぞれの削除ボタンをクリックします。行のフラグ付けの詳細は、7.10.2項「ADF表コンポーネントでの行のフラグ付け」を参照してください。

注意:

表に「フラグ付き」列が含まれていない場合、その表から列を削除することはできません。

I.7 タイムゾーン変換の処理

統合Excelワークブックを構成して、日時を表すデータ値の取得、編集および送信を実行できます。システム・タイムゾーンの変更時に日時データを管理するための固有のサポートがExcelには用意されていないため、ADFデスクトップ統合は、ワークブックのタイムゾーンの変更を追跡し、検出します。ワークブックを開いたときにエンド・ユーザーにタイムゾーンの更新を通知し、その後、ワークブックの日時データをシステムの現在のタイムゾーン設定に変換します。

たとえば、アリゾナ(GMT -07:00)にいるエンド・ユーザーがサーバーから統合Excelワークブックへデータをダウンロードし、ワークブックの日時データを編集して保存したものの、アップロードしなかったとします。その後、ソウルに旅行してコンピュータのタイムゾーンの選択をGMT +09:00に変更したとします。このソウルのタイムゾーンに変更した後、エンド・ユーザーがワークブックを開き、メッセージを受信すると、ADFコンポーネントのすべての日時データの値がGMT -07:00(アリゾナ)からGMT +09:00(ソウル)に変換されます。

Copyright © 2009, 2012, Oracle and/or its affiliates. All rights reserved.