Nos permite decidir el valor minimo por el que realizar la busqueda de un 'hueco'
PARAMETERS pcTabla, pcCampo, pnCodigo * pcTabla : Tabla en la que buscar * pcCampo : Campo en el que buscar * pnCodigo : Opcional, indica el minimo para buscar * AHORA VARIABLES LOCALES LOCAL lnCodigoMin IF PCOUNT()>2 * se ha pasado codigo minimo lnCodigoMin = pnCodigo ELSE * No se ha pasado lnCodigoMin = 0 ENDIF * a) Nos aseguramos de tener la tabla abierta IF !USED(pcTabla) USE (pcTabla) IN 0 SHARED ENDIF * ahora montamos la consulta SELECT MIN(&pcCampo+1) AS NuevoCod ; FROM &pcTabla ; WHERE &pcCampo>lnCodigoMin .and.; !deleted() .and. ; !&pcCampo+1 IN ; (SELECT DISTINC &pcCampo FROM &pcTabla) ; INTO CURSOR oNew * Comentar las dos siguientes lineas, * es solo para chequeo. ? 'Valor Obtenido : ' ?? oNew.NuevoCod * devolvemos nuevo codigo return oNew.NuevoCod *********** FIN *******Javier Amoros
Muchas gracias por compartir ... es lo que estaba buscando.
ResponderBorrar