Klassifikationsstruktur aus CSV-Datei importieren
Um eine Klassifikationsstruktur zu importieren, muss die Klassifikationsstruktur in einer XML-Datei gegliedert werden. Sie können die XML-Datei vor dem Import ändern, aber wenn die Struktur komplex ist, ist dies nicht leicht zu bewerkstelligen.
Es ist viel einfacher, stattdessen eine CSV-Datei zu verwalten. Wenn Sie bereit sind, die Struktur zu importieren, können Sie die CSV-Datei mit dem Dienstprogramm CSVToXMLGenerator in eine XML-Datei umwandeln, die importiert werden kann.
|
|
PTC empfiehlt Ihnen, mit diesem Dienstprogramm die erste Klassifikationsstruktur zu erstellen. Sie sollten dieses Dienstprogramm nicht verwenden, um eine vorhandene Struktur zu aktualisieren. Alle Daten in der vorhandenen Struktur, die nicht in der CSV-Datei repräsentiert sind, werden überschrieben und demzufolge entfernt.
|
Führen Sie die folgenden Schritte aus, um eine CSV-Datei in eine XML-Datei zu transformieren:
1. Erstellen Sie eine CSV-Datei mit Namespace, Knoten und Attributwerten.
2. Führen Sie den folgenden Befehl in einer Windchill Shell aus:
Windchill com.ptc.windchill.csm.csvtoxml.CSVToXMLGenerator <Pfad der CSV-Datei> -verbose
,
dabei gilt:
◦ <Pfad der CSV-Datei> ist der Pfad der CSV-Datei auf dem lokalen Computer.
◦ Der Parameter verbose ist optional und muss für Debugging-Vorgänge verwendet werden.
Die XML-Datei wird mit dem gleichen Namen und am gleichen Speicherort wie die CSV-Datei generiert.
3. Fügen Sie diese XML-Datei einer ZIP-Datei hinzu.
4. Importieren Sie die ZIP-Datei aus dem Kontext
Klassifikationsverwaltung 
.
Vorbereitung
• Um das Dienstprogramm CSVToXMLGenerator verwenden zu können, muss der Windchill Server nicht ausgeführt werden.
• Die importierte CSV-Datei muss in einem eindeutigen Format vorliegen. Dieses Format ist nicht mit dem Format der CSV-Datei identisch, die mit der Aktion Nach CSV exportieren in der Tabelle Klassifikationsstruktur generiert wird.
• Bevor die resultierende XML-Datei geladen wird, sollte das Folgende bereits in Windchill enthalten sein. (Dies ist nicht der Fall, wenn eine exportierte ZIP- oder JAR-Datei importiert wird.)
◦ Globale Aufzählungen
◦ Wiederverwendbare Attribute
◦ Maßgrößen
• Komprimieren Sie die generierte XML-Datei für den Import in einer ZIP-Datei. Wählen Sie in der Klassifikationsstruktur das Menüelement > aus.
Importfehler und unterstützte Werte
Wenn Sie die Datei nach Windchill importieren, findet eine Validierung der Daten statt. Wenn die XML-Datei ungültige Daten oder Werte enthält, tritt während des Importvorgangs ein Fehler auf.
Auch wenn es einfacher ist, mit einer CSV-Datei zu arbeiten, besitzt das Format, das vom Dienstprogramm CSVToXMLGenerator akzeptiert wird, einige Einschränkungen. Sie können z.B. keine Schaltbilder oder Bilder importieren. Sie können auch keine Regeln für die automatische Benennung angeben.
Wenn ein Attribut oder eine Beschränkung nicht in den nachstehenden Tabellen aufgeführt wird, wird das jeweilige Element nicht unterstützt und führt während des Imports zu einem Fehler.
CSV-Formatierungsregeln
• Einzelwerte, die ein Komma enthalten, müssen in doppelte Anführungszeichen gesetzt werden. Beispiel:
Hongkong, Berlin, "New York, NY", London
• Verwenden Sie als Escape-Zeichen für das doppelte Anführungszeichen ein doppeltes Anführungszeichen. Beispiel:
Teile im Katalog ""Laufwerkssystem""
Von Knoten und Attributen gemeinsam benutzte Spalten
Es gibt 7 Spalten, die entweder Knoten- oder Attributinformationen enthalten. Diese Spalten verwenden das folgende Format:
Knoten/Attribut
Die Angabe vor dem Schrägstrich bezieht sich auf Klassifikationsknoten, die Angabe nach dem Schrägstrich bezieht sich auf Klassifikationsattribute.
Spaltenname | Knotenwert | Attributwert |
|---|
Knoten/Attribut | Diese Spalte zeigt an, ob die Zeile einen Klassifikationsknoten oder ein Klassifikationsattribut enthält. Geben Sie einen der folgenden Werte ein: • Knoten • Attribut |
ParentIntName/NodeIntName | Interner Name des Eltern-Knotens. | Verwenden Sie NULL zur Kennzeichnung des Stammknotens. |
| Interner Name des Knotens, für den das Attribut definiert ist. |
NodeIntName/AttributeIntName | Interner Name des Knotens. | Interner Name des Attributs. |
DisplayName/DisplayName | Anzeigename des Knotens. | Anzeigename des Attributs. |
Description/IBAName | Eingabewert im Feld Beschreibung für den Knoten. | Name des wiederverwendbaren Attributs. |
Keywords/DataType | Eingabewert im Feld Suchbegriffe für den Knoten. | Der Datentyp des Attributs. Die folgenden Werte sind zulässig: 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 | Für einen Namespace festgelegter Name | |
IsInstantiable/Description | Eingabewert im Feld Instantiierbar für den Knoten. Die folgenden Werte sind zulässig: TRUE FALSE | Eingabewert im Feld Beschreibung für das Attribut. |
Sie könnten z.B. eine CSV-Datei erstellen, die in den "Knoten"-Zeilen die folgenden Werte enthält:
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,,,,,,,,
| Die Anordnung der Spalten in der CSV-Datei muss mit jener im obigen Screenshot identisch sein. |
Nachdem die CSV-Datei in eine XML-Datei konvertiert und dann importiert wurde, ergibt sich die folgende Struktur:
Für den Knoten "Gewindeeinsatz" wurden die folgenden Werte definiert:
Attributspalten
Die folgenden Spalten gelten nur für "Attribut"-Zeilen:
Spaltenname | Zulässige Werte |
|---|
DefaultValue | Standardwert für das Attribut. Für mehrere Standardwerte verwenden Sie eine kommagetrennte Liste. Beispiel: 0.0 m, 1.5 m http://google.com(Google), http://ptc.com(PTC) |
IsSingleValued | Geben Sie an, ob das Attribut einen Einzelwert besitzt. Zulässige Werte: TRUE FALSE |
IsRequired | Geben Sie an, ob das Attribut erforderlich ist. Zulässige Werte: TRUE FALSE |
StringLength | Geben Sie für Zeichenfolgenwerte eine Längenbeschränkung an. Verwenden Sie das folgende Format: [Untergrenze, Obergrenze] Beispiel: [2,5] – Zeichenfolge muss zwischen 2 und 5 Zeichen enthalten [NULL,50] – Zeichenfolge darf nicht mehr als 50 Zeichen enthalten [10,NULL] – Zeichenfolge muss mindesten 10 Zeichen enthalten |
Kleinbuchstaben | Wandeln Sie Großbuchstaben in Kleinbuchstaben um. Zulässige Werte: TRUE FALSE |
Großbuchstaben | Wandeln Sie Kleinbuchstaben in Großbuchstaben um. Zulässige Werte: TRUE FALSE |
LegalValueList | Eine Liste zulässiger Werte. Trennen Sie einzelne Werte mithilfe eines senkrechten Striches ("|"). Beispiel: 1,0 m|1,5 m|2,0 m Kupfer|Aluminium|Stahl |
EnumeratedList | Aufzählungswerteliste. Sie können eine lokale oder eine globale Aufzählungswerteliste angeben. Lokale Aufzählungsbeschränkungen verwenden das folgende Format: LOCAL##<Sortierungstyp>##<interner Name>##<Anzeigename>~~<interner Name>##<Anzeigename> dabei gilt: • <Sortierungstyp> – Der Wert des Sortierungstyps lautet Automatic_Sort oder Manual_Sort. • <interner Name>##<Anzeigename> – Geben Sie den internen Namen und den Anzeigenamen des Aufzählungseintrags an. • ~~ – Verwenden Sie zwei Tildezeichen, um Mehrfacheinträge zu trennen. Beispiel: LOCAL##Manual_Sort##red1##Light Red~~red2##Dark Red~~green1##Light Green Globale Aufzählungsbeschränkungen verwenden das folgende Format: GLOBAL##<Aufzählung>##<Eltern-Aufzählung>##<Organisation>##<Organisationsmappenname>##/<Domäne> dabei gilt: • <Aufzählung> – interne Name der Aufzählung. • <Elternteil-Aufzählung> – Wenn es sich bei der Aufzählung um eine Unteraufzählung handelt, geben Sie den internen Namen ihrer Elternteil-Aufzählung an. Wenn die Aufzählung keine Elternteil-Aufzählung besitzt, lassen Sie dieses Feld leer. • <Organisation> – Wert von Besitzende Organisation für die Aufzählung. • <Organisationsmappenname> – interner Name der Organisationsmappe, die die Aufzählung enthält. • /<Domäne> – Wert von Domäne für die Aufzählung. Beispiel: GLOBAL##Countries##LocaleCodes##Site##Org_Locales##/System GLOBAL##LocaleCodes####Site##Org_Locales##/System | Die Sortierreihenfolge, die für die globale Aufzählung angegeben ist, wird als Standardsortierreihenfolge verwendet. |
|
Sie könnten z.B. eine CSV-Datei erstellen, die in den "Attribut"-Zeilen die folgenden Werte enthält:
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,
| Die Anordnung der Spalten in der CSV-Datei muss mit jener im obigen Screenshot identisch sein. |
Für den Knoten "Gewindeeinsatz" wurden die folgenden Attribute definiert: