GRACIAS POR CONTESTARME.
TE VOY A EXPLICAR MEJOR CUANDO ME OCURRE ESTO. TENGO UN PANTALLA PARA GENERAR ORDENES DE COMPRA (O/C). EL ULTIMO NRO. DE LA O/C GENERADO LO GUARDO EN UNA TABLA DE PARAMETROS. CUANDO VOY A GENERAR UNA O/C BUSCO EL ULTIMO EN LA TABLA DE PARAMETROS Y LO INCREMENTO EN UN Y LO ACTUALIZO.
SI HAY DOS USUARIOS EMITIENDO O/C, LLEGA UN MOMENTO (CASI SIEMPRE A PARTIR DE LA CUARTA O/C GENERADA ENTRE AMBOS) EN QUE CUANDO SE CONSULTA LA TABLA DE PARAMETROS PARA INCREMENTAR LA O/C, NO ME DA LA EL NRO. DE LA O/C QUE ESTA EN LA TABLA DE PARAMETROS SINO LA ANTERIOR, COMO QUE LA GUARDARA EN MEMORIA, ESTO LO SE PORQUE CONSULTE LA TABLA POR EL ADMINISTRADOR Y COLOQUE UN WAIT WIND EN LA FORMA A LA HORA DE CONSULTAR LA TABLA DE PARAMETROS, Y LOS VALORES SON DIFERENTES, Y ES ALLI EN DONDE ME DA EL CONFLICTO DE ACTUALIZACION. ¿POR FAVOR ME PUEDES AYUDAR A RESOLVER ESTE CANGREJO?
GRACIAS
LA CONSULTA LA HAGO ASI:
set reprocess to -1
select comtbpar
go top
if rlock()
*generar número oc.
if empty(comtbpar.n_oc)
*asigna código al primer registro
numero = "1"
else
*existen oc
numero = comtbpar.n_oc
*código del primer registro
maxoc = int(val(n_oc))
*incrementa en uno
maxoc = maxoc + 1
numero = alltrim(str(maxoc))
Endif
numero = rellenar_ceros(numero,7)
replace n_oc with numero
endif
unlock
set reprocess to 1