Importazione di una struttura di classificazione dal file CSV
Per importare una struttura di classificazione, quest'ultima deve essere descritta in un file XML. È possibile modificare il file XML prima di eseguire l'importazione, ma se la struttura è complessa questa operazione non è semplice.
È molto più facile invece gestire un file CSV. Quando si è pronti per l'importazione della struttura, è possibile utilizzare l'utilità CSVToXMLGenerator per trasformare il file CSV in un file XML importabile.
|
|
PTC consiglia di utilizzare questa utilità per creare una struttura di classificazione iniziale. È invece sconsigliabile utilizzarla per aggiornare una struttura esistente. In questo caso, infatti, tutti i dati presenti nella struttura e non rappresentati nel file CSV vengono sovrascritti e di conseguenza rimossi.
|
Per trasformare un file CSV in un file XML, attenersi alla procedura descritta di seguito.
1. Creare un file CSV con namespace, nodi e valori degli attributi.
2. Eseguire il seguente comando da una shell Windchill:
Windchill com.ptc.windchill.csm.csvtoxml.CSVToXMLGenerator <percorso del file CSV> -verbose
dove:
◦ <percorso del file CSV> è il percorso del file CSV sul computer locale.
◦ Il parametro verbose è facoltativo e deve essere utilizzato per scopi di debug.
Il file XML viene generato con lo stesso nome e la stessa posizione del file CSV.
3. Aggiungere il file XML a un file ZIP.
4. Importare il file ZIP dal contesto
Amministrazione classificazioni 
.
Informazioni preliminari
• Non è necessario che il server Windchill sia in esecuzione per utilizzare l'utilità CSVToXMLGenerator.
• Il file CSV importato deve avere un formato univoco, diverso dal formato del file CSV che viene generato mediante l'azione Esporta in CSV disponibile nella tabella Struttura classificazione.
• Prima di caricare il file XML risultante, è necessario che in Windchill siano già disponibili gli elementi elencati di seguito. (Quando si importa un file ZIP o JAR esportato questi requisiti non si applicano.)
◦ Enumerazioni globali
◦ Attributi riutilizzabili
◦ Quantità di misura
• Per importare il file XML generato, comprimerlo in un file ZIP. Da Struttura classificazione, selezionare > .
Errori di importazione e valori supportati
La convalida dei dati viene eseguita quando si importa il file in Windchill. Se il file XML include dati o valori non validi, viene visualizzato un errore durante l'operazione di importazione.
Sebbene sia più semplice utilizzare un file CSV, il formato accettato dall'utilità CSVToXMLGenerator presenta diverse limitazioni. Non è possibile, ad esempio, importare schemi o immagini, né specificare regole di assegnazione automatica dei nomi.
Se un attributo o un vincolo non è elencato nelle tabelle riportate di seguito, non è supportato e genera un errore durante l'importazione.
Regole di formattazione CSV
• Singoli valori contenenti una virgola devono essere racchiusi tra virgolette doppie. Esempio:
Hong Kong, Berlino, "New York, NY", Londra
• È necessario utilizzare virgolette doppie di escape in presenza di altre virgolette doppie. Esempio:
Parti disponibili nel catalogo ""Drive System""
Colonne condivise di nodi e attributi
Sono disponibili 7 colonne contenenti informazioni su nodi e attributi. Queste colonne presentano il formato indicato di seguito.
Nodo/Attributo
Il titolo prima della barra si riferisce ai nodi di classificazione, mentre quello dopo la barra si riferisce agli attributi di classificazione.
Nome colonna | Valore nodo | Valore attributo |
|---|
Nodo/Attributo | Questa colonna indica che la riga contiene un nodo di classificazione o un attributo di classificazione. Immettere uno dei valori elencati di seguito. • Nodo • Attributo |
ParentIntName/NodeIntName | Nome interno del nodo padre. | Utilizzare NULL per identificare il nodo radice. |
| Nome interno del nodo per il quale si definisce l'attributo. |
NodeIntName/AttributeIntName | Nome interno del nodo. | Nome interno dell'attributo. |
DisplayName/DisplayName | Nome visualizzato del nodo. | Nome visualizzato dell'attributo. |
Description/IBAName | Valore da immettere nel campo Descrizione per il nodo. | Nome di attributo riutilizzabile. |
Keywords/DataType | Valore da immettere nel campo Parole chiave per il nodo. | Tipo di dati dell'attributo. Sono accettati i valori riportati di seguito. 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 |
Namespace | Nome impostato per un namespace | |
IsInstantiable/Description | Valore da immettere nel campo Istanziabile per il nodo. Sono accettati i valori riportati di seguito. TRUE FALSE | Valore da immettere nel campo Descrizione per l'attributo. |
È ad esempio possibile creare un file CSV con i valori seguenti nelle righe "Nodo":
Node/Attribute,ParentIntName/NodeIntName,NodeIntName/AttributeIntName,DisplayName/DisplayName,Description/IBAName,Keywords/DataType,Namespace,IsInstantiable/Description,DefaultValue,IsSingleValued,IsRequired,StringLength,Lowercase,Uppercase,LegalValueList,EnumeratedList
Node,NULL,Part,Part,Root Node,Part,WTPart.clfNamespace,FALSE,,,,,,,,
Node,Part,MechanicalParts,MechanicalParts,Mechanical parts for reuse,Mechanical hardware,WTPart.clfNamespace,FALSE,,,,,,,,
Node,MechanicalParts,ThreadedInsert,ThreadedInsert,A helical coil that can be threaded into an existing hole to increase strength or reduce diameter.,threaded insert coil,WTPart.clfNamespace,TRUE,,,,,,,,
Node,Part,MechanicalParts_new,MechanicalParts_new,Mechanical parts for reuse MechanicalParts_new,Mechanical hardwareMechanicalParts_new,WTPart.clfNamespace,TRUE,,,,,,,,
| La disposizione delle colonne nel file CSV deve essere uguale a quella mostrata nella schermata riportata sopra. |
Dopo la conversione e l'importazione del file CSV in XML, la struttura risultante è la seguente:
Il nodo "Threaded Insert" presenta i valori definiti riportati di seguito.
Colonne di attributi
Le colonne riportate di seguito sono applicabili solo alle righe "Attributo".
Nome colonna | Valori accettati |
|---|
DefaultValue | Valore di default dell'attributo. Per più valori di default, utilizzare un elenco delimitato da virgole. Esempio: 0,0 m, 1,5 m http://google.com(Google), http://ptc.com(PTC) |
IsSingleValued | Specificare se l'attributo ha un valore singolo. Valori accettati: TRUE FALSE |
IsRequired | Specificare se l'attributo è obbligatorio. Valori accettati: TRUE FALSE |
StringLength | Per i valori stringa, specificare un vincolo di lunghezza. Utilizzare il seguente formato: [limite inferiore, limite superiore] Esempio: [2,5] - La stringa deve includere tra 2 e 5 caratteri [NULL,50] - La stringa non può includere più di 50 caratteri [10, NULL] - La stringa deve includere almeno 10 caratteri |
Caratteri minuscoli | Converte i caratteri maiuscoli in caratteri minuscoli. Valori accettati: TRUE FALSE |
Caratteri maiuscoli | Converte i caratteri minuscoli in caratteri maiuscoli. Valori accettati: TRUE FALSE |
LegalValueList | Un elenco di valori accettati. Separare i valori utilizzando un carattere barra verticale ("|"). Esempio: 1 m|1,5 m|2 m Rame|Alluminio|Ferro |
EnumeratedList | Elenco di valori enumerati. È possibile immettere un elenco di valori enumerati globali o locali. I vincoli di enumerazione locale utilizzano il formato riportato di seguito. LOCAL##<tipo ordinamento>##<nome interno>##<nome_visualizzato>~~<nome_interno>##<nome_visualizzato> dove: • <tipo_ordinamento> - Il valore del tipo di ordinamento è Automatic_Sort o Manual_Sort. • <nome interno>##<nome visualizzato> - Identificano il nome interno e il nome visualizzato della voce di enumerazione. • ~~ - Utilizzare due caratteri tilde per separare più voci. Esempio: LOCAL##Manual_Sort##red1##Light Red~~red2##Dark Red~~green1##Light Green I vincoli di enumerazione globale utilizzano il formato riportato di seguito. GLOBAL##<enumerazione>##<enumerazione padre>##<organizzazione>##<nome organizer>##/<dominio> dove: • <enumerazione> - Il nome interno dell'enumerazione. • <enumerazione padre> - Se l'enumerazione è una sottoenumerazione, specificare il nome interno dell'enumerazione padre. Se l'enumerazione non include un'enumerazione padre, lasciare vuoto questo campo. • <organizzazione> - Il valore Organizzazione proprietaria dell'enumerazione. • <nome organizer> - Il nome interno dell'organizer che contiene l'enumerazione. • /<dominio> - Il valore Dominio dell'enumerazione. Esempio: GLOBAL##Countries##LocaleCodes##Site##Org_Locales##/System GLOBAL##LocaleCodes####Site##Org_Locales##/System | Il criterio di ordinamento specificato per l'enumerazione globale viene utilizzato come criterio di ordinamento di default. |
|
È ad esempio possibile creare un file CSV con i valori seguenti nelle righe "Attributo":
Node/Attribute,ParentIntName/NodeIntName,NodeIntName/AttributeIntName,DisplayName/DisplayName,Description/IBAName,Keywords/DataType,Namespace,IsInstantiable/Description,DefaultValue,IsSingleValued,IsRequired,StringLength,Lowercase,Uppercase,LegalValueList,EnumeratedList
Node,NULL,Part,Part,Root Node,Part,WTPart.clfNamespace,FALSE,,,,,,,,
Node,Part,MechanicalParts,MechanicalParts,Mechanical parts for reuse,Mechanical hardware,WTPart.clfNamespace,FALSE,,,,,,,,
Node,MechanicalParts,ThreadedInsert,ThreadedInsert,A helical coil that can be threaded into an existing hole to increase strength or reduce diameter.,threaded insert coil,WTPart.clfNamespace,TRUE,,,,,,,,
Node,Part,MechanicalParts_new,MechanicalParts_new,Mechanical parts for reuse MechanicalParts_new,Mechanical hardwareMechanicalParts_new,WTPart.clfNamespace,TRUE,,,,,,,,
,,,,,,,,,,,,,,,
Attribute,ThreadedInsert,directionCoil,Coil Direction,directionCoil,java.lang.String,,Direction coil wraps.,Right,TRUE,TRUE,,,,Right/Left/Unknown,
Attribute,ThreadedInsert,sizeWire,Wire Gauge,sizeWire,wt.units.FloatingPointWithUnits,,Wire size,,TRUE,TRUE,,,,2.588 mm | 1.291 mm | 0.511 mm,
Attribute,ThreadedInsert,assembly,Requires Assembly,assembly,java.lang.Boolean,,,No,TRUE,TRUE,,,,Yes|No,
Attribute,MechanicalParts_new,directionCoil,Coil Direction,directionCoil,java.lang.String,,Direction coil wraps.,Right,TRUE,TRUE,,,,Right/Left/Unknown,
Attribute,MechanicalParts_new,sizeWire,Wire Gauge,sizeWire,wt.units.FloatingPointWithUnits,,Wire size,,TRUE,TRUE,,,,2.588 mm | 1.291 mm | 0.511 mm,
Attribute,MechanicalParts_new,assembly,Requires Assembly,assembly,java.lang.Boolean,,,No,TRUE,TRUE,,,,Yes|No,
| La disposizione delle colonne nel file CSV deve essere uguale a quella mostrata nella schermata riportata sopra. |
Il nodo "Threaded Insert" presenta gli attributi definiti riportati di seguito.