Boa tarde a todos, sou novato em procedure oracle e preciso da ajuda de vc´s para resolver um pequeno problema na procedure abaixo que quando e compilada da o seguinte erro: Erro(67,34): PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following: begin case declare end exception exit for goto if loop mod null pragma raise return select update while with <um identificador> <um identificador delimitado por aspas duplas> <uma variável de ligação> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe Estou pesquisando mas ainda sem sucesso. Aguardo ancioso por uma ajuda e desde já o meu muito obrigado. create or replace PROCEDURE AIP_CORRECAO_DIARIA_MAINFRAME IS erro_code INT; erro_message VARCHAR(200); BEGIN --inicio DECLARE site_c varchar2(2); order_id_c varchar2(10); status_c varchar2(4); --variaveis para separação do campo JOB_NAME sistema varchar2(3); operador varchar2(2); etapa varchar2(8); BEGIN --carga cursor DECLARE CURSOR C_CORRECAO IS --selecionar todos os dados da tabela select * from F_DIARIA_MAINFRAME; REG_CORRECAO C_CORRECAO%ROWTYPE; BEGIN --percore cursor OPEN C_CORRECAO; LOOP FETCH C_CORRECAO INTO REG_CORRECAO; EXIT WHEN C_CORRECAO%NOTFOUND; site_c := LENGTH(TRIM(C_CORRECAO.SITE)); operador_c := SUBSTR(C_CORRECAO.JOB_NAME,1,1); sistema_c := SUBSTR(C_CORRECAO.JOB_NAME,2,3); etapa_c := SUBSTR(C_CORRECAO.JOB_NAME,4,4); order_id_c := SUBSTR(C_CORRECAO.ORDER_ID,5); if C_CORRECAO.STATUS = 'ENDED "OK"' or C_CORRECAO.STATUS = 'ENDED "OK" , FORCED OK' or C_CORRECAO.STATUS = 'ENDED "OK" (DUMMY JOB)' then status_c := 'C0000'; elsif SUBSTR(C_CORRECAO.STATUS,1,7) = 'ABENDED' then status_c := SUBSTR(C_CORRECAO.STATUS,12,5); elsif SUBSTR(C_CORRECAO.STATUS,1,11) = 'UNEXPLAINED' then status_c := SUBSTR(C_CORRECAO.STATUS,23,4); end if; insert into F_TMP_DIARIA_MF(SITE, DT_DATE, HH_TIME, DT_ODATE, USER_ID, CODE, TYP, MEM_NAME, JOB_NAME, JOB_ID, ORDER_ID, STATUS) values(site_c, C_CORRECAO.DT_DATE, C_CORRECAO.HH_TIME, C_CORRECAO.DT_ODATE, C_CORRECAO.USER_ID, C_CORRECAO.CODE, C_CORRECAO.TYP, C_CORRECAO.MEM_NAME, C_CORRECAO.JOB_NAME, C_CORRECAO.JOB_ID, order_id_c, status_c); commit; insert into F_TMP_JOBNAME(SISTEMA, OPERADOR, ETAPA) values (sistema_c, operador_c, etapa_c); commit; END LOOP; CLOSE C_CORRECAO; END; --percore cursor --END; --carga cursor EXCEPTION When others then begin --raise_application_error(-20001,'aaaaAn error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM); erro_code := SQLCODE; erro_message := substr(SQLERRM, 1, 200); rollback; insert into registro_erro(erro_number, erro_message, local_erro, dt_data) values(erro_code, erro_message, 'procedure limpa_carga',sysdate); commit; end; commit; END AIP_CORRECAO_DIARIA_MAINFRAME;