其他 Windchill 功能 > Windchill PartsLink > 分類管理 > 分類結構 > 從 CSV 檔案匯入分類結構
  
從 CSV 檔案匯入分類結構
欲匯入分類結構,必須在 XML 檔案中概要顯示分類結構。您可以在匯入之前修改 XML 檔案,但如果您的結構較為複雜,這不容易輕鬆完成。
相反地,管理 CSV 檔案則輕鬆得多。當您準備好匯入結構時,可以使用 CSVToXMLGenerator 公用程式來將 CSV 檔案轉換為可匯入的 XML 檔案。
* 
PTC 建議您在建立初始分類結構時使用此公用程式。您不應使用此公用程式來更新現有結構。未在 CSV 檔案中表示之現有結構中的任何資料會遭到覆寫,並最終遭到移除。
欲將 CSV 檔案轉換為 XML,請從 Windchill shell 執行下列指令:
Windchill com.ptc.windchill.csm.csvtoxml.CSVToXMLGenerator <CSV 檔案的路徑> -verbose
其中︰
<CSV 檔案的路徑> 是您本機電腦上 CSV 檔案的路徑。
verbose 參數為選用,且應用於偵錯目的。
XML 檔案會以與 CSV 檔案相同的名稱,在其相同位置產生。


事前準備
不需要執行 Windchill 伺服器便可使用 CSVToXMLGenerator 公用程式。
匯入的 CSV 檔案必須為具唯一性的格式。此格式與使用「分類樹」表中提供之「匯出至 CSV」動作產生的 CSV 檔案格式不同。
載入產生的 XML 檔案之前,下列項目應已存在於 Windchill 中。(匯入已匯出的 ZIP 或 JAR 檔案時不屬於此情況。)
全域列舉
可重新使用屬性
量測數
欲匯入產生的 XML 檔案,請將其壓縮成 ZIP 檔。從「分類樹」中,選取「動作」 > 「匯入」


匯入錯誤與支援值
當您將檔案匯入至 Windchill 時,會發生資料驗證。如果 XML 檔案中包括無效資料或值,您會在匯入操作期間收到錯誤。
雖然使用 CSV 檔案更簡單,但 CSVToXMLGenerator 公用程式所接受的格式包括數個限制。例如,您無法匯入示意圖或圖像。您也無法指定自動命名規則。
如果屬性或條件約束未列在下列表格中,則表示它不受支援,且會在匯入期間導致發生錯誤。


CSV 格式化規則
包含逗號的單一值必須括在雙引號之內。例如:
Hong Kong, Berlin, "New York, NY", London
用雙引號逸出雙引號。例如:
Parts available in the ""Drive System"" catalog


節點與屬性共用欄
有 7 個欄包含節點或屬性資訊。這些欄使用下列格式:
Node/Attribute
斜線之前的標題是指分類節點;斜線之後的標題是指分類屬性。
欄名稱
節點值
屬性值
Node/Attribute
此欄可識別包含分類節點或分類屬性的列。
輸入下列其中一個值:
節點
屬性
ParentIntName/NodeIntName
父節點的內部名稱。
* 
使用 NULL 來識別根節點。
為其定義屬性之節點的內部名稱。
NodeIntName/AttributeIntName
節點的內部名稱。
屬性的內部名稱。
DisplayName/DisplayName
節點的顯示名稱。
屬性的顯示名稱。
Description/IBAName
要在「描述」欄位中針對節點輸入的值。
可重新使用屬性名稱。
Keywords/DataType
要在「關鍵字」欄位中針對節點輸入的值。
屬性的資料類型。
可接受的值如下:
wt.units.FloatingPointWithUnits
java.lang.Boolean
java.sql.Timestamp
java.lang.Long
java.lang.String
com.ptc.core.meta.common.Hyperlink
com.ptc.core.meta.common.FloatingPoint
命名空間
為命名空間設定的名稱
IsInstantiable/Description
要在「可實例化」欄位中針對節點輸入的值。
可接受的值如下:
TRUE
FALSE
要在「描述」欄位中針對屬性輸入的值。
例如,您可在 "Node" 列中使用下列值建立 CSV 檔案:
* 
CSV 檔案中的欄排列必須與上面螢幕快照中所示的相同。
將 CSV 轉換為 XML 並匯入之後,產生的結構如下:
"Threaded Insert" 節點已定義下列值:
屬性欄
下列欄僅適用於 "Attribute" 列:
欄名稱
接受的值
DefaultValue
屬性的預設值。
對於多個預設值,使用以逗號分隔清單。例如:
0.0 m, 1.5 m
http://google.com(Google), http://ptc.com(PTC)
IsSingleValued
指定屬性是否具有單一值。
接受的值:
IsRequired
指定屬性是否為必填。
接受的值:
StringLength
為字串值指定長度條件約束。
使用下列格式:[下限, 上限]
例如:
[2,5] - 字串必須介於 2 到 5 個字元之間
[NULL,50] - 字串不得超過 50 個字元
[10,NULL] - 字串至少必須有 10 個字元
小寫
將大寫字元轉換為小寫。
接受的值:
大寫
將小寫字元轉換為大寫。
接受的值:
LegalValueList
接受值的清單。
使用縱線字元 ("|") 分隔值。例如:
1.0 m|1.5 m|2.0 m
Copper|Aluminum|Steel
EnumeratedList
列舉值清單。您可以提供本機或全域列舉值清單。
本機列舉條件約束使用下列格式:
LOCAL##<sort type>##<internal name>##<display_name>~~<internal_name>##<display_name>
其中︰
<sort_type> - 排序類型值為 Automatic_SortManual_Sort
<internal name>##<display name> - 識別列舉項目的內部名稱與顯示名稱。
~~ - 使用兩個波浪符號來分隔多個項目。
例如:
LOCAL##Manual_Sort##red1##Light Red~~red2##Dark Red~~green1##Light Green
全域列舉條件約束使用下列格式:
GLOBAL##<列舉>##<父列舉>##<組織>##<組合管理名稱>##/<網域>
其中︰
<列舉> - 列舉的內部名稱。
<父列舉> - 如果列舉是子列舉,則指定其父列舉的內部名稱。如果列舉沒有父列舉,請將此欄位保留空白。
<組織> - 列舉的「擁有組織」值。
<組合管理名稱> - 含有列舉之組合管理的內部名稱。
/<網域> - 列舉的「網域」值。
例如:
GLOBAL##Countries##LocaleCodes##Site##Org_Locales##/System
GLOBAL##LocaleCodes####Site##Org_Locales##/System
* 
為全域列舉指定的排序順序可作為預設排序順序使用。
例如,您可在 "Attribute" 列中使用下列值建立 CSV 檔案:
* 
CSV 檔案中的欄排列必須與上面螢幕快照中所示的相同。
"Threaded Insert" 節點已定義下列屬性: