4 Excelワークブックでのレイアウトの作成
ワークブックをRESTサービスと統合するには、新しいワークシートにビジネス・オブジェクトのレイアウトを作成します。 その後、ビジネス・オブジェクトのデータをレイアウトにダウンロードして操作を開始できます。
レイアウトを作成するには、後続の項の説明に従って、Oracle Visual Builderタブで「デザイナ」をクリックして新規レイアウト設定ウィザードを起動します。
新しいワークブックでレイアウトを作成する場合は、使用するRESTサービスのサービス説明を指定する必要があります。 このサービス記述は、OpenAPI仕様に準拠している必要があります。 RESTサービス・メタデータ・エンドポイントでサービス記述のURLを指定するか、かわりにローカル・サービス記述ファイルをインポートできます。 サービス記述URLの詳細は、「Excelワークブックでの表レイアウトの作成」を参照してください。
指定したサービスの説明は、ワークブックの「ビジネス・オブジェクト・カタログ」の生成に役立ちます。 ビジネス・オブジェクト・カタログは、基本的にはビジネス・オブジェクトのリストです。 ワークブック開発者は、必要に応じてビジネス・カタログの一部を編集したり、レイアウトを作成するためにそのまま使用できます。
レイアウトを作成するときに、サービス記述ドキュメントを指定できます。 「Oracle Visual Builder」タブの「「カタログの管理」」をクリックして、サービス記述ドキュメントを指定することもできます(「カタログおよびビジネス・オブジェクトの管理」を参照)。
Excelワークブックのワークシートごとに1つのレイアウトを作成します。
レイアウト
Oracle Visual Builder Add-in for Excelは、Excelワークシートでデータを操作するために使用できる2種類のレイアウトを提供: 表レイアウトおよびForm-over-Tableレイアウト。
表レイアウトを使用して、RESTサービスのデータを表形式で表示および編集します。 webアプリケーションで使用されるビジネス・オブジェクトに親子関係が存在する場合、Form-over-Tableレイアウトを使用します。
表レイアウトに従業員データを示すワークシートの例を次に示します:
次に、Form-over-Tableレイアウトでのオーダーと明細データの例を示します。ここで、親オブジェクトのデータ(オーダー)がフォームに表示され、子オブジェクトのデータ(明細)が表に表示されます:
Excelワークブックでの表レイアウトの作成
RESTサービスのデータを表形式で表示および編集する場合は、Excelワークシートで表レイアウトを作成します。
表レイアウトを作成すると、サービス摘要文書を指すように求められます。 サービス記述ドキュメントは、ローカル・ドライブに格納することも、URLを使用してリモートでアクセスすることもできます。
これらのサンプルURLは、アドインがビジネス・オブジェクト・カタログを作成してから表レイアウトを作成するために必要なサービス記述(またはメタデータ)を返します。
RESTフレームワーク | サンプルURL |
---|---|
ADF REST (Oracle Cloudアプリケーションの多数のREST APIを含む) | https://<host>/fscmRestApi/resources/11.13.18.05/purchaseRequisitions/describe |
VBBO | https://<host>/ic/builder/design/<app>/1.0/resources/data/ExpenseReports/describe |
ORDS | https://<host>/ords/<app>/open-api-catalog/employees/ |
NetSuite RESTサービス | https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/metadata-catalog?select=contact |
ノート:
データ・エンドポイントを使用してビジネス・オブジェクト・カタログを作成することはできません。 この段階では、メタデータ・エンドポイントが必要です。RESTサービスにアクセスするための認証詳細を指定することもできます。 アクセス要件については、RESTサービス所有者にお問い合せください。
表レイアウトを作成するには:
- 標準の
.XLSX
ファイル形式またはマクロ対応.XLSM
形式を使用して、空白のExcelワークブックを作成します。 「その他のExcel」形式(.XLS
など)はサポートされていません。 - データ表を配置するセルをクリックします。
- ExcelリボンからOracle Visual Builderタブを開きます。
- 「デザイナ」をクリックして、「新規レイアウト設定」ウィザードを起動します。
「図excel-apiinput.pngの説明」 - 最初の画面で、次のいずれかのオプションを使用してサービスの説明ドキュメントを指定します:
- URLからサービスの説明にアクセスする場合は、「Webアドレス」オプション(デフォルト)。 レイアウトの作成の開始点として、データURL (データを返すURL)を指定することはできません。
- サービス記述ドキュメントがコンピュータ上のローカル・ファイルである場合は、「ファイルを選択」オプション。
- 「認証」リストからサービスの認証メソッドを選択し、「次」をクリックします。
詳細については、「認証オプション」を参照してください。
- OAuth 2.0 Authorization Codeを選択した場合は、必要なプロパティを入力して「次」をクリックします。
必須フィールドの概要は赤色です。 フィールドの説明は、「PKCEを使用したOAuth 2.0 認可コード・フロー」を参照してください。
- サービスに5つ以上のビジネス・オブジェクトが含まれている場合は、カタログに含めるビジネス・オブジェクトを選択し、「次」をクリックします。
ウィザードには、カタログ名、サービス・ホストとベース・パス、ビジネス・オブジェクトの数など、新しく作成されたカタログの詳細が表示されます。
- 新しいカタログ詳細をレビューします。
ノート:
サービス記述ドキュメントにエラーがある場合は、「レポートの保存」をクリックしてレポートをローカル・ドライブに保存します。 このレポートをサービス所有者と共有します。 - 「次へ」をクリックします。
- ビジネス・オブジェクトを選択し、「次」をクリックします。
- 「表のレイアウト」を選択して「次」をクリックします。
依存レイアウトのセットを作成する場合は、次の画面から子ビジネス・オブジェクトを選択するように求められます。 「依存レイアウトのセットの作成」を参照してください。
使用可能な付加フレックスフィールドがある場合は、リストに表示され、情報アイコン(
)で示されます。
このビジネス・オブジェクトを選択すると、付加フレックスフィールドが各親レイアウトにフィールドとして追加されます。 「付加フレックスフィールドを使用したレイアウトの作成」を参照してください。
- スタンドアロン表レイアウトの場合は、子ビジネス・オブジェクトを選択せずに「次」をクリックします。
- 表レイアウトの詳細を確認し、「終了」をクリックします。
アドインは、列ヘッダーおよびプレースホルダー・データ行を含む表レイアウトをExcelワークブックに作成します。 Excelのタスク・ペインにレイアウト・デザイナが開きます。
「図layout-designer-table.pngの説明」ノート:
レイアウトの元のセルが最初の10行にある場合、ワークシート内で上下にスクロールしたときに常に列ヘッダーが表示されるように、ヘッダー行は固定されます。 必要に応じて、Excelの「表示」タブからヘッダー行を凍結解除できます。
ワークブックを公開する前に、ワークブックを様々な方法で構成して、ビジネス・ユーザーが簡単に使用できるようにします。 たとえば、次のことを検討できます:
- アドインがダウンロードするデータを制限するようにワークブックを構成しています。 「ダウンロード用の検索オプションの構成」を参照してください。
- レイアウト内の列の追加、削除または順序変更。 「フォームまたは表のフィールドの管理」を参照してください。
- 列に関連付けられたフィールドの変更(たとえば、ヘルプ・テキストの表示やビジネス・ユーザーの入力パラメータのリストの表示)。 「ビジネス・オブジェクト・フィールドの構成」と「ビジネス・オブジェクトによる値リストの構成」を参照してください。
公開する前に、ダウンロード、更新、アップロードなどの様々なデータ操作を実行して、ワークブックをユーザーに配布する前にテストすることをお薦めします。 データ管理の詳細は、「Oracle Visual Builder Add-in for Excelを使用したデータの管理」の「Excelワークブックを使用したデータの表示および編集」を参照してください。
表レイアウトでのサービス・パス・パラメータの使用
サービス・パスの中には、パス・パラメータを含むものもあります。 このアドインでは、パラメータ化されたサービス・パスを使用した表レイアウトの構成がサポートされます。 パス・パラメータが自動的に抽出され、ダウンロード時に対応する値を指定するようにユーザーに求められます。
パラメータ化されたサービス・パスを使用して表レイアウトを構成するには、最初にOpenAPI準拠のサービス記述を指定します。 プロンプトが表示されたら、子ビジネス・オブジェクトまたはパラメータ化されたパスをビジネス・オブジェクト・ピッカーから選択します。
ヒント:
「Oracle ADF RESTリソース」サービスを操作する場合は、親ビジネス・オブジェクトの説明(子アドレスではなく)へのwebアドレスから開始する必要があります。 たとえば、/ExpenseReports/{ExpenseReports_Id}/child/Expenses/
などのパラメータ化されたサービス・パスの場合は、(Expenses
ではなく) ExpenseReports
記述のアドレスを指定します。 「Oracle ADF RESTリソース」サービスは、パラメータ化されたサービス・パスのOpenAPIサービス記述を提供できません。
レイアウト構成を完了します。 ユーザーがOracle Visual Builderタブで「データのダウンロード」をクリックすると、アドインにサービス・パス・パラメータ・エディタが表示され、データのダウンロードが完了するために必要なパス・パラメータ値を指定できます。
「
図service_path_parameter_editor.pngの説明」
文字列型または整数型のパス・パラメータはサポートされていますが、他のデータ型はサポートされていません。 文字列型のパス・パラメータの場合、ユーザーがサービス・パス・パラメータ・エディタに入力する値は、アドインがサービスへのリクエストを構成するときに動詞で使用されます。 整数型の値の場合、特定のカルチャ固有の書式設定が削除されます(たとえば、3桁ごとの区切り文字のカンマ、負のカッコ)。 いずれの場合も、URLパスで使用される値はURLエンコードされていないため、入力する値はRESTサービスで受け入れられる必要があります。
パラメータが埋め込まれたサービス・パスの例を次に示します:
/ExpenseReports/{ExpenseReports_Id}/child/Expenses/
{ExpenseReports_Id}
はサービス・パスの中央にあります。
サービス・パス・パラメータ・エディタを使用して、{ExpenseReports_Id}
に適切な値(123456
など)を指定すると、次のパスを使用してアドインが作成されます:
/ExpenseReports/123456/child/Expenses/
このサービス・パスにアクセスすると、経費精算書123456
のすべての経費が提供されます。
サービス・パス・パラメータ・エディタは、ユーザーが入力した値を検証しません。 ユーザーが指定する値は有効である必要があります。 パスに複数の埋込みパラメータが含まれている場合、サービス・パス・パラメータ・エディタは、埋込みパラメータごとに値を指定するようにユーザーに求めます。
アドインは、ダウンロード時に指定された値を記憶しています。 これらの値は、アップロード時にアップロード・リクエストを作成するために再度使用されます。 以前のダウンロードを実行せずにアップロードする場合(新しい行を排他的に作成する場合など)、アップロードの開始時にパス・パラメータ値の入力を求められます。
ノート:
ビジネス・ユーザーはダウンロード時にパス・パラメータ値を認識できないため、かわりにフォーム・オーバー表レイアウトまたは依存レイアウトのセットを使用することを検討してください。 「Excelワークブックでのフォーム表レイアウトの作成」または「マルチレベル・ビジネス・オブジェクトに対する複数レイアウトの使用」を参照してください。Excelワークブックでのフォーム表レイアウトの作成
選択したサービスに親子関係が存在する場合は、Excelワークシートにフォーム・オーバー表レイアウトを作成できます。
フォーム・オーバー表レイアウトは、ビジネス・オブジェクト階層の最上位レベルのビジネス・オブジェクトに対してのみ作成できます。 3つのレベルを持つ階層があるとします: purchaseOrders
、lines
、およびschedules
を含む。 この階層では、purchaseOrders
は最上位レベルの購買オーダーのコレクションで、各オーダーの詳細を管理するための1つ以上の明細があります。 これらの各明細には、出荷詳細をトラッキングするための1つ以上のスケジュールを含めることができます。
このシナリオでは、purchaseOrders
およびlines
ビジネス・オブジェクトに対してのみフォーム・オーバー表レイアウトを作成できます。 フォームのレイアウトでは、フォームにlines
を使用し、表に対してschedules
を使用することはできません。 「マルチレベル・ビジネス・オブジェクトに対する複数レイアウトの使用」を参照してください。
ノート:
多相ビジネス・オブジェクトを参照し、付加フレックスフィールドを含むレイアウトを作成できます。 ビジネス・オブジェクトに付加フレックスフィールドが含まれている場合は、"DFF" (たとえば、"EmployeesDFF")が追加され、子孫ビジネス・オブジェクトのリストに含まれます。 「多相ビジネス・オブジェクトおよびフィールドの使用」を参照してください。サービス・レベルの親子関係には、次のものが必要です:
- 親サービス・パス(
fscmRestApi/resources/1.0/purchaseOrders
など) - パラメータ付きの子サービス・パス(
fscmRestApi/resources/1.0/purchaseOrders/{purchaseOrder-id}/child/lines
など)
ワークブックでは、両方のビジネス・オブジェクトを同じカタログで宣言する必要があります。 この例を続けると、lines
はpurchaseOrders
の子として表示される必要があります。 このレイアウトを使用した親および子ビジネス・オブジェクトでのデータの取得、更新、作成、削除および処理の起動を可能にするには、これらのパスで対応するGET、PUT/PATCH、POSTおよびDELETE操作を公開する必要があります。
フォーム・オーバー・テーブル・レイアウトを作成するときに、サービスの説明ドキュメントを指すように求めるプロンプトが表示される場合があります。 サービス記述ドキュメントは、ローカル・ドライブに格納することも、URLを使用してリモートでアクセスすることもできます。
RESTサービスにアクセスするための認証詳細を指定することもできます。 アクセス要件については、RESTサービス所有者にお問い合せください。
始める前に、RESTサービスの次のサポート・トピックを確認してください:
- Oracle REST Data Services ( ORDS)については、「依存レイアウトの要件」のORDSサポートに関するノートを参照してください。
- 「NetSuite SuiteTalk REST webサービス」については、「フォーム・オーバー表レイアウトのNetSuiteカタログの構成」を参照してください。
フォーム・オーバー表レイアウトを作成するには:
- 標準の
.XLSX
ファイル形式またはマクロ対応.XLSM
形式を使用して、空白のExcelワークブックを作成します。 「その他のExcel」形式(.XLS
など)はサポートされていません。 - フォームおよび表を配置するセルをクリックします。
- ExcelリボンからOracle Visual Builderタブを開きます。
- 「デザイナ」をクリックして、「新規レイアウト設定」ウィザードを起動します。
「図excel-apiinput.pngの説明」 - 最初の画面で、次のいずれかのオプションを使用してサービスの説明ドキュメントを指定します:
- URLからサービスの説明にアクセスする場合は、「Webアドレス」オプション(デフォルト)。 レイアウトの作成の開始点として、データURL (データを返すURL)を指定することはできません。
- サービス記述ドキュメントがコンピュータ上のローカル・ファイルである場合は、「ファイルを選択」オプション。
ヒント:
「Oracle ADF RESTリソース」サービスを使用している場合、通常、サービス記述のURLは/describe
で終了します(たとえば、https://my-service-host/fscmRestApi/resources/1.0/purchaseOrders/describe
)。 - 「認証」リストからサービスの認証メソッドを選択し、「次」をクリックします。
詳細については、「認証オプション」を参照してください。
- OAuth 2.0 Authorization Codeを選択した場合は、必要なプロパティを入力して「次」をクリックします。
必須フィールドの概要は赤色です。 フィールドの説明は、「PKCEを使用したOAuth 2.0 認可コード・フロー」を参照してください。
- サービスに5つ以上のビジネス・オブジェクトが含まれている場合は、カタログに含めるビジネス・オブジェクトを選択し、「次」をクリックします。
ウィザードには、カタログ名、サービス・ホストとベース・パス、ビジネス・オブジェクトの数など、新しく作成されたカタログの詳細が表示されます。
- 新しいカタログ詳細をレビューします。
ノート:
サービス記述ドキュメントにエラーがある場合は、「レポートの保存」をクリックしてレポートをローカル・ドライブに保存します。 このレポートをサービス所有者と共有します。 - 「次へ」をクリックします。
- フォームの最上位レベルのビジネス・オブジェクト(この場合は
purchaseOrders
)を選択し、「次」をクリックします。 - 「Form-over-Tableレイアウト」を選択し、「次」をクリックします。
最上位レベルのビジネス・オブジェクトを選択しなかった場合、または使用可能な子ビジネス・オブジェクトがない場合は、フォーム・オーバー表レイアウト・オプションを使用できません。
- Form-over-Tableレイアウトの表部分の子ビジネス・オブジェクト(この場合は
lines
)を選択し、「次」をクリックします。使用可能な付加フレックスフィールドがある場合は、リストに表示され、末尾が"DFF"と表示されます。
このビジネス・オブジェクトを選択すると、付加フレックスフィールドがフィールドとして親レイアウトに追加されます。 「付加フレックスフィールドを使用したレイアウトの作成」を参照してください。
ノート:
依存レイアウトのセットを作成する場合は、追加の子ビジネス・オブジェクトを選択できます。 複数のビジネス・オブジェクトを選択した場合は、ルート・レイアウトの表に表示するビジネス・オブジェクトを選択するように求められます。 「依存レイアウトのセットの作成」を参照してください。 - フォーム・オーバー表レイアウトの詳細を確認し、「終了」をクリックします。
アドインにより、ExcelワークシートにForm-over-Tableが作成され、次に示すように、新しく挿入されたフォームおよび表の変更に使用するレイアウト・デザイナが開きます:
図fot-result.pngの説明フォーム・ビジネス・オブジェクト(この場合は
purchaseOrders
)が作成アクションをサポートしている場合は、イメージに示すように、フォーム変更メニューに「フォーム行の作成」オプションが表示されます。 このオプションを使用して、次回のアップロード時に新しいフォーム行を作成します(「Oracle Visual Builder Add-in for Excelを使用したデータの管理」の「フォーム・オーバー表レイアウトでの親行の作成」を参照)。
ワークブックを公開する前に、ワークブックを様々な方法で構成して、ビジネス・ユーザーが簡単に使用できるようにします。 たとえば、次のことを検討できます:
- 「ダウンロード用の検索オプションの構成」の説明に従って、ビジネス・ユーザーがフォームのアイテムを指定できるように、ワークブックの検索を構成します。 検索フィールドまたは行ファインダ・プロパティの値を指定しない場合、アドインはRESTサービスで検出された最初の親アイテムをフォームにダウンロードし、子アイテム(ある場合)を表にダウンロードします。
- レイアウト内のフォーム・フィールドまたは列の追加、削除または順序変更。 「フォームまたは表のフィールドの管理」を参照してください。
- 列に関連付けられたフィールドの変更(たとえば、ヘルプ・テキストの表示やビジネス・ユーザーの入力パラメータのリストの表示)。 「ビジネス・オブジェクト・フィールドの構成」と「ビジネス・オブジェクトによる値リストの構成」を参照してください。
公開する前に、ワークブックを公開してユーザーに配布する前に、そのワークブックをテストすることをお薦めします。 Form-over-Tableレイアウトでのデータ管理の詳細は、「Oracle Visual Builder Add-in for Excelを使用したデータの管理」の「フォーム・オーバー表レイアウトでのデータの管理」を参照してください。
データの一貫性
ワークブックで、エンティティ・タグ(Etag)メカニズムを使用したデータ整合性検証をサポートする互換性のあるREST APIサービスを使用する場合、アドインは、次のシナリオを検出して対応します:
- 個人Aは、ビジネス・オブジェクトから統合ワークブック内の表に情報をダウンロードします。
- 個人Bは、統合ワークブック内の表に同じ情報をダウンロードして編集し、変更をアップロードします。
- 次に、個人Aは同じ情報(ステップ1でダウンロード)を編集し、変更をアップロードします。
-
このアドインは、個人Bによる変更が個人Aによって上書きされないようにするために必要な情報(エンティティ・タグ)をサービスに提供します。
アドインは、単一行リクエストのエンティティ・タグを含む
If-Match
リクエスト・ヘッダーを送信するか、またはバッチ・リクエストの一部として行の変更とともにエンティティ・タグを含めます。 「バッチ・リクエストを使用した変更のアップロード」を参照してください。サーバーがエンティティ・タグを検査し、そのような変更を検出すると、そのレスポンス(
HTTP Status 412
または11412
のエラー・コード)により、アドインは、次のような表内のそのような行に対するエラー・メッセージを表示できます:This row has been modified by another user. Please download before editing.
このメッセージが表示された場合は、最新のデータをダウンロードし、必要に応じて変更をやり直して、変更を破棄する必要があります。
ノート:
一部のサービスは、この競合検出機能をサポートしていません。 サービスがない場合、個人Aの変更によって個人Bの変更が警告なしで置換されます。 詳細は、サービス所有者に連絡してください。エンティティ・タグ(ETag)メカニズムの詳細は、「REST APIを使用したビジネス・オブジェクトへのアクセス」の「データ整合性タスク」を参照してください。
ワークブックで他のタイプのRESTサービスを使用する場合は、最後のライターが優先されます。 そのため、概要を説明したシナリオでは、ステップ3での個人Aの変更によって、ステップ2での個人Bの変更が上書きされます。
フォームまたは表のフィールドの管理
レイアウトを作成すると、Oracle Visual Builder Add-in for Excelによって、フォームまたは表にほとんどのフィールドが追加されますが、すべてのフィールドは追加されません。 必要に応じて、フィールドを追加または削除したり、レイアウトでのフィールドの表示順序を変更できます。
ビジネス・オブジェクトおよびカスタム・ペイロード・フィールドをレイアウトに追加するだけでなく、親または上位のビジネス・オブジェクトのフィールドを一連の依存レイアウトのレイアウトに追加することもできます。 これらのフィールドは、"ancestor"フィールドと呼ばれます。 たとえば、ビジネス・ユーザーがどの子アイテムがどの上位レベル・アイテムに関連付けられているかを追跡できるように、祖先列をレイアウトに追加できます。 「追加コンテキストを提供するancestor列の追加」を参照してください。
レイアウトに使用可能な付加フレックスフィールド(DFF)がある場合は、これらも使用可能なフィールドのリストに含まれます。 DFFの詳細については、「レイアウトへの付加フレックスフィールドの追加」を参照してください。
このタスクでは、表レイアウトで列を追加、削除および並べ替える方法を示しますが、Form-over-Tableレイアウトのフォーム・フィールドおよび表列でステップは同じです。
表レイアウトの列を管理するには:
添付ビジネス・オブジェクトのレイアウトの作成
ビジネス・ユーザーが添付をアップロードおよびダウンロードできる添付ビジネス・オブジェクトを使用して、表レイアウトを作成します。
添付ビジネス・オブジェクトに基づいて、スタンドアロン表レイアウト、Form-over-Tableレイアウトの表レイアウト、または依存レイアウトのセットに表レイアウトを作成できます。 フォーム・オーバー表レイアウトではフォームを使用できません。
サービス要件
Oracle Visual Builder Add-in for Excelは、RESTサービスに次のものがある場合、統合ワークブック内の添付をサポートします:
- 添付タイプ、ファイル名およびファイル・サイズなど、添付のメタデータを含む添付レコード・ビジネス・オブジェクト。
- 添付レコード・ビジネス・オブジェクトの次のフィールド:
- タイプ: 添付タイプを表す文字列フィールド。 このフィールドの有効な値は、
TEXT
、FILE
およびWEB_PAGE
です。 これらの値では、大文字と小文字が区別されます。 - ファイル名: 添付ファイル名を表す文字列フィールド。 このフィールドは、テキストおよびファイル・タイプの添付で使用されます。
- Url: 添付URLを表す文字列フィールド。 このフィールドは、webページ・タイプ添付で使用されます。
- タイプ: 添付タイプを表す文字列フィールド。 このフィールドの有効な値は、
- 添付レコード・ビジネス・オブジェクトの子であり、添付の送信および受信を許可する添付データ・ビジネス・オブジェクト
/enclosure/FileContents
で終わるパスを持つ子ビジネス・オブジェクトとしての添付データ・ビジネス・オブジェクト。- フィールドIDが
DatatypeCode
(タイプ・フィールドの場合)、FileName
(ファイル名)およびUrl
(Url)のフィールド。
添付の構成
アドインのバージョン2.8より前にワークブックが作成されたか、名前が一致しない場合は、ビジネス・オブジェクト・エディタから添付レコード・ビジネス・オブジェクトを手動で構成します。
- 添付ビジネス・オブジェクトのビジネス・オブジェクト・エディタを開き、「添付」タブをクリックします。
「図attachment-bo-editor.pngの説明」 - 「添付」を選択します。
- 「データ・ビジネス・オブジェクト」の横にある「編集」アイコン(
)をクリックして、「ビジネス・オブジェクトの選択」ダイアログを開きます。
このダイアログには、添付レコード・ビジネス・オブジェクトのすべての子ビジネス・オブジェクトのパスが表示されます。
- リストから必要な子添付データ・ビジネス・オブジェクトを選択し、OKをクリックします。
子ビジネス・オブジェクトは、添付データの送受信をサポートしている必要があります。 つまり、子エンドポイントには、次をサポートするコレクション・パスがあります:
- GETでアタッチメント・データを取得
- PUTでアタッチメント・データを送信
- リクエスト・コンテンツ・タイプ
application/octet-stream
パスは、次のようになります:
{parent attachment record item path}/enclosure/FileContents
。 - 「タイプ・フィールド」の横にある「編集」アイコン(
)をクリックして、「使用可能なビジネス・オブジェクト・フィールド」ダイアログを開きます。
- 添付タイプを表すフィールドを選択し、OKをクリックします。
このフィールドは、
TEXT
(テキスト・タイプの添付)、FILE
(ファイル・タイプの添付)およびWEB_PAGE
(web urlベースの添付)の有効な値を持つ文字列フィールドである必要があります。 通常、このフィールドのフィールドIDはDatatypeCode
です。 - 使用可能な「編集」アイコンを使用して、「ファイル名」およびURLフィールドを設定します。
フィールド 説明 ファイル名フィールド 添付ファイル名を表す文字列フィールド。 このフィールドは、テキストおよびファイル・タイプの添付に使用されます。 通常、このフィールドのフィールドIDは FileName
です。URLフィールド 添付URLを表す文字列フィールド。 このフィールドは、webページ・タイプ添付で使用されます。 通常、このフィールドのフィールドIDは Url
です。 - 終了したら、「完了」ボタンを使用して開いているエディタを閉じます。
適切に構成されている場合、結果の表レイアウトには、添付のローカル・コピーのロケーションを追跡する「ローカル・ファイル・パス」列が含まれます。 表のセルを選択すると、添付のポップアップが開き、添付の相互作用に使用できます。 「Oracle Visual Builder Add-in for Excelを使用したデータの管理」の「添付の管理」を参照してください。
既知の制限事項
- この機能をサポートするサービスの制限については、このトピックの「サービス要件」を参照してください。
- 添付レコード・ビジネス・オブジェクトをForm-over-Tableレイアウトのフォーム部分にバインドすることはサポートされていません。
- サポートされている添付タイプは、ファイル、テキストおよびwebページのみです。 フィールドに対してサポートされる特定の値は、
TEXT
、FILE
およびWEB_PAGE
です。 これらの値は英大小文字が区別されるので、このとおりに入力してください。 不明な添付タイプはファイル・タイプの添付として扱われます。 - ファイルのダウンロードは非同期ではなく、大きい添付ファイルに対してはUIを凍結して表示されることがあります。
- 表のローカル・ファイル・パス列の位置は変更できません。 これは、常にキー列の前に表の末尾に表示されます。
- ローカル・ファイル・パス列でファイル・パスを手動で編集することはサポートされていません。 添付ポップアップは、常にローカル・ファイルのロケーションを指定するために使用します。
- 一部のサービスでは、テキストベースの添付に対して作成が失敗する場合があります。
Title
など、必要なすべての添付メタデータが存在することを確認し、レコードを再送信すると、通常この問題が解決されます。 - 添付メタデータ・レコードには、
DmDocumentId
、UploadedFileContentType
などの追加フィールドがあり、通常はサービスによって管理され、ビジネス・ユーザーによって変更されません。 これらのフィールドは、ビジネス・オブジェクト・エディタで読取り専用としてマークするか、または表レイアウトから省略することをお薦めします。
多相ビジネス・オブジェクトおよびフィールドの使用
レイアウトで多相ビジネス・オブジェクトを使用できる場所と方法は、サービス内の他のビジネス・オブジェクトとの関係によって異なります。
多相ビジネス・オブジェクトが最上位のビジネス・オブジェクトであるか、その親との"one-to-many"関係を持つ子ビジネス・オブジェクトである場合、レイアウトで直接使用できます。
この場合は、他のビジネス・オブジェクトと同様に、多相ビジネス・オブジェクトのレイアウトを作成します。 「Excelワークブックでの表レイアウトの作成」と「Excelワークブックでのフォーム表レイアウトの作成」を参照してください。
子ポリモーフィック・ビジネスがその親との"one-to-one"関係にある場合、子からの付加フレックスフィールドを、レイアウトの作成時に親ビジネス・オブジェクトにバインドされたレイアウトにフィールドとして追加できます。 「付加フレックスフィールドを使用したレイアウトの作成」を参照してください。
「レイアウトへの付加フレックスフィールドの追加」の説明に従って、既存のレイアウトに付加フレックスフィールドを追加することもできます。
子ビジネス・オブジェクトとその親との関係を判断するには、「子ポリモフィック・ビジネス・オブジェクトのカーディナリティの確認」を参照してください。
多相ビジネス・オブジェクトについて
たとえば、"Employees"ビジネス・オブジェクトには、従業員レコードのリージョン固有の情報を定義する子多相"Regional Information"ビジネス・オブジェクトを含めることができます。 リージョン情報ビジネス・オブジェクトには、弁別子フィールドとして機能する"Region"フィールドが含まれています。 また、"Site"や"Time Zone"などのすべてのレコードのグローバル・セグメントと、北米リージョンの従業員の"Postal Code/Zip Code"などのコンテキスト依存セグメントも含まれます。
子ポリモフィック・ビジネス・オブジェクトのカーディナリティの確認
子ビジネス・オブジェクトの"cardinality"設定をチェックすることで、子ビジネス・オブジェクトが親との"one-to-one"または"one-to-many"関係にあるかどうかを判断できます。
"one-to-many"関係を持つ子多相ビジネス・オブジェクトは、レイアウトで直接使用できます。 "one-to-one"関係の子ビジネス・オブジェクトについては、子から親ビジネス・オブジェクト・レイアウトに付加フレックスフィールドを追加できます。
子ビジネス・オブジェクトのカーディナリティ設定を確認するには、親ビジネス・オブジェクトのビジネス・オブジェクト・エディタを開いて、「子」タブをクリックします。
カーディナリティ・オプションは、"One"、"Many"または"Unknown"です。 カーディナリティが"Many" (1対多関係)の子ビジネス・オブジェクトは、レイアウトで直接使用できます。 カーディナリティが"One"のカーディナリティは、フィールドとして親ビジネス・オブジェクト・レイアウトに追加できます。 「付加フレックスフィールドを使用したレイアウトの作成」を参照してください。
ノート:
Oracle Visual Builder Add-in for Excelバージョン3.2より前に作成されたワークブックの場合、カーディナリティは"Unknown"に設定されます。 この値は、多相ビジネス・オブジェクトの"One"の値と同様に動作します。 カーディナリティ値は、非多相ビジネス・オブジェクトの動作には影響しません。付加フレックスフィールドを使用したレイアウトの作成

