CMII ECN Workflow =================== primaryBusinessObject cibComments auditComments submitDate approvalDate fastTrack ammendComments inInitialPhase =================== ECN Rejected subject message primaryBusinessObject =================== ECN Complete Notification subject message primaryBusinessObject =================== Set State Cancelled primaryBusinessObject aState =================== ECN Approved subject message primaryBusinessObject =================== ECN Submitted subject message primaryBusinessObject =================== Set State Resolved primaryBusinessObject aState =================== Set State Released primaryBusinessObject aState =================== Set State Implementation primaryBusinessObject aState =================== Set State Under Review primaryBusinessObject aState =================== Set ECRAuthors primaryBusinessObject cibComments auditComments submitDate approvalDate fastTrack ammendComments inInitialPhase _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 Submit Date primaryBusinessObject cibComments auditComments submitDate approvalDate fastTrack ammendComments inInitialPhase _ROBOT_EXPRESSION_ submitDate=new Timestamp(System.currentTimeMillis()); =================== Set ECRAuthors primaryBusinessObject cibComments auditComments submitDate approvalDate fastTrack ammendComments inInitialPhase _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 Changeables to Released primaryBusinessObject cibComments auditComments submitDate approvalDate fastTrack ammendComments inInitialPhase _ROBOT_EXPRESSION_ com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.promoteChangeables((wt.change2.WTChangeOrder2)primaryBusinessObject); =================== Set ECN Resolution Date primaryBusinessObject cibComments auditComments submitDate approvalDate fastTrack ammendComments inInitialPhase _ROBOT_EXPRESSION_ com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setECNResolutionDate((wt.change2.WTChangeOrder2)primaryBusinessObject); =================== Set CAI and CAII primaryBusinessObject cibComments auditComments submitDate approvalDate fastTrack ammendComments inInitialPhase _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 ECRAuthors primaryBusinessObject cibComments auditComments submitDate approvalDate fastTrack ammendComments inInitialPhase _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); =================== Submit Now primaryBusinessObject cibComments auditComments submitDate approvalDate fastTrack ammendComments inInitialPhase _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 ammendComments inInitialPhase _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; =================== Audit ECN primaryBusinessObject Comments =================== Ammend ECN Plan primaryBusinessObject Comments =================== Schedule CIB Review primaryBusinessObject approval_date Comments =================== Approve approval_date=new Timestamp(System.currentTimeMillis()); =================== Rework ECN Task primaryBusinessObject Comments =================== Submit ECN primaryBusinessObject inInitialPhase =================== START result = inInitialPhase;