PROCEDURE NetUse
LPARAMETERS tcTabla, tlExclusive, tnIntentos ,tcAlias ,TlNotVerbose,tlNoUpDate
*!* -----------------------------------------------------------------------------
*!* Procedimiento de apertura de tablas
*!* tcTabla Addbs(path)+table_Name
*!* tlExclusive .f. (shared) // tlExclusive (.t.) Exclusive
*!* tnIntentos 9 por defecto
*!* tcAlias Alias con que se usará la tabla
*!* TlNotVerbose No presenta mensajes
*!* tlNoUpdate .t. Abre la tabla en solo lectura
*!* -----------------------------------------------------------------------------
LOCAL lcAlias,;
lcCursor,;
lcFileName,;
lForever,;
lRetop,;
NCASOP,;
loex as Exception
tcAlias = iif(Vartype(m.tcAlias)#"C","",m.tcAlias)
tnIntentos = EVL(tnIntentos,9)
nCasop = 0
tcTabla = ALLTRIM(m.tcTabla)
lcCursor = JUSTSTEM(m.tcTabla)
lcFileName = FORCEEXT(m.tcTabla,"dbf")
lRetop = USED( EVL(m.tcAlias,m.lcCursor) )
IF !m.lRetop
IF FILE(m.lcFileName)
DO WHILE .t.
IF EMPTY(m.tcAlias)
lcAlias=JUSTSTEM(m.tcTabla)
IF m.tlExclusive
USE (m.tcTabla) IN 0 EXCLUSIVE AGAIN
ELSE
USE (m.tcTabla) IN 0 SHARED AGAIN
ENDIF
ELSE
lcAlias = m.tcAlias
IF m.tlNoUpdate
IF m.tlExclusive
USE (m.tcTabla) IN 0 EXCLUSIVE AGAIN alias (m.tcAlias) NOUPDATE
ELSE
USE (m.tcTabla) IN 0 SHARED AGAIN ALIAS (m.tcAlias) NOUPDATE
ENDIF
ELSE
IF m.tlExclusive
USE (m.tcTabla) IN 0 EXCLUSIVE AGAIN alias (m.tcAlias)
ELSE
USE (m.tcTabla) IN 0 SHARED AGAIN ALIAS (m.tcAlias)
ENDIF
ENDIF
ENDIF
IF USED(m.lcAlias)
lRetop = .t.
EXIT
ENDIF
nCasop = m.nCasop + 1
if nCasop <= m.tnIntentos
LOOP
ENDIF
lRetop=.f.
nMess = Messagebox(tcTabla+" no pudo abrirse tras "+transform(nCasop)+" intentos.",5,Proper(PROGRAM())
if m.nmess = 4
nCasop = 0
LOOP
ELSE
EXIT
ENDIF
ENDDO
ELSE
IF !tlNotVerbose
MESSAGEBOX("El archivo "+LOWER(m.lcFileName)+" No Existe!",0,PROPER(PROGRAM()))
ENDIF
ENDIF
ENDIF
RETURN m.lretop
ENDPROC