Question:
I have a datawindow that will be called by two functions. The first function only uses the first retrieval argument; the second function uses all three arguments. In the first function I’d like to call the retrieve with a “*” value in the second two arguments because those arguments are irrelevant. How do I do this?
Answer:
You can achieve this in one of two ways.
First, you can build your SQL statements to OR the criteria that may not be specified. For example:
WHERE name like :as_name OR :as_name IS NULL
This will search for name when the name parameter has a value but will find all records when the name parameter is NULL.
Second, you can dynamically modify the SQL at runtime to add your criteria manually. For a large table this will give you better performance, but will take longer to code. Take a look at the Describe and Modify functions and the datawindow.table attributes if you want to do this.