Do you mean it works now with value '!' ? If yes, mark your last post as the answer, to close the thread.
Note: as I can see in CL_GUI_ALV_GRID code, the exclamation mark deactivates the foreign key check; is it really what you want to achieve? What happens if the user enters manually (without using the search help) a wrong value?