title: Oracle - no function with name X exists in this scope
body: <p>The function is clearly there, because I can navigate to it using SQL Developer and it compiles all fine, but when I try to use the function with or without "call", it throws:</p>
  
  <blockquote>
    <p>Error(36,24): PLS-00222: no function with name 'x' exists in this
    scope</p>
  </blockquote>
  
  <p>This is how the function looks like: </p>
  
  <pre><code>create or replace function testfunction
    (
      somevalue in varchar2 
    )
    return varchar2
    AS
    cursor testcursor IS 
    select column1, column2 from table1 t
    where t.column1 = somevalue; 
    testcursorrec testcursor %rowtype;
    messaget VARCHAR2(500);
    begin
         open testcursor ; 
         fetch testcursor into testcursorrec ; 
         close testcursor ; 
         messaget := testcursor.column1;
        return messaget ;
    end;
  </code></pre>
  
  <p>This is how I'm calling it:</p>
  
  <pre><code>messaget := testfunction(somevalue); 
  </code></pre>
  
  <p>where both messageT and somevalue are declared as varchar2 type.</p>
  
  <p>Are cursors not allowed inside function or something like that? </p>