最上位レベルの多相性ビジネス・オブジェクトと、親との"one-to-many"関係を持つ子ビジネス・オブジェクトも、他のビジネス・オブジェクトと同様にレイアウトに追加できます。 「Excelワークブックでの表レイアウトの作成」と「Excelワークブックでのフォーム表レイアウトの作成」を参照してください。
子ビジネス・オブジェクトとその親との関係を確認するには、カーディナリティ設定を確認します。 「子ポリモフィック・ビジネス・オブジェクトのカーディナリティの確認」を参照してください。
DFFを使用してレイアウトを作成するには:
この例では、次の図に示すように、アドインはフォームにEmployees、表にDirect Reportsを含むForm-over-Tableレイアウトを作成します:
また、アドインによって、EmployeesDFFのRegionフレックスフィールドがフォーム(赤枠)に追加されます。 フレックスフィールドには、"discriminator"フィールド("Region")、2つのグローバル・セグメント("Site"および"Time Zone")、および2つのコンテキスト依存セグメント("Zip Code"および"State")が含まれます。 コンテキスト依存セグメントは、リージョン・フィールドの値(この場合は"United States")に依存します。
必要なフレックスフィールドがデフォルトでレイアウトに表示されない場合は、レイアウト・デザイナからフォームまたは表に追加できます。 「レイアウトへの付加フレックスフィールドの追加」を参照してください。
弁別子の値に基づいて、コンテキスト依存セグメントを表示または非表示にすることもできます。 たとえば、米国のセグメント("Zip Code"および"State")ではなく、カナダ("Postal Code"および"Province")のコンテキスト依存セグメントを表示するように選択できます。 「表レイアウトでのコンテキスト依存列の表示または非表示」を参照してください。
レイアウトへの付加フレックスフィールドの追加
ノート:
1対多関係での多相ビジネス・オブジェクトについては、かわりに「付加フレックスフィールドを使用したレイアウトの作成」を参照してください。- 変更するレイアウトでワークシートを開きます。
- 必要に応じて、レイアウト・デザイナで「フォーム」または「列」タブをクリックします。
- フォーム・フィールドの管理または列の管理ボタン(
)をクリックして、DFFを追加します。
使用可能なDFFは識別子フィールド(この場合はRegion)のタイトルで識別され、使用可能なフィールドのリストの下部に表示されます。 フィールドIDは弁別子フィールドID ("__FLEX_Context")です。
- 使用可能なフィールド・リストからDFFを選択します。
選択したフィールド・リストのフィールドをドラッグ・アンド・ドロップして、フォームまたは表のフィールドの順序を変更することもできます。
- 「完了」をクリックします。
関連するセグメントが次の順序でレイアウトに表示されます: グローバル・セグメント、弁別子およびコンテキスト依存セグメント。
考えられるすべての識別子値のコンテキスト依存の列が表に含まれます。 ただし、編集できるのは、識別子フィールドの値に関連する行のセルのみです。 他のすべてのコンテキスト依存セルは読取り専用(グレー表示)です。
フォームでは、現在の識別子の値に関連する状況依存フォーム・フィールドが識別子フィールドの後に表示されます。 関連しないコンテキスト依存フィールドはフォームに含まれません。 識別子フィールドの値を変更すると、その値に関連するコンテキスト依存フィールドを含むようにフォームが自動的に更新されます。
表レイアウトでのコンテキスト依存列の表示または非表示
ビジネス・オブジェクト・フィールド・エディタの「多様性情報」タブを使用して、多相ビジネス・オブジェクトに表示するコンテキスト依存列を選択できます。
デフォルトでは、すべてのコンテキスト依存列が表示されます。 このタスクを使用して、レイアウトの列を非表示にできます。 たとえば、リージョンの多相ビジネス・オブジェクトの場合、米国の従業員に対してのみリージョン情報を表示し、他のすべてのユーザーに対して非表示にできます。
コンテキスト依存列を表示または非表示にするには:
多相ビジネス・オブジェクトMetadataのリフレッシュ
ワークブックを公開するときに多相メタデータをクリアして、ワークブックが最新のメタデータを取得するようにします。 Oracle Visual Builder Add-in for Excelは、公開されたワークブックを開いた後に実行された最初のダウンロード操作中に、多相ビジネス・オブジェクト・メタデータをリフレッシュします。
多相サポートの制限事項
多相ビジネス・オブジェクトのレイアウトを作成したり、レイアウトに付加フレックスフィールドを追加する前に、次の制限事項を確認してください:
- 多相ビジネス・オブジェクトには単一の弁別子フィールドのみが含まれていると想定されます。 複数の識別子はサポートされていません。
- 弁別子フィールドは文字列である必要があります。
- 多相列またはフォーム・フィールドが展開される場合、順序はグローバル・セグメント、弁別子、コンテキスト依存セグメントです。 次の点に注意してください。
- グローバル・セグメントまたはコンテキスト依存セグメントの順序の変更はサポートされていません。
- 特定のグローバルまたはコンテキスト依存セグメントの非表示はサポートされていません。
- 多相ビジネス・オブジェクトをレイアウトにバインドするには、多相ビジネス・オブジェクト・メタデータを公開する必要があります。 OpenApi3 describeドキュメントでは、ビジネス・オブジェクトのスキーマに"discriminator"および"oneOf"構文が含まれている必要があります。"anyOf"多相ビジネス・オブジェクト構文はサポートされていません。
- 階層型多相ビジネス・オブジェクトはサポートされていません。 すべての多相セグメントは、OpenApi3 describeドキュメントの多相ビジネス・オブジェクトで直接定義する必要があります。
- 配列ベースのサブフィールドに多相セグメントを定義する拡張可能フレックスフィールド(EFF)はサポートされません。
- レイアウトに多相ビジネス・オブジェクトが含まれている場合、デザイナの「問合せ」タブの「検索パラメータ」でフィールドおよび展開問合せパラメータを手動で構成しないでください。
- 子ビジネス・オブジェクト・フィールドが親ビジネス・オブジェクト弁別子値によって決定される場合、まだサポートされていません。
- 表レイアウトに表示される多相ビジネス・オブジェクトの識別子値を制限しても、次のものは制限されません:
- 識別子フィールドの値リスト(LOV)で選択できる値のセット
- ユーザーが弁別子フィールドに指定できる値
レイアウト機能の管理
Oracle Visual Builder Add-in for Excelの各レイアウトでは、操作がサービスでサポートされているかぎり、Excelワークブックで様々な標準アクションおよびカスタム・アクションを実行できます。 これらのサポートされている機能を有効または無効にして、レイアウトでの可用性を制御できます。
- Excelリボンで、「デザイナ」をクリックしてワークブック・レイアウト・デザイナを開きます。
- 「上級」をクリックして、レイアウト機能を表示します。 フォーム機能および表機能を示すフォーム・オーバー表レイアウトの例を次に示します:
- 必要に応じて、オプションを選択または選択解除します。 ビジネス・オブジェクトで処理がサポートされていない場合、選択はできません(このイメージに示すように、表の「カスタム処理使用可能」など)。 これらのオプションに必要なRESTサポートの詳細は、「RESTの操作」を参照してください。
レイアウトの制限
Oracle Visual Builder Add-in for Excelを使用して統合ワークブックのレイアウトを作成する場合は、次の点に注意してください:
- Excel表オブジェクト(「挿入」 > 「表」を使用してExcelリボンから作成されたものなど)は、アドインで使用される表レイアウトとは互換性がありません。
- ワークブックをExcel 97-2003ワークブック(
.XLS
)ファイル形式に保存しないでください。.XLSX
および.XLSM
ファイル形式のみがサポートされています。.XLS
形式で保存すると、アドインはOracle Visual Builderリボンのコマンドを無効にします。