> ## 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.

# ドキュメントワークフローのマッピング

> CData Arc で、パートナードキュメントとソースまたは宛先のコネクタ間のEDI ドキュメントワークフローのマッピングを設定およびテストします。

TPMC の重要なコンポーネントは、受信または送信のEDI ドキュメントと、データが保存または送信されるコネクタとの間のマッピングを設定することです。

*受信* マッピングは、MFT プロトコル経由でパートナーからEDI ドキュメントを受信し、EDI 標準を使用してそれらをEDI からXML に変換し、続いてデータベースなどの宛先コネクタにマッピングすることに依存します。

*送信* マッピングは、ソースコネクタ（データベースなど）からXML としてデータを取得し、そのデータをEDI 標準のXML 表現にマッピングし、XML をEDI に変換し、続いてそのEDI ドキュメントをMFT プロトコル経由でパートナーに送信することに依存します。

ドキュメントワークフローは2つの方法で定義します。

* [パートナー](https://docs.arc.cdata.com/26.4/cloud/ja/tpmc/edi-partners-tab.md#ドキュメントの選択または追加)タブから、パートナーの名前をクリックし、続いて**Workflows** タブを選択します。ドキュメントを追加してワークフローを起動する方法については、[ドキュメントの選択または追加](https://docs.arc.cdata.com/26.4/cloud/ja/tpmc/edi-partners-tab.md#ドキュメントの選択または追加)を参照してください。
* [ドキュメント](https://docs.arc.cdata.com/26.4/cloud/ja/tpmc/edi-documents-tab.md)タブから、既存のドキュメントの名前をクリックするか、**Add Document** を選択して新しいドキュメントを作成します。ドキュメントを追加してワークフローを起動する方法については、[ドキュメントタブからのドキュメントの作成](https://docs.arc.cdata.com/26.4/cloud/ja/tpmc/edi-documents-tab.md#ドキュメントタブからのドキュメントの作成)を参照してください。

## ドキュメントワークフローの追加

ドキュメントワークフローの定義には、次の手順が含まれます：

1. **Add Document Workflow** 画面を完了します。
   1. **パートナー**タブからドキュメントを追加する場合は、**Add Workflow** をクリックしてドキュメントワークフローを起動します。この場合、**Add Document Workflow** 画面のフィールドは事前入力されています。ドキュメント名は変更できますが、その他のフィールドはすべて固定です。
   2. **ドキュメント**タブからドキュメントを追加する場合は、**Add Document Workflow** 画面のフィールドを手動で完了する必要があります。
2. [ソースまたは宛先のコネクタの選択と設定](#ソースまたは宛先の選択と設定)
3. [マッピングの設定](#マッピングの設定)。マッピングは、マッピングを使用しない[File](../connectors/file)、[AMQP](https://docs.arc.cdata.com/26.4/cloud/ja/connectors/amqp.md)、[Apache Kafka](https://docs.arc.cdata.com/26.4/cloud/ja/connectors/apachekafka.md)を除くすべてのコネクタに適用されます。詳細については、[マッピングなしのドキュメントワークフロー](https://docs.arc.cdata.com/26.4/cloud/ja/tpmc/workflow-nomapping.md)を参照してください。

### ソースまたは宛先の選択と設定

*受信* ドキュメントを作成する場合は、データが追加される宛先コネクタを指定する必要があります。*送信* ドキュメントを作成する場合は、データを取得するソースコネクタを指定する必要があります。利用可能なコネクタは、Arc の[Database](https://docs.arc.cdata.com/26.4/cloud/ja/connectors/database-connectors.md)コネクタおよび[Other](https://docs.arc.cdata.com/26.4/cloud/ja/connectors/other-connectors.md)コネクタ、[File](../connectors/file)コネクタ、[Workspace Send](https://docs.arc.cdata.com/26.4/cloud/ja/connectors/workspace-send.md)コネクタ（受信ドキュメントのみ）、[Workspace Receive](https://docs.arc.cdata.com/26.4/cloud/ja/connectors/workspace-receive.md)コネクタ（送信ドキュメントのみ）です。

次の画像は送信ドキュメントのソースの設定を示していますが、受信ドキュメントの宛先にも同じ原則が適用されます。この例では、パートナーの**Workflow** タブからソースを定義していますが、**Documents** タブからも同じ結果を得ることができます。

1. **Workflow** タブから、**Add Source** をクリックします。

   ![Workflow タブのAdd Source ボタン](https://mintcdn.com/cdata-arc/mPTGrzt-QAW42BUU/26.4/images/edi_add_source.png?fit=max\&auto=format\&n=mPTGrzt-QAW42BUU\&q=85\&s=395ec9f087fa9031cc31314e341f723e)

2. **Select Source** 一覧でコネクタをハイライトし、**Add** をクリックします。

   ![Select Source コネクタダイアログ](https://mintcdn.com/cdata-arc/yfA3o6U6SThtnLN0/26.4/images/edi_select_source_connector.png?fit=max\&auto=format\&n=yfA3o6U6SThtnLN0\&q=85\&s=1982fade392cae65c5c1dcacd7f6f129)

3. プラス記号を使用して新しい**Connection** を作成するか、ドロップダウンを使用して既存のものを選択します。

   ![ソースコネクタの設定](https://mintcdn.com/cdata-arc/yfA3o6U6SThtnLN0/26.4/images/edi_source_config.png?fit=max\&auto=format\&n=yfA3o6U6SThtnLN0\&q=85\&s=da470c1fef607be15b331db8a372fcf0)

4. 新しい接続を追加する場合は、**Add Connection** ウィンドウで次のフィールドを完了します：
   * Name
   * Server
   * Port
   * User
   * Password
   * AWS Access Key（オプション）
   * AWS Secret Key（オプション）
   * AWS Role ARN（オプション）

5. **Test Connection** をクリックします。

6. 送信ドキュメントで利用可能なアクションは`Select` のみであるため、接続を追加してテストしたら、**Next** をクリックします。（受信ドキュメントのアクションは`Upsert` です。詳細については、[アクション](#アクション)を参照してください。）

これにより、マッピングを完了する**Action** コネクタ設定タブが開きます。このタブの使用方法については、[マッピングの設定](#マッピングの設定)を参照してください。

![Action タブを表示するマッピング開始ページ](https://mintcdn.com/cdata-arc/yfA3o6U6SThtnLN0/26.4/images/edi_mapping_source_structure.png?fit=max\&auto=format\&n=yfA3o6U6SThtnLN0\&q=85\&s=96f852a94d3f01e8492ae749708f430e)

> [!NOTE]
>
> * その他の設定タブ（**Settings** や**Automation** など）を使用して、コネクタの設定を完了します。設定オプションの詳細については、疑問符のヘルプアイコンをクリックして、コネクタのドキュメントを開いてください。
> * 最初のセットアップ後に接続を変更する必要がある場合は、**Settings** タブの**Connection** フィールドを使用します。

## マッピングの設定

接続を確立したら、マッピングするデータの構造を定義する必要があります。受信ドキュメントを作成する場合は、**Add Destination Structure** をクリックします。送信ドキュメントを作成する場合は、**Add Source Structure** をクリックします。

送信ドキュメントの場合、ソース構造エディタでは**Parent and Child Tables** と**Joined Tables** の構造タイプから選択し、含める列を設定して、フィルタを適用できます。詳細については、[ソース構造の設定](https://docs.arc.cdata.com/26.4/cloud/ja/tpmc/edi-source-structure.md)を参照してください。

次の画像は、完成したマッピングに、画面上の各要素を説明する注釈を付けたものです。各番号は以下の説明に対応しています。

![注釈付きの送信ドキュメントマッピング](https://mintcdn.com/cdata-arc/yfA3o6U6SThtnLN0/26.4/images/edi_mapping_outgoing_annotated.png?fit=max\&auto=format\&n=yfA3o6U6SThtnLN0\&q=85\&s=c9154228c5fe2ed7c57e7512c1473bd7)

1. ドキュメントまたはコネクタの名前。
2. コネクタの種類。
3. ドキュメントのアクション。値は、受信ドキュメントの場合は**Upsert**、送信ドキュメントの場合は**Select** です。
4. マッピングのテストステータス。値は、**Test Successful**、**Tested with Errors**、または**Not Tested** です。
5. XML ストリーミングのオン / オフを切り替えます。オンの場合、マッピングエンジンは、ループの完了後に、マッピング内の最上位の`Foreach` の現在のイテレーションのドキュメントオブジェクトモデル（DOM）を破棄します。これにより、大きなXML ドキュメントのパフォーマンスが大幅に向上します。マッピングエンジンがマッピングを解決できない場合は、自動的にXML ストリーミングをオフに切り替えます。
6. 通常表示とコンパクト表示を切り替えます（コンパクト表示は、大きなテンプレートファイルで役立ちます）。
7. XML 属性を表示するか非表示にするかを切り替えます。
8. マッピングを更新します。
9. [AI アシストマッピング](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-config.md#ai-アシストマッピング)を起動します。
10. **Test Mapping** ページを開きます。テスト結果は#4 に表示されます。（詳細については、[マッピングのテスト](#マッピングのテスト)を参照してください。）
11. マッピングを保存します。
12. 設定されたデータソース内のターゲットテーブル。
13. マッピングの方向。
14. EDI ドキュメントのスキーマ（この例では810 請求書）。
15. ソース側と宛先側の検索バー。
16. ソーステーブルの構造。
17. テーブルの名前。これはテーブルノードとも呼ばれます。
18. テーブル内の列。これは列ノードとも呼ばれます。
19. 宛先ドキュメントの構造。
20. 完成したマッピング。

マッピングページでは、EDI ドキュメントとソースまたは宛先のコネクタとの間のリンクを作成できます。受信ドキュメントの場合、EDI ドキュメント構造は左ペインに、コネクタテーブル構造は右ペインに表示されます。送信ドキュメントの場合は、上の注釈付き画像のとおり逆になります。

マッピングエディタの使用方法に関する詳細な手順については、[マッピング](../mapping)ドキュメントの[マッピングの設定](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-config.md)を参照してください。

> [!NOTE]
>
> 以前に保存したマッピングを編集するには、**EDI > Documents** をクリックし、続いてドキュメント名をクリックします。**Document Workflow** セクションで、**Document Destination**（受信ドキュメントの場合）または**Document Source**（送信ドキュメントの場合）のコネクタへのリンクをクリックします。

### ソースと宛先について

前述のとおり、*受信* ドキュメントを作成する場合は、データの送信先となる宛先コネクタを指定する必要があります。EDI ドキュメント構造は左ペインに、コネクタテーブル構造は右ペインに表示されます。

*送信* ドキュメントを作成する場合は、データを取得するソースコネクタを指定する必要があります。この場合、コネクタテーブル構造は左ペインに、EDI ドキュメント構造は右ペインに表示されます。

Arc には、テーブルおよびドキュメント構造内の情報を操作するさまざまな方法があります。詳細については、[テーブル構造ノード](#テーブル構造ノード)および[ドキュメントノード](#ドキュメントノード)を参照してください。

ドキュメントスキーマを変更する、またはソースや宛先のXML 構造を表すテンプレートファイルをアップロードするには、ドキュメントスキーマへのリンクをクリックして**Upload File** を選択します。これは、パートナーが送受信を想定しているもののサンプルドキュメントを提供してくれる場合に役立ちます。例えば、パートナーがサンプルのX12 850 を提供してくれた場合、通常のワークスペースで[X12 コネクタ](https://docs.arc.cdata.com/26.4/cloud/ja/connectors/x12.md)を`X12 to XML` モードで実行することで、それをXML に変換できます。続いて、その出力XML をテンプレートファイルとしてアップロードできます。

![テンプレートファイルのアップロードダイアログ](https://mintcdn.com/cdata-arc/yfA3o6U6SThtnLN0/26.4/images/edi_upload_template_file.png?fit=max\&auto=format\&n=yfA3o6U6SThtnLN0\&q=85\&s=78bad1a06667b6d6bb08f3b54cf5d231)

テンプレートファイルを参照し、続いて**Upload Template File** をクリックします。

#### アクション

コネクタを設定する際には、2つのアクションが利用できます：

* Upsert は受信ドキュメントのアクションです。このアクションは、ターゲットの宛先テーブルにデータを挿入または更新します。宛先テーブルにレコードがすでに存在する場合は、入力から提供された値を使用して既存のデータに対する更新が実行されます。
* Select は送信ドキュメントのアクションです。このアクションは、ターゲットのデータソースからデータを取得します。

### テーブル構造ノード

このセクションでは、ソースまたは宛先のテーブル構造を表示するマッピングペインで利用可能なオプションについて説明します。構造には、テーブルノードと列ノードの2種類のノードがあります。テーブルノードはテーブル自体を表し、列ノードはテーブル内の列を表します。

#### テーブルノード

テーブルノードはテーブルアイコンで示されます。テーブルノードにカーソルを合わせると、2つの追加オプションが表示されます：

* じょうごアイコンをクリックすると、マッピングにフィルタ条件を追加できる**Add Mapping Conditions** ページが開きます。詳細については、[条件エディタの使用](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-condition-editor.md)を参照してください。（受信ドキュメントマッピングでのみ利用可能。）

* 省略記号をクリックすると、そのテーブルノードのオプション一覧が開きます：

  * **Rename Table** では、ノードの名前を変更できます。
  * **Remove Table** はノードを削除します。
  * **Table Settings** は、マッピングに含める列、および[フィルタ](https://docs.arc.cdata.com/26.4/cloud/ja/tpmc/edi-source-structure.md#フィルタ)を適用するかどうかを選択できる編集ウィンドウを開きます。（送信ドキュメントマッピングでのみ利用可能。）
  * **Edit Columns** は、マッピングに含める列を選択できる編集ウィンドウを開きます。（受信ドキュメントマッピングでのみ利用可能。）
  * **Add** は、マッピングで作成して使用できるノードの新しい一覧を開きます。（受信ドキュメントマッピングでのみ利用可能。）オプションは次のとおりです：
    * **Add Header** は、値をマッピングできるヘッダーノードを作成します。マッピングされた値は出力ファイルには含まれませんが、マッピング出力メッセージのヘッダーとして追加されます。
    * **Add Loop** は、選択したノードの上にループノードを作成し、そのノードはループノード内にネストされます。詳細については、[ループのマッピング](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-config.md#ループのマッピング)を参照してください。
    * **Add Condition** では、条件がtrue の場合にのみデータが宛先にUpsert されるよう、宛先ノードに条件を追加できます。詳細については、[条件エディタの使用](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-condition-editor.md)を参照してください。
    * **Add Code Script** は、スクリプトノードに名前を付けてカスタムのArcScript を指定できる**Add Script** ウィンドウを開きます。
    * **Add Variable** は、選択したノードの下に変数ノードを作成します。詳細については、[変数](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-node-value-editor.md#変数)を参照してください。

#### 列ノード

列ノードは、テーブル内の列を表します。すべての列ノードには、データベース内の列のデータ型である型があります。7つの異なるデータ型があり、それぞれに固有のシンボルがあります。列にカーソルを合わせると、そのデータ型、サイズ、null 許容かどうかが表示されます。データ型は次のとおりです：

* String
* Number
* Binary
* Boolean
* Date
* Time
* Date and Time

列の行にカーソルを合わせて省略記号をクリックすると、そのノードのオプション一覧が開きます：

* **Rename Column** では、ノードの名前を変更できます。
* **Remove Column** はノードを削除します。
* **Add** は、マッピングで作成して使用できるノードの新しい一覧を開きます。（受信ドキュメントマッピングでのみ利用可能。）オプションは次のとおりです：
  * **Add Header** は、値をマッピングできるヘッダーノードを作成します。マッピングされた値は出力ファイルには含まれませんが、マッピング出力メッセージのヘッダーとして追加されます。
  * **Add Loop** は、選択したノードの上にループノードを作成し、そのノードはループノード内にネストされます。詳細については、[ループのマッピング](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-config.md#ループのマッピング)を参照してください。
  * **Add Code Script** は、スクリプトノードに名前を付けてカスタムのArcScript を指定できる**Add Script** ウィンドウを開きます。
  * **Add Variable** は、選択したノードの下に変数ノードを作成します。詳細については、[変数](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-node-value-editor.md#変数)を参照してください。
* **Add Tracking** は、[追跡されたヘッダー](https://docs.arc.cdata.com/26.4/cloud/ja/getting-started/administration/activity.md#追跡されたヘッダー)をマッピングに追加します。ノードで追跡が有効になっていると、コンパスアイコンが表示されます。

### ドキュメントノード

ドキュメントノードは、マッピングのもう一方の側、つまり非データベース側のノードを指します。これらのノードはデータソース（列を持つテーブル）に明示的に関連付けられているわけではなく、EDI データをXML 構造で表します。これらのノードは、送信ドキュメントの場合はマッピング先となり、受信ドキュメントの場合はマッピング元となります。

送信ドキュメント（Select アクションを使用）の場合、じょうごアイコンをクリックすると、マッピングにフィルタ条件を追加できる**Add Mapping Conditions** ページが開きます。詳細については、[条件エディタの使用](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-condition-editor.md)を参照してください。省略記号をクリックすると、宛先ドキュメントで次のオプションを使用できます：

* **Rename Node** では、ノードの名前を変更できます。
* **Edit XPath** では、ノードのXPath を編集できます（すでに`Foreach` としてマッピングされている要素のみ）。
* **Delete Node** では、ドキュメントからノードを削除できます。
* **Add Node**
  * **Add Sibling** は、選択したノードと同じレベルにノードを追加します。
  * **Add Attribute** は、選択したノードに属性を追加します。
  * **Add Child** は、選択したノードの子としてノードを追加します。
  * **Add Header** は、値をマッピングできるヘッダーノードを作成します。マッピングされた値は出力ファイルには含まれませんが、マッピング出力メッセージのヘッダーとして追加されます。
  * **Add Loop** は、選択したノードの上にループノードを作成し、そのノードはループノード内にネストされます。詳細については、[ループのマッピング](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-config.md#ループのマッピング)を参照してください。
  * **Add Condition** は、条件がtrue の場合にのみデータが宛先にUpsert されるよう、条件を追加できる[条件エディタ](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-condition-editor.md)を開きます。
  * **Add Code Script** は、スクリプトノードに名前を付けてカスタムのArcScript を指定できる**Add Script** ウィンドウを開きます。
  * **Add Variable** は、選択したノードの下に変数ノードを作成します。詳細については、[変数](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-node-value-editor.md#変数)を参照してください。
* **Cut Node** は、選択したノードを現在の場所から切り取ります。
* **Copy Node** は、選択したノードをコピーします。
* **Paste as Child** は、切り取りまたはコピーしたノードを選択したノードの子として貼り付けます。

受信ドキュメント（Upsert アクションを使用）の場合、ソースドキュメント構造で省略記号をクリックすると、次のオプションを使用できます：

* **Rename Node** では、ノードの名前を変更できます。
* **Delete Node** では、ドキュメントからノードを削除できます。
* **Add Node**
  * **Add Sibling** は、選択したノードと同じレベルにノードを追加します。
  * **Add Attribute** は、選択したノードに属性を追加します。
  * **Add Child** は、選択したノードの子としてノードを追加します。
* **Cut Node** は、選択したノードを現在の場所から切り取ります。
* **Copy Node** は、選択したノードをコピーします。
* **Paste as Child** は、切り取りまたはコピーしたノードを選択したノードの子として貼り付けます。

**Edit Node** を使用して、**Edit Node Value** ページを開くこともできます。[ノード値エディタの使用](https://docs.arc.cdata.com/26.4/cloud/ja/mapping/mapping-node-value-editor.md)を参照してください。

## マッピングのテスト

マッピングを設定したら、テストする必要があります。ページ上部の**Test Mapping** ボタンをクリックします。次の画像は、受信ドキュメントのテストを示しています。

![Test Mapping ページ](https://mintcdn.com/cdata-arc/yfA3o6U6SThtnLN0/26.4/images/edi_test_mapping.png?fit=max\&auto=format\&n=yfA3o6U6SThtnLN0\&q=85\&s=7560ecd5442cf0514353c2e7cf0c6bef)

テストページのソース側には、**XML** と**Headers** の2つのタブがあります。**XML** タブには、テストするドキュメントまたはテーブル構造のXML 表現が入力されますが、必要に応じて編集できます。**Headers** タブは、マッピングで[追跡されたヘッダー](https://docs.arc.cdata.com/26.4/cloud/ja/getting-started/administration/activity.md#追跡されたヘッダー)を使用している場合にのみ表示されます。マッピングで使用したいヘッダー値を追加するには、このタブを使用します。準備ができたら、**Test Mapping** をクリックします。

テスト結果のインジケーターは、パートナーの**Workflow** ページとマッピング自体に表示されます。マッピング上の値は、**Test Successful**、**Tested with Errors**、または**Not Tested** です。**Workflow** ページには、テスト成功にはチェック、未テストのマッピングには茶色の感嘆符、エラーのあるテストには赤色の感嘆符が表示されます。エラーの詳細については、アイコンにカーソルを合わせてください。

> [!NOTE]
>
> 受信ドキュメントをテストする場合は、ライブデータでテストすることになります。**Test Mapping** をクリックすると、Arc はマッピングのテスト後に`upsert` の実行を試みます。

## フィルタとQuery View

フィルタの作成、フィルタグループ、Query View の使用など、コネクタが選択するデータのフィルタリングについては、[ソース構造の設定](https://docs.arc.cdata.com/26.4/cloud/ja/tpmc/edi-source-structure.md)トピックの[フィルタ](https://docs.arc.cdata.com/26.4/cloud/ja/tpmc/edi-source-structure.md#フィルタ)を参照してください。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.