Community Tip - Want the oppurtunity to discuss enhancements to PTC products? Join a working group! X
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?
Solved! Go to Solution.
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!
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!
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.