アップロードによるカスタム処理の起動
アイテム・パスに対応するカスタム・アクションをサポートするサービスの場合、ユーザーは、アップロード中にそれらの行に対してカスタム・アクションがコールされるように行をマークできます。 ペイロード・フィールドを必要とするカスタム・アクションの場合、それらのフィールドに対応する表の列を追加する必要があります。 「カスタム・アクション」を参照してください。
アップロード操作中(更新、作成および削除タスクを含む場合もあります)に、アドインは処理対象としてマークされた各行に対して次のステップを実行します:
- カスタム・アクション・フィールド列ごとにセル値を収集し、値をペイロード内の単純なJSONオブジェクト(メンバー名/値ペア)に追加することで、ペイロードを作成します。 構成されている場合、空の値はスキップされます。 「アップロード中に空の値を省略」を参照してください。
ペイロード本文全体は次の形式に従います:
{ "rejectionReasonCode": "Other: contact approver", "notes": "Details with manager" }- POSTリクエスト本文に他のコンテンツはありません(アクション名や引数値の配列なし)。
- これらの列の値が無効な場合(必要に応じて欠落、データ型が正しくない場合、Excel式エラー)、行はアップロードから除外され、失敗としてマークされます。 「Oracle Visual Builder Add-in for Excelを使用したデータの管理」の「データ検証」を参照してください
- リクエストを準備します:
- 追加されたREST-Framework-Versionヘッダー (「REST-Framework-Versionの構成」を参照)
- 「カスタム・アクション・エディタ」の各カスタム・アクションのRequest Media Typeプロパティに基づいて追加されたContent-Typeヘッダー(「ビジネス・オブジェクト・エディタ」>「カスタム・アクション」タブから使用可能)
- リクエストを行います:
- POSTをカスタム・アクション・パスに送信します(POSTは、カスタム・アクションの起動でサポートされている唯一のHTTPメソッドです)
- レスポンスを処理します:
- 200レスポンス・ステータスの場合、行は成功としてマークされます。
- 400レスポンス・ステータスの場合、行は失敗としてマークされ、レスポンス・ペイロードは「Oracle ADF RESTリソース」サービス・エラー・コンテンツに対して解析されます。 エラーの詳細は、「ステータス・ビューア」ペインに表示されます。
- 412レスポンス・ステータスは、Excel表へのダウンロード後に他のエージェントまたはユーザーによって行が変更されたことを示します。このようなステータスは、行レベルのエラーとして扱われます。
アクション行のセル値はリフレッシュされません。 サービスのカスタム・メソッド・ロジックによって行の値が変更された場合、それらの変更は次のダウンロードまで表の行に反映されません。
カスタム・アクション・リクエストのレスポンス・ペイロードに"result"メンバーが含まれている場合、アドインでは次のように解析され、その結果がステータス・ビューアに表示されます:
- 単純なスカラー値が表示されます
- 最初のレベルのJSONオブジェクトおよび配列が解凍されます
- より深いレベルのJSONが冗長に表示されます
たとえば、「経費精算書」表の行でカスタム・アクション"Reject"を起動した後、RESTサービスから
"result": "Your confirmation code is 26281."などの結果が返される場合があります。 この結果は、次に示すようにステータス・ビューアに表示されます:
「Oracle Application Development FrameworkによるFusion Webアプリケーションの開発」の「カスタム・アクションの実行」を参照してください。
カスタム・アクションの詳細は、「カスタム・アクション」を参照してください。