Parent page: メンテナンス
Enterprise Server には、CSV コンポーネントデータベースのインポーターツールが含まれており、企業システム(社内 ERP や PLM システムなど)からエクスポートしたファイルを使用して、コンポーネントデータを Enterprise Server Workspace に取り込むことができます。設定可能なバッチ(*.bat)ファイルとして実装されたデスクトップツールで、既存の Workspace テンプレート、または専用の設定ファイルに基づいて、対象のスプレッドシートファイル(*.csv)からコンポーネントデータを Workspace にインポートします。
► Enterprise Server と PLM システム間での作業については、PLM Integration を参照してください。
コマンドラインツールは、Enterprise Server インストールの \Program Files (x86)\Altium\Altium365\Tools\CSVImport フォルダにあります。ツールで使用するコマンドライン構文については csv-import.bat を参照するか、属性を付けずにバッチファイルを実行して、より詳細な情報を確認してください。
Notes:
- ツール本体と、それをサポートする Java ランタイムフォルダ(
JRE8)はコピーして、Enterprise Server のホストマシンとは別のネットワーク上のマシンを含め、任意の場所で実行できます。
- 配置場所によっては、ツールを昇格(Administrator)権限で実行する必要がある場合があります。
- ツールの構文は大文字/小文字を区別します。Workspace テンプレート内の参照や、使用する設定ファイル内の参照も同様です。
Source file format:
CSV データインポーターツールでは、ソースのカンマ区切り CSV ファイルが UTF-8 文字エンコーディングを使用している必要があります。ファイルが ANSI や UTF-8-BOM など他のエンコーディング形式を使用している場合、インポーターは(µ などの)拡張文字を正しく解析できない、または *.csv ソースファイルを受け付けない可能性があります。
テスト用に基本的な CSV ファイルを作成する場合、Windows のメモ帳の一部バージョンでは互換性のある UTF-8 形式で保存されない点に注意してください。不明な場合は、Notepad++ などの代替テキストエディタを使用して UTF-8 エンコードのファイルを作成・保存できます。また、ソースの企業システムからエクスポートされた *.csv ファイルのエンコーディング形式を確認する用途にも有用です。
Issues when Launching the Tool
CSV コンポーネントデータベースのインポーターツールを起動しようとした際に、次の問題が発生する場合:
ERROR: Server is not available or address is incorrect: SERVER_NAME:PORT
試すべきことの 1 つは、サーバー証明書(またはその証明書を発行したルート認証局の証明書)を Java のキーストアに追加することです。例:
- C:\Program Files (x86)\Altium\Altium365\Tools\JRE8\bin\keytool.exe -import -noprompt -alias <CertificateAlias> -file <CertificatesFolderPath>\<CertificateFileName>.cer -storetype jks -keystore C:\Program Files (x86)\Altium\Altium365\Tools\JRE8\lib\security\cacerts
- C:\Program Files (x86)\Altium\Altium365\Tools\JRE11\bin\keytool.exe -import -noprompt -alias <CertificateAlias> -file <CertificatesFolderPath>\<CertificateFileName>.cer -storetype jks -keystore C:\Program Files (x86)\Altium\Altium365\Tools\JRE11\lib\security\cacerts
自動モード
設定ファイル(オプション –c)を適用せずに使用した場合、CSVImport ツールの処理は、対象 CSV のファイル名(例: Resistor.csv)を、そのコンポーネントタイプ(Resistor)をサポートする Workspace コンポーネントテンプレートと照合しようとします。見つかったテンプレートにより、インポートデータの Revision、Lifecycle、Default Folder(Workspace の取り込み先)が決定されます。なお、ソース CSV ファイルに必要な最小データは、PART_NUMBER パラメータ列と、それに対応する Values です。
Tool Command Syntax
自動インポートモードでは、典型的な CSVImport コマンド文字列は次のようになります:
csv-import.bat -s http://HPZ600:9780 -u admin -p admin -l x.log -i C:\CSV_Files\Resistor.csv
Where:
http://HPZ600:9780 は Enterprise Server の URL とポートです。
admin / admin は Workspace の名前/パスワードのログイン資格情報です。
x.log は、/CSVImport フォルダに保存される処理ログのファイル名です(別途指定しない限り)。
C:\CSV_Files\Resistor.csv は、企業システム(PLM など)によって生成された、ソース CSV コンポーネントデータファイルのパスとファイル名です。
引数を付けずにツールを実行すると、使用方法の構文が表示されます:


