cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - If community subscription notifications are filling up your inbox you can set up a daily digest and get all your notifications in a single email. X

Translate the entire conversation x

Unique objects related to specified assembly Number - Report

RUK1
8-Gravel

Unique objects related to specified assembly Number - Report

Version: Windchill 12.0

 

Use Case: Hello, I´m trying to build a report, that will allow me to enter a assembly Number and the result of the report should be a list of unique objects, only used in defined assembly Number. I have managed to build a report reporting items used in assembly, but I´m having trouble setting Criteria to only report unique items.


Description:

I´m currently getting a result with the list of the objects, but report is simply listing objects used in specific assembly, whether they are unique or not. I can´t manage to set Criteria correctly, so it will only report unique objects. Can anyone point me to some guide or assist with setting correct criteria to achieve desired result (only report unique objects used in one assembly)? 

 

Thank you very much in advance. 

ACCEPTED SOLUTION

Accepted Solutions
Marco_Tosin
21-Topaz I
(To:RUK1)

To summarize, your request is to have a report that, when you enter the code of an assembly in the search, returns a list of the components of that assembly, but only those NOT used in other assemblies.

 

Have I understood correctly?

 

The first limitation, using Windchill's standard reporting tool, is that in assemblies, the search is only performed at the first level and is NOT recursive, so it does not find objects that are at the second, third, fourth, etc. level.

 

Furthermore, I do not believe it is possible to have what you are asking for in a single report, again using standard tools and not specifically written Java code, but at least two would be needed.

 

In the first one, you could extract the list of the first levels of a given assembly, and in the second one, you could check in which assemblies a component is used and, using a database function, count the number of uses so that it returns only the list of those with a number equal to 1.

 

Finally, you would have to cross-reference the data from the two lists to obtain your final result.

 

 

Marco

View solution in original post

7 REPLIES 7
Marco_Tosin
21-Topaz I
(To:RUK1)

To summarize, your request is to have a report that, when you enter the code of an assembly in the search, returns a list of the components of that assembly, but only those NOT used in other assemblies.

 

Have I understood correctly?

 

The first limitation, using Windchill's standard reporting tool, is that in assemblies, the search is only performed at the first level and is NOT recursive, so it does not find objects that are at the second, third, fourth, etc. level.

 

Furthermore, I do not believe it is possible to have what you are asking for in a single report, again using standard tools and not specifically written Java code, but at least two would be needed.

 

In the first one, you could extract the list of the first levels of a given assembly, and in the second one, you could check in which assemblies a component is used and, using a database function, count the number of uses so that it returns only the list of those with a number equal to 1.

 

Finally, you would have to cross-reference the data from the two lists to obtain your final result.

 

 

Marco

Yes, you are correct with your assumption. 

 

I understand, I do not necessarily need multi level check (ideally yes, but it´s not a must, if that is too difficult). Currently we are manually searching for each component and inspecting them individually in Where used. Then it´s all manual work to identify and either export to excel or mark down parts, that are unique. So anything simpler that that would be a great achievement.

 

I was thinking of exporting whole list of components (asm + prt) and then entering them one by one into report, so the outcome would be :  is unique? : Yes/No, for single level. Do you find that achievable with "simple" report? 

 

Thank you for your feedback. 

Marco_Tosin
21-Topaz I
(To:RUK1)

Since, without customizations written in Java, a report cannot be recursive, it also becomes difficult to know whether the component being searched for is used in multiple assemblies or not.

 

I found this article that might give you some ideas for a report.

 

Query builder report that shows Child objects and its count for Parent object for EPMDocument

 

I tried using it, but the result wasn't what I expected after reading the article description.

 

Marco

Thank you Marco. 

 

Originally I was hoping for all in one solution, meaning capability of searching multiple levels of the assembly, but unfortunately I have no that much experiences with Java coding, so that is why I "lowered" my expectations for reporting for now, as even simpler solution would be available. 

 

I am sure, that we will come to the point, where I will have to create such a tool using Java customizations, however currently I´m busy with other assignments in Windchill. 

 

I will definitely try the report you suggested. Do you happen to have any reference regarding Java customizations that you find useful for multiple level uniqueness identification? 

Marco_Tosin
21-Topaz I
(To:RUK1)

I'm sorry, but I'm an administrator, not a Java developer.

 

Marco

Same here, but I will definitely dig deeper into this, when I will have some time available to do so. 


Thank you. 

You could do this in Query Builder, with some more advanced criteria.

 

You would need to add a criteria that the Part B Master Number is NOT in a Subselect.

The subselect would be Assemblies using Parts, with the additional criteria that the assembly's number is NOT Part A's number

 

So in English: Return all the part numbers in this assembly that are NOT in any other assembly

 

I'd recommend using a Parameter to enter the Assembly's Part Number for performance reasons. That would look like this:

joe_morton_0-1757106119622.png

You would need more criteria, but here's what you're missing: 

joe_morton_1-1757106170824.png

 

And here's the sub-select:

joe_morton_2-1757106194599.png

 

joe_morton_3-1757106208116.png

 

This is referring back to the same parameter as before:

joe_morton_4-1757106231343.png

 

Announcements
Top Tags