Sorry for the delay, busy (non-work) weekend. :) Thank you, Thilo and Carey, it was the reference to the database ID that was stumping me, I was going down the wrong path after the EXTERNAL operator. (Which is why my google-fu wasn't working...wrong target :p)
I really appreciate the time you both took to explain to me something that was, as I expected, very simple to the experienced. This has resolved my issue, Thank you! -Paul -----Original Message----- From: Action Request System discussion list(ARSList) [mailto:[EMAIL PROTECTED] On Behalf Of Carey Matthew Black Sent: Monday, September 17, 2007 6:49 AM To: [email protected] Subject: Re: Introduction and EXTERNAL() operator question Paul, ( I think Thilo Stapff hit the nail on the head, but here is a bit more explanation about why.. I hope it helps.) I might be misunderstanding the "new guy".. but I think your issue you are having is with the menu you referred to as 'UserMenu' and its qualification. Is that correct? If so... then I think the root of your problem might not be with the External Operator as much as with how ARS Menus work with local field values in general. Unlike most other ARS objects a Menu is not strictly speaking "related" to an ARS form. It might do a search of a "remote" ARS form, but the menu could be attached to any field on any "displayed" form (or "local" form) for the user. So, when you want to reference a field on the currently displayed form in the search conditions for the menu you have to do so by field ID and not by field name. If the menu needs to use the value that is in a local field ( 'Support_Main_Group_ID' with field ID "123456789") on the users displayed form then the Menus Search qualification would look like this... ( 'remote_form_field_name' = $123456789$) [ Assuming that a simple equal condition was needed for the search menu.] OR [ for a like search it might be more like...] ( 'remote_form_field_name' LIKE $123456789$+"%") OR ( 'remote_form_field_name' LIKE "%"+$123456789$+"%") So... I think your qualification needs to look more like this... ( 'Group List' LIKE $123456789$ + ";%" ) OR ('Group List' LIKE "%;" + $123456789$ + ";%") OR ( 'Computed Grp List' LIKE $123456789$ +";%" ) OR ( 'Computed Grp List' LIKE "%;" +$123456789$ + ";%" ) [ I added hard returns for readability in email, they are not needed, nor suggested in the actual menu search qualification.] The above condition however comes with several subtle behaviors. Like: What happens if 'Support_Main_Group_ID' is null. ***** So to try to speak a bit to when to use EXTERNAL() in a menu qualification.... If you have a dynamic qualification that is set at run time in an active link to a local field then the menu object could use that qualification in that local field as part of it's search conditions. So lets say you have these fields: 'Assigned-to' (field ID 4) And you want to find a list of all active 'Request ID's for the indicated 'Assigned-to' value. Your menu might be set up with this search condition: 'Status' = "Active" and 'Assigned-to' = $4$ Or.. if you want a more complicated logic in the menu... Like if you also have a field(s) that lets you select any 'Status' value(s) that you want displayed, or allows the user to identify a list of 'Assigned-to' values, or even a field that lets you determine the type of comparisons you want to do with the 'Assigned-to' value... ( = vs LIKE) that is when the EXTERNAL() operator comes into the picture.... So now you add two new fields... 'Match Assigned-to by' (field ID 123456788) This is a selection field with these values. 0 => Equals 1 => Leading 2 => Anywhere 'Assigned-to ExternalQual' (field ID 123456787) This is a character field, display only, unlimited in length(size = 0) Then you add three active links to the 'Match Assigned-to by' field (fires on "Return") to set 'Assigned-to ExternalQual' based on the user's selection. (one for each value on the selection field) Example: AL1... on return on 'Match Assigned-to by' Run IF: 'Match Assigned-to by' = "Equals" AND 'Assigned-to' != $NULL$ If action Set field 'Assigned-to ExternalQual' =" 'Assigned-to' = """+$Assigned-to$+"""" AL2... on return on 'Match Assigned-to by' Run IF: 'Match Assigned-to by' = "Leading" AND 'Assigned-to' != $NULL$ If action Set field 'Assigned-to ExternalQual' =" 'Assigned-to' LIKE """+$Assigned-to$+"%""" Then your menu would have a qualification like... 'Status' = "Active" AND EXTERNAL($123456787$) The EXTERNAL operator deals with nulls in a specific way and allows the logic that is contained in the EXTERNAL field to be arbitrarily complicated, and only defined at run time in Active Links. However, all of that is substantially complicated for a "new guy" to understand, or likely even really need. :) But more info can be found here too: http://www.buoyantsolutions.net/PUBLIC/Community/EXTERNAL_viewlet_swf.ht ml And other nice stuff can be found here: http://www.buoyantsolutions.net/ARS_Education.html But since I am sure that both of those links have been posted before... I am left wondering if your Google foo is weaker than you lead us to believe.... ( Just kidding ) HTH -- Carey Matthew Black Remedy Skilled Professional (RSP) ARS = Action Request System(Remedy) Love, then teach Solution = People + Process + Tools Fast, Accurate, Cheap.... Pick two. On 9/14/07, Paul Blasquez <[EMAIL PROTECTED]> wrote: > Hello, > > I am new to Remedy development; a lot of the questions I will have may > be very elementary to most of you, but I can assure you I will go > through all the pertinent documentation and look through the archives of > arslist as well as the remedy forum that I have joined, before I ask > here. So, please excuse my ignorance, I hate being the new guy as much > as you hate dealing with him. ;) > > Now for my issue: > > I am having a tough time understanding how the EXTERNAL() operator > works, if someone could provide a working example of the syntax that > would help quite a bit. I think I'm going to need this operator a lot > as I have a need to create menus using dynamic qualifications and this > seems to be the way to go. > > For example: > > I have created a Menu named 'GroupMenu', it simply contains all groups > with group ids between 1000 and 14999. I have attached that menu to a > character field named 'Queue' on my main form. When the user chooses a > group, an active-link populates another, hidden, character field with > the Group ID. I have set up the core field 'Assigned To' with a NULL > menu, and given it the style of drop-down. An active link fires when > the 'Assigned To' field gains focus, looking up what users have that > group id in their group list, and displaying the active-link pop-up list > for the user to choose from. > > What I would much rather do is have a menu named 'UserMenu' attached to > the 'Assigned To' field, and have it do the same qualification as the > current active-link does on group id. I'm fairly certain that the > EXTERNAL() operator should allow me to do this, but I am having trouble > figuring out the correct syntax to use on the menu qualification, as the > Basic Guide document does not have an example. This is what I have > tried: > > ( 'Group List' LIKE ( EXTERNAL($Support_Main_Group_ID$) + ";%" )) OR ( > 'Group List' LIKE (( "%;" + EXTERNAL($Support_Main_Group_ID$)) + ";%" > )) OR ( 'Computed Grp List' LIKE ( EXTERNAL($Support_Main_Group_ID$) + > ";%" )) OR ( 'Computed Grp List' LIKE (( "%;" + > EXTERNAL($Support_Main_Group_ID$)) + ";%" )) > > ...but it does not like the EXTERNAL bits. > > Again, I know this will probably be something really basic, so I thank > you for your time. > > _______________________ > Paul Blasquez > Remedy Developer/Senior Network Engineer > Equinix, Inc. ________________________________________________________________________ _______ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where the Answers Are" _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org ARSlist:"Where the Answers Are"