CSVImport ユーティリティツールは、実行中にコンソールウィンドウへ一般的な進捗情報を表示し、コマンド構文(-l)で指定したログファイルも生成できます。CSV ファイルにコンポーネントのメーカー部品パラメータが含まれている場合(デフォルトでは MFR_PART_NUMBER と MFR_NAME)、一致する Part Choice エントリが Workspace に作成されます。

任意のログファイルには、インポート処理が成功した場合の詳細が記録されます。処理が失敗した場合、ログファイルは生成されません。

また、コンポーネントは Workspace のブラウザインターフェースの Components ページビューでも確認およびアクセスできます。
► 詳細は Workspace Components を参照してください。設定モード
ツールのより高度なモードでは、XML 設定ファイルを使用して、ファイルから Workspace へのパラメータマッピングや、取り込み先フォルダ、別テンプレートの指定など、インポート処理のオプションを指定します。
編集して利用できるベース設定ファイルを取得するには、設定ファイル生成の設定(-g)を付けてツールを実行します。これにより、ソース CSV ファイルから抽出したパラメータのキー/値ペアと、照合されたテンプレートから取得した Revision、Lifecycle、取り込み先フォルダ設定を含む、指定の XML ファイルが作成されます。さらに、PLM(ソース)と Workspace(ターゲット)の両方のコンポーネントタイプエントリ(この例では Resistor)およびテンプレート ID も含まれます。
ツールの典型的なコマンド文字列は次のとおりです:
csv-import.bat -s http://HPZ600:9780 -u admin -p admin -g MyConfig.xml -i C:\Users\Public\Documents\CSV_Files\Resistor.csv
► 生成された設定ファイルの例(ダウンロード)
生成後、設定ファイル(MyConfig.xml)を編集して、ソースの Value パラメータを Workspace の Resistance に、また Format パラメータを Package にマップすることができます。必要に応じてマップするため、設定ファイルの ToAltium セクション(Resistor PLM クラス用)で、それらの属性文字列を適宜編集してください。
Mapping edits for this example
ここで示す例では、関連する Attributes は次の内容から:
<ns2:Attribute attributeType="revision">
<ns2:Key>Format</ns2:Key>
<ns2:Value>${attribute.Format}</ns2:Value>
</ns2:Attribute>
<ns2:Attribute attributeType="revision">
<ns2:Key>Value</ns2:Key>
<ns2:Value>${attribute.Value} </ns2:Value>
</ns2:Attribute>
...次のように変更されます:
<ns2:Attribute attributeType="revision">
<ns2:Key>Package</ns2:Key> <!-- Updated -->
<ns2:Value>${attribute.Format}</ns2:Value>
</ns2:Attribute>
<ns2:Attribute attributeType="revision">
<ns2:Key>Resistance</ns2:Key> <!-- Updated -->
<ns2:Value>${attribute.Value}</ns2:Value>
</ns2:Attribute>
その後、設定ファイルをツール(オプション –c)とともに使用して、必要なマッピングを実行します:
csv-import.bat -s http://HPZ600:9780 -u admin -p admin -c MyConfig.xml -i C:\Users\Public\Documents\CSV_Files\Resistor.csv

