Esta build contém uma correção do statement de alteração de tabela. 

A informação contida neste documento aplica-se ao TOTVS | DBAccess, build 42.20120327 e superiores.

SituaçãoEm alterações de estruturas com redução do tamanho de uma coluna do tipo caractere, o statement utilizado possuia o caractere “)” a mais, o que tornava a instrução inválida.
Ocorrência

Quando habilitado a configuração para otimização das operações de alteração de estrutura através das chaves ForceAlterTable e CleanAddFields e se houvesse a redução do tamanho de uma coluna do tipo caractere, a aplicação construia um o statement inválido com um caractere “)” a mais.

Por fim, o evento é registrado no log do TOTVS | Application Server:

Error - tTCAlter - STATEMENT FAILED - DB error -19

E registrado no log do TOTVS | DBAccess:

30/08/2012 16:08:02 : Error : -201 (37000) (RC=-1) - [Informix][Informix ODBC Driver][Informix]A syntax error has occurred. ( From tInformixConnection::AlterTable(3) )
Thread ID [15500]	User [eduardo.costa]	IO [38]	Tables [0]	MaxTables [1]	Comment []	Status []	SP [ ]	Traced [Yes]	InTran [No]	DBEnv [INFORMIX/dbaccess_informix]	DBThread [(SID: 56) ]	Started [30/08/2012 16:07:53]	LastIO []	IP [172.16.84.64]	RCV [2102]	SND [1055]	TCBuild [20110117]	
UPDATE informix.TESTE SET CPO_CHR =  nvl( substr(CPO_CHR,1,40)) , '                                        ' ) ,CPO_NUM = cast(round( TMPC3,0) as varchar(15)),CPO_DTA = '        ',CPO_LOG = ' ' WHERE R_E_C_N_O_ > 0 AND R_E_C_N_O_ <= 4096
30/08/2012 16:08:02 : ExecInBlocks operation FAILED. Processed 0 of 10 record(s). ( From tInformixConnection::AlterTable(3) )
Thread ID [15500]	User [eduardo.costa]	IO [38]	Tables [0]	MaxTables [1]	Comment []	Status []	SP [ ]	Traced [Yes]	InTran [No]	DBEnv [INFORMIX/dbaccess_informix]	DBThread [(SID: 56) ]	Started [30/08/2012 16:07:53]	LastIO []	IP [172.16.84.64]	RCV [2102]	SND [1055]	TCBuild [20110117]
CorreçãoCorrigido o statement utilizado para a alteração de tabelas.
Informação AdicionalCorreção referente ao chamado: TEZFAB.