So ASDF is a value not a column name.
You can also simplify it slightly.

Code:
IF LENGTH(IN_PROGRAM) > 0 THEN
   dbms_output.PUT_LINE(IN_PROGRAM);
   qry_str := qry_str || ' AND OT.ADMINISTRATION = ''' ||
   UPPER(IN_PROGRAM)||'''';
END IF;