BOM・部品表CSVを取込む前に決める7項目

記事
IT・テクノロジー
BOM(部品表)をExcelやCSVから基幹システムへ登録するとき、エラーが出てから表を直していませんか。

登録前の確認を担当者の目視だけに頼ると、同じ修正が繰り返されます。先に「何を正しいとするか」を7項目だけ決めておくと、確認の標準化と自動化がしやすくなります。

この記事では、架空の部品表を例に、取込ルールを整理する順番を紹介します。特定のCADや基幹システムには依存しません。

1.必須列を固定する

最初に、ファイルに必ず存在する列を決めます。たとえば「品番」「数量」「階層」です。列名の全角・半角、前後空白、大文字・小文字を同一とみなすかも明文化します。

必須列が1つでも欠けた場合は、行ごとの検査へ進む前にファイル全体をエラーにすると、原因を追いやすくなります。

2.品番を文字列として扱う

品番が数字だけに見えても、数値として扱うと先頭の0が消えることがあります。「00125」と「125」が別の品番なら、読込時から文字列として保持する必要があります。

あわせて、空欄、許可する文字、固定桁数または最大桁数を決めます。前後の空白を自動で除去するのか、入力ミスとして止めるのかもルールの一部です。

3.数量の許容範囲を決める

数量については、整数だけか、小数も許すか、0や負数を認めるかを決めます。「数値なら何でもよい」では不十分です。

たとえば試作BOMでは小数数量を使い、量産BOMでは正の整数だけを許す、といった違いがあれば、用途ごとに検査設定を分けます。

4.階層の表し方を1つにする

階層BOMでは、「レベル列」「親品番列」「字下げ」のどれを正式な表現とするかを固定します。複数の表現が混在すると、同じ行でも親子関係の解釈が変わるためです。

レベル列を使う場合は、最初の行のレベル、飛び越しを許すか、最小値と最大値を決めます。親品番列を使う場合は、親が同じファイル内に存在するかを確認します。

5.重複の定義を決める

「品番が同じなら重複」なのか、「親品番と品番の組合せが同じなら重複」なのかで結果は変わります。

重複を単純に削除する前に、数量を合算する、別行として残す、エラーとして担当者に戻す、のどれを採用するか決めてください。自動削除は、意図した繰り返しを消す危険があります。

6.CSVの文字コードと区切りを固定する

CSVではUTF-8、BOM付きUTF-8、CP932などの文字コードと、カンマ・タブなどの区切りを取込先に合わせます。セル内のカンマ、改行、二重引用符をどう扱うかも確認対象です。

文字化けだけでなく、列ずれが起きていないかをヘッダーと先頭数行で確認すると、後工程の誤登録を減らせます。

7.エラー時の出力を決める

検査は「失敗した」と表示するだけでは運用しにくいものです。最低限、行番号、列名、入力値、エラー理由、修正の手掛かりを出力します。

また、エラーが1件あれば全件停止するのか、正常行だけ別ファイルへ出すのかを決めます。登録用ファイルと診断レポートを分けると、誤って未検査データを登録するリスクを下げられます。

最小の受入テスト

ルールを決めたら、正常データだけでなく、次のような架空データでも確認します。

・必須列が1つない
・品番の先頭0がある
・数量が0、負数、小数、文字列になっている
・階層レベルが1段飛んでいる
・同じ親の下に同じ品番がある
・セル内にカンマや改行がある
・文字コードが想定と異なる

「正常に登録できること」と「誤ったデータを止められること」の両方を確認して、はじめて検査ルールとして使えます。

まとめ

BOM取込前に決めるのは、必須列、品番、数量、階層、重複、CSV形式、エラー出力の7項目です。



部品表の検査ルールをWindowsツールとして定型化するサービスはこちらです。購入前に、列名と架空10行だけで対象範囲を確認できます。


30項目の検査ルールと24ケースの受入テストを、Excelへ貼り付けて使える記入式TXTにまとめました。個別相談なしで、購入後すぐ利用できます。

いきなり大きな仕組みにせず、まず列名と架空10行でルールを固定し、その後に検査を自動化すると、仕様の手戻りを抑えられます。実データを共有する前に、匿名化または架空データで検証範囲を決めることも大切です。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す