v_forn_arq := 'For'||to_char(sysdate,'ddmmrrrr')||'9999999.ret';
------ Open File---
hdr_arq := UTL_FILE.fopen('DIR',
v_forn_arq,
'R');
---- Executa leitura do arquivo -------
BEGIN
---
LOOP
UTL_FILE.get_line(hdr_arq, v_forn_buffer);
v_tipo_forn := itg_splitstring(v_forn_buffer, ';', 24);
--Busca o tipo de fornecedor
IF v_tipo_forn ='J' THEN
--JURIDICA
v_cpf := LPAD(TRIM(itg_splitstring(v_forn_buffer, ';', 5)),14,0);
--
BEGIN
UPDATE corp.pessoas
SET
cd_forncedor_onf = LPAD(TRIM(itg_splitstring(v_forn_buffer, ';', 2)),5,0),
dt_atualizacao = sysdate
WHERE LPAD(TRIM(nr_cpf),14,'0')=v_cpf;
COMMIT;
Como renomear no UTL FILE
-
- Rank: Analista Sênior
- Mensagens: 157
- Registrado em: Sex, 30 Nov 2007 1:17 pm
- Localização: Porto Alegre - RS
Como posso alterar o nome do arquivo com um sufixo de OK após realizar o update ???
-
- Moderador
- Mensagens: 1177
- Registrado em: Qui, 15 Out 2009 10:28 am
- Localização: Recife
Cara, tem que cuidar com o caso de tentar renomear para .OK e já ter um arquivo com esse nome, vai gerar uma exception,
If (Sql%RowCount = 1) Then
Begin --Tratei exceção neste caso, pois pode haver a situação de reimportar um arquivo,
--então o rename irá falhar, pelo fato de já existir um arquivo com este nome.
Utl_file.FRename('BARRAGENS', I.Arquivo, 'BARRAGENS', Replace(I.Arquivo,'.JPG','.OK'));
Exception
When Utl_File.Rename_Failed Then
Null; --Futuramente logar esta situação.
End;
End if;
Commit;
If (Sql%RowCount = 1) Then
Begin --Tratei exceção neste caso, pois pode haver a situação de reimportar um arquivo,
--então o rename irá falhar, pelo fato de já existir um arquivo com este nome.
Utl_file.FRename('BARRAGENS', I.Arquivo, 'BARRAGENS', Replace(I.Arquivo,'.JPG','.OK'));
Exception
When Utl_File.Rename_Failed Then
Null; --Futuramente logar esta situação.
End;
End if;
Commit;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante