This is my first run through with PL SQL so I might be making some sort of silly error. 
I am trying to write a procedure in Oracle Express Edition 11g. I am running into an error that has to do with my WITH clause in the procedure body. 

Whenever I try and run it I see two errors. 

```
Error report:
ORA-06550: line 14, column 50:
PL/SQL: ORA-00918: column ambiguously defined
ORA-06550: line 12, column 7:
PL/SQL: SQL Statement ignored
ORA-06550: line 29, column 3:
PLS-00306: wrong number or types of arguments in call to 'FIND_HIGH_AVG'
ORA-06550: line 29, column 3:
PL/SQL: Statement ignored
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:

```

Code for the procedure is found below. 

```
DECLARE 
  myTerm courses.term%type;
  myLine courses.lineno%type;

procedure find_high_avg (term IN courses.term%type, 
                        line IN courses.lineno%type,
                        s_fname OUT students.fname%type,
                        s_lname OUT students.lname%type,
                        s_sid OUT students.side%type,
                        s_avg OUT number) is 
  begin 
      WITH grades as (select * from components co --line 12 here
            join scores sc on co.term = sc.term and co.lineno = sc.lineno and CO.COMPNAME = SC.COMPNAME
            where sc.lineno = line and sc.term = term) --line 14 here
      select * 
      into s_fname, s_lname, s_sid, s_avg 
      from (
          select s.fname, s.lname, s.sid, round(sum(points/maxpoints * weight),0) as AV
          from grades, students
          join students s on grades.sid = s.sid
          group by s.sid, s.fname, s.lname
          order by AV)
      where rownum = 1;   
  end; 

BEGIN
  myTerm:='F12';
  myLine:='1031';
  find_high_avg(myTerm, myLine); --line 29 here
END;

```