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.html

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"

Reply via email to