Hi

I have some problem using cusor in plsql store procedure. Could someone please help me to correct my script? Any suggestion and idea would be appreciated.

My script is as below

CREATE OR REPLACE PROCEDURE tAPPOINT
(
XFILE IN VARCHAR2, c1 out ref_cursor
) as


BEGIN

open c1 for ' select * from ' || xfile || ' WHERE FPT=F';

execute immediate 'update ' || xfile || ' set apptgrp=null';
commit;
execute immediate 'update ' || xfile || ' set apptgrp=46' || 'where reptrc=6269' || 'and og=trim(0||6)' || 'and trim(a_jc)=2876';
commit;
end tAPPOINT;
/

If I take out the high lighted area, my script successfully executed. Otherwise I keep getting error as below.

begin TAPPOINT('PAYHR'); end;

ORA-06550: line 1, column 7:
PLS-00905: object TEST.TAPPOINT is invalid
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored


Please help to correct this.
Thank you in advance