NETERR( )

 Determina si ha fallado algún mandato o función de red

Sintaxis

     NETERR([<lNuevoError>]) –> lError

Argumentos

<lNuevoError>: Si se especifica, selecciona el valor que devuelve NETERR() en el estado especificado. <lNuevoError> puede ser verdadero (.T.) o falso (.F.). El establecimiento de NETERR() en un valor especificado permite al manejador de errores de ejecución controlar el método de manejo de determinados errores. Si desea más información, consulte Errorsys.prg.

Devuelve

NETERR() devuelve verdadero (.T.) si ha fallado algún mandato USE o APPEND BLANK. El valor inicial de NETERR() es falso (.F.). Si el proceso actual no se ejecuta en un sistema operativo de red, NETERR() siempre devuelve falso (.F.).

Descripción

NETERR() es una función de red. Se trata de un indicador global que puede activarse por USE, USE…EXCLUSIVE y APPEND BLANK en un entorno de red. Permite comprobar si ha fallado alguno de estos mandatos, devolviendo verdadero (.T.) en las siguientes situaciones:

     Causas de NETERR()

     ————————————————————————

     Mandato             Causa

     ————————————————————————

     USE                 Abierto en modo exclusivo por otro proceso

     USE…EXCLUSIVE     Apertura en modo exclusivo o compartido por otro

                         proceso

     APPEND BLANK        Bloqueo por otro usuario con FLOCK() o RLOCK() de

                         LASTREC() + 1

     ————————————————————————

NETERR() se aplica normalmente a un programa para comprobarlo después de aplicar un mandato USE o APPEND BLANK. Si devuelve falso (.F.), se puede realizar la siguiente operación. Si el mandato es USE, se pueden abrir ficheros índice. Si se trata de APPEND BLANK, pueden asignarse valores al nuevo registro mediante un mandato REPLACE o @…GET. Si no devuelve el valor falso, es necesario manejar el error, bien volviendo a intentar el mandato USE o APPEND BLANK o finalizando la operación actual con BREAK o RETURN.

Ejemplos

     ¦  Este ejemplo muestra la forma de utilización de NETERR(). Si el mandato USE concluye satisfactoriamente, se abren los ficheros índice y el proceso continúa. Si el mandato USE falla, aparece un mensaje y el control vuelve a la estructura BEGIN SEQUENCE más cercana:

        USE Cliente SHARED NEW

        IF !NETERR()

           SET INDEX TO NumCli, PedidosCli, CodPostCli

        ELSE

           ? “Otro usuario está utilizando el fichero”

           BREAK

        ENDIF

Ficheros:  La biblioteca asociada es DPXBASE.CH.