ORA-06531: Reference to uninitialized collection
-------------------------------------------------------------------------
All, can you please explain me where i should change to fix this error. Very urgent -

Declare
lcount number;
TYPE emp_name IS Varray(1000) OF varchar2(40);
emp emp_name;
user_name varchar2(200);
BEGIN
select count(*) into lcount from SUSERIDTABLE where "UserID" like 'karthik.%';
IF(lcount > 0) THEN
FOR i in 1..lcount LOOP
select "UserID" into emp(i) from SUSERIDTABLE where "UserID" like 'karthik.%';
user_name := '""Key" not like"';
IF (i=lcount) THEN
user_name := emp(i);
ELSE
user_name := emp(i) || 'and';
dbms_output.put_line('The GetValue with value ' || user_name);
END IF;
END LOOP;
END IF;
exception
when others then
dbms_output.put_line('The GetValue with message ' || sqlerrm);
END;
/

The GetValue with message ORA-06531: Reference to uninitialized collection
PL/SQL procedure successfully completed.

I am just trying to form a string like this:
"Key" not like 'UserID.%' and "Key" not like 'UserID.1.%'.
But I am not able to get that string...