コンポーネントエントリがすでに Workspace に存在する場合(上記
自動モード の例の処理でインポート済みなど)、新しい Revisions が作成され、再マップされたパラメータが既存データに追加されます。既存パラメータは削除されません。
その他のマッピングオプション
その他の設定オプションには、ファイルの <Entity altiumType="Resistor" plmType="Resistor"> 行(この例で生成されるもの)を編集して、PLM と Workspace の両方のコンポーネントタイプクラスを設定する機能が含まれます。典型的な変更例は次のとおりです:
altiumType="ResistorSMT" を指定して、インポートされたコンポーネントをそのタイプに設定します(そのタイプが Workspace に登録されている前提)。plmType="PLM-Export_Resistors" を指定して、PLM-Export_Resistors.csv という名前のソースファイルをインポートできるようにします。なお、既存の Workspace コンポーネントタイプ(Resistor、Capacitor など)に一致しないソース CSV ファイル名は、このように plmType を指定しない限り認識されません。
設定ファイル内の Workspace 取り込み先フォルダのエントリ(例:
<Folder>Components/Resistors</Folder>)は、デフォルトまたは指定されたコンポーネントテンプレート内の設定など、他のすべてのターゲットパス設定よりも優先されます。
インポートを成功させるには、適用する設定ファイル内の Attribute エントリ(自動生成されたもの)が、ソース CSV ファイルの列ヘッダーと一致している必要があります。たとえば、CSV の列グループ Format には、適用するパラメータマッピング(above で概説)に関係なく、設定側の属性エントリ Value が ${attribute.Format} で一致している必要があります。ただし、固定識別子など、コンポーネント Entity に対して追加の Attributes を追加することは可能で、その場合は次の形式になります:
<ns2:Attribute>
<ns2:Key>DataSource</ns2:Key>
<ns2:Value>Imported from PLM</ns2:Value>
</ns2:Attribute>
この場合、Workspace にインポートされるコンポーネントデータには、値が Imported from PLM に設定された DataSource パラメータが含まれます。
Additional features:
- 適用された設定ファイルは、関連する Workspace テンプレートとは独立して、パラメータマッピングを含むインポート処理のすべての設定を決定します。
- すべてのパラメータは、入力 CSV ファイルのパラメータに合わせてマップできます。これには、PLM Number にファイル内で使用されている名称や、部品メーカー情報(Part Choices)も含まれます。
- 複数の Entity 定義(それぞれの構成パラメータ Attributes を含む)を設定ファイルに含めることができます。たとえば
Resistor の既存 Entity グループエントリをコピーし、貼り付けて編集することで、Capacitor 用の別定義を作成できます。コンポーネントテンプレートのパラメータにデフォルト値が設定されている場合、インポートされたコンポーネントに適用されます。ただし、インポートする CSV データに対応する属性がある場合は、ソース属性値が Workspace パラメータとしてインポートされます。CSVImport の 自動モード では、適用されるテンプレートは、ソース CSV のファイル名で定義されるコンポーネントタイプのものになります。設定モード では、テンプレートは設定ファイル内の <ComponentTemplate>[CMPT-xxxx]</ComponentTemplate> 行で設定されます。
- ソースパスとして withoutCSVファイル が指定されている場合、ツールはソースフォルダ内から、設定ファイル内のEntity定義に一致するCSVファイル名を検索します。したがって、
Capacitor と Resistor に対する設定Entity参照が存在し、かつ一致するCSVファイルが見つかった場合、それらのコンポーネントのデータがWorkspaceにインポートされます。これは実質的に、ツールのバッチ動作モードです。
Part Choices handling
外部エンタープライズシステム(PLMなど)からWorkspaceへの、コンポーネントのメーカー Part Choice データの伝播は、データの重複や意図しない削除が起きないように構成されています。コンポーネントデータが 外部システムから直接 Workspaceに取り込まれる場合でも、CSVファイル経由で取り込まれる場合でも、Part Choiceエントリの作成/変更は、現在の状態とデータ履歴に基づいてインテリジェントに処理されます。
- インポート対象のコンポーネントPart Choiceエントリが、そのWorkspaceライブラリコンポーネントにすでに存在する場合、重複して作成されません。
- Workspace内で(インポートではなく)追加されたWorkspaceライブラリコンポーネントのPart Choiceエントリは、インポートされたPart Choiceデータによって置き換えられません。インポートされたPart Choiceは、そのコンポーネントに対する新しい追加のPart Choiceとして追加されます。
- コンポーネントに対して新しいPart Choiceデータがインポートされた場合、そのコンポーネントに対して以前にインポートされたPart Choiceエントリを置き換えます。
要約すると、コンポーネントに既存の non-importedPart Choiceデータ がある場合はそれを尊重しつつ、外部システムからインポートされたPart Choiceデータが、WorkspaceライブラリコンポーネントのPart Choiceエントリを決定します。
以下に示す例の画像では、入力CSVファイルにPLMエントリ CVS-RES-1001(10kResistor)のPart Choiceデータ(Manufacture Name および Manufacturer Part Number パラメータ)が含まれていないため、これはWorkspaceライブラリコンポーネントに追加されません。ただしこの例では、Part Choiceエントリ(Vishay)が、Altium Designer ExplorerパネルからそのWorkspaceライブラリコンポーネントに手動で追加されています。

