Estou com uma aplicação dando erro na hora de editar o arquivo, esta gerando um novo arquivo,ficando em duplicidade,segue meu codigo;
Código: Selecionar todos
function edita_produto()
local cOp:=space(1),cDescricao:=space(40),cValor:=space(6),cStatus:=space(20),cMarca:=space(20),cModelo:=space(10)
local sTela,sNovoCod:=0
stela:=savescreen(0,0,25,80)
dbselectarea("produtos")
set wrap on
sNovoCod:=produtos->codprod
cDescricao:=produtos->descricao
cValor:=produtos->valor
cStatus:=produtos->status
cMarca:=produtos->marca
cModelo:=produtos->modelo
limpar(6,0,25,79)
@ 08,10 say "Codigo: " +sNovoCod
@ 09,10 say "Descricao: " get cDescricao picture "@!" valid !empty (cDescricao)
@ 10,10 say "Valor: " get cValor picture "9999,99"
@ 11,10 say "Status: " get cStatus
@ 12,10 say "Marca: " get cMarca
@ 13,10 say "Modelo: " get cModelo
@ 18,10 say "Deseja salvar Alteracao? (S/N)" get cOP
read
cOp:=inkey(0)
if upper(chr(cOP))="S"
dbsetorder(1)
produtos->(dbgobottom())
sNovoCod:=strzero(val(produtos->codprod)+1,4)
append blank
if rlock()
replace codprod with sNovoCod,;
descricao with cDescricao,;
valor with cValor,;
status with cStatus,;
marca with cMarca,;
modelo with cModelo
produtos->(dbcommit())
produtos->(dbrunlock())
alert("Produto Alterado")
endif
else
alert("Nao Alterado")
endif
return nil
