necesito ayuda con rutina de actualizacion de registros

CristianARG
22 de Enero del 2005
estoy intentando hacer una rutina de actualizacion de registros y no funciona, solo actualiza el primer registro.
la rutina es la siguiente:
=perfiles_buscar(xoldnomperf)
do while getnomperf()=xoldnomperf
if getref()="1"
replace nomperf with xnomperf
replace x with xx
replace y with xy
replace icota with xsup
replace ilmed with xmed
replace idist with xinf
replace dcota with xcotaest
replace plano with xplano
replace ref with xref
m.const=getilmed()+getcotaest()
else
replace nomperf with xnomperf
replace icota with str(round((m.const-getilmed()),2),5,2)
replace dcota with str(round((m.const-getdlmed()),2),5,2)
endif
endif
skip
enddo

function getnomperf
return tabla.nomperf

function getref
return tabla.ref

en la tabla "tabla" el campo "getref" tiene "1" en el primer registro y "0" en los demas.
que es lo que esta mal??
como puedo arreglarlo??

Raul
22 de Enero del 2005
=perfiles_buscar(xoldnomperf)
do while getnomperf()=xoldnomperf
if getref()="1"
replace nomperf with xnomperf
replace x with xx
replace y with xy
replace icota with xsup
replace ilmed with xmed
replace idist with xinf
replace dcota with xcotaest
replace plano with xplano
replace ref with xref
m.const=getilmed()+getcotaest()
else
replace nomperf with xnomperf
replace icota with str(round((m.const-getilmed()),2),5,2)
replace dcota with str(round((m.const-getdlmed()),2),5,2)
endif
*****endif
skip
enddo

Creo que te sobra el endif con asteriscos

CristianARG
22 de Enero del 2005
si, ese fue un error que cometi cuando lo copie en el foro. pero sacando el endif no se soluciona.
si podes ayudarme te lo agradezco.