CMII ECR Workflow =================== primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments ReviewClarify_Comments inInitialPhase =================== Set State Resolved primaryBusinessObject aState =================== ECR Rejected by Change Admin I subject message primaryBusinessObject =================== ECR Rejected by CRB subject message primaryBusinessObject =================== ECR Resolved subject message primaryBusinessObject =================== Set State Under Review primaryBusinessObject aState =================== Set State Implementation primaryBusinessObject aState =================== ECR Approved subject message primaryBusinessObject =================== ECR - Fast Track subject message primaryBusinessObject =================== ECR Cancelled subject message primaryBusinessObject =================== Set State primaryBusinessObject aState =================== ECR Reassigned subject message primaryBusinessObject =================== Set Submit Date primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments ReviewClarify_Comments inInitialPhase _ROBOT_EXPRESSION_ submitDate=new java.sql.Timestamp(System.currentTimeMillis()); =================== Set PRAuthors primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments ReviewClarify_Comments inInitialPhase _ROBOT_EXPRESSION_ String role=new String("wt.project.role.PR AUTHOR"); com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECR((wt.change2.WTChangeRequest2)primaryBusinessObject,role); =================== Force PRs to Completion primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments ReviewClarify_Comments inInitialPhase _ROBOT_EXPRESSION_ com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.forcePRsToResolved((wt.change2.WTChangeRequest2)primaryBusinessObject); =================== Set PRAuthors primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments ReviewClarify_Comments inInitialPhase _ROBOT_EXPRESSION_ String role=new String("wt.project.role.PR AUTHOR"); com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECR((wt.change2.WTChangeRequest2)primaryBusinessObject,role); =================== Set PRAuthors primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments ReviewClarify_Comments inInitialPhase _ROBOT_EXPRESSION_ String role=new String("wt.project.role.PR AUTHOR"); com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECR((wt.change2.WTChangeRequest2)primaryBusinessObject,role); =================== Set PRAuthors primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments ReviewClarify_Comments inInitialPhase _ROBOT_EXPRESSION_ String role=new String("wt.project.role.PR AUTHOR"); com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECR((wt.change2.WTChangeRequest2)primaryBusinessObject,role); =================== Submit Now primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments ReviewClarify_Comments 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 ECN Completion primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments ReviewClarify_Comments inInitialPhase _SYNCH_EXPRESSION_ // The method ProcessHelper.checkOrdersFinished // returns ProcessHelper.COMPLETE if at least one Change Order is in state // "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 checkOrdersFinished = null; checkOrdersFinished = com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.checkOrdersFinished((wt.change2.ChangeRequest2)primaryBusinessObject); if (checkOrdersFinished.equals(com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.RESOLVED)) result = "Resolved"; else if (checkOrdersFinished.equals(com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.CANCELLED)) result = "Cancelled"; else if (checkOrdersFinished.equals(com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.NOT_FINISHED)) result = null; _INITIAL_SYNCH_EXPRESSION_ // The method ProcessHelper.checkOrdersFinished // returns ProcessHelper.COMPLETE if at least one Change Order is in state // "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 checkOrdersFinished = null; checkOrdersFinished = com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.checkOrdersFinished((wt.change2.ChangeRequest2)primaryBusinessObject); if (checkOrdersFinished.equals(com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.RESOLVED)) result = "Resolved"; else if (checkOrdersFinished.equals(com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.CANCELLED)) result = "Cancelled"; else if (checkOrdersFinished.equals(com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.NOT_FINISHED)) result = null; =================== Modify Roles primaryBusinessObject =================== Clarify primaryBusinessObject Comments =================== Analyze ECR primaryBusinessObject Comments =================== Fast_Track com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setTrack((wt.change2.WTChangeRequest2)primaryBusinessObject, "SIMPLE"); =================== Full_Track com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setTrack((wt.change2.WTChangeRequest2)primaryBusinessObject,"COMPLEX"); =================== Reject com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setTrack((wt.change2.WTChangeRequest2)primaryBusinessObject, "SIMPLE"); =================== Create ECN primaryBusinessObject =================== Submit ECR primaryBusinessObject approvalDate inInitialPhase =================== START result = inInitialPhase; =================== Clarify primaryBusinessObject Comments =================== Schedule CRB Review primaryBusinessObject approval_date Comments =================== Approve approval_date=new Timestamp(System.currentTimeMillis()); com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.processBusinessDecision((wt.change2.WTChangeRequest2)primaryBusinessObject,wt.change2.BusinessDecisionCategory.APPROVED, "COMPLEX", Comments); =================== Reject approval_date=new Timestamp(System.currentTimeMillis()); com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.processBusinessDecision((wt.change2.WTChangeRequest2)primaryBusinessObject,wt.change2.BusinessDecisionCategory.REJECTED, "COMPLEX", Comments);