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

Covert Reference Designator Grouping of C1-C3 to C1, C2, C3 in Structure Report?

ScottMorris
16-Pearl

Covert Reference Designator Grouping of C1-C3 to C1, C2, C3 in Structure Report?

This is a documented limitation in Windchill under CS163692. I still need a way to remove the grouping when passing the exported BOM to other PLM systems. Anyone have a cute trick in Excel or Windchill that would convert the group of C1-C3 to C1, C2, C3? 

1 ACCEPTED SOLUTION

Accepted Solutions

Data Utility: com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility
Gui Type: com.ptc.core.components.rendering.guicomponents.AttributeDisplayCompositeComponent
Column ID: refDesignators
Row Object: com.ptc.windchill.enterprise.part.reports.ReportInfo
Reference Designator validated by: com.ptc.core.ui.validation.DefaultUIComponentValidator

 

From: codebase/com/ptc/core/components/components.dataUtilities.properties

wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.multiLevelBOM/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.multiLevelBOMWithReplacements/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.multiLevelComponentsList/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.name/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportNameDataUtility/singleton
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.number.tree/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTreeNumberDataUtility/singleton
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.number/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportNumberDataUtility/singleton
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.numberText/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportNumberTextDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.quantity/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportQuantityDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.singleLevelBOM/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.singleLevelBOMWithNotes.BOMTable/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.singleLevelConsolidatedBOM/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility/duplicate

 

Looks like you will have to extend this data Utility or wrap around it and replace the call out with yours in the report you want to export. Make sure you wrap strings!

View solution in original post

8 REPLIES 8

Just taking a WAG. What about Show Occurrences?  Trading one problem for another BUT it should split our Ref Designators individually.

Yeah, trying to get them to use this, but they want to load the structure in their PLM and it has a requirement of comma separated RefDes. Still need to get some requirements from the CM who wants to do this.

Just picked up on the PLM to PLM transfer? Within same company? Or is this one company passing data to another company?

BOM needs to be populated in the Contract Manufacturer's PLM system.

@ScottMorris we use a data utility to display the return of the Reference Designators.  There is not an easy switch to override the output in formats like the BOM Reports or Export List to File.  I don't remember if there are any ways to override the behavior - let me noodle on that one.

Thanks! Its an old problem, but I'm open to any thoughts you might have, including customization points.

Data Utility: com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility
Gui Type: com.ptc.core.components.rendering.guicomponents.AttributeDisplayCompositeComponent
Column ID: refDesignators
Row Object: com.ptc.windchill.enterprise.part.reports.ReportInfo
Reference Designator validated by: com.ptc.core.ui.validation.DefaultUIComponentValidator

 

From: codebase/com/ptc/core/components/components.dataUtilities.properties

wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.multiLevelBOM/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.multiLevelBOMWithReplacements/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.multiLevelComponentsList/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.name/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportNameDataUtility/singleton
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.number.tree/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTreeNumberDataUtility/singleton
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.number/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportNumberDataUtility/singleton
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.numberText/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportNumberTextDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.quantity/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportQuantityDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.singleLevelBOM/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.singleLevelBOMWithNotes.BOMTable/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility/duplicate
wt.services/svc/default/com.ptc.core.components.descriptor.DataUtility/part.report.singleLevelConsolidatedBOM/java.lang.Object/0=com.ptc.windchill.enterprise.part.reports.dataUtilities.PartReportTableTreeDataUtility/duplicate

 

Looks like you will have to extend this data Utility or wrap around it and replace the call out with yours in the report you want to export. Make sure you wrap strings!

View solution in original post

I wish I had the code already done for you, but in Excel VB you could figure out the best logic to search for on that column.  So in your example if a single one is always in the form of C# where the number of digits is always one, then keying off the length of the cell would be easiest.  Then if the C# after the dash is always a single digit you could grab it from the right command and then use that variable in a loop to create your desired result where the string variable would be add the correct format.  Some quick hints:

 

Cells(x,y).Value gets a string value of the cell

InStr(1, <variable_string_from_cell>, "-") will return the position of the "-" in integer form

Right(Cells(x,y).Value, 1) returns the right value as a string

Then set a variable c_num to set C# based on the i in the loop i = 1 to r (being the InStr from above)

Probably the easiest would be a next statement and if i = 1 then final_output = c_num else final_output = final_output + ", " + c_num

 

Coding isn't exact but should get you going in the correct direction.

 

 

 

Announcements