We are looking for historical data of how many checkin/checkout/download/upload has happened. Does any have a query builder to get this report ?
Need a query xml for finding the checkin/checkout/download events. Dont want to do it via Auditing. Want a report manager query to get the details for specific amount of time
how to get the WORKPACKAGE data
Hello,
Â
Does any one know how do we can retrieve the data from the WORKPACKAGE using database script
Get parts and its associated library using API's only
Hello,
Â
I have following SQL
Â
select master.wtpartnumber, lib.NAMECONTAINERINFO, lib.IDA2A2 from wtpartmaster master, wtlibrary lib where master.wtpartnumber not like '%-R'Â and master.IDA3CONTAINERREFERENCE = lib.IDA2A2Â and lib.NAMECONTAINERINFO not like '%test%'
Â
I want to use this SQL in Windchill API's but I'm unsuccessful so far, here is what I have so far:
       final QuerySpec qs = new QuerySpec();       int lib = qs.addClassList(WTLibrary.class, false);       int mastInt = qs.addClassList(WTPartMaster.class, false);       ClassAttribute ca = new ClassAttribute(WTPartMaster.class, WTPartMaster.NUMBER);              ClassAttribute ca1 = new ClassAttribute(WTLibrary.class, WTLibrary.CONTAINER_ID);       qs.appendSelect(ca, new int[]{0}, false);       qs.appendSelect(ca1, new int[]{1}, false);       qs.appendWhere(new SearchCondition(WTLibrary.class, WTLibrary.NAME, SearchCondition.NOT_LIKE, "%test%"), new int[]{0});       qs.appendJoin(mastInt, WTPartMaster.CONTAINER_ID, lib);              // Below condition through error       //qs.appendAnd();       //qs.appendWhere(new SearchCondition(WTPartMaster.class, WTPartMaster.CONTAINER_ID, SearchCondition.EQUAL, WTLibrary.CONTAINER_ID), new int[]{0});       System.out.println("\n\n" + qs.toString() + "\n\n" + qs.getWhere() + "\n\n");
Â
Can someone help me how to write the above SQL in API's?
Â
Thanks,
Manjunath Reddy
Is it possible to automatically select the view following the document type?
In a panel we have some views, then we have to select the view from view list suitable to the each document type currently using. It is best way if PDMLink can automatically select defined view to fit the document type we using.
PostgreSQL Database (open source) with Windchill PDMLink. Benchmarks all point to PostgreSQL.
I would like to know if anyone has tried to have Windchill PDMLink work with PostgreSQL Database. According to these benchmarks:
One with SQL Server 5 and MySQL:
PostgreSQL versus MS SQL Server and PostgreSQL versus Oracle at the following sites:http://www.redhat.com/pdf/rhel/bmsql-postgres-sqlsrvr-v1.0-1.pdf
http://diznix.com/dizwell/archives/category/postgres
PostgreSQL out performs all current databases withthe exception ofproducing a 5 million record report againstOracle. I like the benchmark with 2 Intel Quad Core Xeon, 48 GIG of ram which closely resemble my Oracle Database. It definitely proves that the combination of Red Hat Linux and PostgreSQL looks really good compared to Windows 2008 and SQL Server Enterprise with identical hardware.
I've started creating the database and now moving to the user schemas. If this works, like RedHat Linux, this would savecost on licensing and maintenance on running Windchill on databases. Thus, more money can be alocated to the Windchill Solution and implementation.
Having fun,
Â
Patrick
Windchill API to find the orphan parts?
Hi,
Â
I have requirement to write API to fetch all orphan parts (WTPart) in the Windchill (not QueryReport). Any suggestions?
Â
and also all Assembly parts!
Â
Thanks,
Manjunath Reddy
How can I modify multiple parameters or attributes from different parts on Windchill?
I am looking to modify and update multiple parameters or properties from several parts and assemblies simultaneously on Windchill. How could I do this?
Windchill workgroup manager 9.1 M070 will work in Windows 10?
Hello All,
Â
I would like to know WGM 9.1 M070 will work in Windows 10?
Â
Regards,
Rajesh L
How to Access Veriables In a JSP page ForEach Loop?
I will post some code below that works for me. However I would like to replace the 'testing' strings with a variable passed to the for each loop from the epmdocument group. I cannot figure out the syntax for doing this. If I place <ie:getValue name="CADName"/> where the variable is then I get an error when I execute. I am assuming I am supposed to do something like ${CADName} but, I am not sure how to reference that value?
Â
   <ie:webject name="Search-Objects" type="OBJ">
          <ie:param name="INSTANCE" data="com.jbtc.net.mad1wc-prod01.Windchill"/>
          <ie:param name="TYPE" data="wt.epm.EPMDocument"/>
          <ie:param name="VERSION" data="LATEST"/>
          <ie:param name="ITERATION" data="LATEST"/>
          <ie:param name="WHERE" data="<%=where%>"/>
          <ie:param name="WHERE" data="(state.state='Released')" />
       <ie:param name="ATTRIBUTE" data="CADName,name,state.state,versionInfo.identifier.versionId,obid" delim=","/>
          <ie:param name="GROUP_OUT" data="epmdocument"/>
   </ie:webject>
           <ie:forEach groupIn="epmdocument" groupOut="row">
               <c:choose>
                <c:when test="${'testing123' == 'testing123'}">
                    <p> This is output to HTML page if CADName is testing123</p>
                </c:when>
                <c:otherwise>
                  <p> Fail </p>
                </c:otherwise>
               </c:choose>
               <p class=<ie:getValue name="CADName"/>><ie:getValue name="CADName"/> This code works I get the variable back</p>
           </ie:forEach>
