I've just remembered the issue that I've had few
months ago with unexpected (at least for me) behavior of condition type Request
Is Contained within Expression. A real headache to debug and figure out.
At first glance, when I saw this condition type, I’ve
expected that requests must be in Expression 1, comma delimited, and that there
must be an exact match on condition evaluation. But that’s not the case.
For example, if you have three buttons with requests
CREATE, CREATE_ANOTHER and CREATE_AND_RETURN, and process condition with
condition type Request Is Contained within Expression where Expression 1 equals
CREATE_ANOTHER,CREATE_AND_RETURN:
the process will be executed no matter which button
you press, even the one with request CREATE, because condition is evaluated as
true when request string is contained within Expression 1 (without exact match).
So to avoid such behavior I always use condition type
PL/SQL Expression with condition “:REQUEST in (...)”, for example:
Thank you so much, this article solved my problem. :)
ReplyDelete