この章の内容は次のとおりです。
この章(およびこのガイド全体)では、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の説明に従って、適切に機能するFusion Webアプリケーションが開発されていることを前提としています。
Fusion Webアプリケーションの開発後、この章で説明するタスクを実行して、統合ExcelワークブックとFusion Webアプリケーションを構成します。このガイドのそれ以降の章では、実行時に必要となる機能を提供するOracle ADFコンポーネントで統合ワークブックを構成できます。
注意:
開始する前に、ADFデスクトップ統合のデザイナ・ツールが有効になっていること確認してください。詳細は、「ADFデスクトップ統合のインストール」を参照してください。
ページ定義ファイルは、実行時にOracle ADFコンポーネントにデータを移入するバインディングを定義します。また、このデータに使用する操作やアクションを定義するアクション・バインディングおよびメソッド・アクション・バインディングも参照します。ページ定義ファイルは、Fusion Webアプリケーションと統合するExcelワークシートごとに個別に定義する必要があります。
ADFデスクトップ統合の作業ウィンドウには、ADFデスクトップ統合がバインディング・パレットでサポートしているバインディングのみが表示されます。ページ定義ファイルがADFデスクトップ統合がサポートしないバインディング(グラフ・バインディングなど)を参照する場合、それは表示されません。
表4-1は、ADFデスクトップ統合モジュールがサポートするバインディング・タイプの一覧および説明です。
表4-1 ADFデスクトップ統合コンポーネントのバインディングの要件
ADFデスクトップ統合コンポーネント | サポートされているバインディング | 追加の説明 |
---|---|---|
ADF入力テキスト |
属性バインディング |
|
ADF出力テキスト |
属性バインディング |
|
ADFラベル |
属性とリスト・バインディング |
このADFデスクトップ統合コンポーネントは、コントロール・バインディングのラベル・プロパティを使用します。 |
ADF値リスト |
リスト・バインディング |
|
ADFボタン |
各種 |
ADFデスクトップ統合のADFボタン・コンポーネントは、アクション・セットを起動できます。アクション・セットは、アクション・バインディング、メソッド・アクション・バインディング、ADFデスクトップ統合内のコンポーネントにより公開されるアクションを参照できます。アクション・セットの詳細は、「アクション・セットの使用」を参照してください。 |
ADF読取り専用表 |
ツリー・バインディング |
|
ADF表 |
ツリー・バインディング |
ADFデスクトップ統合内のコンポーネントが使用するバインディングの詳細は、「ADFデスクトップ統合コンポーネントのプロパティとアクション」を参照してください。
ページ定義ファイルの要素と属性の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のpageNamePageDef.xmlに関する項を参照してください。
Fusion WebアプリケーションのADFデータ・バインディングとページ定義ファイルの詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』の「Fusion WebアプリケーションでのADFモデルの使用」の章を参照してください。
JDeveloperプロジェクトで公開するOracle ADFバインディングを決定するページ定義ファイルを、作成および構成します。
開始する前に:
ページ定義ファイルについて理解しておくと役立ちます。詳細は、「統合Excelワークブックのページ定義ファイルの使用」を参照してください。
ADFデスクトップ統合ページ定義ファイルを作成するには:
JDeveloperはページ定義をFusion Webアプリケーションに追加して、新しいページ定義のエディタを開きます。図4-2は、「アプリケーション」ウィンドウでのViewControllerプロジェクトと新しいページ定義を示しています。
図4-2 「アプリケーション」ウィンドウのadfdiPageDefn.xml
ページ定義ファイルの使用の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のページ定義ファイルの使用に関する項を参照してください。
JDeveloperは、「ADFデスクトップ統合ページ定義ファイルの作成方法」の手順を使用して最初にページ定義ファイルをJDeveloperプロジェクトに追加する際に、DataBindings.cpx
ファイルを作成します。
DataBindings.cpx
ファイルは、Fusion Webアプリケーションのバインディング・コンテキストを定義し、実行時に作成されるOracle ADFバインディングの元の構成を提供します。このファイルの使用の詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のDataBindings.cpxファイルでの作業に関する項を参照してください。このファイルの要素と属性の詳細は、同ガイドのDataBindings.cpxに関する項にあります。
JDeveloperデスクトップ統合プロジェクトで、Excelワークシートに関連付けられたページ定義ファイルに変更を加える場合、JDeveloperデスクトップ統合プロジェクトをリビルドして、Excelワークシートにページ定義ファイルをリロードし、ADFデスクトップ統合の作業ウィンドウに変更が表示されるか確認します。「新しい統合Excelワークブックの構成方法」の説明に従って、ページ定義ファイルを選択する際にそれをExcelワークシートに関連付けます。
「Oracle ADF」タブには、すべてのページ定義ファイルをExcelワークブックにリロードするボタンがあります。
ページ定義ファイルに変更を加えた後にJDeveloperデスクトップ統合プロジェクトをリビルドせずにアプリケーションを再起動すると、統合Excelワークブックを設計モードからランタイムに切り替えるときに、エラーが発生することがあります。次に例を示します。
ページ定義ファイルの要素を削除した場合
リビルドせずにFusion Webアプリケーションを再起動した場合
統合Excelワークブックにページ定義ファイルをリロードしない場合
前述の場合にワークブックをテスト・モードに切り替えようとすると、次のようなエラー・メッセージが表示されることがあります。
[ADFDI-05530] unable to initialize worksheet: MyWorksheet [ADFDI-05517] unable to find control MyBindingThatWasRemoved
開始する前に:
ページ定義ファイルについて理解しておくと役立ちます。詳細は、「統合Excelワークブックのページ定義ファイルの使用」を参照してください。
Excelワークブックにページ定義ファイルをリロードするには:
ページ定義ファイルをリロードした後、ワークシートのADFデスクトップ統合の作業ウィンドウに、Fusion Webアプリケーションの関連ページのものと同じバインディングが表示されます。たとえば、図4-3は、ExcelCustomers.xml
ページ定義ファイルのバインディングと、EditCustomers-DT.xlsx
ワークブックのワークシートにある同じバインディングを示します。
図4-3 JDeveloperと統合Excelワークブックのページ定義ファイル
ADFデスクトップ統合プロジェクトのページ定義ファイルについて、次の点に注意してください。
複数のExcelワークシートの統合: Excelワークブックの複数のワークシートをFusion Webアプリケーションと統合できます。「統合Excelワークブックにワークシートを追加する方法」の説明に従って、個別のページ定義ファイルをそれぞれのワークシートに関連付けます。
ページ定義ファイルのEL式: 次の構文を使用して、ページ定義ファイルでEL式を記述してください。
Dynamic (${})
EL式の記述に構文Deferred (#{})
を使用しないでください。この構文を使用したEL式は、使用できないADF Facesコンテキストにアクセスしようとするため、エラーを生成します。
注意:
入力テキスト・コンポーネントなど、統合ExcelワークブックのADFデスクトップ統合コンポーネントに記述するEL式では、Deferred (#{})
構文を使用する必要があります。
Fusion Webアプリケーションは、統合Excelワークブックをプロジェクトに追加する際にADFデスクトップ統合に対して自動的に有効化されます。統合Excelワークブックを使用して、ADFコンポーネントとADFデータ・バインディングを追加できます。
統合Excelワークブックを追加するには、JDeveloperでFusion Webアプリケーションを開いて、「新規ギャラリ」からのプロジェクトにExcelワークブックを追加します。
開始する前に:
ADFデスクトップ統合をFusion Webアプリケーションに追加する方法を理解しておくと役立ちます。詳細は、「Fusion Webアプリケーションへの統合Excelワークブックの追加」を参照してください。
JDeveloper内で統合Excelワークブックを追加するには:
JDeveloperは統合ExcelワークブックをFusion Webアプリケーションに追加して、ADFデスクトップ統合に対してプロジェクトを自動的に有効化します。図4-5は「アプリケーション」ウィンドウのViewControllerプロジェクトを示しています。
図4-5 「アプリケーション」ウィンドウのadfdi-workbook.xlsx
統合Excelワークブックを追加したら、それを構成する必要があります。
開始する前に:
統合ExcelワークブックをFusion Webアプリケーションに追加する方法を理解しておくと役立ちます。詳細は、「Fusion Webアプリケーションへの統合Excelワークブックの追加」を参照してください。
新しい統合Excelワークブックを構成するには:
Oracle ADFの機能を使用するには、それぞれのワークシートをページ定義ファイルに関連付けます。ワークシートを統合Excelワークブックに追加する際に、ページ定義ファイルをワークシートに関連付けます。統合Excelワークブックの複数のワークシートをFusion Webアプリケーションに統合できます。統合Excelワークブックの各ワークシートに異なるページ定義ファイルを使用してください。
開始する前に:
統合ExcelワークブックをFusion Webアプリケーションに追加する方法を理解しておくと役立ちます。詳細は、「Fusion Webアプリケーションへの統合Excelワークブックの追加」を参照してください。
ページ定義ファイルとExcelワークシートを関連付けるには:
注意:
新しいワークシートを挿入した後に統合Excelワークブックを実行して「プログラミングによる Visual Basic プロジェクトへのアクセスは信頼性に欠けます」というエラー・メッセージが表示される場合、Excelオプションで「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」チェック・ボックスを有効にします。詳細は、「ADFデスクトップ統合と協働するExcelの構成」を参照してください。
「Fusion Webアプリケーションへの統合Excelワークブックの追加」で説明されているように、作成するワークブックは、ADFデスクトップ統合機能を使用するように自動的に構成されます。既存のExcelワークブックの場合、ワークブックでADFデスクトップ統合を有効化して、統合Excelワークブックになるようにし、新しく統合されたExcelワークブックにいくつかのプロパティを構成する必要があります。
既存のワークブックをADFデスクトップ統合が有効化されたFusion Webアプリケーションに統合するには、そのワークブックでADFデスクトップ統合を手動で有効にする必要があります。Fusion Webアプリケーションとの統合のために使用可能な、サポートされているExcelワークブックのファイル形式の詳細は、「必要なOracle ADFモジュールおよびサード・パーティ製ソフトウェア」を参照してください。
開始する前に:
統合ExcelワークブックをFusion Webアプリケーションに追加する方法を理解しておくと役立ちます。詳細は、「Fusion Webアプリケーションへの統合Excelワークブックの追加」を参照してください。
既存のExcelワークブックでADFデスクトップ統合を有効にするには:
Fusion Webアプリケーションと統合するExcelワークブックはどこにでも保存できますが、Fusion Webアプリケーションの他のファイルとともに保存するメリットがいくつかあります。たとえば、次のようなものです。
ワークブックのソースの管理
Webページからのワークブックのダウンロードの円滑化
最初にワークブックを開いたときに表示されるファイル・システム・フォルダ・ピッカーは、ワークブックを保存する場所をデフォルトとします。
たとえば、ADFデスクトップ統合のSummitサンプル・アプリケーションは統合するExcelワークブックを次のサブディレクトリに保存します。
Summit_HOME
\ViewController\src\oracle\summitdi\excel
ここで、Summit_HOME
はADFデスクトップ統合のSummitサンプル・アプリケーションのソース・ファイルを保存するルート・ディレクトリです。
ワークブックでADFデスクトップ統合を手動で有効にした後、それを構成する必要があります。
開始する前に:
統合ExcelワークブックをFusion Webアプリケーションに追加する方法を理解しておくと役立ちます。詳細は、「ADFデスクトップ統合の手動による有効化」を参照してください。
新しい統合Excelワークブックを手動で構成するには:
統合Excelワークブックを追加せずにFusion WebアプリケーションでADFデスクトップ統合を有効化するには、ADFデスクトップ統合を手動で追加する必要があります。
JDeveloperの「プロジェクト・プロパティ」ダイアログを使用して、プロジェクトの機能リストにADFデスクトップ統合を追加します。
開始する前に:
ADFデスクトップ統合をFusion Webアプリケーションに追加する方法を理解しておくと役立ちます。詳細は、「ADFデスクトップ統合の手動による有効化」を参照してください。
プロジェクトにADFデスクトップ統合を手動で追加するには:
ADFデスクトップ統合を追加する際の処理の詳細は、「ADFデスクトップ統合をJDeveloperプロジェクトに追加する際の処理」を参照してください。
注意:
EARファイルやJARファイルを介してADFライブラリ・ファイルを追加し、統合Excelワークブックを分散する予定があれば、「ADFライブラリWebアプリケーション・サポート」をプロジェクトに追加してください。詳細は、「ADFライブラリWebアプリケーション・サポートの追加」を参照してください。
ADFデスクトップ統合の機能をプロジェクトに追加する際、次のイベントが発生します。
プロジェクトでは、ADFデスクトップ統合のランタイム・ライブラリが追加されます。このライブラリは、そのクラスパスで次の.jar
ファイルを参照します。
adf-desktop-integration.jar
adf-desktop-integration-model-api.jar
resourcebundle.jar
プロジェクトのデプロイメント・ディスクリプタ(web.xml
)は、次のエントリを含むように変更されます。
ADFバインディング・フィルタ(adfBindings
)
adfdiRemote
という名前のサーブレット
注意:
adfdiRemote
のservlet-mapping
要素のurl-pattern
属性値は、表A-20にあるRemoteServletPath
ワークブックのプロパティの値と一致する必要があります。
adfdiExcelDownload
という名前のフィルタ
ExcelファイルのMIMEマッピング(.xlsx
と.xlsm
)
これらのエントリがすべてではありません。ADFデスクトップ統合をプロジェクトに追加すると、web.xml
に他の変更が加えられます。web.xml
の一部のエントリは、このファイルにまだ表示されない場合にのみ追加される点に注意してください。
統合ワークブックをADFライブラリ・ファイルに追加して配布する予定があれば、ADFライブラリWebアプリケーションのサポートをFusion Webアプリケーションに追加します。詳細は、『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のADFライブラリへの再利用可能なADFコンポーネントのパッケージ化に関する項を参照してください。
web.xml
ファイルでフィルタおよびフィルタ・マッピング情報を更新する際には、Fusion Webアプリケーションから統合Excelワークブックをダウンロードできるように、adfdiExcelDownload
フィルタ・エントリの下にADFライブラリWebアプリケーション・サポート(<filter-name>ADFLibraryFilter</filter-name>
)が表示されるようにしてください。
図4-13は、JDeveloperのweb.xml
の概要エディタの「フィルタ」タブを示します。
図4-13 web.xmlのフィルタ・タブ
図4-14
に示すように、include-extension-list
初期化パラメータを更新して、Excelファイル拡張子(.xlsx
および.xlsmなど)を追加する必要もあります。
図4-14 include-extension-list
パラメータを使用するADFLibraryFilter
web.xml
の詳細は、「Webアプリケーション・デプロイメント・ディスクリプタでのADFデスクトップ統合の設定」を参照してください。
旧バージョンのADFデスクトップ統合を実行するシステムで、新しいバージョンのADFデスクトップ統合で作成または最後に更新された統合Excelワークブックを、ユーザーまたはそのユーザーのエンド・ユーザーが開いた場合、旧バージョンのADFデスクトップと互換性のない機能が統合Excelワークブックに含まれていると、ダイアログが表示されます。
このダイアログで「OK」をクリックすると、ADFデスクトップ統合により、統合Excelワークブックが無効になり、エンド・ユーザーは、ワークブックでADFデスクトップ統合機能を使用できません。ワークブックのデータは削除されませんが、ADFデスクトップ統合はワークブックを統合されていないワークブックとして扱います。
互換性のない機能が統合Excelワークブックに含まれない場合、ダイアログは表示されず、ワークブックは正常に機能します。互換性のない機能を含む統合Excelワークブックの場合は、「ADFデスクトップ統合のアップグレード」の説明に従って、ADFデスクトップ統合のクライアント・バージョンをアップグレードします。エンド・ユーザーは、「ローカル・システムのADFデスクトップ統合のアップグレード方法」の説明に従って、各自のクライアント・バージョンをアップグレードできます。
12c (12.2.1)以前のADFデスクトップ統合を使用して作成した統合Excelワークブックには、ADFデスクトップ統合12c (12.2.1)クライアントと互換性のない機能は含まれません。今後のリリースのADFデスクトップ統合では、12c (12.2.1)以前のADFデスクトップ統合を使用するクライアントと互換性のない機能が導入される可能性があります。
注意:
統合Excelワークブックがインストール済のADFデスクトップ統合クライアントと互換性がない場合、ワークブックを開くとメッセージが表示されます。そのような場合、新しいワークブックと対話するには、ADFデスクトップ統合クライアントの新しいバージョンをインストールする必要があります。