| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO |
| |
 | SF DRAWING , eine App
|
Autor
|
Thema: Suche nach leeren Attributen (1544 / mal gelesen)
|
OVI Mitglied Systemadministrator

 Beiträge: 23 Registriert: 20.11.2003 Dell Precision T5810 Intel Xeon CPU E5-1620 v3 3.50 GHz 16 GB RAM Nvidia Quadro K2200 Creo 2.0 Windchill 10.0 Cadenas Partsolution V9.08 Medusa4
|
erstellt am: 08. Sep. 2021 08:32 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, ich stehe im Moment etwas auf dem Schlauch. Ich muss in Windchill Objekte suchen, bei denen ein bestimmtes Attribut leer ist. Wenn ich das Suchfeld einfach leer lasse, bekomme ich die Fehlermeldung, dass ich ein Suchkriterium angeben muss. Wenn ich eine "Leerstelle" in Hochkommatas setze bekomme ich gar kein Ergebnis. Gruß M. Over Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Diplont Mitglied
 
 Beiträge: 313 Registriert: 26.01.2010 Windows 7 (64 bit) Creo 4.0 Parametric (M040)
|
erstellt am: 08. Sep. 2021 09:40 <-- editieren / zitieren --> Unities abgeben:          Nur für OVI
Hallo OVI, in der erweiterten Suche kann ich bestimmte Attribute auswählen und dann verschiedene Werte auswählen. Mit dem Wert "is null" finde ich alle Artikel mit dem leeren Attribut "supplementary text". Viele Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
     
 Beiträge: 2262 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19045.3803 ● Drafting V17~V20.6.1 ● Modeling V17~V20.6.1
|
erstellt am: 10. Sep. 2021 17:41 <-- editieren / zitieren --> Unities abgeben:          Nur für OVI
|
GunnarHansen Mitglied Engineer
  
 Beiträge: 759 Registriert: 16.09.2009
|
erstellt am: 17. Sep. 2021 11:16 <-- editieren / zitieren --> Unities abgeben:          Nur für OVI
|
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
     
 Beiträge: 2262 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19045.3803 ● Drafting V17~V20.6.1 ● Modeling V17~V20.6.1
|
erstellt am: 17. Sep. 2021 18:02 <-- editieren / zitieren --> Unities abgeben:          Nur für OVI
|
Experiment1 Mitglied CAD-/ Windchill Admin // F&E
 
 Beiträge: 124 Registriert: 01.04.2021 Creo Parametric 8.0.5.0 (ehemals Creo 4 M100) Windchill PDMLink 12.0.2.6 (ehemals 11.0 M030) Virtueller CAD-Desktop (Citrix + NVidia Grid M60-2Q)
|
erstellt am: 26. Okt. 2021 15:52 <-- editieren / zitieren --> Unities abgeben:          Nur für OVI
Hallo OVI, Diplont hat leider nicht ausgeführt, dass man in Windchill eine Option setzen muss, damit IS NULL verfügbar ist. In der Windchill Shell folgenden Befehl ausführen und Windchill restarten: xconfmanager -s "com.ptc.windchill.search.queryBuilder.enableNullCriteria=true" -t codebase/wt.properties -p Quelle:CS325496 Bevor diese Option eingepflegt wird ein wichtiger Hinweis: Ein Nullwert ist NICHT ein "Leerer Wert", sondern ein Attribut, das nicht existiert. Man kann mit IS NULL kein Attribut finden, welches existiert, aber den Wert "" enthält. D.h also dass du möglicherweise nicht alle Objekte findest, die du finden willst. Bei uns könnte man mit IS NULL nicht die Attribute von Objekten finden, die in Creo erstellt worden sind, keinen Inhalt haben und an Windchill ausgewiesen werden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
der_Wolfgang Ehrenmitglied V.I.P. h.c. Tastenhauer
     
 Beiträge: 2262 Registriert: 3.20. ● PE6+8@home ● W10 Pro Build19045.3803 ● Drafting V17~V20.6.1 ● Modeling V17~V20.6.1
