Consultor Eletrônico



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