Tempo aproximado para leitura: 00:04:20 min
Dúvida
O que fazer quando ocorrer o erro na reinstalação da procedure 19:
THREAD ERROR ([XXXXX],
TR201SP: TOP Error -19 - Field [B2_VATU1] not found for table [TR201SP].
( From tISAMFile::CreateIndex )
Thread ID [XXXX] User [Administrador] IO [XXXXX] Tables [XX] MaxTables [XX] Comment [CFGX051 - TCPIP - ThreadID(XXXXX)] SP [ ] Traced [No] SQLReplay [No] InTran [No] DBEnv [MSSQL/NOME_DO_AMBIENTE] DBThread [(SPID 101,110,294)] Started [10/11/2023 00:01:00] IP [192.168.0001] IDLE [ ] InTransact [ ] Memory [0] Running [ROP_CREATEINDEX for 0 s.] RCV [XXXXX] SND [XXXXXXX] TCBuild [20230303-20230929] TCVersion [23.1.1.0] ARCH [64] OS [WINDOWS] BUILD [RELEASE]
on A330CRTABS(MATA330.PRX) 20/09/2023 09:52:14 line : 13309
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Estoque/Custos - Todas as versões.
Solução
O erro apresentado indica que há um problema na criação de um índice na tabela [TR201SP], pois o campo [B2_VATU1] não foi encontrado.
Para validar e corrigir esse erro, é recomendável verificar a estrutura da tabela [TR201SP] no banco de dados, garantindo que o campo [B2_VATU1] esteja definido corretamente.
Também é possível checar se há um índice personalizado (não padrão) relacionado a essa tabela, pois pode ser que o índice em questão não esteja devidamente configurado ou tenha sido removido.
Esse processo deve ser avaliado pelo seu adminstrador de banco de dados.
Exemplo consultando o indice (em SQL Server):
SELECT * FROM SB2990
Selecione somente o nome da tabela, e pressione a tecla (ALT + F1), e sera retornado a seguinte informação:
Esse é o indice padrão atualmente tabela SB2 (datado em 2023/11/12)
| SB29901 | nonclustered located on PRIMARY | B2_FILIAL, B2_COD, B2_LOCAL, R_E_C_N_O_, D_E_L_E_T_ |
| SB29902 | nonclustered located on PRIMARY | B2_FILIAL, B2_LOCAL, B2_COD, R_E_C_N_O_, D_E_L_E_T_ |
| SB29903 | nonclustered located on PRIMARY | B2_FILIAL, B2_LOCAL, B2_QACLASS, R_E_C_N_O_, D_E_L_E_T_ |
| SB2990_PK | clustered, unique, primary key located on PRIMARY | R_E_C_N_O_ |
| SB2990_UNQ | nonclustered, unique located on PRIMARY | B2_FILIAL, B2_LOCAL, B2_COD, R_E_C_D_E_L_ |
Se em sua base de dados for diferente disso, a sugestão é que o seu DBA efetue o ajuste devido e deixe conforme padrão.
Como saberemos se o indice é ou não personalizado?
Essa questão é bem simples, pois o DBA sabera informar se ele é ou não personalizado ao validar os indices de sua base de dados, pois toda alteração em banco, tem registros e logs que podem ser consultados pelo mesmo.
Se mesmo após a avaliação, o erro persistir?
Basta encaminhar ao time de suporte, um print do select do indice da tabela SB2 em questão, bem como o error.log em anexo gerado, para que seja avaliado.
Essa mesma avaliação, pode ser feita para outros campos?
Sim, você pode utilizar da mesma analogia sob o erro apresentado, caso ele seja outros campos e tabelas, ao invés do B2_VATU1 e tabela TR2.
Pois o erro em SQL referente a "TOP Error -19 - Field" indica um problema relacionado à cláusula "TOP" em uma consulta. A cláusula "TOP" é comumente usada para limitar o número de linhas retornadas em um conjunto de resultados. O código de erro -19 sugere que há uma discrepância ou uma inadequação no campo especificado na cláusula "TOP". Isso pode ocorrer devido a um campo inexistente, malformado ou incompatível com a operação de classificação ou para o indice nesse caso.
Saiba mais:
Clique aqui e veja mais artigos sobre Custos no Estoque
0 Comentários