Odoo Lookup Configuration

Version 24.1.8948


Odoo Lookup Configuration


Lookup アクションは、Odoo から値を取得し、それらの値をフロー内の既存のArc メッセージに挿入します。

  1. CData Arc フローで、Odoo コネクタへのインプットを行うコネクタから矢印をドラッグします。

  2. 必要に応じて、サンプルファイルを選択します。サンプルファイルは、コネクタがファイルの構造に関する詳細なコンテキストを提供し、フィルタ条件を構築するのに役立つため、推奨されます。

  3. 以下の設定手順を完了したら、Arc フローで、Odoo コネクタから、結果のXML またはヘッダーデータを配置するコネクタに矢印をドラッグします。

Lookup の設定

このセクションで、クエリに含めるテーブルとカラムを定義します。デザイナーモードは、クエリをフリーフォームで作成する代わりに、クエリの対象となるテーブルとカラムを選択するのに役立ちます。しかし、クエリを最初から記述したい場合は、クエリモードを使用することができます。

デザイナーモード

以下の手順に従い、デザイナーを使用してOdoo コネクタのLookup アクションを構成します。

  1. テーブルドロップダウンを使用して、含めるテーブルを選択します。

  2. このテーブルから含めたいカラムのセットを選択します。

  3. アウトプットデスティネーション:クエリの応答値をXML ファイルに挿入するにはXPath を選択し、クエリの応答値をメッセージヘッダーに挿入するにはヘッダーを選択します。
    • XPath:XPath を選択すると、デスティネーションは2つの部分に分かれます。親レベルのXPath は、XML ドキュメントにすでに存在している必要があります。新しいノード名は、ルックアップの結果を保持するためにXML ドキュメントに挿入されるノードの名前です。クエリの各カラムには、ここで提供されるXML 要素の中に独自のXML 要素(リーフレベル)があります。
    • ヘッダー:ヘッダーを選択すると、コネクタはクエリのカラムごとに1つのヘッダーをアウトプットメッセージに追加します。値は、データベースから返されるレコードごとにカンマで区切られます。
  4. レコード制限を使用して、クエリが複数の結果を返した場合の処理を指定します。
    • ドロップダウンで最初の結果を使用を選択すると、結果が複数ある場合エラーを使用して、複数の結果が返された場合にエラーを表示することができます。
    • カスタム制限を選択すると、表示されるフィールドで制限値を指定する必要があります。
  5. 並べ替えを使用して、結果を並べ替えるカラムを選択します。

  6. フィルタセクションでは、インプットファイルからのヘッダーやXML への参照を含む、クエリのWHERE 句を作成するためのフィルタを作成できます。

フィルタ

個々のフィルタやフィルタのグループを定義することで、複雑なフィルタを作成できます。見やすさのために、バーの右側にある展開アイコン expander をクリックして、フィルタセクションを展開します。

フィルタを追加するには、フィルタを追加またはグループを追加をクリックします。

フィルタを作成するときは、ドロップダウンを使用して選択を行い、演算子を選択します。次に、フィルタリングする値を指定します。以下から選択します。

  • メッセージヘッダー
  • 入力XML
  • 静的値

フィルタで入力XML を選択すると、サンプルファイルをアップロードした場合、エディターにドキュメントのツリー表示が現れるので、次の画像のように必要なXPath を簡単に見つけることができます。

フィルタやグループは並べ替えが可能です。ハンドル handle をクリックし、オブジェクトを新しい位置にドラッグします。

クエリモード

以下の手順に従い、クエリモードを使用してOdoo コネクタのLookup アクションを構成します。

  1. アウトプットデスティネーション:クエリの応答値をXML ファイルに挿入するにはXPath を選択し、クエリの応答値をメッセージヘッダーに挿入するにはヘッダーを選択します。
    • XPath:XPath を選択すると、デスティネーションは2つの部分に分かれます。親レベルのXPath は、XML ドキュメントにすでに存在している必要があります。新しいノード名は、ルックアップの結果を保持するためにXML ドキュメントに挿入されるノードの名前です。クエリの各カラムには、ここで提供されるXML 要素の中に独自のXML 要素(リーフレベル)があります。
    • ヘッダー:ヘッダーを選択すると、コネクタはクエリのカラムごとに1つのヘッダーをアウトプットメッセージに追加します。値は、データベースから返されるレコードごとにカンマで区切られます。
  2. クエリに、Odoo テーブルからデータを取得するSQL クエリを入力します。
    • XPath:パスを${XPATH:/path/to/element} のように記述します。例:SELECT CustomerID FROM Customers WHERE CustomerName = ${XPATH:/Items/Invoices/Customer}
    • ヘッダー:パスを${HEADER:HeaderName} のように記述します。
  3. 2つのチェックボックスで、クエリが複数の結果を返した場合の処理を指定します。
    • 最初の結果を使用をオンにすると、常に最初の結果が使用されます。
    • 結果が複数ある場合エラーをオンにすると、複数の結果が返された場合にエラーを表示します。

高度な設定

  1. 一致するレコードが見つからない場合のアクションを使用して、クエリに一致するレコードが見つからなかった場合の動作を指定します。

  2. Odoo コネクタは、各Lookup に対して直接Odoo クエリする代わりに、ローカルキャッシュに対してLookup クエリを実行できます。これにより、特に大規模なデータベースでクエリのパフォーマンスが向上します。これを有効にするには、キャッシュを有効化にチェックを入れ、残りのフィールドを設定します。

    • キャッシュのしきい値:コネクタがデータソースにクエリを発行してキャッシュをリフレッシュする頻度を制御します。
    • キャッシュのしきい値の単位キャッシュのしきい値の単位。分、時、日から選択してください。
    • キャッシュプロバイダー:キャッシュデータベースへの接続を容易にするために使用するドライバーを選択します。
    • 接続文字列:設定すると、コネクタはここで指定したデータベースをキャッシュに使用します。

    Notes

    • クエリがキャッシュから結果を返さない場合、コネクタはOdoo を直接クエリします。

    • クエリステートメントに limitoffsetgroupby パラメータが含まれている場合、キャッシュ機能は動作しません。これらのクエリはOdoo に直接送られます。

Lookup をテスト

Lookup をテスト ボタンを使用すると、手動でファイルを処理することなく設定をチェックして結果を確認できます。サンプルデータを保存ボタンを使用すると、アウトプットをサンプルとして保存し、後のフローでマッピングすることができます。