O proprietário de um procedimento deve ter privilégio para acessar os objetos subjacentes diretamente, não por meio de uma função . Para ter o mesmo nível de acesso que seus procedimentos, use os seguintes comandos:
SET ROLE NONE;
Para acessar outra tabela de um procedimento, você precisa receber SELECT diretamente, não por meio de uma função:
GRANT SELECT ON TURAT03.GESCHAEFTE TO <your_user>;
Este artigo de Tom Kyte contém informações adicionais.