Usina BRAdvPL Guia
Entrar
← Todos os tópicos
FUNçãOEm revisão

FieldPut

FieldPut( nPos, xValue ) --> xRet

Atribui valor tipado ao campo de um registro bloqueado.

FieldPutAdvPL
01 · VISÃO GERAL

Visão geral

FieldPut exige valor compatível com o campo e bloqueio do registro, como uma atribuição direta. O retorno é o valor atribuído, não uma confirmação completa de negócio. O fonte GitHub altera o quinto campo de SA1 e não testa o resultado de RecLock; a adaptação utiliza somente tabela própria, localiza o campo por nome, verifica tipo/tamanho e só escreve após obter o lock. O trecho não substitui validações e tratamento de erro da rotina completa. EDTRB é um alias próprio de teste já aberto; ED_COD, quando usado, é campo caractere de tamanho 10 do esquema didático. (TOTVS, s.d., ref. 1)

02 · SINTAXE

Sintaxe

FieldPut( nPos, xValue ) --> xRet

Parâmetros

nPos
NuméricoObrigatório

Posição válida do campo.

xValue
QualquerObrigatório

Valor compatível com tipo e tamanho.

Retorno

Valor atribuído; Nil se o número do campo for inválido.

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed385()
    Local nPosicao
    Local aEstrutura
    Local cValor := "AMOSTRA"
    If Select("EDTRB") > 0
        nPosicao := EDTRB->(FieldPos("ED_COD"))
        If nPosicao > 0 .And. !EDTRB->(Eof())
            aEstrutura := EDTRB->(DBStruct())
            If aEstrutura[nPosicao,2] == "C" .And. aEstrutura[nPosicao,3] >= Len(cValor)
                // Escrever somente no registro de teste bloqueado.
                If RecLock("EDTRB", .F.)
                    EDTRB->(FieldPut(nPosicao, cValor))
                    EDTRB->(MsUnlock())
                EndIf
            EndIf
        EndIf
    EndIf
Return Nil
Resultado esperado

Atribuição de texto fictício apenas se os requisitos forem atendidos; sem teste de persistência em Protheus. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Usar somente tabela própria de teste com estrutura conhecida. Qualificar alias, conferir posição do registro e administrar alterações de contexto conforme o contrato do chamador.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. FieldPut. TDN. Consulta em 2026-10-26.
  2. EURAI. ADVPL/Funcoes/Acesso a Dados/FieldPut.PRW. universo_do_desenvolvedor_site, commit a5c83e9490302bdb4a0fc5a9d92c2d569a60773c. Exemplo analisado. Consulta em 2026-10-26.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha