My understanding is that you can use the DISPLAY action for either a BO or a query. I've never used it for a BO - I use it to run queries. It's the only way I know to how run a non-pick query from a process.This action is very similar to the PICK FROM action in that it displays the instances of the business object found by the action, however it does not expect the user to pick any particular instance. The syntax of the action is exactly the same as that of the PICK FROM action except that the DISPLAY keyword is used instead of PICK FROM. For example,
DISPLAY Account WHERE Account.State = 'OPEN' ORDER BY Account.Balance
When I use it for a query, I can't use the WHERE clause because AIM says it can't find the BO. I would really love to use the WHERE clause because the process rule has access to the context, whereas I'm pretty sure the query does not (i.e. I can't use "[BO]=This[BO]" in a query's WHERE clause).
Is that understanding correct?
So far my solution for populating the query WHERE clause with instances is to add instance reference attributes to the RegularUser BO so I can use "LoggedIn", but I'm getting tired of that.
I suppose instead of a query, I can create a form in a parent BO with a single section having only a grid widget, which would simulate a query. That would allow me to use the "VIEW This[BO] USING SimulatedQuery" clause. But it just seems wrong when what I really want is a query, not a form.
Actually, it just occurs to me that using forms as queries addresses the lack of a close button in queries (which messes-up the ability to go back to the previous page). I might just abandon queries altogether! Thanks guys, this was helpful.