Oracle® Fusion Middleware Oracle Application Development Frameworkデスクトップ統合開発者ガイド 11gリリース1 (11.1.1.9.0) B66694-04 |
|
![]() 前 |
![]() 次 |
この章では、ユースケースが複数のWebアプリケーション・セッションで適切に動作するように、統合Excelワークブックを構成する方法を説明します。
この章の内容は次のとおりです。
エンド・ユーザーは、統合Excelワークブックを開いて、開発者が構成したワークブック・リボン・コマンドからFusion Webアプリケーションにログオンできます。Fusion Webアプリケーションではユーザーにセッションが割り当てられます。Fusion Webアプリケーションへの接続が確立され、有効なセッションが割り当てられると、エンド・ユーザーはFusion Webアプリケーションからワークブックへデータをダウンロードできます。その後、ワークブック・リボン・コマンドを使用してFusion Webアプリケーションからログオフするか、Fusion Webアプリケーションをホストするネットワークから切断するなどしてFusion Webアプリケーションから切断することができます。
ユーザーがワークブック・コマンドを使用してFusion Webアプリケーションからログオフした場合は、ただちにセッションが終了します。ワークブックを開いてアイドル状態にすることで、ユーザーがセッションをタイムアウトできる場合、Fusion Webアプリケーションは、セッション・タイムアウトが期限切れになると、ユーザーに割り当てられたセッションを終了します。
Fusion Webアプリケーションから切断された統合Excelワークブックを使用して、エンド・ユーザーは次のアクションを実行できます。
Fusion Webアプリケーションからダウンロードしたデータの変更
ワークブック内の適切なADF表コンポーネントへの新規データの挿入
データの変更を保存してワークブックを閉じ、再度開くこと(Fusion Webアプリケーションへのデータのアップロードは不要)
ADF表コンポーネントでの変更の追跡および更新
複数のWebアプリケーション・セッション間の統合Excelワークブックの動作をテストします。これを行うには、統合Excelワークブックを実行します。ユースケースの手順を実行する際は、現在のWebアプリケーション・セッションの様々な時点で、「ログアウト」ワークブック・リボン・コマンドをクリックします。専用の終了時点を、ADF表コンポーネントのDownload
アクションの起動からUpload
アクションの起動までの間の現在のセッションにします。必要に応じて、新しいWebアプリケーション・セッションが作成されます。結果が予想したものと異なる場合は、この章の後述の項に記載のプロパティを構成する必要が生じる場合があります。
公開された統合Excelワークブックをエンド・ユーザーが開くと、ワークブックに必要なデータがダウンロードされます。その後、サーバーから切断されても、統合Excelワークブックでデータの編集や更新を続行し、保存して閉じることができます。
複数のWebセッション間で統合Excelワークブックを検証してテストした後、必要に応じてワークブックの機能をさらに追加できます。次の各項では、使用可能なその他の機能について説明します。
統合Excelワークブックのトラブルシューティング: 統合Excelワークブックの開発中またはデプロイ時に、問題が発生する可能性があります。詳細は、付録C「統合Excelワークブックのトラブルシューティング」を参照してください。
ADFデスクトップ統合のインストール: ADFデスクトップ統合および統合Excelワークブックをエンド・ユーザーが使用できるようにするために、ADFデスクトップ統合をインストールする必要があります。詳細は、付録H「エンド・ユーザーのアクション」を参照してください。
次のいずれかのイベントが発生した後に、Fusion Webアプリケーションがエンド・ユーザーに新しいセッションを割り当てる場合、正しいビュー・オブジェクトの状態がリストアされるように、統合Excelワークブックおよびページ定義ファイルを構成する必要があります。
エンド・ユーザーが、ワークブックのデータを変更し、ワークブックを保存して閉じた後、ワークブックを再度開いて、ワークブックを保存して閉じる前に、実行した変更をアップロードしようとしました。
ADF表コンポーネントのDownload
アクションの起動からUpload
アクション(またはFusion Webアプリケーションにアクセスする他のADF表コンポーネント・アクション)の起動までの時間が、Fusion Webアプリケーションのセッションに対して指定されているセッション・タイムアウト値を超えました。
上に示した両方のシナリオには、2つのセッションが関係しています。最初のセッションは、エンド・ユーザーが統合Excelワークブックを開いてFusion Webアプリケーションにログオンしたときに割り当てられます。エンド・ユーザーがFusion Webアプリケーションからログオフするか、セッションが期限切れになると、Fusion Webアプリケーションはこのセッションを終了します。エンド・ユーザーが統合Excelワークブックを再び開いたとき、およびFusion Webアプリケーションと相互作用するアクションを起動したときに、Fusion Webアプリケーションによって2番目のセッションが割り当てられます。
セッションとセッションの間にワークシートのServerContext
プロパティ・グループの値として統合Excelワークブックにキャッシュする属性バインディングを指定します。さらに、このプロパティ・グループでは、Fusion Webアプリケーションによって統合Excelワークブックに新しいセッションが割り当てられると、キャッシュされた属性バインディング・データを使用してサーバー・サイド・コンテキストをリストアするアクション・バインディングを指定できます。
ServerContext
プロパティ・グループの値を指定するには、ワークシートに関連付けられているページ定義ファイルで、サーバー・コンテキストのリストアの対象となる属性バインディングおよびアクション・バインディングを公開しておく必要があります。属性バインディングおよびアクション・バインディングのページ定義ファイルへの追加の詳細は、4.2項「統合Excelワークブックのページ定義ファイルの使用」を参照してください。ServerContext
プロパティ・グループの詳細は、表A-21のServerContext
のエントリを参照してください。
始める前に:
サーバー・データ・コンテキストのリストア方法を理解しておくと役立ちます。詳細は、16.2項「セッション間でのサーバー・データ・コンテキストのリストア」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、16.1.2項「複数のWebセッション間で統合Excelワークブックを使用するための追加機能」を参照してください。
サーバー・データ・コンテキストをリストアするように統合Excelワークブックを構成するには:
統合Excelワークブックを開きます。
「Oracle ADF」タブの「ワークブック」グループで、「ワークシート・プロパティ」をクリックします。
「ワークシート・プロパティの編集」ダイアログで、表16-1の説明に従ってServerContext
プロパティ・グループの値を構成します。
表16-1 サーバー・データ・コンテキストをリストアするためのServerContextプロパティ
プロパティ | 入力または選択する値 |
---|---|
|
通常は、このコレクションに要素を追加して、ページ定義ファイルに直接構成できない重要な問合せをリストアします。このシナリオに対処する必要がない場合、このコレクションに要素を追加することは任意です。
|
|
現在のワークシートに表示される行を一意に識別する属性バインディングを指定します。実行時には、このプロパティが参照する値で、サーバー・データ・コンテキストが正しくリストアされているかどうかを判断します。通常は、このプロパティを使用してフォームを処理します。それ以外は、オプションになる場合があります。 このプロパティおよびそのサブプロパティの詳細は、A.15項「ワークシートのアクションおよびプロパティ」を参照してください。 |
統合Excelワークブックでパラメータを使用しており、そのワークブックをFusion Webアプリケーションからダウンロードしてデプロイした場合は、15.5.2項「統合Excelワークブックでパラメータのプロパティを構成する方法」を参照してください。
「OK」をクリックします。
注意: Parameters および<invokeAction> 実行可能ファイルを使用する統合Excelワークブックに関して、新しいセッションの作成時にParameters および<invokeAction> によってサーバー・データ・コンテキストをリストアできる場合は、RestoreDataContextActionID およびCachedServerContexts を構成する必要はありません。 |
Fusion Webアプリケーションから切断されている間にエンド・ユーザーがワークブックを使用できるように、相対的に静的な特定の種類のデータが統合Excelワークブックにキャッシュされます。表16-2に、統合Excelワークブックでキャッシュされるデータの種類を示します。
A.14項「ワークブックのアクションおよびプロパティ」で説明されているClearAllData
ワークブック・アクションを起動すると、表16-2に説明されているすべてのタイプのキャッシュ・データがリフレッシュされます。表16-2では、統合Excelワークブックがキャッシュ・データをリフレッシュするその他のシナリオについても説明しています。
表16-2 統合Excelワークブックでキャッシュされるデータの種類
データの種類 | キャッシュのタイミング | リフレッシュのタイミング |
---|---|---|
コントロール・バインディング・タイプ、ID、ラベルなど、ユーザー・セッション間で変更が予想されないページ定義メタデータ。 |
ページ定義ファイルにバインドされている統合Excelワークシートがアクティブ化され、ページ定義ファイルのメタデータのキャッシュが存在しない場合。 |
ページ定義メタデータは、統合Excelワークブックの新しいコピーをダウンロードしないかぎり、リフレッシュされません。 |
ADF値リスト・コンポーネントのリスト項目 |
ADF値リスト・コンポーネントによってFusion Webアプリケーションからリスト項目が初めてダウンロードされるとき。 |
Fusion Webアプリケーションによってホストされるリスト項目の値が統合Excelワークブックによってキャッシュされたものと異なる場合。キャッシュされたリスト項目がリフレッシュされるのは、ワークブック・セッションが存在する場合のみで、ワークブック・セッションごとに1回かぎりです。 |
リソース・バンドルの文字列 |
統合Excelワークブックが初めて初期化されるとき。公開後にワークブックを初めて開くと、ワークブックは初期化されます。 |
リソース・バンドル文字列のキャッシュは、統合Excelワークブックの新しいコピーをダウンロードしないかぎり、リフレッシュされません。 |
ADFデスクトップ統合では、値リストや依存値リストの作成に使用するADF値リスト・コンポーネントによって参照される値をキャッシュして、実行時にエンド・ユーザーが値を選択したときに、これらのコンポーネントによってFusion Webアプリケーションにリクエストが送信されないようにします。
ADFデスクトップ統合では、各コンポーネントに対して最大250の値がキャッシュされます。値が250を超える値リストをコンポーネントが参照する場合、ADFデスクトップ統合では、最初の250の値をキャッシュして、残りの値に関する警告メッセージをクライアント・サイドのログ・ファイルに書き込みます。8.4項「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」の説明に従って、値リストによって参照される値が250を超えるモデルドリブン・リスト・ピッカーを使用するように、統合Excelワークブックを構成することを検討してください。クライアント・サイドのログ・ファイルの詳細は、C.4項「統合Excelワークブックのログ・ファイルの生成」を参照してください。
統合Excelワークブックにキャッシュされた値リストは、ワークブック・セッションごとに1回リフレッシュされます。このリフレッシュは、Fusion Webアプリケーションによって参照される値が、統合Excelワークブックによる最後の値リストのキャッシュ以降に変更された場合に、ユーザーがFusion WebアプリケーションとのWebセッションを再確立すると行われます。
値リストから選択した値をアップロードする際に、その選択値がFusion Webアプリケーションにすでに存在しない場合、アップロードは失敗します。このような状況が発生するのは、あるエンド・ユーザーがFusion Webアプリケーションで値を削除し、別のエンド・ユーザーが統合Excelワークブックのキャッシュされた値リストでその値を選択して変更し、変更した値をFusion Webアプリケーションにアップロードしようとした場合などです。
Fusion Webアプリケーションをデプロイし、公開した統合Excelワークブックをエンド・ユーザーが使用するようになった後にFusion Webアプリケーションの構成を変更する場合は、統合Excelワークブックの新しいコピーをダウンロードするか、もしくはClearAllData
ワークブック・アクションを起動するようエンド・ユーザーに通知する必要があります。ClearAllData
ワークブック・アクションの詳細は、A.14項「ワークブックのアクションおよびプロパティ」を参照してください。
Fusion Webアプリケーションの変更に、ワークシートに公開されるADF値リスト・コンポーネントに関連付けられるリスト・バインディングの定義の変更が含まれる場合があります。リスト・バインディング構成を変更すると、変更前にダウンロードおよび実行されたワークブックで予期しない例外が発生する可能性があります。
注意: 統合Excelワークブックは、ModelDrivenColumnComponentサブコンポーネントがモデルドリブン・リスト・ピッカーに表示する値をキャッシュしません。モデルドリブン・リストの詳細は、8.4項「ADF表コンポーネントへのモデルドリブン・リスト・ピッカーの追加」を参照してください。 |
値リストの作成の詳細は、第8章「値リストの使用」を参照してください。
実行時にバインディング・コンテナのメタデータがサーバーから取得されたら、ADFデスクトップ統合はワークシートを構成するいくつかの機能を提供します。ただし、クライアントがバインディング・コンテナ・メタデータを取得する前に、データまたはバインディング・コンテナを構成することもできます。たとえば、設計時に表をワークシートに追加しますが、その表を操作するビュー・オブジェクトは実行時まで指定しない場合があります。使用されるビュー・オブジェクトはパラメータ値または設定によって決まりますが、それらの値が実行時まで不明の場合は、このような操作が必要です。さらに、実行時パラメータ値(属性の追加、表示される属性の指定など)に基づいて、ビュー・オブジェクトを構成することもできます。同様に、実行時パラメータ値に基づいてバインディング・コンテナを構成することもできます。このようなユース・ケースでは、バインディング・コンテナ・メタデータがサーバーからワークシートに送信される前に、設定タスクを実行する必要があります。
ADFデスクトップ統合の明示的なワークシート設定アクション機能を使用すると、クライアントがバインディング・コンテナ・メタデータを取得する前に起動される設定アクションを指定できます。Summitサンプル・アプリケーションのEditWarehouseInventory-DT.xlsx
ワークブックは、この機能(倉庫の在庫ワークシートがFilterWarehouseMasterById
の名前のメソッド・アクション・バインディングを起動)の実装を示します。
ワークシートのSetupActionID
プロパティを使用すると、バインディング・コンテナ・メタデータがワークシートに送信される前に起動されるメソッドを指定できます。メソッドでは、データおよびバインディング・コンテナでの構成に必要なロジックを実装できます。
始める前に:
明示的なワークシート設定アクション機能について理解しておくと役立ちます。詳細は、16.5項「明示的なワークシート設定アクションの使用」を参照してください。
他のADFデスクトップ統合の機能を使用して追加できる機能についても理解しておくと役立ちます。詳細は、16.1.2項「複数のWebセッション間で統合Excelワークブックを使用するための追加機能」を参照してください。
ワークシートSetupActionIDプロパティを使用する手順:
統合Excelワークブックのワークシートを開きます。
Excelリボンで、「ワークシート・プロパティ」をクリックします。
「ワークシート・プロパティの編集」ダイアログで、データを展開し、SetupActionIDプロパティの入力フィールドの横にある参照(...)アイコンをクリックします。
「バインディングの選択」ダイアログで、バインディング・コンテナ・メタデータがワークシートに送信される前に起動するアクションを選択し、「OK」をクリックします。
注意: SetupActionID プロパティはADFmAction のみを受け入れます。無効なメソッドがプロパティに設定されている場合は、検証エラーが報告されます。 |
「OK」をクリックし、「ワークシート・プロパティの編集」ダイアログを閉じます。
図16-1に、EditWarehouseInventory-DT.xlsx
ワークブックの構成を示します。
SetupActionID
プロパティによって指定されたアクションが実行されたら、ワークシートに送信されるバインディング・コンテナ・メタデータはメソッドで構成された構成を反映します。ADFデスクトップ統合では、バインディング・コンテナ・インスタンスに対して設定アクションが1回のみ実行されるようにします。なんらかの理由で新しいバインディング・コンテナ・インスタンスがワークシートに関連付けられると、新しいバインディング・コンテナ・インスタンスが構成されるように設定アクションが再度起動されます。
設定アクションの起動時にエラーが発生すると、ADFデスクトップ統合はワークシート内で自動的に無効になります。ログアウトし再度ログインしても、ワークシート内のADFデスクトップ統合は有効になりません。Excelリボンから「全データのクリア」コマンドを実行すると、ワークシート内のADFデスクトップ統合は再度有効になり、設定アクションは後続の要求時に再度実行されます。