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
- Codigo TLPP novo
- Quando precisa de varios atributos do mesmo campo (evita N chamadas TamSx3)
- Pra iterar todos os campos de uma tabela
Exemplos
Tamanho de campo
Local nTam := FwSx3Util():New():GetSize("A1_NOME")