Acceder a la tabla de otro usuario dentro de un Procedimiento almacenado de Oracle

Estoy escribiendo un procedimiento almacenado para copiar datos de la tabla de un usuario a otro esquema. Básicamente, es una serie de instrucciones INSERT .. SELECT como esta:

INSERT INTO GESCHAEFTE
  SELECT *
    FROM TURAT03.GESCHAEFTE
   WHERE kong_nr = 1234;

Esto funciona bien cuando se emite desde sqlplus (o TOAD para mí ;-)), así que sé que tengo suficientes privilegios, pero cuando esto es parte de un procedimiento almacenado como este:

CREATE OR REPLACE FUNCTION COPY_KONG
    (pKongNr IN NUMBER)
    RETURN NUMBER
    AUTHID CURRENT_USER
IS
BEGIN
   INSERT INTO GESCHAEFTE
      SELECT *
       FROM TURAT03.GESCHAEFTE
       WHERE kong_nr = pKongNr;
END;

Me sale un error de Oracle:

[Error] ORA-00942 (11: 22): PL/SQL: ORA-00942: table or view does not exist

Como puede ver, ya he insertado unAUTHID, pero fue en vano.

¿Que más puedo hacer? Estoy casi al final de mis ideas aquí.

Respuestas a la pregunta(1)

Su respuesta a la pregunta