추가 Windchill 기능 > Windchill PartsLink > 분류 관리 > 분류 구조 > CSV 파일에서 분류 구조 가져오기
  
CSV 파일에서 분류 구조 가져오기
분류 구조를 가져오려면 XML 파일에 분류 구조가 설명되어 있어야 합니다. 가져오기 전에 XML 파일을 수정할 수 있지만 구조가 복잡한 경우에는 작업이 쉽지 않습니다.
대신 CSV 파일을 관리하는 편이 훨씬 간편합니다. 구조를 가져올 준비가 되면 CSVToXMLGenerator 유틸리티를 사용하여 CSV 파일을 가져올 수 있는 XML 파일로 변환할 수 있습니다.
* 
이 유틸리티는 초기 분류 구조를 작성할 때 사용하는 것이 좋습니다. 기존 구조를 업데이트할 때는 이 유틸리티를 사용하지 않아야 합니다. 기존 구조에 있지만 CSV 파일에는 나타나지 않는 모든 데이터는 덮어쓰여 결과적으로 제거됩니다.
CSV 파일을 XML로 변환하려면 Windchill 셸에서 다음 명령을 실행합니다.
Windchill com.ptc.windchill.csm.csvtoxml.CSVToXMLGenerator <CSV 파일의 경로> -verbose
설명:
<CSV 파일의 경로>는 로컬 시스템에 있는 CSV 파일의 경로입니다.
verbose 매개변수는 선택 사항이며 디버깅 목적으로 사용해야 합니다.
CSV 파일과 동일한 이름으로 동일한 위치에 XML 파일이 생성됩니다.


시작하기 전에
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개의 열이 있습니다. 이러한 열에는 다음 형식이 사용됩니다.
노드/속성
슬래시 앞의 제목은 분류 노드를 참조하고 슬래시 뒤의 제목은 분류 속성을 참조합니다.
열 이름
노드 값
속성 값
노드/속성
이 열은 분류 노드나 분류 속성이 포함된 행을 식별합니다.
다음 값 중 하나를 입력합니다.
노드
속성
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
속성에 대한 설명 필드에 입력할 값입니다.
예를 들어, "노드" 행에 다음 값을 포함하는 CSV 파일을 작성합니다.
다음은 CSV를 XML로 변환하고 가져온 후의 결과 구조입니다.
"스레드된 삽입" 노드에는 다음 값이 정의되어 있습니다.
속성 열
다음은 "속성" 행에만 적용되는 열입니다.
열 이름
허용되는 값
DefaultValue
속성의 기본값입니다.
기본값이 여러 개인 경우 쉼표로 구분된 목록을 사용하십시오. 예:
0.0 m, 1.5 m
http://google.com(Google), http://ptc.com(PTC)
IsSingleValued
속성이 단일 값을 포함하는지 여부를 지정합니다.
허용되는 값:
TRUE
FALSE
IsRequired
속성이 필수인지 여부를 지정합니다.
허용되는 값:
TRUE
FALSE
StringLength
문자열 값의 경우 길이 제약 조건을 지정합니다.
[하한, 상한] 형식을 사용하십시오.
예:
[2,5] - 문자열이 2 ~ 5자 사이여야 합니다.
[NULL,50] - 문자열이 50자를 넘을 수 없습니다.
[10,NULL] - 문자열이 10자 이상이어야 합니다.
소문자
대문자를 소문자로 변환합니다.
허용되는 값:
TRUE
FALSE
대문자
소문자를 대문자로 변환합니다.
허용되는 값:
TRUE
FALSE
LegalValueList
허용되는 값 목록입니다.
파이프 문자("|")로 값을 구분하십시오. 예:
1.0 m|1.5 m|2.0 m
Copper|Aluminum|Steel
EnumeratedList
열거 값 목록입니다. 로컬 또는 글로벌 열거 값 목록을 제공할 수 있습니다.
로컬 열거 제약 조건에는 다음 형식을 사용합니다.
LOCAL##<정렬 유형>##<내부 이름>##<디스플레이 이름>~~<내부 이름>##<디스플레이 이름>
설명:
<정렬 유형> - 정렬 유형 값은 Automatic_Sort 또는 Manual_Sort입니다.
<내부 이름>##<디스플레이 이름> - 열거 엔트리의 내부 이름 및 디스플레이 이름을 식별합니다.
~~ - 여러 개의 엔트리를 구분하려면 두 개의 틸드 문자를 사용합니다.
예:
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
* 
글로벌 열거에 대해 지정된 정렬 순서가 기본 정렬 순서로 사용됩니다.
예를 들어, "속성" 행에 다음 값을 포함하는 CSV 파일을 작성합니다.
"스레드된 삽입" 노드에는 다음 속성이 정의되어 있습니다.