Post on 20-Jan-2015
description
aras.comCopyright © 2013 Aras. All Rights Reserved.
DOMOREA C E 2 0 1 3
aras.comCopyright © 2013 Aras. All Rights Reserved.
A C E 2 0 1 3
Customizing Change Management
Learn how to modify Workflows & Lifecycles to match your business processes
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 3
Agenda
Review a Standard Change Process (ECN) Change Process Customization:
Add steps to a workflow Disable unneeded validation rules Rename a Lifecycle state Add a validation rule Set a property on change item release
Creating a new Change Process Conclusions
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 4
Standard ECN Process
Customizable Easily modify workflow to match your business process Modify Activities, Life Cycle states, etc. Add or change data validations
Extensible Solution framework designed for expanding existing
functionality Majority of logic contained in a single method Core behaviors driven from Life Cycle, not Workflow
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 5
Standard ECN Workflow
Submit ECN ECN Planning
Update Documents
Review Documents ECN Audit ECN
Released
Workflow models activities that people perform Based on the CMII standard
Assume analysis of the change is done upfront on an ECR This is mostly sequential process with only a review loop
Other change items have different workflows
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 6
New In Planning In Review ReleasedIn Work
Standard ECN Lifecycle
Lifecycle models all possible states of an item State tells anyone looking at the item where it is in
its lifecycle Lifecycle drives change logic
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 7
New In Planning In Review ReleasedIn Work
Standard ECN Process
Submit ECN ECN Planning
Update Documents
Review Documents ECN Audit ECN
Released
Workflow drives Lifecycle, Lifecycle drives Logic Workflow Promotions used to move the ECN from
one state to the next
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 8
New In Planning In Review ReleasedIn Work
Standard ECN Process
Submit ECN ECN Planning
Update Documents
Review Documents ECN Audit ECN
Released
Completion Check Validation
Transition Validation
Affected Item Processing
Release Logic
Method PE_ChangeItemTransition
Method PE_OnChangeItemRelease
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 9
PE_ChangeItemTransition
Validation and Affected Item Processing for: ECN Simple ECO Express ECO Express DCO
Primary Methods: ValidateState: Completion Check Validation ValidateTransition: Transition Check Validation ProcessTransition: Affected Item Processing
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 10
PE_OnChangeItemRelease
Calls PE_update_has_change_pending method to update the Changes Pending flag on Affected Items
Calls Set Release Date to set the release date on the ECN
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 11
Common ECN Customizations
Adding steps to the workflow
Disabling an unneeded validation rule
Renaming a Lifecycle state
Adding a validation rule
Setting a property on ECN release
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 12
New In Planning In Review ReleasedIn Work
Custom ECN Workflow
Submit ECN ECN Planning
Update Documents
Internal Review ECN Audit ECN
Released
No code changes necessary Just make sure the Promotions are on the first
workflow activity within the State
Assign Resources
Customer Approval
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 13
Custom ECN Workflow
Promotions Tab
Promotion fromIn Work to In Review
Need to update PE_ChangeItemTransition to support new LifeCycle states and transitions
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 14
Disabling a Validation Ruleclass ECN : ChangeItem{
...protected override ResultStatus ValidateState(){
...switch (this.State){
case "In Planning"://thisValidationRules.IsAffectedItemExists(status);
...
protected override ResultStatus ValidateTransition(){
switch (this.Transition.ToString()){
case "In Planning->In Work"://thisValidationRules.IsAffectedItemExists(status);
Search for the class for your change type
ValidateState()does Completeness
Checks
Comment out the rule you want to disable
ValidateTransition()does transition rules
NOTES:1. ValidateState is on line 5542. ValidateTransition is on approximately line 600
a. Matches on specific transition such as ‘In Planning->In Work’ and then calls a set of individual methods to process validations such as:
i. Check Affected Id and New Item Id
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 15
class ECN : ChangeItem{
...protected override ResultStatus ValidateState(){
...
switch (this.State){
case "Scheduling ":...protected override ResultStatus ValidateTransition(){
...switch (this.Transition.ToString()){
case "Scheduling->In Work":
...public override Item ProcessTransition(){
...switch (this.Transition.ToString()){
case "Scheduling->In Work":...
Renaming a Lifecycle State
ValidateState()does Completeness
Checks
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 16
Adding a Validation RuleAdd to the Validation
Rule Interface
…
interface IChangeItemValidationRules
{ … void isChangeItemTitlePopulated(ResultStatus status);
}…abstract class ChangeItem : ItemContext, IChangeItemValidationRules
{ … #region Validation Rules
void IChangeItemValidationRules.isChangeItemTitlePopulated(ResultStatus status) { string title = this.Item.getProperty("title",""); if (title==""){ status.AddError("ValidateChangeItem_IsAffectedTitlePopulated",this.Type,this.Number); } }
class ECN : ChangeItem
{ … protected override ResultStatus ValidateState() { … switch (this.State) { case "In Planning": … thisValidationRules.isChangeItemTitlePopulated(status); …
protected override ResultStatus ValidateTransition() { … switch (this.Transition.ToString()) { case "In Planning->In Work": …
thisValidationRules.isChangeItemTitlePopulated(status); …
Implement the rule
Add to ValidateState()
Add to ValidateTransition()
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 17
Setting an ECN Property
this.setAction("PE_update_has_change_pending");this.apply(); this.setAction("Set Release Date");this.apply(); Item chgItem = this.newItem(this.getType(),"edit");chgItem.setProperty("is_complete","1");chgItem = chgItem.apply(); return this;
Edit PE_OnChangeItemRelease
Add logic to edit the ECN
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 18
Creating a new Change Process
Create your change ItemType and a relationship to Affected Item
Create your Workflow and LifeCycle Edit PE_ChangeItemTransition
Copy an existing Change Item class Copy existing validation rules and transition processing Add any new validation rules or processing
Link your workflow, lifecycle and logic It’s not hard to do
aras.comCopyright © 2013 Aras. All Rights Reserved. Slide 19
Conclusions Existing change processes can be adapted
Workflow changes typically need no scripting updates Lifecycle changes may require minor scripting changes Validation or transition changes require some scripting Setting change item properties is straightforward Once you understand where everything is done, changes
become much faster & easier New change processes can be created
Copy workflow, lifecycle and code from existing items Leverage existing validation rules and processing logic Customize as needed… quickly, easily and can be upgraded
aras.comCopyright © 2013 Aras. All Rights Reserved.
DOMOREA C E 2 0 1 3