ECR Process primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments inInitialPhase ecrDescription ecrName ecrNumber ecrContainer Set State Cancelled primaryBusinessObject aState Set State Closed primaryBusinessObject aState ECR Canceled subject message primaryBusinessObject Set State Under Review primaryBusinessObject aState Set State In Work primaryBusinessObject aState ECR Rejected by Change Coordinator subject message primaryBusinessObject ECR Closed subject message primaryBusinessObject Set State Approved primaryBusinessObject aState ECR Approved subject message primaryBusinessObject Set PRAuthors primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments inInitialPhase ecrDescription ecrName ecrNumber ecrContainer TAG-NmLoader-0.xml: _ROBOT_EXPRESSION_ TAG-NmLoader-0.xml: String role=new String("wt.project.role.PR AUTHOR");@com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECR((wt.change2.WTChangeRequest2)primaryBusinessObject#role); Set Submit Date# etc. primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments inInitialPhase ecrDescription ecrName ecrNumber ecrContainer TAG-NmLoader-0.xml: _ROBOT_EXPRESSION_ TAG-NmLoader-0.xml: submitDate=new java.sql.Timestamp(System.currentTimeMillis());@ecrName = ((wt.change2.WTChangeRequest2)primaryBusinessObject).getName();@ecrNumber = ((wt.change2.WTChangeRequest2)primaryBusinessObject).getNumber();@ecrDescription = ((wt.change2.WTChangeRequest2)primaryBusinessObject).getDescription();@ecrContainer = ((wt.change2.WTChangeRequest2)primaryBusinessObject).getContainerName(); Set PRAuthors primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments inInitialPhase ecrDescription ecrName ecrNumber ecrContainer TAG-NmLoader-0.xml: _ROBOT_EXPRESSION_ TAG-NmLoader-0.xml: 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 inInitialPhase ecrDescription ecrName ecrNumber ecrContainer TAG-NmLoader-0.xml: _ROBOT_EXPRESSION_ TAG-NmLoader-0.xml: 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 inInitialPhase ecrDescription ecrName ecrNumber ecrContainer TAG-NmLoader-0.xml: _ROBOT_EXPRESSION_ TAG-NmLoader-0.xml: String role=new String("wt.project.role.PR AUTHOR");@com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setRoleToECR((wt.change2.WTChangeRequest2)primaryBusinessObject#role); Synch on ECO Completion primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments inInitialPhase ecrDescription ecrName ecrNumber ecrContainer TAG-NmLoader-0.xml: _SYNCH_EXPRESSION_ TAG-NmLoader-0.xml: // This code returns CLOSED if at least one Change Order is in state @// "Closed" and the rest are in state "Closed" or "Cancelled". @// It returns CANCELLED if all Change Orders are in state "Cancelled" or@// NOT_FINISHED if at least one Change Order is pending @// (i.e. has not reached either state "Closed" or "Cancelled").@@wt.fc.QueryResult qResult = wt.change2.ChangeHelper2.service.getChangeOrders( (wt.change2.ChangeRequest2) primaryBusinessObject );@@String result_value = "NO_SUBORDINATES";@while( qResult.hasMoreElements() ) {@ wt.fc.Persistable persistable = (wt.fc.Persistable) qResult.nextElement();@ if( persistable instanceof wt.lifecycle.LifeCycleManaged ) {@ wt.lifecycle.LifeCycleManaged life_cycle_managed = (wt.lifecycle.LifeCycleManaged) persistable;@ if( life_cycle_managed.getLifeCycleState().equals(wt.lifecycle.State.toState("CLOSED")) ) {@ result_value = "CLOSED";@ } else@ if( life_cycle_managed.getLifeCycleState().equals(wt.lifecycle.State.toState("CANCELLED")) ) {@ if( result_value == "NO_SUBORDINATES" || !result_value.equals("CLOSED") )@ result_value = "CANCELLED";@ } else {@ result_value = "NOT_FINISHED";@ }@ }@}@@if( result_value.equals("CLOSED") )@ result = "Closed";@else if( result_value.equals("CANCELLED") )@ result = "Cancelled";@else if( result_value.equals("NOT_FINISHED") )@ result = null; TAG-NmLoader-0.xml: _INITIAL_SYNCH_EXPRESSION_ TAG-NmLoader-0.xml: System.out.println("DEBUG: ECO Process; Sync on ECO Completion# Initial expression"); Submit Now primaryBusinessObject Analysis_Comments PR_Group approvalDate submitDate proposedSolution businessDecisionSummary AnalyzeClarify_Comments inInitialPhase ecrDescription ecrName ecrNumber ecrContainer TAG-NmLoader-0.xml: _SYNCH_EXPRESSION_ TAG-NmLoader-0.xml: // 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; TAG-NmLoader-0.xml: _INITIAL_SYNCH_EXPRESSION_ TAG-NmLoader-0.xml: // 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; CRB Review primaryBusinessObject approval_date Comments Clarification_Comments Change_Coordinator_Comments TAG-NmLoader-0.xml: Approve TAG-NmLoader-0.xml: approval_date=new Timestamp(System.currentTimeMillis());@wt.session.SessionServerHelper.manager.setAccessEnforced( false );@com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.processBusinessDecision((wt.change2.WTChangeRequest2)primaryBusinessObject#wt.change2.BusinessDecisionCategory.APPROVED# "COMPLEX"# Comments);@wt.session.SessionServerHelper.manager.setAccessEnforced( true );@@@@ Submit ECR primaryBusinessObject approvalDate inInitialPhase TAG-NmLoader-0.xml: START TAG-NmLoader-0.xml: result = inInitialPhase; Clarify primaryBusinessObject Comments Change_Coordinator_Comments CRB_Comments Create ECO primaryBusinessObject Analyze ECR primaryBusinessObject Comments Clairification_Comments CRB_Comments TAG-NmLoader-0.xml: Fast_Track TAG-NmLoader-0.xml: wt.session.SessionServerHelper.manager.setAccessEnforced( false );@com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setTrack((wt.change2.WTChangeRequest2)primaryBusinessObject# "SIMPLE");@wt.session.SessionServerHelper.manager.setAccessEnforced( true );@@ TAG-NmLoader-0.xml: Full_Track TAG-NmLoader-0.xml: wt.session.SessionServerHelper.manager.setAccessEnforced( false );@com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setTrack((wt.change2.WTChangeRequest2)primaryBusinessObject# "COMPLEX");@wt.session.SessionServerHelper.manager.setAccessEnforced( true ); TAG-NmLoader-0.xml: Reject TAG-NmLoader-0.xml: wt.session.SessionServerHelper.manager.setAccessEnforced( false );@com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setTrack((wt.change2.WTChangeRequest2)primaryBusinessObject# "SIMPLE");@wt.session.SessionServerHelper.manager.setAccessEnforced( true ); Verify ECR primaryBusinessObject Comments Clairification_Comments CRB_Comments TAG-NmLoader-0.xml: Reject TAG-NmLoader-0.xml: wt.session.SessionServerHelper.manager.setAccessEnforced( false );@com.ptc.windchill.pdmlink.change.server.impl.WorkflowProcessHelper.setTrack((wt.change2.WTChangeRequest2)primaryBusinessObject# "SIMPLE");@wt.session.SessionServerHelper.manager.setAccessEnforced( true );