Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X
I am using Windchill PDMLink Release 12.0 and Datecode with CPS 12.0.2.14
Is there a way to check if the buildrules have been executed on a given WTPart and its linked EPMDocuments?
Solved! Go to Solution.
Problem solved with this solution:
Map<Persistable, Persistable> paramMap = new HashMap<Persistable, Persistable>();
paramMap.put(part, pers);
EPMBuildHistoryStatusHelper buildHelper = new EPMBuildHistoryStatusHelper();
Map<Persistable, EPMBuildHistoryStatus> resultBuildStatus = buildHelper.getBuildHistoryStatus(paramMap);
for (Persistable partKey : resultBuildStatus.keySet()) {
EPMBuildHistoryStatus buildStatus = resultBuildStatus.get(partKey); // possible values IN_SYNC, OUT_OF_SYNC, NOT_RELATED, NOT_BUILT;
logger.debug("buildStatus on "+part.getIdentity() +" and "+pers+" is: "+buildStatus.name());
Hi @handers-2
In the system there is definitely that API because it is used in the compare function
but it has not to be just one function it can be a several functions together that compares build status and others information.
You just need to find that API.
PetrH
Hi HelesicPetr,
I know this compare, I decompiled already a lot OOTB files. I dont find a way.
com.ptc.windchill.enterprise.dsb.client.controller DSBController.java -> the result is stored in compareSummaries
I thought this could be an option: BuildHelper.isMarkedAsBuilt((BuildableLink) link))
But the buildable link looks like it has to be a WTPartDescribeLink which for me does not make sense.
EPMDocs are not linked with it. And BuildRule or BinaryLink is not castable to "BuildableLink"
Problem solved with this solution:
Map<Persistable, Persistable> paramMap = new HashMap<Persistable, Persistable>();
paramMap.put(part, pers);
EPMBuildHistoryStatusHelper buildHelper = new EPMBuildHistoryStatusHelper();
Map<Persistable, EPMBuildHistoryStatus> resultBuildStatus = buildHelper.getBuildHistoryStatus(paramMap);
for (Persistable partKey : resultBuildStatus.keySet()) {
EPMBuildHistoryStatus buildStatus = resultBuildStatus.get(partKey); // possible values IN_SYNC, OUT_OF_SYNC, NOT_RELATED, NOT_BUILT;
logger.debug("buildStatus on "+part.getIdentity() +" and "+pers+" is: "+buildStatus.name());