Exception on execute expression for set state action on changeables
Hi,
There is following a Execute Expression code Windchill 12.1.2 implemented in Change Activity workflow:
wt.lifecycle.State state = wt.lifecycle.State.toState("UNDERREVIEW");
wt.fc.QueryResult resulting = wt.change2.ChangeHelper2.service.getChangeablesAfter((wt.change2.WTChangeActivity2) primaryBusinessObject);
while(resulting.hasMoreElements())
{
wt.fc.Persistable persistable = (wt.fc.Persistable) resulting.nextElement();
if (persistable instanceof wt.part.WTPart && !wt.vc.wip.WorkInProgressHelper.isCheckedOut((wt.vc.wip.Workable) persistable))
{
wt.lifecycle.LifeCycleHelper.service.setLifeCycleState((wt.lifecycle.LifeCycleManaged)persistable, state);
}
if (persistable instanceof wt.doc.WTDocument && !wt.vc.wip.WorkInProgressHelper.isCheckedOut((wt.vc.wip.Workable) persistable))
{
wt.lifecycle.LifeCycleHelper.service.setLifeCycleState((wt.lifecycle.LifeCycleManaged)persistable, state);
}
if (persistable instanceof wt.epm.EPMDocument && !wt.vc.wip.WorkInProgressHelper.isCheckedOut((wt.vc.wip.Workable) persistable))
{
wt.lifecycle.LifeCycleHelper.service.setLifeCycleState((wt.lifecycle.LifeCycleManaged)persistable, state);
}
}
This code has to execute set state on all changeables objects in ECN.
It is working well, but lately after few loops where the code worked perfectly, the following exception appeared:
wt.util.WTException: wt.lifecycle.LifeCycleException: (wt.pom.pomResource/10) wt.pom.PersistenceException: A commit cannot be done when a rollback is in progress. The following is the rollback stacktrace.
ROLLBACK: java.base/java.lang.Thread.getStackTrace(Thread.java:1602)
ROLLBACK: wt.pom.TransactionManager.rollbackTransaction(TransactionManager.java:754)
ROLLBACK: wt.pom.BasicTransactionMonitor.rollbackTransaction(BasicTransactionMonitor.java:77)
ROLLBACK: wt.pom.PersistentObjectManager.rollbackTransaction(PersistentObjectManager.java:428)
ROLLBACK: wt.pom.Transaction.rollback(Transaction.java:769)
ROLLBACK: wt.pom.Transaction.forceRollback(Transaction.java:429)
ROLLBACK: wt.pds.SQLDatabasePds.handleSQLException(SQLDatabasePds.java:1207)
ROLLBACK: wt.pds.SQLDatabasePds.handleException(SQLDatabasePds.java:1065)
ROLLBACK: wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:923)
ROLLBACK: wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1077)
ROLLBACK: wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1967)
ROLLBACK: wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1919)
ROLLBACK: wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1449)
ROLLBACK: wt.fc.collections.RefreshHelper$LockRefresh.doLockPass(RefreshHelper.java:1343)
ROLLBACK: wt.fc.collections.RefreshHelper$LockRefresh.refresh(RefreshHelper.java:1304)
ROLLBACK: wt.fc.collections.RefreshHelper.refresh(RefreshHelper.java:144)
ROLLBACK: wt.fc.collections.StandardCollectionsManager.refresh(StandardCollectionsManager.java:80)
ROLLBACK: jdk.internal.reflect.GeneratedMethodAccessor55.invoke(Unknown Source)
ROLLBACK: java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
ROLLBACK: java.base/java.lang.reflect.Method.invoke(Method.java:566) ROLLBACK: wt.services.ServiceFactory$ServerInvoca
can you please help me what is wrong with this?
Thanks.

