Kbase 51768: Informações sobre a conversão do DOUBLE para DECIMAL (Progress) - GFE
Autor |
  Marco Aurelio Scheidt - CAT |
Acesso |
  Público |
Publicação |
  12/21/2016 |
|
O GFE quando utiliza banco de dados Progress em alguns casos se faz necessário converter o tipo de dados DOUBLE para DECIMAL, para isso foi criado um programa que gera um script de alteração que está descrito no kbase abaixo:
Importante: precisando de alteração na estrutura das precisa executar o aplicativo APSDU, para recriar a tabela conforme a estrutura da versão do sistema.
Conversão campo DOUBLE para DECIMAL - GFE
http://ingleses.datasul.com.br/eConsultor/Pesquisa/kbase_Det.aspx?kbid=51875
Lembrando que deve ser analisado o script gerado pelo programa e verificar se durante a execução não gera erro.
Algumas colunas definidas para o Protheus no Progress possuem como INITIAL o valor ?, não sendo válido para valor DEFAULT.
Exemplo comando errado:
ALTER TABLE PUB.GW3010
ADD GW3_BASPIS DECIMAL(12,2) DEFAULT ? NOT NULL;
Deve ser alterado para DEFAULT 0.000000 ou retirar a definição do DEFAULT, conforme orientação do desenvolvimento do GFE Protheus.
ALTER TABLE PUB.GW3010
ADD GW3_BASPIS DECIMAL(12,2) DEFAULT 0.000000 NOT NULL;
ou
ALTER TABLE PUB.GW3010
ADD GW3_BASPIS DECIMAL(12,2) NOT NULL;
Após a geração do arquivo e a execução no banco de dados Progress, precisa verificar se o ambiente se encontra atualizado para reconhecer as alterações.
1) O DBACCESS precisa estar atualizado com a última versão, pois versões antigas não reconhecem o tipo de dados DECIMAL
2) Para habilitar o uso em uma conexão com o OpenEdge, deve-se inserir a configuração EnableDecimal=1 na seção da conexão no arquivo dbaccess.ini, ou utilizar o DBAccess Monitor para habilitar esta funcionalidade.
http://tdn.totvs.com/display/tec/Melhoria+-+Utilizar+campo+DECIMAL+no+DBAccess+com+OpendEdge+SQL