Error LETO/1201 Workarea nao indexada

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Error LETO/1201 Workarea nao indexada

Mensagem por asimoes »

Alguém pode dar uma luz para esse problema:

Error LETO/1201 Workarea nao indexada

O problema acontece no dbseek

Código: Selecionar todos

   ADMSAUDE->(OrdSetFocus(3))
   IF ADMSAUDE->(DbSeek(cVar))
A abertura da tabela está assim:

Código: Selecionar todos

  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
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Error LETO/1201 Workarea nao indexada

Mensagem por Mario Mesquita »

Boa tarde.

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

Sds,
Mario.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Error LETO/1201 Workarea nao indexada

Mensagem por asimoes »

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.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Error LETO/1201 Workarea nao indexada

Mensagem por Mario Mesquita »

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.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Error LETO/1201 Workarea nao indexada

Mensagem por asimoes »

Mário,

O indice é cdx, inclusive eu até uso SET AUTOPEN ON só para garantir a abertura automática
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Error LETO/1201 Workarea nao indexada

Mensagem por asimoes »

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.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Error LETO/1201 Workarea nao indexada

Mensagem por Toledo »

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: Selecionar todos

SELE ADMSAUDE
? OrdSetFocus(1)
? OrdSetFocus(2)
? OrdSetFocus(3)
? OrdSetFocus(1)
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Error LETO/1201 Workarea nao indexada

Mensagem por asimoes »

Olá Toledo,

Depois de aberta a tabela eu fiz este teste:

Código: Selecionar todos

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))
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Error LETO/1201 Workarea nao indexada

Mensagem por Jairo Maia »

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...
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Error LETO/1201 Workarea nao indexada

Mensagem por JoséQuintas »

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

No hbnetio é diferente:

Código: Selecionar todos

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Error LETO/1201 Workarea nao indexada

Mensagem por Itamar M. Lins Jr. »

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: Selecionar todos

[MAIN]
Port = 2812              
Logfile = "letodb.log"   
DEFAULT_DRIVER = CDX     
DATAPATH = c:\clientes\lojaxyz\
...
Eu fiz uma checagem extra neste caso...

Código: Selecionar todos

      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.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Error LETO/1201 Workarea nao indexada

Mensagem por asimoes »

Eu modifiquei o código para OrdSetFcus("nome da tag") e até agora está funcionando sem erro.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Error LETO/1201 Workarea nao indexada

Mensagem por JoséQuintas »

Apenas suposição:
Talvez a macro no nome do índice tenha causado falha na conversão do #include.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder