機械翻訳について

ページ区切りを使用した非同期検索操作の設計

このユースケースは、非同期基本(CRUD)操作との統合の設計に似ています。 唯一の違いは、返される結果がページ区切りされることです。 このユースケースでは、非同期検索操作コールを実行するために構成された「Oracle NetSuiteアダプタ」起動接続を使用します。

構成ステップの概要を次に示します。

  1. スケジュール済またはオーケストレートされた統合を作成します。 この例では、スケジュールされた統合が作成されます。
  2. 割当てアクション(この例では、名前はInitializeVariables)を追加し、次の変数を初期化します。
    • pageIndex - 文字列データ型 - 値 -1
    • totalPages - 文字列データ型 - 値 -1
    • jobId - 文字列データ型 - 値 -1
  3. whileアクションを追加し、次の条件を指定します。
    integer($pageIndex) <= integer($totalPages)
  4. whileアクションの内部で、非同期コールを行うための起動接続として「Oracle NetSuiteアダプタ」を追加します。 これにより、「アダプタ・エンドポイント構成ウィザード」が起動します。
  5. 操作ページで、処理モードとして「非同期」、操作タイプとして「検索」を、検索タイプとして「選択したビジネス・オブジェクトで検索」を選択します。
  6. ビジネス・オブジェクトを選択します(この例では、「アカウント」が選択されています)。

  7. 「Oracle NetSuiteアダプタ」起動接続の前に配置されたマッパーでは、ステップ2で作成されたjobId変数とpageIndex変数を、AsyncJobParameters要素の下の「Oracle NetSuiteアダプタ」リクエスト・スキーマで定義されているjobId変数およびpageIndex変数にマップします。

  8. ビジネス・ユース・ケースで必要に応じて追加要素をマップします。
  9. 「Oracle NetSuiteアダプタ」 (この例では、ReAssignVariablesという名前)の後に2つ目の割当てアクションを追加し、「Oracle NetSuiteアダプタ」の起動接続のレスポンスから、ステップ2で作成されたjobIdに値を割り当てます。
  10. 発行されたジョブのstatus「終了」であるかどうかを確認するための条件を持つスイッチ・アクションを追加します。


    前述の条件では、次の2つのルートが作成されます:

    • status終了です: このルートの場合、pageIndex変数を増分し、Oracle NetSuiteアダプタ invoke接続で実行される非同期ジョブの結果から実際の値をtotalPages変数に割り当てる割当てアクション(この例ではIncrementPageIndexという名前)を作成します。 この割当てアクションで必要な2つの割当ては次のとおりです。

      pageIndex変数の割当ての場合:
      asynchr_pageindex.pngの説明は以下のとおりです
      図asynchr_pageindex.pngの説明

      totalPages変数の割当ての場合:
      asynchr_totalpages.pngの説明は以下のとおりです
      図asynchr_totalpages.pngの説明

    • status終了以外のものです: これは、非同期ジョブがまだ実行中、finishedWithErrorsまたはfailedのいずれかであることを意味します。 finishedWithErrorsまたはfailedのジョブを処理するには、このルートに別の切替えアクションを追加します。 新しいスイッチ・アクションの「それ以外」条件は、ジョブがまだ実行中であることを意味します。 その場合、制御はステップ3で作成されたwhileループにループします。
    完了した統合は次のようになります。 「Oracle NetSuiteアダプタ」の機能は、ページ区切りの結果セットを取得するための完全なサポートとともに、非同期モードで広範囲にわたる検索機能を使用できるようになりました。