Question on Problem Report customization of initial assignee
‎Jan 27, 2010
06:12 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
‎Jan 27, 2010
06:12 PM
Question on Problem Report customization of initial assignee
Out of the box Windchill is setup to route a problem report to the
Change Admin 1 role. What we want is to route this to a person based
on the location or Plant in which the Problem Report was created.
So what I am attempting to do is the following:
1. When user creates a problem report they select a Plant (location)
2. The assignee is then based on the selection of the Plant.
3. More specifically I want the assignee(s) to be all the principal(s)
in particular roles that I have created in the context team.
What I have done so far is the following:
1. Created a new Attribute Definition Manager Organizer called "ProblemReportAttributes"
2. Created a new attribute called "Plant" in ProblemReportAttributes
3. In the Type Manager selected "Problem Report" and added the Plant attribute
as UpperCase, Discrete Set, Single Valued, and Value Required
4. enumCustomize.sh, opened codebase/wt/project/RoleRB.RB.ser, added the new role
"Problem Report Reviewer"
5. ant -f ./bin/tools.xml bundle_custom -Dbundle.input=registry
6. ant -f ./codebase/MakeJar.xml custUpdate
7. modified the Product context team and added the newly created "Problem Report Reviewer"
role and left it empty
8. added "on the fly roles" "Problem Report Reviewer GP Assaria",
"Problem Report Reviewer GP Tipton", "Problem Report Reviewer LP" to the
context team
9. added principal(s) to these on the fly roles in the context team
10. modified the "Analyze Problem Report" task in the "Problem Report Workflow"
and changed the Participants Assignee from "Change Admin I" to
"Problem Report Reviewer"
11. added an expression robot called "Set Reviewer" between the
"Set Submit Date" robot and the "Analyze Problem Report" task
12. in this expression robot is where I am attempting to set the
principals for the "Problem Report Reviewer"
What is working:
1. When creating the Problem Report the new parameter "Plant" is available
and requires the creator to select one.
2. Getting the value of the Plant parameter in my expression is successful
What is not working
1. getting the list of principals from a Role in the Plant context teams
and assigning this list to the "Problem Report Reviewer" role.
My method robot code is this:
Change Admin 1 role. What we want is to route this to a person based
on the location or Plant in which the Problem Report was created.
So what I am attempting to do is the following:
1. When user creates a problem report they select a Plant (location)
2. The assignee is then based on the selection of the Plant.
3. More specifically I want the assignee(s) to be all the principal(s)
in particular roles that I have created in the context team.
What I have done so far is the following:
1. Created a new Attribute Definition Manager Organizer called "ProblemReportAttributes"
2. Created a new attribute called "Plant" in ProblemReportAttributes
3. In the Type Manager selected "Problem Report" and added the Plant attribute
as UpperCase, Discrete Set, Single Valued, and Value Required
4. enumCustomize.sh, opened codebase/wt/project/RoleRB.RB.ser, added the new role
"Problem Report Reviewer"
5. ant -f ./bin/tools.xml bundle_custom -Dbundle.input=registry
6. ant -f ./codebase/MakeJar.xml custUpdate
7. modified the Product context team and added the newly created "Problem Report Reviewer"
role and left it empty
8. added "on the fly roles" "Problem Report Reviewer GP Assaria",
"Problem Report Reviewer GP Tipton", "Problem Report Reviewer LP" to the
context team
9. added principal(s) to these on the fly roles in the context team
10. modified the "Analyze Problem Report" task in the "Problem Report Workflow"
and changed the Participants Assignee from "Change Admin I" to
"Problem Report Reviewer"
11. added an expression robot called "Set Reviewer" between the
"Set Submit Date" robot and the "Analyze Problem Report" task
12. in this expression robot is where I am attempting to set the
principals for the "Problem Report Reviewer"
What is working:
1. When creating the Problem Report the new parameter "Plant" is available
and requires the creator to select one.
2. Getting the value of the Plant parameter in my expression is successful
What is not working
1. getting the list of principals from a Role in the Plant context teams
and assigning this list to the "Problem Report Reviewer" role.
My method robot code is this:
Labels:
- Labels:
-
Other
1 REPLY 1
‎Jan 29, 2010
07:33 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
‎Jan 29, 2010
07:33 PM
Your problem statement is very close to something we are currently doing with the Problem Report workflow as well. I cannot answer the question directly, but part of what we're doing is based on a slightly different approach. Perhaps this might give you a different perspective.
We also want to route a task to a user based on a prior user selection. Our approach is based on something we did successfully for a promotion workflow:
- add/maintain our own Lookup table in the database
- this lookup table basically contains a list of users and locations
- create an info*engine task that takes the location as an input parameter and returns the relevant username from the Lookup Table.
- within the workflow, use a robot that calls the info*engine task, passing the location that was entered earlier in the workflow from another activity. The robot expression uses an orgserviceshelper method to return the user properly, into a workflow variable (of type wt.org.WTUser)
- the next activity in the workflow is then routed by "variable" instead of by usual "role". The variable of course being the workflow variable that was just populated by the robot.
Our approach means that the lookup table is not really configurable by container (though we could mimic that by adding another column), our need does not require it. Maintenance of the lookup table is done by a simple web gui outside of Windchill, for admin staff.