Tempo aproximado para leitura: 00:01:30 min
Ocorrência
Ao acessar o Menu TOTVS Agro Bioenergia e tentar iniciar o módulo de Apontamentos de Atividades e Recursos - APT_ATRC, o carregamento da aplicação é interrompido apresentando uma caixa de diálogo com o seguinte erro em tela: Application ErrorArray reference out of bounds.
Ambiente
TOTVS Agro – TOTVS Agro – Bioenergia – Aptos Atividades Recursos - APT_ATRC – Versão 12
Causa
Este erro ocorre em decorrência da existência de objetos na tabela PMAUTORIDADES dos quais não existe cadastro correspondente na tabela PMOBJETOS. Ao carregar as permissões e componentes da tela durante a inicialização, a aplicação tenta referenciar esses registros órfãos sem correspondência nas definições de formulários CD_APLICAT, CD_OBJCHILD, CD_OBJFORM, resultando em estouro de índice de array em memória.
Solução
Para corrigir a inconsistência, realize a validação e o tratamento dos registros órfãos na tabela PMAUTORIDADES seguindo os passos abaixo no banco de dados:
Verificação dos registros órfãos:
Conecte-se com o usuário do schema da base PIMS CS e execute a consulta para identificar os registros inconsistentes:
SQL:SELECT * FROM PMAUTORIDADES A WHERE NOT EXISTS ( SELECT 1 FROM PMOBJETOS B WHERE A.CD_APLICAT = B.CD_APLICAT AND A.CD_OBJCHILD = B.CD_OBJCHILD AND A.CD_OBJFORM = B.CD_OBJFORM );Backup dos registros identificados:
Crie uma tabela de contingência para armazenar os dados identificados antes da exclusão:
SQL:CREATE TABLE BKP_PMAUTORIDADES_ORFAOS_20260303 AS SELECT * FROM PMAUTORIDADES A WHERE NOT EXISTS ( SELECT 1 FROM PMOBJETOS B WHERE A.CD_APLICAT = B.CD_APLICAT AND A.CD_OBJCHILD = B.CD_OBJCHILD AND A.CD_OBJFORM = B.CD_OBJFORM );Exclusão dos registros órfãos:
Remova os registros sem vínculo da tabela
PMAUTORIDADESe confirme a transação:SQL:DELETE FROM PMAUTORIDADES A WHERE NOT EXISTS ( SELECT 1 FROM PMOBJETOS B WHERE A.CD_APLICAT = B.CD_APLICAT AND A.CD_OBJCHILD = B.CD_OBJCHILD AND A.CD_OBJFORM = B.CD_OBJFORM ); COMMIT;
0 Comentários