Dúvida
DBSetOrder - Index not found: FWSCHEDULE Order Number: 1 on FWTABLEDDL:OPENTABLE(FWTABLEDDL.PRX) , como tratar?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL – Todas versões
Solução
O erro DBSetOrder pode ocorrer quando há dois RPO´s (repositórios) apontando para a mesma pasta de dicionário de dados (RootPath\StartPath), onde um RPO (repositório) está mais atualizado que o outro, fazendo com que de divergência na criação dos índices.
Lembrando que é recomendável, quando utilizar mais de um ambiente, apontar cada RPO (repositório) para uma pasta System diferente, ou seja, no arquivo .ini, utilizar uma pasta "RootPath=" diferente para cada ambiente que tiver RPO (repositório) diferente.
Para corrigir este erro é necessário separar o SYSTEM dos ambientes ou efetuar a atualização do RPO (repositório) + UPDATE + LIB da base de produção e base de teste (ambas devem estar com a mesma data).
Observação
Após a correção faça o seguinte:
- Pare o Protheus;
- Acesse a pasta protheus_data e renomeie a pasta semáforo;
- Entre na pasta System;
- Renomeie os arquivos xx1, xx2,xx3.dbf ou .dtc;
- Apague o arquivo xx1,xx2,xx3.cdx;
- Apague o conteúdo da pasta %TEMP% do sistema OP;
- Remova da pasta system para uma pasta de backup os arquivos: _schedtsk.dbf ou .dtc, .fpt e .cdx, sxh.dtc .fpt, .dbf e .cdx;
- Reinicie o Protheus; e
- Faça novo teste acessando o Configurador / Schedule.
Destes arquivos que estamos realizando o procedimento, os únicos que precisam ser appendados nas novas tabelas criadas são os arquivos xx1, xx2 e xx3 os demais não são necessários.