FwSx3Util

Classe utilitaria pra ler/manipular dicionario SX3 (campos das tabelas). Substitui acesso direto via DBSelectArea("SX3").

Assinatura: FwSx3Util():getColumns(cAlias) -> aColunas

Retorna: object

FwSx3Util e a forma moderna de ler dicionario SX3 (campos das tabelas Protheus). Encapsula o acesso e oferece metodos uteis.

Metodos comuns

Local oSx3 := FwSx3Util():New()

// Lista todos os campos de uma tabela
Local aCampos := oSx3:GetColumns("SA1")
// Retorna array com info de cada campo

// Pega tamanho de um campo (alternativa a TamSx3)
Local nTam := oSx3:GetSize("A1_NOME")

// Tipo do campo
Local cTipo := oSx3:GetType("A1_CGC")  // "C", "N", "D", "L", "M"

// Descricao (X3_TITULO)
Local cDesc := oSx3:GetDescription("A1_NOME")

TamSx3 vs FwSx3Util

TamSx3() e funcao classica que retorna array [tamanho, decimais, tipo]:

// Classico:
Local aDef := TamSx3("A1_COD")
Local nTam := aDef[1]
Local nDec := aDef[2]
Local cTipo := aDef[3]

// Moderno:
Local oSx3 := FwSx3Util():New()
Local nTam := oSx3:GetSize("A1_COD")

Quando usar FwSx3Util

Exemplos

Tamanho de campo

Local nTam := FwSx3Util():New():GetSize("A1_NOME")

Veja também