メインコンテンツまでスキップ

logoCorrectSize.png

Looks like this logo isn't being used anymore since we started using the new CSS to make our documentation look like our product UI.

Knowledge @ Adaptive Insights LLC, a Workday Company

NetSuiteデータ ソーステーブルとデータタイプ

Adaptive Integration 2017.1以降、NetSuiteアダプタはNetSuiteの2016.2 SuiteTalkウェブサービスをサポートしています。2017.1よりも前にプロビジョニングされたすべてのアダプタは、 NetSuiteの2013.2ウェブサービス商品に含まれています。Adaptive Insights NetSuite アダプタがNetSuite 2013.2からNetSuite 2016.2に自動移行されることはありません

サポートされるNetSuite テーブル

下表は、NetSuite Integrationでサポートされているテーブルに関する情報を示します。このテーブルの列は、次の情報を示します。

  • 統合テーブル: 統合データ ソースに示されているテーブルの名前。
  • テーブルソース: NetSuite スキーマブラウザで使用されているテーブルの名前 。
  • アクセス: それぞれのNetSuite テーブルのアクセスメカニズム。タイプは次のとおりです。
  • 「検索」とは、Integrationが指定されたAPIを使用して、検索条件に一致するすべてのレコードを取得することを意味します。“「制限付き検索」とは、Integrationが、NetSuiteが課す可能性のある検索の制限に加えて、検索に追加の制限を課すことを意味します。
  • 「すべてを取得」とは、Integrationが指定されたAPIを使用して、すべてのレコードを取得することを意味します。
  • 「差分」とは、Integrationが変更されたデータのみを取得することを意味します。
  • コメント: テーブルに関するコメント。

Integration は、NetSuite ウェブサービスAPIによって公開されるカスタムNetSuite テーブルもサポートします。それぞれにインポートするテーブル/列を選択できます。

 

統合テーブル テーブルソース アクセス コメント
Account AccountSearchRowBasic 検索  
AccountingPeriod AccountingPeriodSearchRowBasic 検索  
AdaptivePostingTransactionSummary    

統合データ ソースでAdaptiveによって作成されたテーブルで、NetSuiteでは使用できません。PostingTransactionSummaryテーブルを標準カテゴリーテーブル(科目、期間、子会社、部署、クラス、場所、項目、顧客)と結合します

AllCustomLists CustomList すべてを取得  
Budget BudgetSearchRowBasic 検索  
BudgetExchangeRate 特殊: getBudgetExchangeRate 制限付き検索  
CalendarEvent CalendarEventSearchRowBasic 検索  
Campaign CampaignSearchRowBasic 差分  
CampaignCategory CampaignCategory すべてを取得  
CampaignFamily CampaignFamily すべてを取得  
Classification ClassificationSearchRowBasic 検索  
ConsolidatedExchangeRate 特殊: getConsolidatedExchangeRate 制限付き検索  
Contact ContactSearchRowBasic 検索  
Currency Currency すべてを取得  
CustomerCategory CustomerSearchRowBasic 差分  
CustomerStatus CustomerCategorySearchRowBasic 検索  
DeletedRecord Special: getDeleted 制限付き検索 エンドユーザーによる使用はできません
Department DepartmentSearchRowBasic 検索  
Employee EmployeeSearchRowBasic 差分  
EntityGroup EntityGroupSearchRowBasic 差分  
ExpenseCategory ExpenseCategorySearchRowBasic 検索  
Item ItemSearchRowBasic 差分  
Job JobSearchRowBasic 差分  
JobStatus JobStatusSearchRowBasic 検索  
JobType JobTypeSearchRowBasic 検索  
Location LocationSearchRowBasic    
NetSuiteServerTime 特殊: getServerTime    
Opportunity OpportunitySearchRowBasic    
Partner PartnerSearchRowBasic    
PostingTransactionBalance   制限付き検索

統合ソースでAdaptiveによって作成されたテーブルで、NetSuiteでは使用できません。このテーブルには、期末残高が含まれています。

