Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X
Please let me which API to use to create link between WTPart and EPMDocument without checking out the WTPart..
Thanks in advance
About which API are you talking?
With Java code you can do something like this:
EPMDescribeLink describeLink = EPMDescribeLink.newEPMDescribeLink(wtPart, epmDocument);
PersistenceServerHelper.manager.insert(describeLink);
Hi Fabian,
Actually I was trying to link WTPart and EPMDocument, I was successful in doing so but it requires a check out of WTPart which I dont want, so asked this to get the answer.
The above code will require the WTPart Check out
chetan deshpandey wrote:
Please let me which API to use to create link between WTPart and EPMDocument without checking out the WTPart..
Thanks in advance
You can use something like the following:
EPMBuildRule buildRule = EPMBuildRule.newEPMBuildRule(epmDoc, wtPart, EPMBuildRule.BUILD_ATTRIBUTES | EPMBuildRule.BUILD_STRUCTURE | EPMBuildRule.CAD_REPRESENTATION);
WTCollection byPassIterationModifierSet = new WTHashSet();
byPassIterationModifierSet.add(buildRule);
byPassIterationModifierSet.add(wtPart);
WorkInProgressServerHelper.putInTxMapForValidateModifiable(byPassIterationModifierSet);//allows modification without checkout
buildRule = (EPMBuildRule)PersistenceHelper.manager.save(buildRule);
See also this post:
Re: Java Code to add Windchill IBA Values to WTPart Object
and this article:
https://support.ptc.com/appserver/cs/view/solution.jsp?n=CS188209
Hi Chetan,
When ever we perform some operation, pre-events will be triggers which acts as check before actually performing the actual operation. Similarly, when we perform a save of EPMDescribeLink, the pre-event will check for certain conditions like whether WTPart is a working copy or not.
In order to by-pass these pre-events, use the below code which will perform the actual save operation.
EPMDescribeLink epmLink = EPMDescribeLink.newEPMDescribeLink(part, epmDoc);
Transaction localTransaction = new Transaction();
try{
localTransaction.start();
PersistentObjectManager.getPom().insert(epmLink, null, null);
localTransaction.commit();
}catch(Exception e){
}
Regards
Srikanth