## Procedures can be called with "dynamic" variable parameter passing. PROCEDURE Value_List (Fld IN char, Val1 IN char := null, Val2 IN char := null,Val3 IN char := null, Val4 IN char := null,Val5 IN char := null, Val6 IN char := null,Val7 IN char := null, Val8 IN char := null,Val9 IN char := null) IS BEGIN if Fld in (Val1,Val2,Val3,Val4,Val5,Val6,Val7,Val8,Val9) then null; else raise form_application_error ( -20001, ‘Invalid Value Entered : Not Found within select list’); end if; END; ## This procedure can be executed by any of the following calls :- value_in_list (‘A’,’B’,’C’,’D’,’F’,’G’,’H’,’I’,’J’,’H’); value_in_list (val,’B’,’C’,’D’,’F’,’G’,’H’,’I’,’J’); value_in_list (val,b1, b2, b3, b4); value_in_list (val); ## OR, by passing positional and/or named notation parameters :- value_in_list (‘A’,’B’,’C’,’D’,’F’,’G’,’H’,’I’,’J’,’H’); value_in_list (Fld => val, Val1 => b1, Val2 => b2); value_in_list (Val1 => b4, Val2 => b7, Fld => val); value_in_list (val, b1,b2, Val8 => b2, Val9 => b2);