Clipper On Line • Ver Tópico - Índice corrompido LETODB

Índice corrompido LETODB

Discussão sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

 

Índice corrompido LETODB

Mensagempor jelias » 28 Mai 2020 09:14

Prezados amigos,

Estou usando LETODB 2.17b (deamon) com xHarbour 1.2.1. Um arquivo do sistema, somente um, em determinada rotina está corrompendo o índice, ou seja, o lançamento do registro no banco de dados é feito corretamente, todavia no relatório não aparece as informações.
O grande problema deste mistério é que acontece esporadicamente, talvez uma vez por mês, no máximo duas vezes por mês e todos os dias é feito lançamento no banco de dados e na maioria das vezes tudo ocorre perfeitamente, sem erros.
É muito estranho a fato ocorrido, visto que todos os dias são emitidas muitas notas fiscais com vários itens e o sistema é grande com muitos arquivos e só este arquivo corrompe o CDX.
A maioria dos lançamentos do caixa não é feito por esta rotina, e nunca deu problema. Esta rotina contempla um processamento de carga e faz automaticamente o lançamento do caixa, evitando retrabalho do usuário.
Quando faço a reindexação do arquivo, tudo volta ao normal.

Segue onde ocorre a gravação no banco de dados.
O arquivo corrompido é o alias AL_CXLAN

   sele AL_DEBIT
   DBSETORDER(1)
   DBSEEK(AL_ACERT->codigo)
   do whil (!EOF() .and. codigo=AL_ACERT->codigo)
      vLan=STRZERO(VAL(vLan)+1,8)
      sele AL_CXLAN
      ADDREC(10)
      repl codigo with AL_CAIXA->codigo
      repl nomeca with AL_CAIXA->nomeca
      repl datala with vDat
      repl saldod with AL_CAIXA->saldod
      repl lancam with vLan
      repl tipodo with "01"
      repl classi with "01"
      repl valord with AL_DEBIT->valorc
      repl tipomo with "M"
      repl operac with "C"
      repl contan with AL_DEBIT->contan
      repl codhis with AL_DEBIT->codhis
      repl texto1 with AL_DEBIT->texto1
      repl texto2 with AL_DEBIT->texto2
      repl texto3 with AL_DEBIT->texto3
      DBCOMMIT()
      DBUNLOCK()
      sele AL_DEBIT
      skip
   end


Saudações,

Júlio.
xHarbour 1.2.1 (simplex) + BCC 5.8.2 + Hwgui + SQLRDD
Clipper 5.2e / Blinker 7
Júlio Cézar Elias
e-mail: jelias@tpnet.psi.br
jelias
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 249
Data de registro: 27 Ago 2008 11:32
Cidade/Estado: Minas Gerais
Curtiu: 0 vez
Mens.Curtidas: 16 vezes

Índice corrompido LETODB

Mensagempor Fernando queiroz » 31 Mai 2020 19:26

lembre-se que o LETO nao sabe qual arquivo voce esta manipulando, então coloque ALIAS em todas as funções

seek()
append()
skip()
rlock()

entre outras

nos nomes de campos
arquivo->campo
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes




Retornar para Banco de Dados

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro