If [ not Count ( Table::gField1 ; Table::gField2 ; … ) // all fields empty ]
Show all Records
# [ or just exit and leave the found set untouched – depending on how you want to handle this situation ]
Enter Find Mode [ no restore ]
Set Field [ Table::field1 ; Table::gField1 ]
Set Field [ Table::field2 ; Table::gField2 ]
# [ and so on … ]
Perform Find [ no restore ]
i.e. if you pass the If, you know you have at least one non-empty global field, so your Find will have at least one valid search criterion, and the fields set to empty won't impact the search.
Forget find requests, in your script just capture the values of your globals, enter find mode, set fields accordingly to your "filter" configuration and perform find .
I think I may have been making things to complicated