Change Notice Workflow
===================
primaryBusinessObject
cibComments
auditComments
submitDate
approvalDate
fastTrack
amendComments
inInitialPhase
unpromotable
===================
Set State Implementation
primaryBusinessObject
aState
===================
Set State Under Review
primaryBusinessObject
aState
===================
Change Notice Submitted
subject
message
primaryBusinessObject
===================
Set State Released
primaryBusinessObject
aState
===================
Set State Resolved
primaryBusinessObject
aState
===================
Change Notice Rejected
subject
message
primaryBusinessObject
===================
Change Notice Complete Notification
subject
message
primaryBusinessObject
===================
Set State Cancelled
primaryBusinessObject
aState
===================
Change Notice Approved
subject
message
primaryBusinessObject
===================
Set ECRAuthors
primaryBusinessObject
cibComments
auditComments
submitDate
approvalDate
fastTrack
amendComments
inInitialPhase
unpromotable
_ROBOT_EXPRESSION_
String role=new String("wt.project.role.ECR AUTHOR");
com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECN((wt.change2.WTChangeOrder2)primaryBusinessObject,role);
===================
Set ECRAuthors
primaryBusinessObject
cibComments
auditComments
submitDate
approvalDate
fastTrack
amendComments
inInitialPhase
unpromotable
_ROBOT_EXPRESSION_
String role=new String("wt.project.role.ECR AUTHOR");
com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECN((wt.change2.WTChangeOrder2)primaryBusinessObject,role);
role=new String("wt.project.role.PR AUTHOR");
com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECN((wt.change2.WTChangeOrder2)primaryBusinessObject,role);
===================
Set CAI and CAII
primaryBusinessObject
cibComments
auditComments
submitDate
approvalDate
fastTrack
amendComments
inInitialPhase
unpromotable
_ROBOT_EXPRESSION_
java.lang.String role="wt.project.role.CHANGE ADMINISTRATOR I";
com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECN((wt.change2.WTChangeOrder2)primaryBusinessObject, role);
role="wt.project.role.CHANGE ADMINISTRATOR II";
com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECN((wt.change2.WTChangeOrder2)primaryBusinessObject, role);
===================
Set Changeables to Released
primaryBusinessObject
cibComments
auditComments
submitDate
approvalDate
fastTrack
amendComments
inInitialPhase
unpromotable
_ROBOT_EXPRESSION_
com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.promoteChangeables((wt.change2.WTChangeOrder2)primaryBusinessObject);
===================
Set Change Notice Resolution Date
primaryBusinessObject
cibComments
auditComments
submitDate
approvalDate
fastTrack
amendComments
inInitialPhase
unpromotable
_ROBOT_EXPRESSION_
com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setECNResolutionDate((wt.change2.WTChangeOrder2)primaryBusinessObject);
===================
Set ECRAuthors
primaryBusinessObject
cibComments
auditComments
submitDate
approvalDate
fastTrack
amendComments
inInitialPhase
unpromotable
_ROBOT_EXPRESSION_
String role=new String("wt.project.role.ECR AUTHOR");
com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECN((wt.change2.WTChangeOrder2)primaryBusinessObject,role);
===================
Set Submit Date
primaryBusinessObject
cibComments
auditComments
submitDate
approvalDate
fastTrack
amendComments
inInitialPhase
unpromotable
_ROBOT_EXPRESSION_
submitDate=new Timestamp(System.currentTimeMillis());
===================
Set Unpromotable
primaryBusinessObject
cibComments
auditComments
submitDate
approvalDate
fastTrack
amendComments
inInitialPhase
unpromotable
_ROBOT_EXPRESSION_
wt.fc.collections.WTHashSet unpromChanges = (wt.fc.collections.WTHashSet) com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.getUnpromotableChangeables((wt.change2.WTChangeOrder2)primaryBusinessObject);
java.util.Iterator i = unpromChanges.persistableIterator();
wt.enterprise.RevisionControlled p = null;
String unpromotables = "";
if (i.hasNext()){
p = (wt.enterprise.RevisionControlled)i.next();
unpromotables = unpromotables + p.getDisplayIdentity();
}
while (i.hasNext()){
p = (wt.enterprise.RevisionControlled)i.next();
unpromotables = unpromotables + "; " + p.getDisplayIdentity();
}
if (unpromotables.length()!=0){
unpromotable = "- The following Resulting Data will not be promoted because there is no change transition defined: \n";
java.util.StringTokenizer s = new java.util.StringTokenizer( unpromotables, ";" );
while (s.hasMoreTokens()){
unpromotable += "- - " + s.nextToken() + "\n";
}
unpromotable += "\n There are two ways to resolve the issue: \n 1. If you did not intend to promote the resulting data, then simply complete the task. \n 2. If you did intend to promote the resulting data, there may be a problem with the configuration of lifecycle templates. Select the Rework option and enter comments for Change Administrator II.";
unpromotable += "";
}
===================
Submit Now
primaryBusinessObject
cibComments
auditComments
submitDate
approvalDate
fastTrack
amendComments
inInitialPhase
unpromotable
_SYNCH_EXPRESSION_
// Continue if the primaryBusinessObject has progressed past the initial state
inInitialPhase =wt.lifecycle.LifeCycleHelper.service.isInInitialPhase((wt.lifecycle.LifeCycleManaged)primaryBusinessObject) ;
if (inInitialPhase != true)
result = "Go";
else
result = null;
_INITIAL_SYNCH_EXPRESSION_
// Continue if the primaryBusinessObject has progressed past the initial state
inInitialPhase =wt.lifecycle.LifeCycleHelper.service.isInInitialPhase((wt.lifecycle.LifeCycleManaged)primaryBusinessObject) ;
if (inInitialPhase != true)
result = "Go";
else
result = null;
===================
Synch on CA Complete
primaryBusinessObject
cibComments
auditComments
submitDate
approvalDate
fastTrack
amendComments
inInitialPhase
unpromotable
_SYNCH_EXPRESSION_
// "Complete" and the rest are in state "Complete" or "Cancel."
// It returns ProcessHelper.CANCELLED if all Change Orders are in state "Cancelled" or
// ProcessHelper.NOT_FINISHED if at least one Change Order is pending
// (i.e. has not reached either state "Complete" or "Cancelled").
String checkActivitiesFinished = null;
checkActivitiesFinished = com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.checkActivitiesFinished((wt.change2.WTChangeOrder2)primaryBusinessObject);
if (checkActivitiesFinished.equals(com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.RESOLVED))
result = "Resolved";
else if (checkActivitiesFinished.equals(com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.CANCELLED))
result = "Cancelled";
else if (checkActivitiesFinished.equals(com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.NOT_FINISHED))
result = null;
_INITIAL_SYNCH_EXPRESSION_
// "Complete" and the rest are in state "Complete" or "Cancel."
// It returns ProcessHelper.CANCELLED if all Change Orders are in state "Cancelled" or
// ProcessHelper.NOT_FINISHED if at least one Change Order is pending
// (i.e. has not reached either state "Complete" or "Cancelled").
String checkActivitiesFinished = null;
checkActivitiesFinished = com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.checkActivitiesFinished((wt.change2.WTChangeOrder2)primaryBusinessObject);
if (checkActivitiesFinished.equals(com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.RESOLVED))
result = "Resolved";
else if (checkActivitiesFinished.equals(com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.CANCELLED))
result = "Cancelled";
else if (checkActivitiesFinished.equals(com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.NOT_FINISHED))
result = null;
===================
Submit Change Notice
primaryBusinessObject
inInitialPhase
===================
START
result = inInitialPhase;
===================
Audit Change Notice
primaryBusinessObject
Comments
Unpromotables
Rework Change Notice Task
primaryBusinessObject
Comments
unpromotable2
===================
COMPLETE
wt.fc.collections.WTHashSet unpromChanges = (wt.fc.collections.WTHashSet) com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.getUnpromotableChangeables((wt.change2.WTChangeOrder2)primaryBusinessObject);
java.util.Iterator i = unpromChanges.persistableIterator();
wt.enterprise.RevisionControlled p = null;
String unpromotable1="";
if (i.hasNext()){
p = (wt.enterprise.RevisionControlled)i.next();
unpromotable1 = unpromotable1 + p.getName();
}
while (i.hasNext()){
p = (wt.enterprise.RevisionControlled)i.next();
unpromotable1 = unpromotable1 + "; " + p.getName();
}
if (unpromotable1.length()!=0){
unpromotable2 = "- The following Resulting Data will not be promoted because there is no change transition defined: \n";
java.util.StringTokenizer s = new java.util.StringTokenizer( unpromotable1, ";" );
while (s.hasMoreTokens()){
unpromotable2 += "- - " + s.nextToken() + "\n";
}
unpromotable2 += "\n There are two ways to resolve the issue: \n 1. If you did not intend to promote the resulting data, then simply complete the task. \n 2. If you did intend to promote the resulting data, there may be a problem with the configuration of lifecycle templates. Select the Rework option and enter comments for Change Administrator II.";
unpromotable2 += "";
}
===================
Amend Change Notice Plan
primaryBusinessObject
Comments
===================
Schedule CIB Review
primaryBusinessObject
approval_date
Comments
===================
Approve
approval_date=new Timestamp(System.currentTimeMillis());