| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für NX |
Autor
|
Thema: Über CommandLine erfragen ob Item existiert (1778 mal gelesen)
|
ThomasZwatz Moderator cadadmin
Beiträge: 5397 Registriert: 19.05.2000 (10-2022) --------------------------------------------- [stable] NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3 SingleSite 4Tier, DocMgt, Client4Office, MRO, ReqMgt, SchedMgt, T4S, TcVis Mockup, TcSSO, Multi-CAD BCT-Inspector Neutral v22R2 --------------------------------------------- [testing] NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3 BCT-Inspector Neutral v22R2 @M7720 Win10 (1909)
|
erstellt am: 03. Mrz. 2016 23:37 <-- editieren / zitieren --> Unities abgeben:
Ich habe einen Einsatzfall wo bei Freigabe einer ItemRevision ein Dataset erzeugt wird und ins Filesystem exportiert wird. Dieses Dataset kann nun von (Nicht-TC-)Anwendern geändert werden. In diesem Fall ist ein Mechanismus eingerichtet der das geänderte File zurück nach TC importiert und das Original "aktualisiert". ( Änderungshoheit ist nur am Filesystem, nicht in TC ). Das geschieht via ( item_id, item_revision_id entstehen aus dem FileName ) Code: import_file.exe -u=*** -g=*** -p=*** -f=<Pfad> -relationType=<Relation> -type=<Type> -d=<DatasetName> -ref=<RefType> -de=r -item<item_id> -revision=<item_revision_id> -ie=y
Das funktioniert auch. Was ich aber nicht verhindern kann: Ein Anwender erzeugt ein neues File am Filesystem und ändert es: Dann wird auch dieses nach TC importiert. Das will ich verhindern denn nur wenn es ein Original in TC gibt, soll ein ReImport erfolgen. Im ungünstigsten Fall gibt es nicht einmal ein Item das zu dem Dataset "gehört" - dann wird eines angelegt. Ich suche nun nach einer einfachen Möglichkeit, in dem Script das den Import durchführt eine Prüfung zu machen a) gibt es zu item_id, item_revision_id ein Dataset eines bestimmten Typs mit einem bestimmten Namen ? oder zumindest b) gibt es eine ItemRevision mit der Ziel item_id, item_revision_id ? und erst dann das import_file loszulassen. Was würde sich dazu anbieten ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas-Z Mitglied PLM-Administration
Beiträge: 74 Registriert: 22.02.2011
|
erstellt am: 04. Mrz. 2016 09:02 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasZwatz
Hallo Thomas, ich hatte mir mal was gestrickt um vor dem Import den Revision Status abzufragen und nachher das Dataset mit dem richtigen Status zu importieren. Das kannst du auch verwenden um zu schauen ob es das Item oder die Revision überhaupt gibt. Es wird eine Liste mit Item-IDs + Revisions durchlaufen um zuerst einen plmxml_export anzustoßen welcher dann ausgewertet wird. Code:
rem Liste einzeln durchlaufen SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION for /F "tokens=1,2,3 delims=-." %%a in (%LISTE%) do (set id=%%a set format=%%b set rev=%%c rem PLMXML Export für Status if exist "%xmlexport%" del "%xmlexport%" set x= plmxml_export -xml_file="%xmlexport%" -item=!id! -rev=!rev! -transfermode=dein_TC_Transfermode for /f "tokens=2 delims=^=^" %%i in ('findstr /n "latest_rel_status" %xmlexport%') do set "x=%%i" set status=!x:~1,3! set "status=!status:"=%!" IF "!x!" equ "" echo ItemRevisionStatus ist nicht da IF not "!x!" equ "" echo ItemRevisionStatus ist da )
------------------ Gruß Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ThomasZwatz Moderator cadadmin
Beiträge: 5397 Registriert: 19.05.2000 (10-2022) --------------------------------------------- [stable] NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3 SingleSite 4Tier, DocMgt, Client4Office, MRO, ReqMgt, SchedMgt, T4S, TcVis Mockup, TcSSO, Multi-CAD BCT-Inspector Neutral v22R2 --------------------------------------------- [testing] NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3 BCT-Inspector Neutral v22R2 @M7720 Win10 (1909)
|
erstellt am: 04. Mrz. 2016 12:22 <-- editieren / zitieren --> Unities abgeben:
|
matthias-p Mitglied Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 04. Mrz. 2016 19:44 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasZwatz
|
ThomasZwatz Moderator cadadmin
Beiträge: 5397 Registriert: 19.05.2000 (10-2022) --------------------------------------------- [stable] NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3 SingleSite 4Tier, DocMgt, Client4Office, MRO, ReqMgt, SchedMgt, T4S, TcVis Mockup, TcSSO, Multi-CAD BCT-Inspector Neutral v22R2 --------------------------------------------- [testing] NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3 BCT-Inspector Neutral v22R2 @M7720 Win10 (1909)
|
erstellt am: 06. Mrz. 2016 19:19 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von matthias-p: ...du kannst auch per SQL über den install-Befehl eine Query schreiben, die schaut, ob das Item existiert.
Wenn ich mir die Manpage zu install so anschaue seh ich nicht so recht wie das geht ... hast du da noch mehr Details dazu ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthias-p Mitglied Konstruktion / Anwenderbetreuung
Beiträge: 501 Registriert: 09.06.2006 Teamcenter 11.3 / NX 11 Windows 10
|
erstellt am: 07. Mrz. 2016 08:43 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasZwatz
Der Befehl sieht so aus: Zitat: install -acg user password %ORACLE_SID% < %SCL_Script%[QUOTE]und ein Beispiel SQL Script so: [QUOTE] select wod.pobject_name from infodba.pitem i, infodba.pitemrevision ir, infodba.pimanrelation rel, infodba.pimantype relt, infodba.pdataset ds, infodba.pdatasettype dst, infodba.pworkspaceobject wod where i.puid = ir.ritems_tagu and ir.puid = rel.rprimary_objectu and rel.rrelation_typeu = relt.puid and relt.ptype_name = 'IMAN_specification' and ds.puid = rel.rsecondary_objectu and ds.puid = wod.puid and ds.rdataset_typeu = dst.puid and dst.pdatasettype_name = 'UGPART' -- and i.pitem_id = '$1' -- and ir.pitem_revision_id = '$2'
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brauburger Mitglied CAD-SystemIngenieur
Beiträge: 387 Registriert: 05.04.2001 NX_12.0.2 TC_11.4.0.5
|
erstellt am: 10. Mai. 2016 08:09 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasZwatz
Hallo Thomas, ich würde das auch per SQL versuchen. Wir haben ORACLE mit sqlplus. SELECT I.PITEM_ID| |'/'| |R.PITEM_REVISION_ID from PITEM I, PITEMREVISION R where I.PUID = R.RITEMS_TAGU and I.PITEM_ID = 'deine_itemid' and R.PITEM_REVISION_ID = 'deine_itemrevisionid'; Anschließend musst Du den Output auf stdout analysieren. Dirk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DoppNor Mitglied Systemadmin, Konstrukteur
Beiträge: 4 Registriert: 28.05.2014 NX7.5.4.4 TC8.3.3.9
|
erstellt am: 05. Aug. 2016 07:56 <-- editieren / zitieren --> Unities abgeben: Nur für ThomasZwatz
Ich hab den Export in einer Shell nun einmal versucht: plmxml_export -u=dcproxy -g=dba -p=**** -xml_file=c:\TEMP\SPOOLDIR\XmlExport.xml -item=109.703 -rev=0 -type=BctInspectorProject -transfermode=ConfiguredDataFilesExportDefault Dabei wird nicht nur das Item von 109.703 Rev. 0 exportiert sondern alle vom "type" BctInspectorProject. Welches Argument muss man noch angeben, damit nicht "alle" exportiert werden? [Diese Nachricht wurde von DoppNor am 05. Aug. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ThomasZwatz Moderator cadadmin
Beiträge: 5397 Registriert: 19.05.2000 (10-2022) --------------------------------------------- [stable] NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3 SingleSite 4Tier, DocMgt, Client4Office, MRO, ReqMgt, SchedMgt, T4S, TcVis Mockup, TcSSO, Multi-CAD BCT-Inspector Neutral v22R2 --------------------------------------------- [testing] NX2007(2027.3701) + TC13.3.0.3, RAC +AWC6.0.3 BCT-Inspector Neutral v22R2 @M7720 Win10 (1909)
|
erstellt am: 05. Aug. 2016 08:53 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von DoppNor: ... Dabei wird nicht nur das Item von 109.703 Rev. 0 exportiert sondern alle vom "type" BctInspectorProject.Welches Argument muss man noch angeben, damit nicht "alle" exportiert werden? ...
Laut Doku zu plmxml_export macht der "-type" Switch genau das, d.h. der muss weg. In der Doku ist auch von -transfermode=justDatasetsOut zu lesen, das dürfte für den geplanten Einsatzzweck wohl auch gehen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|