> ## Documentation Index
> Fetch the complete documentation index at: https://domoinc-openapi-sync-dataflows.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# NetSuite Writebackコネクター

## はじめに

NetSuite WritebackコネクターはDomoのDataSetを使用して、NetSuiteアカウントにレコードを作成します。各行は単一のNetSuiteレコードをカプセル化します（サブリストをグループ化を使用する場合を除く。これについては後に説明します）。コネクターは、フィールドマッピングという名前の機能（ **［フィールドマッピングを設定］** タブにある）により、どの値がNetSuiteの各フィールドに対応するかを決定します。この機能では、NetSuiteフィールドごとにDataSet列を選択します。マッピングは必須フィールドとオプションフィールドに分かれています。Writeback DataSetを作成するには、すべての必須フィールドは指定された列が必要です。必須フィールドが空でも、作成できるレコードがあります。オプションのフィールドで、検索可能ドロップダウンを使用してこの行に使用するNetSuiteフィールドを選択します。そして、そのフィールドに対応させる列を選択します。+/-ボタンを使用して、オプションの行をさらに追加します。

一部のNetSuiteレコード（「セールスオーダー」や「仕訳入力」など）には、フィールドのほかにサブリストが必要です。サブリストは基本的にレコードの明細品目です。例えば、一般的に使用されるサブリストはセールスオーダーの「アイテム」サブリストです。アイテムには様々な追加値（税コード、数量、価格など ）が必要なため、フィールドとしてのみ保存することはできません。コネクターは、サブリストフィールドマッピング（ **［サブリストマッピングを設定］** タブにある）という名前の機能を使用して、サブリストを入力する方法を決定します。この機能では、レコードに含めるサブリストを選択できます。いずれかを選択すると、 **［フィールドマッピングを設定］** タブと同様のタブが表示され、そのサブリストの必須フィールドとオプションフィールドが含まれています。

### 複数のサブリストエントリー

一部のレコードは、正常に実行するために複数のサブリストエントリーを必要とする場合があります。NetSuiteWritebackコネクターにはこれを実行する2つの方法があります：（1） **［サブリストフィールドマッピング］** タブの右上隅にあるプラスとマイナスのボタン（2）サブリストのグループ化。

#### プラスとマイナスボタン（+/-）

異なるサブリストに入力する値が同じ行で異なる列に含まれている場合は、プラスボタンとマイナスボタンを使用する必要があります。この場合、別のマッピングを追加して新しいサブリストのエントリーにマッピングする列を選択します。

#### サブリストのグループ化

異なるサブリストに入力する値が同じ行で異なる列に含まれている場合は、サブリストのグループ化を使用する必要があります。DataSetにサブリストのグループ化を機能させるには、まずグループ化する列を選択します。この列は、そのレコードに関連付ける各行で同じ値が必要です。例えば、次の表があるとします。

<table data-aura-rendered-by="33:195;a"><thead><tr><th colspan="1" rowspan="1"> 顧客名 </th><th colspan="1" rowspan="1"> 子会社 </th><th colspan="1" rowspan="1"> アイテム </th><th colspan="1" rowspan="1"> 数量 </th></tr></thead><tbody><tr><td colspan="1" rowspan="1"> 顧客例1 </td><td colspan="1" rowspan="1"> HH Inc. </td><td colspan="1" rowspan="1"> りんご </td><td colspan="1" rowspan="1"> 1 </td></tr><tr><td colspan="1" rowspan="1"> 顧客例1 </td><td colspan="1" rowspan="1"> HH Inc. </td><td colspan="1" rowspan="1"> アーティチョーク </td><td colspan="1" rowspan="1"> 5 </td></tr><tr><td colspan="1" rowspan="1"> 顧客例2 </td><td colspan="1" rowspan="1"> HH Inc. </td><td colspan="1" rowspan="1"> バスケットボール </td><td colspan="1" rowspan="1"> 3 </td></tr><tr><td colspan="1" rowspan="1"> 顧客例2 </td><td colspan="1" rowspan="1"> HH Inc. </td><td colspan="1" rowspan="1"> 自転車 </td><td colspan="1" rowspan="1"> 4 </td></tr><tr><td colspan="1" rowspan="1"> 顧客例3 </td><td colspan="1" rowspan="1"> HH Inc. </td><td colspan="1" rowspan="1"> クラリネット </td><td colspan="1" rowspan="1"> 6 </td></tr><tr><td colspan="1" rowspan="1"> 顧客例3 </td><td colspan="1" rowspan="1"> HH Inc. </td><td colspan="1" rowspan="1"> カメラ </td><td colspan="1" rowspan="1"> 5 </td></tr><tr><td colspan="1" rowspan="1"> 顧客例4 </td><td colspan="1" rowspan="1"> HH Inc. </td><td colspan="1" rowspan="1"> 机 </td><td colspan="1" rowspan="1"> 2 </td></tr><tr><td colspan="1" rowspan="1"> 顧客例4 </td><td colspan="1" rowspan="1"> HH Inc. </td><td colspan="1" rowspan="1"> ダーツ </td><td colspan="1" rowspan="1"> 7 </td></tr></tbody></table>

このDataSetで、顧客が購入したアイテムに基づいてレコードを分割してセールスオーダーを作成するには、「顧客名」列をグループ化列として選択します。この列では、さまざまな行が分割されます。次に、コネクターで同じ顧客名の各行に新しいサブリストを作成します。コネクターはサブリストマッピングで指示された列と同じ列からデータを取得しますが、行は異なります。この例では、コネクターは4つのセールスオーダーを作成し、それぞれに2つのアイテムがあります。

* 最初に、2つのアイテムがある顧客例1：
  * アイテム：リンゴ、数量：1
  * アイテム：アーティチョーク、数量：5

* 2番目に、2つのアイテムがある顧客例2：

  * アイテム：バスケットボール、数量：3
  * アイテム：自転車、数量：4

* 3番目に、2つのアイテムがある顧客例3：

  * アイテム：クラリネット、数量：6
  * アイテム：カメラ、数量：5

* 4番目は、2つのアイテムがある顧客例4：

  * アイテム：机、数量：2
  * アイテム：ダーツ、数量：7

### その他の検討事項

* コネクターはSQLを使用して値を区別します。SQLを正しく機能させるには、コネクターに区切り記号を使用してDataSetの異なるセルを分割する必要があります。このコネクターでは、現在複数の区切り記号から選択できます。問題のサブリストに入力されているデータに表示されないものを必ず選択してください。
* コネクターは、作成されるレコード全体で共通である必要があるため、フィールド値が行のグループ全体で等しいことを想定しています。フィールド値が等しいか等しくないかに関わらず、コネクターでは最初の行のフィールド値が使用されます。
* このグループ化機能はサブリストの有無に関わらず、すべてのNetSuite Writeback DataSetに使用されることにに注意してください。DataSetにサブリストを使用していない場合は、各行で一意の値を持つグループ化列を必ず選択してください。値が一意でない行を選択すると、コネクターは失敗するか、重複した行の一部が失われ、NetSuiteの一部のデータが失われます。

### NetSuite WriteBackコネクターを起動する

コネクターを起動するには、次のステップに従います。

#### バンドルをNetSuiteにインストールする

1. NetSuiteで、**［Customization］ > ［SuiteBundler］ > ［Search\&InstallBundles］** に移動します。
2. **［Keywords］** セクションで、「Domo」を検索します。
3. **［Domo NetSuite Writeback］** をクリックします。
4. **［Install］** をクリックします。
5. **［Customization］> ［SuiteBundler］ > ［Search\&InstallBundles］ > ［List］** に移動します。
6. **［Domo NetSuite Writeback］** を検索してクリックします。
7. ステータスが完了しており、緑のチェックマークが表示されていることを確認します。

#### トークンIDとトークンシークレットを作成する

1. Netsuiteで、データにアクセスする権限を選択します。
2. 画面左上隅の家の形をしたアイコンをクリックしてメインページに移動します。
3. 左下隅にある **［Settings］** ボックスで、 **［Manage AccessTokens］** をクリックします。
4. **［新規アクセストークン］** をクリックし、 **［Domo NetSuite Writebackスクリプト］** を選択します。
5. ［オプション］目的のトークン名を選択します。
6. **［保存］** をクリックします。

トークンIDとトークンシークレットはほかの情報の下に表示されます。この情報は次回からは表示されないので、この情報を安全に保管してください。

#### アカウントIDを探します

1. **［Setup］ > ［Integration］ > ［Web Services Preferences］** に移動します。アカウントIDは「Primary Information」のすぐ下にあります。

#### スクリプトIDと展開IDを探します

1. **［Customization］ > ［Scripting］ > ［Scripts］** に移動します。
2. **［Domo NetSuite Writeback］** を検索してクリックします。これは（アルファベット順になっているはずの）結果を検索するか、上部no **クリプトファイル** ボックスに netsuiteWriteback.js と入力すると実行できます。
3. **［展開］** タブをクリックします。
4. 手順に従ってScript Deploymentページを開きます。
5. 「外部URL」でスクリプトIDと展開IDを探します。

#### DomoのクライアントIDとクライアントシークレットの位置を探します

1. Domo開発者アカウント（
   [https://developer.domo.com/login](https://developer.domo.com/login "https://developer.domo.com/login") ）にログインします。
2. [新しいクライアントを作成します](https://developer.domo.com/new-client "DomoからS3 Writebackコネクター")
   。
3. 目的のデータとユーザーアプリケーションの範囲を選択します。
4. ****［作成］**** をクリックします。

#### NetSuite Writeback DataSetを設定する

接続を設定するには、以下の手順を実行します。

1. Dataset IDを探します。

   1. NetSuiteに送信するDomoのDataSetに移動します。
   2. DataSet URLにあるIDの位置を探します。例えば、URL

      [https://customer.domo.com/datasources/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/details/settings](https://customer.domo.com/datasources/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/details/settings)

      では、IDは

      aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeeです。
2. NetSuiteレコードを選択します。

   NetSuiteレコードの完全なリストについては、NetSuiteレコードブラウザー（ [https://www.netsuite.com/help/helpcenter/en\_US/srbrowser/Browser2016\_1/script/record/account.html](https://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_1/script/record/account.html "フォローリンク") ）を参照してください。
3. フィールドマッピングを設定します。

   * マッピングセクションの各フィールドには、値を入力する2つのオプションがあります。

     * DataSet列：この行にマップする列を選択します。これがどのように機能するかの詳細については、この記事の前述のセクションを参照してください。
     * 静的値を入力：コネクターで作成されるすべてのレコードにこのフィールドと同じ値が必要な場合は、この機能を使用します。このオプションを使用するには、
       **「静的値を使用」** チェックボックスをオンにします。検索可能なドロップダウンは、入力する静的値を含むテキストボックスに変更されます。
     * 選択する特定の列にNetSuiteの内部IDが含まれている場合は、
       **「NetSuiteの内部IDを使用しますか？」チェックボックスをオンにします。**
     * オプションのフィールドをさらに追加するには、オプションのフィールド行の右端にある+ボタンをクリックします。+ボタンはリストの下部に別のオプションのフィールドを追加します。
     * オプションのフィールドを削除するには、+ボタンの横にある-ボタンをクリックします。-ボタンは、ボタンが含まれているオプションのフィールド行を削除します。
4. サブリストフィールドマッピングを設定します。

   * レコードに含める各サブリストの横にあるチェックボックスをオンにします。
   * 前のタブと同様のフィールドマッピングタブが表示されることに注意してください。
   * ステップ3のガイドラインを使用して各サブリストのマッピングを設定します。
5. 詳細設定。

   * グループ化列で、サブリストのグループ化で行をグループ化する特定の列を選択します。サブリストのグループ化の機能とグループ化列の詳細については、この記事の前述のセクションを参照してください。
   * 区切り記号には、グループ化するサブリストの列に含まれない文字を選択します。

## その他のペイン

スケジュール設定、再試行、オプションの更新など、このページにないセクションに記載のコネクターインターフェースについては、「 [データコネクターを使用してDataSetを追加する](/ja/s/article/360042926274 "データコネクターを使用してDataSetを追加する") 」を参照してください。
