aparentemente pode estar correto, eu pelo menos não vejo erros.
segue:
procedure importa is
begin
DECLARE
filename VARCHAR2(30000);
Arq text_io.file_type;
v_linha varchar2(30000);
BEGIN
filename := GET_FILE_NAME(File_Filter=> 'Files (*.txt)|*.txt|');
loop
arq:= Text_IO.Fopen('filename','R');
Text_IO.Get_Line(arq,v_linha);
INSERT INTO PM_PATRIMONIOS_NOVOS
(PATRI_ANTIGO,
PATRI_ATUAL,
DAT_TOMB,
COD_STATUS,
COD_SETOR,
COD_UNIDADE,
COD_CONSERV,
SIT_PATRI,
COD_MATERIAL,
COD_BAIX_TIP,
PATRI_SIT_REG,
ENCONTRADO,
RESP_MATRI,
RESPONSAVEL,
SIT_REG)
VALUES
(substr(v_linha,1,10), -- código patrimonio antigo
substr(v_linha,11,10), -- código patrimonio atual
substr(v_linha,21,8), -- data tombamento
substr(v_linha,29,2), -- cod status
substr(v_linha,31,10), -- codigo do setor
substr(v_linha,41,10), -- codigo da unidade
substr(v_linha,51,2), -- codigo conservação
substr(v_linha,53,1), -- situação patrimonio
substr(v_linha,54,10), -- codigo material
substr(v_linha,64,1), --codigo tipo baixa
substr(v_linha,65,1), -- I importado sicop V inventariado N item novo.
substr(v_linha,66,1), --encontrado
substr(v_linha,67,10), --responsavel matricula.
substr(v_linha,77,100), --responsavel
substr(v_linha,177,15)); --situação registro
end loop;
exception when no_data_found then
message('Arquivos não encontrados');
-- when others then
-- message('Há erros no arquivo *txt* ');
end;
end;
FRM-40735: o gatilho when-button-pressed levantou a exceção ora-302000 não manipulada.
estou fazendo algo errado????