Jason, that's a pretty good explanation. The problem is that this new programming paradigm is not exactly great from a documentation perspective as Chris alluded to so it's very important for the "commands" to be documented somewhere otherwise it's PAINFUL for those coming in after the fact. In the case of ITSM they are not documented and it is PAINFUL. I know there are other cheat sheets out there in BMCland but I don't believe I've seen anything for this particular case. I'd imagine it would be helpful if it looked something like the sampling provided below although I admit it's in rough format from some of the playing around I've done with it.
I like service actions because it allows the calling of workflow from any form to get to the same end and workflow is handled the same across the board (what LJ was talking about with respect to web services, service bus, SOA or whatever the term of the day is for it). It's important, however, to ensure the commands are well thought out because it does require an amount of hard coding which makes changing the commands rather inefficient. Application Commands: SYNCH_USER_MOD -> Modify User record when People record is modified (i.e. updates license type and full name based on Login Name supplied) Input To: SHR:USB:Controller // the form where SERVICE is interpreted and actions are triggered input00: inchar00 -> Login Name input01: inchar01 -> Full Name input02: inchar02 -> License Type input04: zzcommandMessage -> "SYNCH_USER_MOD" output00: outchar00 output01: outErr //set using error handler using $ERRNO and ERRMSG keywords SYNCH_USER_DISABLE -> Removes all assignment and permission groups and then disables a user record including arbitrary setting of password for immediate effect. Input To: SHR:USB:Controller // the form where SERVICE is interpreted and actions are triggered input00: inchar00 -> Login Name input01: inchar01 -> guid (i.e. user instance id) input02: zzcommandMessage -> "SYNCH_USER_DISABLE" output00: outchar00 output01: outErr //set using error handler using $ERRNO and ERRMSG keywords SYNCH_USER_GROUPLIST_ADD -> Update User record by Adding input to existing group list. Input to: SHR:USB:Controller // the form where SERVICE is interpreted and actions are triggered input00: inchar00 -> loginName input01: zzCommandMessage -> "SYNCH_USER_GROUPLIST_ADD" input02: inchar01 -> groupId output00: outChar00 -> outChar00 output01: outErr //set using error handler using $ERRNO and ERRMSG keywords FWIW. Eric Roys Sr. Sales Engineer Verizon Business ________________________________ From: Action Request System discussion list(ARSList) [mailto:[email protected]] On Behalf Of Jason Miller Sent: Friday, August 06, 2010 12:23 AM To: [email protected] Subject: Re: The Service Action in an Active Link ** Hi Chris, I felt the same way you do when I read the docs regarding the Service action. I have dabbled with the Service action a little bit and the doc left me with some questions also. I am still not sure I understand its full power. The "butt" values you see are most likely in Run If qualifications in Filters. Something like 'z1D Action' = "GETDEFAULTCOMPANY". Then the filter is triggered on Service and GETDEFAULTCOMPANY is passed to it in the Service action mapping. A few uses would be: * Now you can really trigger a notification action from an Active Link instead of having do a Commit Changes or push a record to a form to trigger a filter. * Along the same lines you can now have an AL call a Service filter with a Set Fields from a Web Service or Filter API without having to do a commit to trigger a filter. * You can trigger a filter from an AL to to elevate permissions and perform an action with Admin privileges. (If not used appropriately this could also undermine permissions) In some ways it can clean up some creative coding we had to use in the past. Such as have a button/AL that sets a value to a DO field, does a Commit Changes that triggers a filter with low Execution Order looking for that value in the DO field to perform a Filter only action and then the Filter has a Go To action which bypasses the remaining filters just to avoid actually updating the record (Modified Date/Last Modified By). Now the AL can just trigger the filter (actually all Service filters related to the form). Hope that helps. Jason On Thu, Aug 5, 2010 at 9:07 PM, strauss <[email protected]> wrote: ** I am trying to reconstruct some of our customizations from ITSM 7.0 on the ITSM 7.6 system. One of the things I have run into is a new ARS 7.5 "feature" called a Service action. The documentation (two whole pages in the Workflow Objects Guide - pp. 107-108) might mean something to whoever wrote it, but I have yet to learn what these actions are, how they work, and how to trigger them just by reading it. According to ARUtilities, there are something like 137 active links (and 2 filters) that use this action, so _somebody_ knows how (and isn't telling). Many are the exact same name as the original 7.0 object, but the "set fields from form on a qualification" action used before has been replaced by these obtuse constructs. In the places in ITSM 7.6 where they were used, an Input Mapping sets a value in the hidden z1D Action field, which must trigger something. The values are things like "PERFORMCONTACTSEARCHNAME" - some sort of a flag word, which I cannot find documented ANYWHERE. Others are "GETDEFAULTCOMPANY", "BOUNDCOUNT", "PKECOORDSINGLEGRP", etc. Unless these are just placeholders that the programmers have pulled out of their butts at random, I would expect them to correlate to some intelligently designed action. My absolute favorite so far is "GIN" and I think I'll go look for some right now - maybe several glasses of it will help me with the BMC documentation. Any comprehensive explanations out there? Obviously I have been looking at ITSM 7.6 code and table data for way too long... Christopher Strauss, Ph.D. Call Tracking Administration Manager University of North Texas Computing & IT Center http://itsm.unt.edu/ _attend WWRUG10 www.wwrug.com ARSlist: "Where the Answers Are"_ _attend WWRUG10 www.wwrug.com ARSlist: "Where the Answers Are"_ _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug10 www.wwrug.com ARSlist: "Where the Answers Are"

