nPosPosição válida do campo.
AdvPL GuiaFieldPut( nPos, xValue ) --> xRetAtribui valor tipado ao campo de um registro bloqueado.
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)
FieldPut( nPos, xValue ) --> xRetnPosPosição válida do campo.
xValueValor compatível com tipo e tamanho.
Valor atribuído; Nil se o número do campo for inválido.
#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 NilAtribuiçã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.
© 2026 Usina.BR. Todos os direitos reservados. TOTVS, Protheus, Microsiga e seus respectivos logotipos são marcas de seus titulares. O AdvPL Guia é independente e utiliza citações limitadas, atribuídas e justificadas por finalidade educativa. Consulte os Termos de Uso. Termos de Uso
Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.