title: PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following: begin function pragma procedure
body: <p>i know the same answer is asked before, but i'm just staring blind on my code.
  what's wrong with my function???</p>
  
  <p>other posts say it's missing a ; but i just can't find it.</p>
  
  <pre><code>FUNCTION checkIBAN
  ( p_IBAN in varchar2 )
  RETURN varchar2
  is
  v_landcode  varchar2(2);
  v_lengte    number(2);
  v_omgezettelandcode varchar2;
  v_teller    number(2) DEFAULT 1;
  n           number(9);
  d           varchar2;
  BEGIN
  v_landcode := SUBSTRING(p_IBAN, 1, 2);
  select lengte
  into v_lengte
  from IBAN
  where code = v_landcode;
  if p_IBAN.LENGTH != v_lengte
      then return 'F';
  end if;
  v_omgezettelandcode := SUBSTRING(p_IBAN, 5) || SUBSTRING(p_IBAN, 1, 4);
  WHILE v_teller &lt; v_omgezettelandcode.LENGTH LOOP
      select getal
      into SUBSTRING(v_omgezettelandcode, v_lengte, v_lengte)
      from abc
      where SUBSTRING(v_omgezettelandcode, v_lengte, v_lengte) = letter;
      v_teller := v_teller + 1;
  END LOOP;
  d := v_omgezettelandcode;
  n := SUBSTRING(d, 1, 9);
  d := SUBSTRING(d, 10);
  n := n/97;
  WHILE d.LENGTH &gt; 7 LOOP
      n := n || SUBSTRING(d, 1, 7);
      d := SUBSTRING(d, 8);
      n := n/97;
  END LOOP;
  n := n || d;
  if n/97 = 1
      then return 'T';
      else return 'F';
  end if;
  END checkIBAN;
  </code></pre>