Clipper On Line • Ver Tópico - Error LETO/1201 Workarea nao indexada
Mudar para estilo Clássico
Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.
Postar uma resposta

Error LETO/1201 Workarea nao indexada

23 Nov 2015 09:32

Alguém pode dar uma luz para esse problema:

Error LETO/1201 Workarea nao indexada

O problema acontece no dbseek

Código:
   ADMSAUDE->(OrdSetFocus(3))
   IF ADMSAUDE->(DbSeek(cVar))


A abertura da tabela está assim:

Código:
  SWITCH Upper(cDataBase)
  CASE 'ADMSAUDE'
        IF SELECT(cDataBase) == 0 .OR. !&cDataBase.->(Used())
           lAbriu:=NetUse(cServer,cDataBase,lShared)
           SET INDEX TO ("ADMSAUDE.CDX")
        ENDIF
        EXIT


As estações são windows 7/32 professional

Error LETO/1201 Workarea nao indexada

23 Nov 2015 11:24

Boa tarde.

Tem certeza que o CDX abriu mesmo? Tem umas condições, será que retornaram .T. ?

Sds,
Mario.

Error LETO/1201 Workarea nao indexada

23 Nov 2015 11:30

Mário,

A abertura do dbf é feito no inicio da rotina, se fosse um problema na tabela o sistema já entraria em erro, o indice é aberto logo após a abertura da tabela,
O ordsetfocus é trocado conforme a necessidade da pesquisa, não sei se isso é um problema de rede, no servidor ou qualquer outro motivo não conhecido, eu não achei nada no google que indica-se uma solução.

Error LETO/1201 Workarea nao indexada

23 Nov 2015 13:05

Asiomes,

Que abacaxi! Tenho observado os colegas que usam o Leto. Andei interessado em usar o motor nas minhas tabelas .DBF, coisa básica, intranet mesmo.

Para usar em redes pequenas, de menos de dez terminais. Parece muito interessante, mas quando vejo vocês que são feras tendo esses pequenos problemas, fico meio assustado...

Nesse erro, parece que ele não reconhece o arquivo índice. Está setado para CDX? Desculpe as perguntas bobas, mas essas coisas às vezes é que te dão canseira.

Abraço,
Mario.

Error LETO/1201 Workarea nao indexada

23 Nov 2015 13:32

Mário,

O indice é cdx, inclusive eu até uso SET AUTOPEN ON só para garantir a abertura automática

Error LETO/1201 Workarea nao indexada

23 Nov 2015 13:40

Tem muita coisa legal disponível para o harbour, mas quando começa dar erro e você não faz idéia do que é, preocupa.

Error LETO/1201 Workarea nao indexada

23 Nov 2015 14:36

Alexandre, se os arquivos estão abertos (DBF e CDX), então resta saber se no arquivo CDX existe esta terceira (3) ordem.

O melhor seria fazer alguns testes:

Código:
SELE ADMSAUDE
? OrdSetFocus(1)
? OrdSetFocus(2)
? OrdSetFocus(3)
? OrdSetFocus(1)


Abraços,

Error LETO/1201 Workarea nao indexada

23 Nov 2015 15:01

Olá Toledo,

Depois de aberta a tabela eu fiz este teste:

Código:
cTEXTO := ''
FOR X = 1 TO OrdCount()
   cTEXTO += Str(X,2)+'-'+OrdName(x)+" "+OrdKey(x) + hb_EOL()
NEXT
hwg_MsgInfo(cTexto)


Todas as tags com as chaves estão corretas.

Obs.: este erro é eventual, não sei qual condição precisa para ocasionar a falha, pode ser um problema de rede no momento do ordsetfocus?, inclusive eu estou
testando esta rotina de outra forma, não sei se é chover no molhado, mas ao invés de fazer assim: OrdsetFocus(1) troquei para OrdSetFcus("nome da tag")

ADMSAUDE->(OrdSetFocus("admsau-2")) //3
IF ADMSAUDE->(DbSeek(cVar))

Error LETO/1201 Workarea nao indexada

24 Nov 2015 11:12

Olá Pessoal,

Alexandre, como você disse que o erro é eventual, então apenas um palpite: Mais acima você colocou como faz a abertura da tabela, e é através da função NetUse(). Você também pega o retorno de NetUse() em lAbriu. Mas parece que você não trata a variável lAbriu, assim, se a função NetUse() retornou .f. porque o arquivo está bloqueado por outro terminal, sua função continua, e na verdade o arquivo não foi aberto na máquina que dá o erro. Apenas palpite...

Error LETO/1201 Workarea nao indexada

24 Nov 2015 15:57

Não uso lettodb mas estranhei essa parte de índice.
Como é identificado se o índice é local ou no lettodb?

No hbnetio é diferente:

Código:
use net:clientes
set index to net:clientes


Ao não identificar com net:, o arquivo é considerado local.

Só estranhei isso e fiquei curioso.
Não sei se pode ter a ver com seu problema.

Error LETO/1201 Workarea nao indexada

30 Nov 2015 13:51

Ola!
Em algum lugar vc deve está fechando o DBF ou a rede está caindo... Esse erro ocorre mesmo em rede local ou via ADSL ?
Eu pego esse erro aqui quando uso ADSL com o sinal muito ruim... Local já não apresenta.

LetoDb não tem o sintaxe do NETIO, quando abrimos o DBF indicamos o local via TCP/IP.
use "//192.168.0.100:2812/meudbf.dbf "
ou
use meudbf.dbf
Quando setado anteriormente o local via arquivo letodb.ini
Código:
[MAIN]
Port = 2812             
Logfile = "letodb.log"   
DEFAULT_DRIVER = CDX     
DATAPATH = c:\clientes\lojaxyz\
...


Eu fiz uma checagem extra neste caso...
Código:
      BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
     
         eqw->(ordSetFocus(2)) //cod_mercad
         If eqw->( Dbseek(eq->cod_mercad) )
...
      Recover
     
         hwg_Msginfo('Falha na rede: ' + cPath)
         //aWAN[n]   := LETO_GETCURRENTCONNECTION()
         //aAlias[n] := "EQ"+strzero(n,3)
         fechaDb("EQW")
         cCDX := cPath+'estoque.cdx'
         DbUseArea(.T.,"LETO",cPath+'estoque.dbf',"EQW",.t.,.f.,'PTISO')
         Set index to &cCDX
         EQW->(OrdSetFocus(2)) //cod_mercad
         LOOP
             
      End Sequence


Saudações,
Itamar M. Lins Jr.

Error LETO/1201 Workarea nao indexada

30 Nov 2015 19:07

Eu modifiquei o código para OrdSetFcus("nome da tag") e até agora está funcionando sem erro.

Error LETO/1201 Workarea nao indexada

30 Nov 2015 21:56

Apenas suposição:
Talvez a macro no nome do índice tenha causado falha na conversão do #include.
Postar uma resposta