ディスカッション
NetSuiteの保存検索やレポートをマスターするための究極のガイドである分析センターを使用して、データの力を最大限に活用しましょう。複雑さを単純化し、組織の真の可能性を解き放ちます。今すぐ分析センターに参加して、新たな高みを目指しましょう!
New AI Community Guidelines. Please review and follow them to ensure AI use stays safe, accurate, and compliant.
保存検索で「全アイテム確保済」を判定する方法
Qiitaに記事を投稿しました。
以下は簡易版として記載します。
概要
NetSuiteにおいて、「トランザクション内の全アイテムが確保済であるか」を判定することは、保存検索のみでは難しいとされています。
その理由は、トランザクション全体(ヘッダ単位)の状態を直接判定することができないためです。本記事では、数式と集計機能を組み合わせることで、保存検索のみで「全アイテム確保済」の判定を実現する方法を紹介します。
要件
トランザクション(例:注文書)に対して以下を判定します。
- 明細行の数量がすべて確保済であること
- 未確保の行が1件でも存在する場合は対象外
実現方法(結論)
以下の数式を使用します。
NVL2({quantity}, {quantity}, 0)- NVL2({quantitycommitted}, {quantitycommitted}, 0)
この結果を「概要(Summary)」で SUM(合計) します。
判定ロジック
各行で以下を算出します。
差分 = 数量(quantity) - 確保済数量(quantitycommitted)
行単位の状態
状態 | 差分 |
|---|---|
全数量確保済 | 0 |
未確保あり | 正の値 |
トランザクション単位の判定
状態 | SUM結果 |
|---|---|
全行確保済 | 0 |
未確保あり | 0以外 |
👉 SUM結果が0であれば、全アイテム確保済と判定
NVL2を使用する理由
NetSuiteではフィールド値がNULLになる場合があります。
NULLが含まれる状態で計算を行うと、結果がNULLとなり正しく評価できません。
そのため、以下のようにNULLを0に変換します。
NVL2({quantity}, {quantity}, 0)
- 値あり → その値を使用
- NULL → 0に変換
👉 計算の安定性を確保するために必須です
保存検索の設定ポイント
① 結果フィールド
- フィールド:Formula (Numeric)
- 数式:上記式
- 概要タイプ:SUM
② 概要条件(フィルタ)
- SUM(差分) = 0
👉 トランザクション単位で「全確保済」のみ抽出可能
メリット
本手法の主なメリットは以下の通りです。
- SuiteScriptを使用せずに実現可能
- ガバナンス消費なし
- リアルタイムに状態判定が可能
- ダッシュボードやKPIに活用可能
- 通知検索や自動処理への連携が容易
実務での活用例
- 出荷可能な注文の抽出
- 自動出荷処理(SuiteScript連携)
- 出荷待ちリストの可視化
- 倉庫オペレーションの優先順位付け
従来は特定のメニュー画面からしか確認できなかった確保状況を、
保存検索によって一覧化・可視化することが可能になります。
タグ付けされた:
0