PostingTransactionSummary 特殊: getPostingTransactionSummary 制限付き検索  
ProjectTask ProjectTaskSearchRowBasic 差分  
PromotionCode PromotionCodeSearchRowBasic 検索  
SalesTaxItem SalesTaxItem すべてを取得  
Subsidiary SubsidiarySearchRowBasic 検索  
SupportCase SupportCaseSearchRowBasic 差分  
SupportCasePriority SupportCasePriority すべてを取得  
SupportCaseStatus SupportCaseStatus すべてを取得  
SupportIssue IssueSearchRowBasic 検索  
SupportSolution SolutionSearchRowBasic 検索  
SupportTopic TopicSearchRowBasic 検索  
Task TaskSearchRowBasic 検索  
TaxGroup TaxGroup すべてを取得  
TaxType TaxType すべてを取得  
Timebill TimeBillSearchRowBasic 差分  
Transaction TransactionSearchRowBasic 差分  
Vendor VendorSearchRowBasic 差分  

AIで一般的に使用されているテーブル

次のテーブルは、NetSuite アダプタですぐにインポートできるようになっています。

  • AdaptivePostingTransactionSummary (プランニング用のプライマリ ソーステーブル)
  • 科目(Adaptive科目にマッピング)
  • 分類(オプションのマッピング)
  • 顧客(オプションのマッピング)
  • 部署(オプションのマッピング)
  • 項目(オプションのマッピング)
  • 場所(オプションのマッピング)
  • トランザクション転記の要約
  • 子会社(通常はAdaptiveの組織にマッピングされます)

AdaptivePostingTransactionSummaryおよびPostingTransactionSummaryテーブルは月次差額を返す一方、PostingTransactionBalanceテーブルは期末残高を返します。AdaptivePostingTransactionSummaryおよびPostingTransactionSummaryテーブルは、標準カテゴリー(科目、期間、子会社、部署、クラス、場所、項目、顧客)をサポートします。追加のカテゴリーが必要な場合は、トランザクションテーブルを使用する必要があります。

差分更新されたテーブル

現在のNetSuite データ ソースで、次のテーブルが差分更新されます。

  • Campaign
  • Customer
  • Employee
  • EntityGroup
  • Item
  • Job
  • Opportunity
  • Partner
  • ProjectTask
  • SupportCase
  • TimeBill
  • Transaction
  • Vendor

さらに、すべてのカスタムレコードタイプも差分更新されます。差分更新されたテーブルのデータインポートフィルターで差分日付列を使用することはできません。システムはこれを試みることを妨げませんが、差分更新メカニズムのエラーが発生します。

「探索中」、つまり列とフィルター設定を変更する際に、差分テーブルにインポートされるデータの量を制限できます。データ ソースには、差分データの完全負荷を短絡するためのメカニズムがあります。

下表には、すべての差分テーブルとその差分および作成日列が含まれています。

テーブル 差分日列 作成日列
Campaign LastModifiedDate CreatedDate
Customer LastModifiedDate DateCreated
CustomRecord (*) LastModified Created
Employee LastModifiedDate CreatedDate
EntityGroup LastModifiedDate -- なし --
Item Modified Created
Job LastModifiedDate DateCreated
Opportunity LastModifiedDate DateCreated
Partner LastModifiedDate DateCreated
ProjectTask LastModifiedDate CreatedDate
SupportCase LastModifiedDate CreatedDate
TimeBill LastModified DateCreated
Transaction LastModifiedDate DateCreated
Vendor LastModifiedDate DateCreated

(*) - これはすべてのカスタムレコードに適用されます。

テーブルの [作成日] 列で、「~より大きい」または「~以上」のフィルターを指定すると、コードは完全なインポートをバイパスし、指定された日時から差分更新のみを行います。これはインポートされたデータを制限する際に役立ちます。差分アップロードされた大きなテーブルの探索を開始する場合に、最後の数日(または数週間)分のデータのみを抽出するようにフィルターを設定できます。この種のロードは非常に迅速に実行されます。そうすると、必要な列や使用したいその他のフィルター条件がわかります。そこで満足ならば、作成日フィルターを削除して、全データのロードを再開できます。

一部のテーブルについては、特定の日付より古いレコードが必要になることはないでしょう。それらのテーブルでは、適切な値で作成日フィルターを引き続き使用できます。

サポートされているNetSuite データタイプ

