Função de Retorno de Informações dos Campos do Protheus (Sx3)

Função de Retorno de Informações dos Campos do Protheus (Sx3)

Em muitas customizações AdvPL, temos que obter algumas informações referentes aos campos (Sx3), do Protheus.

Entre tais informações, precisamos saber o tamanho (total e decimal), tipo do campo, etc.

Para obter tais dados, podemos utilizar a função TamSx3.

A função TamSx3 é muito simples de ser utilizada, e retorna as informações, do campo passado como parâmetro.

Temos outras funções em AdvPL que retornam tais informações, porém é necessário posicionar, primeiramente, no Sx3, para obter tais informações.

Com o TamSx3, isso não é necessário, tal função já faz o posicionamento do campo informado no Sx3, retornando os dados.

Abaixo, segue a documentação do TamSX3:

NomeTipoDescriçãoRetorno
Nome do Campo do Sx3Caractere Nome do campo a ser consultado no Dicionário de Dados (SX3)Array de três posições contendo o tamanho, número de decimais e tipo do
campo especificado, respectivamente.

A utilização da função é muito simples. Basta passar o nome do campo, como parâmetro da função, que receberemos o Array com os dados desejados

Segue um exemplo de uso da função TamSx3

#Include 'Protheus.ch'

User Function SSTamSx3()

  //Variavel Local
  Local aInfoCPO 	:= TamSx3('F1_DOC')

  //Mensagens com as Informacoes do Campo
  MsgInfo( "Tamanho do Campo: "  	   + cValToChar(aInfoCPO[1]))
  MsgInfo( "Tamanho do Decimal do Campo: " + cValToChar(aInfoCPO[2]))
  MsgInfo( "Tipo do Campo: "  		   + cValToChar(aInfoCPO[3]))

Return Nil

A função retorna um Array, com as seguintes informações:

  • Posição 01 – Tamanho do Campo;
  • Posição 02 – Quantidade de Decimais do Campo (se o campo for diferente de numérico, o retorno sempre será “0” (zero));
  • Posição 03 – Tipo do Campo. C = Caractere, D = Data, N = Numérico, L = Lógico e M = Memo.

O uso do TamSx3 deixa a nossa customização totalmente compatível com os dados do Protheus, já que, se amanhã por algum motivo a ToTvs alterar o tamanho do campo usado em nosso fonte, automaticamente a nossa função fará uso do tamanho correto do campo.

Com isso evitamos retrabalho, e problemas na nossa customização, oriundas da alteração do campo.

A função TamSx3 é muito útil aos analistas em suas customizações, e com o simples uso da mesma, teremos customizações mais eficazes e que agregam valor ao nosso trabalho.

Para realizar o download do nosso fonte de exemplo, basta acessar o nosso GitHub, ou clique aqui.

Caso ainda não tenham se inscrito no Canal Smart Siga, ou em nossas mídias sociais, ou em nosso GitHub, aproveitem para se cadastrar agora, pois assim, vocês recebem em primeira mão, todas as novidades do nosso site.

Aproveitem também, para ingressar em nosso Canal do Smart Siga no Telegram. Para tanto acessem: https://t.me/smartsiga.

Smart Siga - TI Inteligente

 

Compartilhe:
  •  
  •  
  •  

2 thoughts on “Função de Retorno de Informações dos Campos do Protheus (Sx3)

  1. Esta é uma das funções subutilizadas do Protheus e que, em determinados clientes, podem gerar uma dor de cabeça grande quando o cliente muda o tamanho do campo no meio do projeto.

    Valeu aí pelo post Christian!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Seja um Analista VIP!!!

Recebe em primeira mão as novidades do Canal Smart Siga, além de conteúdos exclusivos.