> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arc.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WooCommerce Lookup

> Retrieve values from WooCommerce and insert them into an Arc message in the flow.

export const DbasaLookupTestLookup = ({datasource = "データソース"}) => <p>
    <strong>Test Lookup</strong> ボタンを使用すると、手動でファイルを処理することなく
    設定をチェックして結果を確認できます。<strong>Save Sample Data</strong> ボタンを使用すると、
    アウトプットをサンプルとして保存し、後のフローでマッピングすることができます。
  </p>;

export const DbasaLookupAdvanced = ({datasource = "データソース"}) => <>
    <img src="/public/images/dbsa_lookup_advanced.png" alt="Lookup の高度な設定" width="600" />
    <ol>
      <li><strong>No Matching Record Found Action</strong> を使用して、クエリに一致するレコードが見つからなかった場合の動作を指定します。</li>
      <li>
        {datasource} コネクタは、各Lookup に対して直接 {datasource} にクエリする代わりに、ローカルキャッシュに対して
        Lookup クエリを実行できます。これにより、特に大規模なデータベースでクエリのパフォーマンスが
        向上します。これを有効にするには、<strong>Enable cache</strong> にチェックを入れ、
        残りのフィールドを設定します。
        <ul>
          <li><strong>Cache Tolerance</strong>：コネクタがデータソースにクエリを発行してキャッシュをリフレッシュする頻度を制御します。</li>
          <li><strong>Cache Tolerance Unit</strong>：<strong>Cache Tolerance</strong> の単位。分、時、日から選択します。</li>
          <li><strong>Cache Provider</strong>：キャッシュデータベースへの接続を容易にするために使用するドライバーを選択します。</li>
          <li><strong>Connection String</strong>：設定すると、コネクタはここで指定したデータベースをキャッシュに使用します。</li>
        </ul>
      </li>
    </ol>
    <Note>
      <ul>
        <li>クエリがキャッシュから結果を返さない場合、コネクタは {datasource} を直接クエリします。</li>
        <li>クエリステートメントに <code>limit</code>、<code>offset</code>、<code>groupby</code> パラメータが含まれている場合、キャッシュ機能は動作しません。これらのクエリは {datasource} に直接送られます。</li>
      </ul>
    </Note>
  </>;

export const DbasaLookupQueryMode = ({datasource = "データソース"}) => <>
    <p>以下の手順に従い、クエリモードを使用して {datasource} コネクタのLookup アクションを設定します。</p>

    <img src="/public/images/dbsa_lookup_query.png" alt="Lookup クエリモード" width="600" />

    <ol>
      <li>
        <strong>Output Destination</strong>：クエリの応答値をXML ファイルに挿入するには <strong>XPath</strong> を選択し、クエリの応答値をメッセージヘッダーに挿入するには <strong>Header</strong> を選択します。
        <ul>
          <li>XPath：XPath を選択すると、デスティネーションは2つの部分に分かれます。<strong>Parent-Level XPath</strong> は、XML ドキュメントにすでに存在している必要があります。<strong>New Node Name</strong> は、ルックアップの結果を保持するためにXML ドキュメントに挿入されるノードの名前です。クエリの各カラムには、ここで提供されるXML 要素の中に独自のXML 要素（リーフレベル）があります。</li>
          <li>Header：Header を選択すると、コネクタはクエリのカラムごとに1つのヘッダーをアウトプットメッセージに追加します。値は、データベースから返されるレコードごとにカンマで区切られます。</li>
        </ul>
      </li>
      <li><strong>Query</strong> に、{datasource} テーブルからデータを取得するSQL クエリを入力します。
        <ul>
          <li>XPath：パスを <code>{'${XPATH:/path/to/element}'}</code> のように記述します。例：<code>{'SELECT CustomerID FROM Customers WHERE CustomerName = ${XPATH:/Items/Invoices/Customer}'}</code>。</li>
          <li>Header：パスを <code>{'${HEADER:HeaderName}'}</code> のように記述します。</li>
        </ul>
      </li>
      <li>2つのチェックボックスで、クエリが複数の結果を返した場合の処理を設定できます。
        <ul>
          <li>常に最初の結果を使用するには、<strong>Use First Result</strong> をオンにします。</li>
          <li>複数の結果が返された場合にエラーを表示するには、<strong>Error if multiple results</strong> をオンにします。</li>
        </ul>
      </li>
    </ol>
  </>;