NetSuite からのデータが統合にインポートされると、そのデータの「タイプ」は、統合でサポートされているデータタイプのいずれかにマップする必要があります。

標準NetSuite データフィールド

「検索済み」テーブル内の標準NetSuite データフィールドには、次のマッピングを使用します。

NetSuite標準検索データタイプ 統合データタイプ
SearchColumnStringField Text
SearchColumnSelectField Text
SearchColumnEnumSelectField Text
SearchColumnDoubleField Float
SearchColumnBooleanField Boolean
SearchColumnLongField Integer
SearchColumnTextNumberField Text
SearchColumnDateField DateTime

テーブル内の標準NetSuite データフィールド

テーブル内の標準NetSuite データフィールド(常に完全に取得されます)には、次のマッピングを使用します。

NetSuite 標準データタイプ 統合データタイプ
String Text
RecordRef Text
Double Text
Boolean Float
Long Boolean
System.DateTimeFloat Integer

カスタムフィールド

NetSuite データソースは可能性のあるNetSuite カスタムフィールドのサブセットに対応します。

カスタムフィールドは次のレコードタイプに対応しています。

  • CRMカスタムフィールド
    • CalendarEvent
    • Campaign
    • SupportCase
    • SupportIssue
    • SupportSolution
    • ProjectTask
  • タスク
  • カスタムエンティティフィールド
    • お問い合わせ先
    • 顧客
    • 従業員
    • エンティティグループ
    • ジョブ
    • パートナー
    • ベンダー
  • カスタム項目フィールド
    • 項目
  • カスタムトランザクションフィールド
    • トランザクションボディ
    • トランザクション列
    • トランザクション項目
  • その他のカスタムフィールド
    • 科目
    • 分類
    • 部署
    • 場所
    • プロモーションコード

NetSuite ウェブサービスAPIでフィールドを表示するには、カスタムフィールドの [店舗価格] 特性にチェックマークを入れる必要があることに注意してください。

カスタムフィールド データタイプ

Adaptive Integrationは、定義済みのすべてのNetSuite カスタムフィールド データタイプをサポートします。ただし、統合は内部で5つの基本データタイプのみを実装するため、NetSuite カスタムフィールド データタイプは最も適切な統合データタイプにマップされます。下表は、このマッピングを示しています。

NetSuite データタイプ 統合データタイプ コメント
_checkBox 浮動小数  
_currency DateTime  
_date DateTime  
_decimalNumber 浮動小数  
_document テキスト 別のレコードの参照
_eMailAddress テキスト  
_freeFormText テキスト  
_help テキスト 「StoreValue」が設定されていません。NetSuite はこのタイプの取得を許可しません。
_hyperlink テキスト  
_image テキスト 別のレコードの参照
_inlineHTML テキスト  
_integerNumber 整数  
_listRecord テキスト 別のレコードの参照
_longText  テキスト  
_multipleSelect テキスト 指定されたタイプの他のゼロ以上のレコードの参照
_password テキスト  
_percent 浮動小数  
_phoneNumber テキスト  
_richText テキスト  
_textArea テキスト  
_timeOfDay DateTime  
     

Netsuiteトランザクションタイプ

その他の情報

次のセクションでは、NetSuite データにアクセスするための追加の考慮事項について説明します。

データ インポートのフィルター

検索の各フィールドには、最大1つのフィルターを含めることができます。検索クエリが実行されると、フィルターはNetSuite によって「AND」で結合されます。

「検索」メカニズムを介してアクセスされるテーブルのみに、同期フィルターを設定できます。

また、[TableName]SearchRowBasicと[TableName]SearchBasicの両方に存在するフィールドのみが同期フィルターで使用できます。

ステージングから直接NetSuite をクエリ

NetSuiteからステージングにインポートされた記録をクエリするのではなく)NetSuite を直接クエリする場合、フィルター式はウェブサービスを通じてNetSuite によって公開される機能に限定されます。

  • 比較式と論理式を持つ単純な列フィルターは、NetSuiteをクエリする場合に使用できます。
  • フィルターは「AND」で結合できますが、「OR」で結合することはできません。
  • 演算子(+、-、/、*、$、||)を使用することはできません。
  • スカラ関数は使用できません。
  • CASE文は使用できません。
  • カスタム列をフィルタリングするには、インポートするカスタム列にマークを付ける必要があります。
  • 一部の列フィルターでは、フィルターを動作させるために特定のNetSuite 機能を有効にする必要があります。 

