Ajude o site desativando o bloqueador de anúncio

ASSINE A NEWSLETTER

Cadastrando...
PIX uDesenv pix deposito

FieldPut [AS]

Autor: Eurai Criado: 01/01/2016 Atualizado: 25/04/2025

Descrição

FieldPut [AS] - Permite definir o valor de um campo em uma tabela utilizando a posição ordinal do campo na estrutura da tabela.

 

Sintaxe

FieldPut( <nCampo>, <xValorAtt> )

 

Parâmetros


Par Nome Tipo Descrição Default Obg Ref
01
nCampo
Numérico
Indica à posição ordinal do campo do alias/tabela atuais
  X  
02 xValorAtt
Indefinido
Indica o valor que será atribuído no campo especificado. O tipo do parâmetro informado deve corresponder ao tipo do campo a ser atribuído
  X  

 

Retorno

Retorno Tipo Descrição
xRet Indefinido
Retorna o valor atribuído no campo, especificado como segundo parâmetro da função ( xValorAtt). Caso o número do campo não seja válido, a função retorna NIL

 

Exemplo

#INCLUDE "TOTVS.CH"
 
User Function FieldPut()
 
dbSelectArea('SA1')
 
RecLock('SA1',.F.)
 
	FieldPut( 5, 'EURAI RAPELLI - ADVPL' )
 
SA1->( MsUnlock() )
 
MsgInfo( FieldGet( 5 ), 'UniversoADVPL' )
 
Return( Nil )

Resultado
fieldput_-_resultado_01                                       

 

 

Informações adicionais

FieldPut() é uma função de banco de dados que atribui o valor de uma expressão a um campo da tabela atual, informado a partir da posição ordinal deste na estrutura da tabela. Através dela, podemos atribuir um valor a um campo utilizando a sua posição na estrutura ao invés do nome do campo. Isto facilita a criação de funções genéricas para serviços de manipulação de dados, entre outras aplicações, permite setar um conteúdo a um campo sem a utilização do operador de macro-execução

FieldPut() é uma função de banco de dados que atribui o valor de uma expressão a um campo da tabela atual, informado a partir da posição ordinal deste na estrutura da tabela. Através dela, podemos atribuir um valor a um campo utilizando a sua posição na estrutura ao invés do nome do campo. Isto facilita a criação de funções genéricas para serviços de manipulação de dados, entre outras aplicações, permite setar um conteúdo a um campo sem a utilização do operador de macro-execução

Da mesma forma que uma atribuição direta, o registro atualmente posicionado deve estar bloqueado (LOCK) para permitir a atribuição do novo valor.

O tipo do segundo parâmetro informado para a função (xValorAtt) deve corresponder ao tipo do campo da base de dados, caso contrário a aplicação será finalizada com a ocorência de erro "Expected <type> expression on fieldput", onde <type> indica o tipo esperado de acordo com o campo: boolean para tipo lógico, date para tipo data, numeric para tipo numérico e string para tipos caractere e/ou memo

 

 

Comportamento/Compatibilidade

Caso o tipo do campo na base de dados seja data, e o parâmetro informado seja uma string (caractere), a função espera receber uma string contendo uma data no formato AAAAMMDD (ano com 4 dígitos, seguido do mês e dia, ambos com 2 dígitos), e neste caso, será realizada a atribuição da data correspondente na base de dados. Caso a string não corresponda a uma data válida, a aplicação será interrompida com uma mensagem de ocorrência de formato inesperado, diferenciada para cada RDD.

Por exemplo , a ocorrência "TopConn – Error – field value size is not 8 – on SetField -" será disparada caso tente ser feita uma atribuição a um campo do tipo "data" na base de dados, quando seja informado como parâmetro uma string que não tenha 8 bytes em seu conteúdo. Vale ressaltar que este comportamento foi mantido por compatibilidade com versões anteriores ao ERP Microsiga Protheus, e por questões de boas práticas de programação, é recomendado que seja respeitada a premissa de fornecer à função um argumento compatível com o tipo do campo na base de dados

 

 

Gostou? Compartilhe com seus amigos e deixe um comentário! 😎  

 

 

 

Discussão (0)

Sem comentários ainda

Realize o LOGIN no site para poder comentar