What I actually ended up doing is basically this:

CHG:Infrastructure Change
Filter 1:  When the right Approval Phase is set(Implementation as well as a 
custom Emergency approval process), push the Infrastructure Change ID, Approval 
Phase Name, Approval Phase (this I actually hardcoded for now to avoid another 
lookup) and Request ID to a custom form.

Custom Form:
This form basically just stores the three fields above, as well as having the 
Status to track whether the approvals have been processed or not, a temporary 
field for the count of Tasks, a temporary field to store the login name of the 
approver, and a table field of the Tasks.  The Tasks table field looks for 
Infrastructure Change ID = RootRequestID and that the Status of the Task = 
"Staged" to avoid earlier Task phases.
Filter 1:  If the Status = "New", get a count of the Tasks related to this CRQ 
with a status of "Staged" and set it to the Task Count field.
Filter 2:  If the Status = "New" and the Task Count < 1, set the Status to 
"None" and Goto 999.
Filter 3:  If the Status = "New", call a Filter Guide to process the approval 
requests and set Table Loop to "All Rows" and select the table that stores the 
Task data.
Filter 4:  Once the Guide exits, set the Status to "Processed"

Filter Guide:
Filter 1:  If Task ID on the table field is not null, do a set fields from 
APR:Approver Lookup using a qualification where the Status is set to Enabled, 
the Approval Phase Names match and the Assignee Group ID from the Task matches 
the ASGRPID field on APR:Approver Lookup.  The field being set is the Approver 
Login ID.
Filter 2:  If the Approver Login ID is not null, do a Run Process with 
something like:  Application-Command Approval "Add-Sig"  -s "CHG:Infrastructure 
Change" -e "$Change Request ID$" -t "$Approval Phase$" -o "$Approver Login ID$" 
-1 0  -2 999.  Note that the Approval Phase is not the same as the Approval 
Phase Name, which caused problems for me in the past.

Of course, I left out error handling and such so I could provide a fairly 
concise email, but this is the guts of the customization I did.  I also didn't 
put the fields directly on CHG:Infrastructure Change because I figured using 
filters to push to a custom form would be easier to deal with upgrades and 
patches than customizing, even if it is a little inefficient in comparison.  
Also, I admit that I let the approval engine deal with some of the errors, so 
for example if you have two Tasks with the same Task Assignee Group, rather 
than filtering that out up front I just let the Approval Engine reject it as a 
duplicate.  It would be cleaner to remove the duplicates up front but I threw 
this together in about an hour or two so I haven't come up with all the ways to 
clean it up yet.

My basic goal was to be able to dynamically throw together an ad-hoc CAB from 
the I.T. side to do approvals primarily for the infrastructure groups.  The 
limitation with how the system is configured out of the box is that you either 
need 1) a static group of I.T. approvers that all approve every Change Request, 
which slows things down, or 2) dynamically add approvers based on the Change 
Coordinator Group, Change Manager Group, and Operational/Product 
Categorizations (and any other criteria for more unusual requests.)  The 
limitation with the second option is that it eliminates most of the 
infrastructure and back-office I.T. managers from doing approvals.

Here's a scenario of what this solves:  Let's say I'm a SharePoint developer, 
and I am making an enhancement to SharePoint including adding some new database 
tables, server code, and ODBC client updates.  To implement this, I need to 
create Tasks for the DBA group, the Server Architecture team, the Client 
Architecture team as well as my own team.  By adding approvers to the Change 
Request based on the Task Assignee Group (piggybacking on the same mappings 
used for the Change Coordinator group) I make sure the management of those 
other I.T. groups is represented so that the mini-changes represented by the 
Tasks are accounted for within the audits.

The reason I came to the ARSList is because this seems like something 
incredibly useful for my organization, but I've not heard of anyone doing 
something like this before.  I see that as a sign that either we're completely 
missing the point on using Tasks and doing Change Approvals, or there is some 
other reason this functionality doesn't exist and nobody else is interested in 
it.

Thanks,

Shawn Pierson
Remedy Developer | Energy Transfer

From: Action Request System discussion list(ARSList) 
[mailto:[email protected]] On Behalf Of ITSM.Support
Sent: Wednesday, July 11, 2012 11:37 AM
To: [email protected]
Subject: Re: Task Management Approvals

**
Hi,

Below steps can be done to achieve this

1) Integrate Approval Engine with TMS:Task
    a) Create join of TMS:Task and AP:Detail.
    b) Create join of TMS:Task and AP:DetailSignature.
2) Run arjoinfix.exe. (for windows)
3) Configure TMS:Task in the AP:Form.
4) Configure 'Process' and 'Rule' for task approval.
5) Create workflow which will call approval engine (when the 'Change 
Status'="Schedule For Approval" and 'Task Status'="Staged")

HTH
--
Regards,
ITSM Support

Vyom Labs Pvt. Ltd.
BSM Solutions & Services || ITIL Consulting & Training
Email: [email protected]<mailto:[email protected]>  || Web Site: 
www.vyomlabs.com<http://www.vyomlabs.com> Follow Vyom Labs 
http://twitter.com/#!/vyomlabs || http://www.linkedin.com/company/vyom-labs

From: Action Request System discussion list(ARSList) 
[mailto:[email protected]] On Behalf Of Pierson, Shawn
Sent: Tuesday, July 10, 2012 8:06 PM
To: [email protected]
Subject: Task Management Approvals

**
Good morning folks,

I'm about to begin working on something and I wanted to run it past you all 
first.  Our problem is that we rely heavily on Tasks for infrastructure groups 
that are part of Change Requests yet approvals for those groups must be done 
manually.  For example, the DBA team works almost exclusively through Tasks 
assigned to them from other groups so without any way of automatically adding 
approvals, their management are left off accidentally.  My plan is to integrate 
Task Management with Approvals to resolve this.  On the Change Management 
level, I have mappings set up to automatically add the supervisor of the Change 
Coordinator group as an Implementation approver.  The goal is to extend that to 
Implementation Tasks as well.

What I'm thinking is that when a Change Request goes to the Scheduled for 
Approval status, pull back the unique list of Assignee Groups for all Tasks 
with a status of Staged into a table, then run through that table and 1) pull 
in the Approval Mappings for Change Coordinator Group, and 2) create an 
approval request for each one that will be related to the CRQ.

Has anyone done something like this before?  Can you think of any drawbacks to 
this design or better ways to do it?  I've already created a custom approval 
phase on Change Management for Tester approval and have it tied to a custom 
"Change Tester" field populated by the Change Coordinator so that part of the 
equation is very easy.

Thanks,

Shawn Pierson
Remedy Developer | Energy Transfer

Private and confidential as detailed 
here<http://www.sug.com/disclaimers/default.htm#Mail>. If you cannot access 
hyperlink, please e-mail sender.
_attend WWRUG12 www.wwrug.com ARSlist: "Where the Answers Are"_
_attend WWRUG12 www.wwrug.com ARSlist: "Where the Answers Are"_

Private and confidential as detailed here: 
http://www.sug.com/disclaimers/default.htm#Mail . If you cannot access the 
link, please e-mail sender.

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug12 www.wwrug12.com ARSList: "Where the Answers Are"

Reply via email to