一部のテーブルおよび一部の列は、フィルタリングをサポートしていません。

除外フィールド

さまざまな理由により、多くのNetSuite フィールドがインポートから除外されています。下表は、除外されたフィールドの一部を示しています。

NetSuite フィールド 除外理由
顧客: ccExpDate プライバシー保護のため、クレジットカード情報は除外されます。
顧客: ccInternalId プライバシー保護のため、クレジットカード情報は除外されます。
従業員: socialSecurityNumber プライバシー保護のために除外されています。
SalesTaxItem: 郵便番号 郵便番号の区切りリスト。このテキストフィールドは非常に長くなる場合があり(テキストフィールドのデフォルトの1,024文字の制限より長い)、統合操作に特に有用ではありません。
トランザクション: ccExpDate プライバシー保護のため、クレジットカード情報は除外されます。

フィールドに関する情報

NetSuite 標準およびカスタムフィールドに関する追加情報:

  • テキストフィールドの最大サイズは1,024文字に制限されています。
  • NetSuite 標準フィールドのカスタマイズはサポートされていません。
  • カスタム非表示フィールドが表示されます。(NetSuite のウェブサービスを通じて表示されます。)
  • 「店舗価格」特性が設定されているNetSuite カスタムフィールドのみがAdaptive Integrationにインポートされます。

保存済みの検索条件

NetSuite 保存済み検索を設定する方法については、NetSuite保存済み検索のインポートに関するAdaptive Integrationセクションを参照してください。

Adaptive InsightsからNetSuiteへのドリルスルー

顧客はNetSuiteからインポートしたデータのドリルスルーを有効化することができます。ドリルスルーのリンクは、[計画] シートおよびNetSuiteからインポートされた実績のレポートで利用可能になります。NetSuiteのドリルスルーを設定するためには、内部識別子が計画ローダ内の列マッピングの一部として使われていることを確認してください。NetSuite外部システムを設定し、計画ローダが使用するプロファイルに添付する必要があります。

NetSuite 側の複数の列を単一の「計画」属性にマップするよう設定する場合は、タプルSQL列を使ってそれらのNetSuite 列をデータソース内で一つにまとめる必要があります。詳細については、列/データマッピングとプロファイルに関するIntegrationセクションを参照してください。

ヒントとベストプラクティス

GL実績のインポートのプランニングをセットアップするためのベストプラクティス

トランザクションテーブルを使用してGL実績をインポートするには、プランニングのGL科目を「月次差額ごとの実績」に設定することを推奨します。この方法では、プランニングが貸借対照表科目の累積額を処理します。

NetSuite タイムアウトメッセージを処理するためのベストプラクティス

以下はNetSuite から返される可能性があるエラーの1つです。

検索がタイムアウトしました。検索に「contains」演算子が含まれる場合は、代わりに「hasKeywords」を使用してみてください。検索に広範な検索条件が含まれる場合は、条件を絞り込んでみてください。”

このエラーは、NetSuiteにおいて処理に時間がかかり過ぎていることを示しています。この状態は通常、リクエストのフィルター条件が非常に大きな結果を作成するために発生します。NetSuite では、リクエストの処理にかかる時間を約3分間許可しています。(これは、NetSuite内の実際のデータベースクエリに許可されている時間であることに注意してください。結果が返されるのに必要な時間は、NetSuiteのトラフィックポリシーによって制御されるため、はるかに長くなる可能性があります。)

このエラーに対処する方法はいくつかあります。望ましい一般的なガイドラインは、生成されるリクエストをできるだけ具体的なものにすることです。たとえば、ローダによって実際に使用されるトランザクションタイプのみを含むようにします。このエラーを防止または解決する別の方法は、[穴埋めバッチ処理期間] プロパティを使用することです。差分更新されるテーブルの場合、このプロパティは更新チャンクのサイズを決定します。穴埋めバッチ処理期間のデフォルト設定は168時間(1週間)です。ただし、高密度データのリクエストを処理している場合、この値は高すぎる可能性があります。この値を下げると、時間フィルターが絞り込まれ、個々のリクエストのサイズが小さくなるため、このエラーを防止または解決できます。