|
erstellt am: 30. Okt. 2021 18:15 <-- editieren / zitieren --> Unities abgeben:          Nur für OVI
Zitat: Original erstellt von Experiment1: wichtiger Hinweis: Ein Nullwert ist NICHT ein "Leerer Wert", sondern ein Attribut, das nicht existiert.
erstmal dicken Dank für den PTC Artikel! ---------- Ab Stand ---------- <klugsch..ss> a) ein Leerstring "" ist nicht NULL (== Java-technisch, oder NIL == LISP technisch) ein Leerstring ist ein String ein String ein String ein String b) das Attribut EXISTIERT aber es wurde NIE ein Wert zugewiesen c) nicht existierende (genauer: nicht definierte) Attribute kann man im WT Seach gar nicht auswählen. </klugsch..ss> (nicht bös gemeint)
------------------ ● Firefox ESR ● Java Forum Stuttgart JUGS ● OSD Hilfeseite (de) / help page (en) ● NotePad++ ● BuFDi ● Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Experiment1 Mitglied CAD-/ Windchill Admin // F&E
 
 Beiträge: 124 Registriert: 01.04.2021 Creo Parametric 8.0.5.0 (ehemals Creo 4 M100) Windchill PDMLink 12.0.2.6 (ehemals 11.0 M030) Virtueller CAD-Desktop (Citrix + NVidia Grid M60-2Q)
|
erstellt am: 17. Dez. 2021 13:39 <-- editieren / zitieren --> Unities abgeben:          Nur für OVI
Hey! Ja ich hab mich da unklar ausgedrückt, eigentlich meinte ich nicht "Attribut", sondern "Attributwert". Da ist die Umgangssprache mit mir durchgegangen  "Ein Nullwert ist NICHT ein "Leerer Wert", sondern ein Attributwert, der nicht existiert."
Nochmal zum eigentlichen Problem: Der OP möchte nach "leeren Attributen" suchen, also streng genommen "Empty attributes". In Windchill (wie in jeder Java-App) gibt es einen Unterschied zwischen Null und "". Mit der Suche "is Null" findet man daher nicht "Empty attributes" (siehe auch CS349920). Und diese "Empty attributes" kann man sich mit entsprechender Creo-Konfiguration einfangen. Jedoch kann man Objekte mit "" in der Windchill-Suche nicht explizit suchen (in der Datenbank jedoch kein Problem). Windchill hindert mich daran, einen ""-Wert in ein Attribut einzutragen (zumindest hab ich es mit den ootb Configs für IBAs nicht hinbekommen). In Creo kann ich allerdings einen ""-Wert in einem Parameter erzeugen und ausweisen. Wenn ich also ein Startteil mit ausgewiesenen Parametern habe und der Standardwert in diesem Parameter "" ist, dann werden bei der Objektinstanziierung (z.B. aus dem Workspace zu Windchill "Hochladen") in der Datenbank Attributwerte mit dem Wert "" erstellt. Hier noch ein paar Hintergründe: Windchill und die Datenbank verhalten sich unterschiedlich. Vereinfacht gesagt: Eine Spalte in Windchill besteht in der Datenbank aus Zeilen der Tabellen "Attributname" und "Attributwert" (z.B. für Strings aus den beiden Tabellen LWCIBAAttDefinition und StringValue). Die Attribute in Windchill werden also erst zur Laufzeit mit den Attributwerten verknüpft (deswegen gibt's auch die Empfehlung bei Performanceproblemen nicht benötigte Spalten auszublenden). Die Attributwerte (also Zeilen in der Tabelle StringValue) werden bei der Objektinstanziierung in Windchill erzeugt und mit dem "Attributnamen" und dem Objekt verknüpft. Wenn sie jedoch keinen Standardwert im Typ- und Attributemanager oder OIR zugewiesen bekommen haben, dann werden die Attributwerte nicht in der Datenbank erzeugt. Erst sobald in Windchill ein Attributwert eingetragen wird, wird auch in der Datenbank ein Attributwert erzeugt. Streng genommen gibt es in der Datenbank bei IBA-Attributwerten kein NULL, da kein Tupel instanziiert wird, wenn kein Attributwert eingetragen wird. Die Windchill Suche übersetzt die (semantisch korrekte) "is null" oder "is not null" in der Windchill-Oberfläche zu "suche alle Objekte in der Datenbank, zu denen kein Attributwert existiert", was ja ein Unterschied zu einem Null-Wert ist. Dank dieser Architektur kann man soviele IBAs erzeugen wie man will (MSSQL hat standardmäßig maximal 1024 Spalten). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |