ADVPL - DBSetOrder - Index not found: FWSCHEDULE Order Number: 1 on FWTABLEDDL:OPENTABLE(FWTABLEDDL.PRX)

O erro DBSetOrder pode ocorrer quando há dois RPO´s apontando para a mesma pasta de dicionário de dados (RootPath\StartPath), onde um RPO 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 para uma pasta System diferente, ou seja, no arquivo .ini, utilizar uma pasta "RootPath=" diferente para cada ambiente que tiver RPO diferente.

Para corrigir este erro é necessário separar o SYSTEM dos ambientes ou efetuar a atualização do RPO + UPDATE + LIB da base de produção e base de TESTE (ambas devem estar com a mesma data).

Com a atualização da Lib, já existe uma proteção quanto ao cenário acima:

http://tdn.totvs.com/pages/viewpage.action?pageId=268816127 


Obs.: 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;


- Faça novo teste acessando o Configurador / schedule;

Obs.: 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.


Atualizado em 14/05/2021
Este artigo foi útil?  
Agradecemos sua avaliação.