そのコンポーネント(CVS-RES-1001)のPart Choiceデータが、後続のインポート/同期CSVファイルに含まれている場合(以下に示すとおり)、新しいPart Choiceエントリ(Rohm)はコンポーネントに added追加 されます。既存の「ネイティブ」Part Choiceエントリは、インポートされたPart Choiceデータで置き換えられないためです。

さらに後続のインポート/同期CSVファイルに、そのコンポーネントの新しいPart Choiceデータが含まれている場合(以下に示すとおり)、そのPart Choiceデータ(Yageo)は、以前にインポートされたPart Choiceエントリ(Rohm)を置き換えます。一方で、既存の「ネイティブ」Part Choiceエントリ(Vishay)は変更されません。あるいは、CSVのPart Choiceデータが削除されている(MFR_..エントリが空白)場合、インポート処理はWorkspace内の既存のインポート済みPart Choiceエントリ(Yageo)を削除します。

Multiple Manufacturer Part Choices
CSV Importerは、ソースCSVファイル内で繰り返し構造を用いることで、1つのコンポーネントに対して複数セットのメーカー部品データも扱えます。具体的には、メーカー部品データのバリエーションごとに追加のコンポーネントエントリを含めます。たとえば、ソースコンポーネント CSV-RES-1001 に関連する品番が3つある場合、そのコンポーネントに対するCSVエントリを3行用意し、それぞれで異なる MFR_NAME および MFR_PART_NUMBER 列データ(Vishay Daleから1つ、Yageoから2つ)を指定します。
このコンポーネントデータがWorkspaceにインポートされると、部品 CSV-RES-1001 に対して作成されるコンポーネントアイテムは1つですが、追加のCSVデータ参照から導出された複数のPart Choiceエントリが付与されます。

Parameter Unit and Value handling
CSVImportツールによって外部エンタープライズシステムからWorkspaceにコンポーネントデータをインポートする際、Workspaceの自動パラメータ単位処理が値データを解釈し、そのデータ内のエラーも処理します。
コンポーネントデータのインポートまたは同期処理中、該当する Component Template で単位対応の Typeパラメータ(Percent(%)、Watts(W) など)として指定されているコンポーネントパラメータは、それに従って解釈されます。インポートされるパラメータ値の書式は、外部システム(PLMなど)で定義されているため大きくばらつく可能性がありますが、Workspaceの単位対応の値処理は想定されるあらゆる書式に対応し、さらにエラーも正しく処理します。
以下の画像は、Workspaceライブラリコンポーネントのセットが、各コンポーネントエントリのPowerパラメータを含むCSVインポートファイルによって更新される例を示しています。ソースCSVファイル内のPowerパラメータ値はさまざまな書式で記述されており、CSV-RES-1001コンポーネントエントリには値のエラー(62500x)も含まれています。データインポート前、WorkspaceライブラリコンポーネントにはPowerパラメータデータが含まれておらず、初回リビジョン(Revision 1)の状態でした。これは上側の Explorerパネルに示されています。

CSVインポート処理の結果(上記の下側 Explorerパネル画像に表示)から、単位対応パラメータ解釈とエラー処理の影響が確認できます。
- CSVソースデータの書式エラーにより、コンポーネント
CSV-RES-1001 にはPower値が追加されていません。
- コンポーネント
CSV-RES-1001 では新しいリビジョンが作成されていません(Revision 1のままです)。
- 他のすべてのコンポーネントについては、Power値のソース書式がソースデータから正しく解釈されています。
- 正しく更新されたコンポーネントについては、新しいリビジョンが作成されています。
その後のコンポーネントデータのインポート処理で、コンポーネント CSV-RES-1001 のPower値が改訂(62500u)されている場合、その値は当該コンポーネントに対して正しく解釈されます(以下の画像に示すとおり)。Workspaceライブラリコンポーネントデータが更新され、新しいリビジョン(Revision 2)が作成されます。