[穴埋めバッチ処理期間] プロパティの最小値は1時間です。ここでのトレードオフは、データを素早く大量に取り込むのではなく、少量のデータを取り込んでいることです。つまり、更新を完了するには、NetSuite にさらに多くのリクエストを送信する必要があります。たとえば、168を24に減らすことは、一度に1日分のみを取り込もうとしていることになります。ただしそれはリクエストの回数が7倍になることを意味します。

データの密度を事前に知る実用的な方法はないため、クエリを試して、必要に応じて [穴埋めバッチ処理期間] プロパティを調整して問題に対処することができます。

AllCustomListsステージング テーブルから個々のリストを作成

結合テーブルを使用して、AllCustomLists ステージング テーブルから個々のリストを抽出/フィルタリングできます。例えば、Resolutiontime の名前が付いたリスト( InternalId 19)のメンバーを含むテーブルを作成するには、次の手順を実行します。

この結合式では、InternalId 値は、必要とする特定のカスタム リストを選択する「セレクター」です。

  • 新しい結合テーブルを作成します。テーブルの合理的な名前は、"CustomList[*]" となります。[*]は抽出するリストの「名前」値です。したがって、この例では、名前は "CustomListResolutiontime" となります。
    • 主テーブルを "AllCustomLists" に設定します。
    • 結合式を追加します。
      • 主テーブル:AllCustomLists
      • 結合済みのテーブル: AllCustomLists
      • タイプ: 内部
      • 列のプリフィックス:(空白)
      • 結合式:P."InternalId" = '19' and R."InternalId" = '19' and P."ValueId" = R."ValueId"

この結合式では、InternalId値は、必要とする特定のカスタム リストを選択する「セレクター」です。

結合テーブルでは、必要とする主テーブルからの列のみを選択できます(通常は "Value" および "ValueId" のみ)。

次のスクリーンショットは、この結果をキャプチャしたものです。

科目および組織データ作成のためのヒント

科目および組織データは顧客ごとに異なりますが、ここでは、プランニングに読み込む前に、データ デザイナーがステージング領域でSQL列を作成し、データを準備する方法を示す例をいくつかご紹介します。

科目:

 CASE WHEN "acct.Number" is null THEN TRIM("acct.Name") ELSE TRIM("acct.Number") END 

組織:

 CASE WHEN "Department.Name" is null THEN 'No Department' ELSE TRIM("Department.Name") END || ' ' || "Location.Name"

ビジネスルールを使用するためのヒント

データ デザイナーでは、簡単に読み込むためのビジネスルールを作成できます。以下は、科目情報に関連するルールを取り扱うためのヒントです。

  • 科目コードは、元に戻すGL科目の範囲を簡単に追加できるようにするため、数値とする必要があります。
  • これらの種類の科目には下線を使用しないでください。下線を使用する場合、符号の変更に必要なすべての科目コードを手動で追加する必要があります。
  • 科目コードにスペースを使用することはできません。

タイムゾーンの設定

Adaptive IntegrationにおけるNetSuite データ ソースの科目タイムゾーンは、[設定] > [タイムゾーンのローカライズ] 下のNetSuite’s GUIのタイムゾーンと一致していなければなりません。

これら2つが一致しない場合、以下のいずれかを行います。
 

  • Adaptive Integration内で科目タイムゾーンを変更してそれらを一致させる。
  • データ ソースに関連付けられているユーザーについて、NetSuite内のタイムゾーン設定を変更してそれらを一致させる。

外部参照

NetSuite APIのコアリソースは、NetSuite ウェブサイト(http://www.netsuite.com)のオンライン ヘルプ システムです。NetSuite は、製品の各リリースに伴い、このオンライン ヘルプのPDFを生成します。最新版は、"SuiteTalk (ウェブ サービス)記録ガイドを検索することで取得できます。”

NetSuiteの情報は、https://www.oracle.com/technical-resources/ にあります。アカウント登録する場合は、NetSuiteの対象領域へのアクセス権を申請できます。

  • この記事は役に立ちましたか?