Tempo aproximado para leitura: 00:02:43 min
Ocorrência
Ao executar a rotina apresenta erro de CRC - Cyclic Redundancy Check em ambiente com banco de dados Oracle.
Ambiente
Framework - Framework (Linha Datasul) - Oracle - Todas as versões
Causa
A mensagem de CRC ocorre por alguns motivos:
- A definição da tabela no seu banco - Schema Holder está diferente da definição do banco de expedição da TOTVS Datasul;
- Ou o programa está desatualizado.
Solução
Para solucionar essa ocorrência verifique a definição da tabela no Schema Holder do Progress está igual a definição do banco oficial da mesma release do ambiente do cliente. Para isso, analise as seguintes informações:
1) Confira o owner da tabela no banco Oracle, exemplo a tabela EXT_TIT_ACR:
select owner from dba_tables where table_name= EXT_TIT_ACR;
2) Dump de definições da tabela do Schema Holder:
3) Scripts da tabela do Oracle;
4) Veja se há dados na tabela, caso não tiver dados, basta recriar a tabela no Schema Holder e no Oracle, ajustando o owner conforme consultado no item 1 seguindo o exemplo abaixo para a definição:
DROP TABLE "ext_tit_acr" TYPE ORACLE
ADD TABLE "ext_tit_acr" TYPE ORACLE
AREA "Schema Area"
DESCRIPTION "Extensão Título Contas Receber"
LABEL "Extensão Título Contas Receber"
DUMP-NAME "fin01130"
FOREIGN-NAME "EXT_TIT_ACR"
FOREIGN-OWNER "ems5mov"
FOREIGN-TYPE "TABLE"
PROGRESS-RECID 22
.
.
.
PSC
cpstream=ISO8859-1
.
0001298511
5) Havendo dados, é necessário investigar o histórico de atualização através do Portal de Atualização. O Suporte irá auxiliar na identificação de qual pacote alterou a tabela. É necessário enviar as informações dos itens 1, 2 e 3, além de informar a versão do ambiente, que pode ser o Extrato de Versão.
6) A tabela do Schema Holder pode ser recriada igual ao banco oficial da release conforme o item 4, respeitando o owner do ambiente do cliente. Schema Holder não guarda dados, por isso, a tabela pode ser recriada;
7) Para a tabela no banco Oracle, é necessário analisar sua estrutura verificando o que está faltando. Ao identificar a diferença, o Suporte verificará qual pacote continha a alteração e analisará, no histórico de atualização, o motivo de essa modificação não ter sido executada corretamente no Console de Atualização, em etapas como a Preparação de Dicionário e/ou Correção de Dicionário. Uma vez identificado o problema, será necessário retornar ao pacote e aplicar manualmente o arquivo .sql para corrigir a tabela. Importante: deve-se analisar se mais alguma tabela ou banco de dados também ficou sem a devida atualização;
8) Se estiver tudo correto com o dicionário, verificar se o programa que apresenta da tela de erro é do último pacote atualizado e se o Propath do ambiente está conforme o artigo a ordem correta do Propath.
Saiba mais
Como deve ficar o Propath no ambiente: Framework - Linha Datasul - TEC - Ordem dos diretórios no Propath
Como fazer dump de definições do item 2: Framework - Linha Datasul - TEC - Como gerar um dump de definições de uma tabela Progress
Informações adicionais no KBase da Progress OpenEdge em Cyclic Redundancy Check Explained
0 Comentários