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"

