ディスカッション

スイート全体に組み込まれたAI機能は、データをより迅速に分析し、より優れた意思決定を促進する独自の考察を生成できるようにすることで、生産性を向上させ、リーダーに利便性をもたらします。オラクルのAI機能がどのように役立つかについては、これらのオンデマンド・ウェビナーをご覧ください。

AIを用いた自動化で請求書処理を合理化

AIを用いた考察を使用して、計画と予測を迅速化
NetSuiteの保存検索やレポートをマスターするための究極のガイドである分析センターを使用して、データの力を最大限に活用しましょう。複雑さを単純化し、組織の真の可能性を解き放ちます。今すぐ分析センターに参加して、新たな高みを目指しましょう!
NetSuite Release 2025.1リリース・ノートは、こちらからダウンロードできます。
Nominate Your Peers for NetSuite Support Community's Choice of the Quarter! Submit your nomination today.
Intelligent Payment Automation version 1.0.3 is now available in the SuiteApp Marketplace. The SuiteApp, powered by BILL, lets you automate payments, manage vendor details, and bank account information within NetSuite. Learn more

SuiteCloud 大容量データ処理に関する、5つのFAQ

編集済:Aug 12, 2025 3:53AM NetSuite 開発者コミュニティ

NetSuiteのSuiteCloud Platformは、世界中の企業に広く採用されている堅牢なアプリケーションプラットフォームです。NetSuite で高度な大量データ処理ソリューションを構築する場合、開発者はしばしば特定のプラットフォーム制約に遭遇します。この FAQ では、仮想スクロール、レコード数の上限、一括マッチングの自動化、API タイムアウト、およびカスタムレコードの整合性という 5 つの技術的考慮事項について簡潔に説明し、NetSuite 内で効率的でスケーラブルなアプリケーションを開発するためのガイダンスを提供します。

質問

回答

1.仮想スクロール

(UI パフォーマンス)

NetSuiteは従来のページングなしで

大きなデータセットをレンダリング

する仮想スクロールグリッドを

再現できますか?

NetSuiteの標準UIリストはページング方式ですが、Suiteletフロントエンドは、インクリメンタルデータ取得とクライアントサイドの仮想スクロールにより、プラットフォームの制限内に収まりながら、ページングのないエクスペリエンスを再現することは可能です。主なポイント:

  • レイジーローディングまたは "無限スクロール "パターンを採用する:各AJAXコールは次のスライスを取得して、メモリ配列に追加する。
  • JSONフィード用に、RESTletまたはセカンダリSuiteletエンドポイントを公開します。これにより、UIレイヤーをビジネスロジックから切り離します。
  • SuiteScriptのガバナンスとHTTPタイムアウトの範囲内に収まるように、各データ呼び出しを小さく保つ(1,000レコード未満、5秒未満)。
  • フィルタリングツールを提供し、ユーザーが結果のサイズを自然に小さくできるようにします。

注:上記は、仮想スクロールの実装を推奨しているわけではありません。以下のリンクはコミュニティフォーラムを指しており、参考のために提供されています。

2.レコード数の上限

(プラットフォームのスケーラビリティ)

パフォーマンスのオーバーロードを

避けるためにNetSuiteはどのような

レコード数制限やその他の上限を

推奨していますか?

UIは、リストまたは保存検索のいずれにおいても、最大で約10,000行を表示します。スクリプト呼び出し(N/search、SuiteQL)は、リクエストごとにおよそ最大1,000行を返します。これらの制限を超える場合は、明示的なページング(0 - 999, 1 000 - 1 999 ...)またはMap/Reduceジョブが必要です。これらの上限は意図的なもので、ブラウザを保護し、Suitelets/RESTletsの5分の上限を維持し、ガバナンスの利用を予測可能に保つためです。実用的なルール:

  • バルクマッチングでは、1回の長いRESTlet呼び出しではなく、バックグラウンドのMap/ReduceまたはScheduledスクリプトで1,000行のスライスをループします
  • データを表示する際は、仮想ページまたは無限スクロールバッチごとに200~500行を表示する。作業セットが5,000行を超える場合は、条件を絞り込むようユーザーに促す。
  • 可能であれば、古いカスタムレコードをアーカイブまたは要約し、日々のクエリーを軽量化しましょう。

3.バルクマッチングルーチン

(バックエンド自動化)

NetSuite は、一括照合用の temp-table やストアドプロシージャロジックを

エミュレートできますか?

NetSuite は、SQL ストアドプロシージャや真のテンポラリテーブルをホストすることはできませんが、プラットフォーム内でバルクマッチングロジックをエミュレートすることは可能です。- データのステージング: 顧客、金額、日付、参照、内部IDのみを保持するカスタムレコード(例:ステージング請求書、ステージング支払)を作成します。これらのレコードは10万件以上まで拡張可能で、テンポラリテーブルのように機能します。

  • 候補の抽出:SuiteScriptからSuiteQLを実行して、2つのステージングテーブルをJOINします(同じ顧客+同じ金額など)。SuiteQLは高速で読み取り専用のファインダーです。更新はスクリプトで実施します。
  • マッチングを大容量データで行う(Map/Reduceジョブを起動する):Map-各ステージング支払をループし、SuiteQLファインダーを呼び出し、対象のステージング請求書を選択する。Reduce: 「結果一時仕訳」などを作成し、一致したステージング行をマークまたは削除します。自動イールドにより、ガバナンスやREST/Suiteletの5分制限にぶつかることなく、数万行を処理できます。
  • 非同期実行: RESTlet、Suiteletボタン、またはワークフローを介してMap/Reduceをトリガーすることで、UIをレスポンシブに維持することができます。

https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_160045092035.html

4.実行時間の制約

(API と

インテグレーションのパフォーマンス)

NetSuite で長時間実行される SuiteScript

または REST API 呼び出しには

どのようなタイムアウトまたは

実行時間の制限が適用されますか?

SuiteScript エンドポイント(RESTlet/Suitelet)は、約5分(300秒)で停止します。この時間を越えると、リクエストは SSS_TIME_LIMIT_EXCEEDED を返します。

  • 非同期フローの例: 1) ユーザーが「Start Matching」をクリックします。2) Suitelet/RESTlet が Map/Reduce を送信し、「進行中…」を表示します(タスク 123)。3) クライアントはタスクが完了するまで15秒ごとにポーリング(軽量 REST 呼び出し)を実行し、タスク完了後に結果を取得します。これにより、長時間接続やブラウザのフリーズは発生しません。
  • ガバナンスの考慮事項: 各 SuiteScript 呼び出しはガバナンス単位を消費します。チャンク処理やバックグラウンド設計により使用を分散させ、自動的なリソース解放を可能にし、実行ごとの 10,000 単位の制限を超過しないようにします。

https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_161591009480.html

https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N3351480.html

ようこそ!

サインイン

完全な詳細を表示するには、サインインしてください。

登録

アカウントがありませんか?ここをクリックして始めましょう!

リーダーボード

コミュニティの達人

第4四半期 (Oct-Dec 2025年)

今週のリーダー

今月のリーダー

歴代リーダー