Re: another PLS-00201

From: <sybrandb_at_yahoo.com>
Date: 24 Jul 2003 00:43:05 -0700
Message-ID: <a1d154f4.0307232343.458f4368_at_posting.google.com>


windos <windosab_at_yahoo.com> wrote in message news:<3145998.1059012752_at_dbforums.com>...
> Guys,
>
> I'm newbie here and tryin to create a simple procedure :
> ----
> CREATE OR REPLACE PROCEDURE update_status IS
> CURSOR cekstat is
> select b.CREATOR_PROC_INST_ID,
> b.MANAGED_FILE_ID,
> d.JOB_STATUS
> from other.rejprocesslog a,
> admin.managedfile b,
> admin.jobhasfile c,
> admin.job d
> where a.FILE_STATUS_ID=0
> and a.TO_DETIL_STAT=0
> and b.CREATOR_PROC_INST_ID=a.PROCESS_ID
> and b.MANAGED_FILE_ID=a.MANAGED_FILE_ID
> and c.MANAGED_FILE_ID=b.MANAGED_FILE_ID
> and d.JOB_ID=c.JOB_ID
> for update;
> BEGIN
> FOR rec in cekstat
> LOOP
> update rejprocesslog
> set rejprocesslog.FILE_STATUS_ID=cekstat.JOB_STATUS
> where rejprocesslog.MANAGED_FILE_ID=cekstat.MANAGED_FILE_ID;
> END LOOP;
> COMMIT;
> END update_status;
> /
> --
> But i got this error : PLS-00201: identifier 'ADMIN.MANAGEDFILE' must
> be declared.
> I've red couple of message like this posted in dbforums, but still i had
> the same error. the MANAGEDFILE,JOB and JOBHASFILE tables are already
> have synonims.
>
> Is there any ideas for this problems ??
>
> thank you.
>
> rgds,
> windos

You must have privilege through a role. Roles are ignored during compilation of stored procedures, as roles are volatile. Roles are not ignored in anonymous blocks.
You need to add
authid current_user
before the IS, when you are using 8i
Before 8i the user running the procedure must have been granted privilege directly

Regards

Sybrand Bakker
Senior Oracle DBA Received on Thu Jul 24 2003 - 09:43:05 CEST

Original text of this message