Árvore de páginas

TopConn - Error - field value size is not 8 - on SetField - Field: <f> Table: <t> Value: <x>

Esta ocorrência é reproduzida quando da tentativa de atualização de um campo do tipo "D" (data) com um conteúdo do tipo C (Caractere), através da função FieldPut(), quando a string especificada com a data não está no formato ANSI (AAAAMMDD), em uma tabela aberta com a RDD TOPCONN.

A função FieldPut() permite a atualização de um determinado campo de uma tabela a partir da posição do campo na estrutura. Por compatibilidade, é possível especificar um conteúdo do tipo "C" (caractere) para um campo do tipo "D" (data) usando a função FieldPut(). Porém, neste caso, a string obrigatoriamente deve conter uma data no formato AAAAMMDD, com 8 bytes. Para especificar uma data vazia, é possível especificar uma string com 8 espaços em branco.

Caso a string informada não contenha 8 bytes, a aplicação AdvPL é interrompida com a ocorrência de erro acima, informando o campo a ser atualizado, a tabela e o conteúdo inválido que seria utilizado para a atualização. Vide exemplo do registro desta ocorrência abaixo: 

Importante

Este comportamento de tratamento automático foi mantido por compatibilidade e está sujeito a descontinuidade em versões futuras. A função FieldPut() deve passar um argumento do mesmo tipo de campo a ser atualizado na base de dados.

 

/*------------------------------------------------------- ERRO THREAD ([-167453792], WBESCONSTRUCAO0182, THIS)   23/02/2011   13:09:53Stack :TopConn - Error - field value size is not 8 - on SetField - Field: E2_DATASUS Table: SE2010 Value:  in file ./lib/top.cpp at line 743 on AXINCLUIAUTO(MATXFUNB.PRX) 03/01/2011 17:45:59 line : 4609

 

Normalmente, uma ocorrência desta natureza é reproduzida quando o programa erroneamente está atribuindo o valor de uma variável de memória a outro campo da base de dados. O código-fonte AdvPL deve ser verificado para certificar-se que o conteúdo da variável em uso e/ou argumento da função FieldPut() seja do mesmo tipo do dado suportado pelo campo criado na tabela.

  • Sem rótulos