Is it possible to edit a ProjectLink 'estimated finish' date after it has passed?
I have a user whose ProjectLink schedule's 'Estimated Finish' date has lapsed. He would like to edit it and update the schedule without having to recreate it from scratch but currently has no options to edit any of the tasks. Ideas?
Â
Thanks in advance
How to get Team Members and Role information from Container
Hello ,
Â
I am working on the sql script where I will need to get the product team members and role information there is any way we can do that
How to create new report in cognos
Hi
Pl help me in creating cognos reporting in windchill. I am creating task delegate in windchill but it not seen in IBM Cognos. how to call that delegate in cognos pl tell me.
Where I can find relations in Windchill which reads parameters/Attributes from Cad models?
Where I can find relations in Windchill which reads parameters/Attributes from Cad models?
Can anyone tell me the actual use of wt part?
Can anyone tell me the actual use of wt part, and also how to retrieve files using wt part?
How to stop a User selecting himself as an Approver in Promotion Request?
We need to configure a business process in which we are using the Default "Promotion Request Approval Process" that is available OOTB. We want to stop the users from selecting themselves as an Approver in the Promotion Process.
Â
PTC Tech support said this isn't possible. But doesn't this kill the process by itself? When the process isn't fool proof to stop the user selecting himself as an approver what is the use of it then? Is this achievable through any configuration options?
Â
Thanks in advance!
Access is not permitted to advanced query capabilities
Hello ,
Â
I'm writing advanced API Query to fetch the all parts latest version and iteration but I'm unable to execute the query. Here my code:
import wt.fc.QueryResult; import wt.inf.library.WTLibrary; import wt.part.WTPart; import wt.part.WTPartMaster; import wt.query.ClassAttribute; import wt.query.OrderBy; import wt.query.QueryException; import wt.query.QuerySpec; import wt.query.SQLFunction; import wt.query.SearchCondition; import wt.query.SubSelectExpression; /** * * @author mgangappa */ public class Extractor { Â Â Â public static void main(String[] args) {Â Â Â Â Â Â Â Extractor ex = new Extractor();Â Â Â Â Â Â Â Â Â Â Â Â Â Â ex.getAllPartsLatestVersionAndIteration();Â Â Â }Â Â Â Â Â Â Â Â Â public void getAllPartsLatestVersionAndIteration() {Â Â Â Â Â Â Â try {Â Â Â Â Â Â Â Â Â Â Â final QuerySpec qs = new QuerySpec();Â Â Â Â Â Â Â Â Â Â Â qs.setAdvancedQueryEnabled(true);Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â final int lib = qs.addClassList(WTLibrary.class, false);Â Â Â Â Â Â Â Â Â Â Â final int masterIndex = qs.addClassList(WTPartMaster.class, false);Â Â Â Â Â Â Â Â Â Â Â final int partIndex = qs.addClassList(WTPart.class, true);Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â final QuerySpec subSelect = new QuerySpec();Â Â Â Â Â Â Â Â Â Â Â final int partSubInt = subSelect.appendClassList(WTPart.class, false);Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â final SQLFunction max = SQLFunction.newSQLFunction(SQLFunction.MAXIMUM, new ClassAttribute(WTPart.class, "iterationInfo.branchId"));Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â subSelect.appendSelect(new ClassAttribute(WTPart.class, "masterReference.key.id"), new int[]{partSubInt}, true);Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â subSelect.appendSelect(max, new int[]{partSubInt}, true);Â Â Â Â Â Â Â Â Â Â Â Â Â Â subSelect.setAdvancedQueryEnabled(true);Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â subSelect.appendGroupBy(new ClassAttribute(WTPart.class, "masterReference.key.id"), new int[]{partSubInt}, true);Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â qs.appendWhere(new SearchCondition(WTLibrary.class, WTLibrary.NAME, SearchCondition.NOT_LIKE, "%test%"), new int[]{lib});Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â qs.appendAnd();Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â qs.appendWhere(new SearchCondition(WTPartMaster.class, "containerReference.key.id", WTLibrary.class, "thePersistInfo.theObjectIdentifier.id"), new int[]{masterIndex, lib});Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â qs.appendAnd();Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â qs.appendWhere(new SearchCondition(WTPart.class, "masterReference.key.id", WTPartMaster.class, "thePersistInfo.theObjectIdentifier.id"), new int[]{partIndex, masterIndex});Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â qs.appendAnd();Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â qs.appendWhere(new SearchCondition(WTPart.class, WTPart.LATEST_ITERATION, SearchCondition.EQUAL, true), new int[]{partIndex});Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â qs.appendAnd();Â Â Â Â Â Â Â Â Â Â Â final SubSelectExpression inList = new SubSelectExpression(subSelect);Â Â Â Â Â Â Â Â Â Â Â inList.setAccessControlRequired(false);Â Â Â Â Â Â Â Â Â Â Â qs.appendWhere(new SearchCondition(new ClassAttribute(WTPart.class, "iterationInfo.branchId"), SearchCondition.IN, inList), new int[]{partIndex});Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â qs.appendOrderBy(new OrderBy(new ClassAttribute(WTPartMaster.class, WTPartMaster.NUMBER), true), new int[] {masterIndex});Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â QueryResult qr = ExecuteQueryInServerContext.executeAdvanceQueryInServer(qs, "executeQuery");Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â } catch (QueryException ex) {Â Â Â Â Â Â Â Â Â Â Â ex.printStackTrace();Â Â Â Â Â Â Â }Â Â Â } }
Â
I'm executing it in the RemoteMethodServer.invoke (see below code):
Â
import java.lang.reflect.InvocationTargetException; import java.rmi.RemoteException; import wt.fc.PersistenceHelper; import wt.fc.PersistenceServerHelper; import wt.fc.QueryResult; import wt.method.RemoteAccess; import wt.method.RemoteMethodServer; import wt.pds.StatementSpec; import wt.query.QuerySpec; import wt.util.WTException; /** * * @author mgangappa */ public class ExecuteQueryInServerContext implements RemoteAccess { Â Â Â public static QueryResult executeAdvanceQueryInServer(QuerySpec query, String method) {Â Â Â Â Â Â Â Class[] pClasses = new Class[1];Â Â Â Â Â Â Â pClasses[0] = QuerySpec.class;Â Â Â Â Â Â Â Object[] pObjects = new Object[1];Â Â Â Â Â Â Â if (query == null) {Â Â Â Â Â Â Â Â Â Â Â return null;Â Â Â Â Â Â Â } else {Â Â Â Â Â Â Â Â Â Â Â pObjects[0] = query;Â Â Â Â Â Â Â }Â Â Â Â Â Â Â try {Â Â Â Â Â Â Â Â Â Â Â return (QueryResult) RemoteMethodServer.getDefault().invoke(method, ExecuteQueryInServerContext.class.getName(), null, pClasses, pObjects);Â Â Â Â Â Â Â } catch (RemoteException ex) {Â Â Â Â Â Â Â Â Â Â Â ex.printStackTrace();Â Â Â Â Â Â Â } catch (InvocationTargetException ex) {Â Â Â Â Â Â Â Â Â Â Â ex.printStackTrace();Â Â Â Â Â Â Â }Â Â Â Â Â Â Â return null;Â Â Â }Â Â Â public static QueryResult executeQuery(QuerySpec qs) throws WTException {Â Â Â Â Â Â Â Â System.out.println("executeQuery => PersistenceServerHelper ");Â Â Â Â Â Â Â QueryResult result = PersistenceServerHelper.manager.query(qs);Â Â Â Â Â Â Â Â Â Â Â Â Â Â return result;Â Â Â }Â Â Â Â Â Â public static QueryResult executeQueryManager(QuerySpec qs) throws WTException {Â Â Â Â Â Â Â Â Â Â Â Â Â Â QueryResult result = PersistenceHelper.manager.find((StatementSpec) qs);Â Â Â Â Â Â Â Â Â Â Â Â Â Â return result;Â Â Â } }
Â
Â
But I'm keep getting the below error:
Â
nServerContext, executeQuery, , 0, 0, 0.0, 0, 0.0, 0.01, 0.007444714 (wt.pds.pdsResource/23) wt.pds.AdvancedQueryAccessException: Access is not permitted to advanced query capabilities. at wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:616) at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1108) at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1017) at wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1878) at wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1417) at wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1301) at com.google.extractor.ExecuteQueryInServerContext.executeQuery(ExecuteQueryInServerContext.java:50)
Â
Â
What I'm doing wrong? Do I need to set or change config?
Â
Thanks,
Manjunath Reddy
Anyone setup PTC Navigate on Thingworx yet?
I have it 90% setup I think. When I activate the single sign on it bounces to my windchill server to login in. It then bounces back to my Thingworx server but I get an error. Error is to many redirects. I thought this might just be a browser issue but I have tried all the tricks for fixes I found on line. As you can guess they did not work. Any help would be great. FYI it does kind of work if I don't turn on single sign on. Although I my search results are hit and miss. I am on Windchill 10.2 M020.
How to get a report of the URL address of WTparts?
Hello community!!!
Â
I am trying to get a report that list de URL address of WTParts. I have tried some joins between Part e URL link in query build report without success.
Does anybody knows how to do it?
Â
Thanks a lot in advance...
Adding new Lifecycle state
We have been running Windchill/PDMLink since V8 and are now on 10.0 preparing to move to 10.2.
One of the managers has asked what would be involved to add a new state to our Promotion Requests.
We currently have: Design, Draft, Prototype, Pre-Release, Release, Canceled and Under Review.
We would like to add a Development state between Draft and Prototype.
The Development state would be used for changes that did not require a Change Request review before implementing as the parts are being developed and changed as the design is tested. Once they design was finalized, it would then be promoted to Prototype for more formalized testing with other production equipment. When those tests are completed, it would then be promoted to Released.
Â
My questions are:
1) What files need to be modified to add a new state?
2) What impact will adding a new state have on existing files?
3) Can the new state be isolated so it only shows on new files of a certain type (.prt, .asm)?
Â
Ben
User actions log file?
I have 2 users that are frequently "losing" files. I'm 99.9% sure it's due to them deleting workspaces before checking in files or deleting the workspace contents. Are there any log files that I can reference to confirm what they are doing to lose this data?