export const DbasaLookupFilters = () => <>
    <p>
      個々のフィルタやフィルタのグループを定義することで、複雑なフィルタを作成できます。見やすさのために、
      バーの右側にある展開アイコン <img src="/public/images/validate_expander.png" alt="展開アイコン" noZoom style={{
  display: "inline-block",
  verticalAlign: "middle",
  height: "0.9em",
  margin: 0
}} /> を
      クリックして、<strong>Filters</strong> セクションを展開します。
    </p>
    <p>フィルタを追加するには、<strong>Add Filter</strong> または <strong>Add Group</strong> をクリックします。</p>
    <p>
      フィルタを作成するときは、ドロップダウンを使用して選択を行い、演算子を選択します。次に、
      フィルタリングする値を指定します。以下から選択できます。
    </p>
    <ul>
      <li>メッセージヘッダー</li>
      <li>入力XML</li>
      <li>静的値</li>
    </ul>
    <p>
      フィルタで入力XML を選択すると、サンプルファイルをアップロードした場合、エディタにドキュメントの
      ツリー表示が現れるので、次の画像のように必要なXPath を簡単に見つけることができます。
    </p>
    <img src="/public/images/dbsa_lookup_filter.png" alt="Lookup フィルタの設定" width="800" />
    <p>フィルタやグループは並べ替えが可能です。ハンドル <img src="/public/images/xmlmap_condition_handle.png" alt="ハンドル" noZoom style={{
  display: "inline-block",
  verticalAlign: "middle",
  height: "0.9em",
  margin: 0
}} /> をクリックし、オブジェクトを新しい位置にドラッグします。</p>
  </>;

export const DbasaLookupDesignerMode = ({datasource = "データソース"}) => <>
    <p>以下の手順に従い、デザイナーを使用して {datasource} コネクタのLookup アクションを設定します。</p>

    <img src="/public/images/dbsa_lookup_designer.png" alt="Lookup デザイナー" width="600" />

    <ol>
      <li><strong>Table</strong> ドロップダウンを使用して、含めるテーブルを選択します。</li>
      <li>このテーブルから含めたい<strong>Columns</strong> のセットを選択します。</li>
      <li>
        <strong>Output Destination</strong>：クエリの応答値をXML ファイルに挿入するには <strong>XPath</strong> を選択し、クエリの応答値をメッセージヘッダーに挿入するには <strong>Header</strong> を選択します。
        <ul>
          <li>XPath：XPath を選択すると、デスティネーションは2つの部分に分かれます。<strong>Parent-Level XPath</strong> は、XML ドキュメントにすでに存在している必要があります。<strong>New Node Name</strong> は、ルックアップの結果を保持するためにXML ドキュメントに挿入されるノードの名前です。クエリの各カラムには、ここで提供されるXML 要素の中に独自のXML 要素（リーフレベル）があります。</li>
          <li>Header：Header を選択すると、コネクタはクエリのカラムごとに1つのヘッダーをアウトプットメッセージに追加します。値は、データベースから返されるレコードごとにカンマで区切られます。</li>
        </ul>
      </li>
      <li><strong>Record Limit</strong> を使用して、クエリが複数の結果を返した場合の処理を指定します。
        <ul>
          <li>ドロップダウンで <strong>Use First Result</strong> を選択すると、<strong>Error if multiple results</strong> を使用して、複数の結果が返された場合にエラーを表示することができます。</li>
          <li><strong>Custom Limit</strong> を選択すると、表示されるフィールドで制限値を指定する必要があります。</li>
        </ul>
      </li>
      <li><strong>Order by</strong> を使用して、結果を並べ替えるカラムを選択します。</li>
      <li><a href="#filters">フィルタ</a>セクションでは、インプットファイルからのヘッダーやXML への参照を含む、クエリのWHERE 句を作成するためのフィルタを作成できます。</li>
    </ol>
  </>;

export const DbasaLookupConfiguration = () => <p>
    このセクションで、クエリに含めるテーブルとカラムを定義します。{' '}
    <a href="#designer-mode">デザイナーモード</a>は、クエリをフリーフォームで作成する必要がなく、
    クエリの対象としたいテーブルとカラムを選択するのに役立ちます。ただし、クエリを最初から記述したい
    場合は、<a href="#query-mode">クエリモード</a>を使用することができます。
  </p>;

export const DbasaLookupIntro = ({datasource = "データソース", siteName = "CData Arc", siteNameShort = "Arc"}) => <>
    <p>
      Lookup アクションは、{datasource} から値を取得し、それらの値をフロー内の既存のArc
      メッセージに挿入します。
    </p>
    <ol>
      <li>{siteName} フローで、{datasource} コネクタへのインプットを行うコネクタから矢印をドラッグします。</li>
      <li>必要に応じて、<strong>Sample File</strong> を選択します。サンプルファイルは、コネクタがファイルの構造に関する詳細なコンテキストを提供し、<a href="#filters">フィルタ</a>条件を構築するのに役立つため、推奨されます。</li>
      <li>以下の設定手順を完了したら、{siteNameShort} フローで、{datasource} コネクタから、結果のXML またはヘッダーデータを配置するコネクタに矢印をドラッグします。</li>
    </ol>
  </>;

<DbasaLookupIntro datasource="WooCommerce" />

## Lookup Configuration

<DbasaLookupConfiguration />

### Designer Mode

<DbasaLookupDesignerMode datasource="WooCommerce" />

### Filters

<DbasaLookupFilters />

### Query Mode

<DbasaLookupQueryMode datasource="WooCommerce" />

## Advanced

<DbasaLookupAdvanced datasource="WooCommerce" />

## Test Lookup

<DbasaLookupTestLookup datasource="WooCommerce" />
