📌 Consultando SM0 no Protheus — Exemplos Práticos com cEmpAnt, cFilAnt e xx_FILIAL
Salve salve, blz? 😄
A seguir, algumas formas eficientes de buscar informações da tabela SM0 utilizando cEmpAnt, cFilAnt ou mesmo xx_FILIAL. Esses exemplos podem ajudar bastante ao trabalhar com multiempresa e multifilial no Protheus 🔍.
aEmpresas := FWLoadSM0()
cM0CGC := ''
nPos := aScan( aEmpresas, { |UD| UD[02] == cFilAnt } )
If nPos > 0
cTenantId := aEmpresas[nPos, SM0_GRPEMP] + ',' + aEmpresas[nPos, SM0_CODFIL]
cSM0_NOME := aEmpresas[nPos, SM0_NOMRED]
cM0CGC := aEmpresas[nPos, SM0_CGC]
Endif
// Irá retornar todos os dados da Filial logada em um array bidimensional
FWSM0Util():GetSM0Data()
FWSM0Util():GetSM0Data()[1][1]: "M0_CODIGO"
FWSM0Util():GetSM0Data()[1][2]: "99"
// Retorna a razão social
FWSM0Util():getSM0FullName("99", "01")
// Retorna os dados solicitados.
// Array de 3 posições, contendo Nome + Valor
FWSM0Util():GetSM0Data(cEmpAnt, cFilAnt, {'M0_CODIGO','M0_CODFIL','M0_CGC'} )
FWSM0Util():GetSM0Data(cEmpAnt,cFilAnt, {'M0_CODIGO','M0_CODFIL','M0_CGC'} )[1]: Array {size=2}
FWSM0Util():GetSM0Data(cEmpAnt,cFilAnt, {'M0_CODIGO','M0_CODFIL','M0_CGC'} )[1][1]: "M0_CODIGO"
FWSM0Util():GetSM0Data(cEmpAnt,cFilAnt, {'M0_CODIGO','M0_CODFIL','M0_CGC'} )[1][2]: "99"
FWSM0Util():GetSM0Data(cEmpAnt,cFilAnt, {'M0_CODIGO','M0_CODFIL','M0_CGC'} )[2]:
FWSM0Util():GetSM0Data(cEmpAnt,cFilAnt, {'M0_CODIGO','M0_CODFIL','M0_CGC'} )[2][1]: "M0_CODFIL"
FWSM0Util():GetSM0Data(cEmpAnt,cFilAnt, {'M0_CODIGO','M0_CODFIL','M0_CGC'} )[2][2]: "01 "
FWSM0Util():GetSM0Data(cEmpAnt,cFilAnt, {'M0_CODIGO','M0_CODFIL','M0_CGC'} )[3]:
FWSM0Util():GetSM0Data(cEmpAnt,cFilAnt, {'M0_CODIGO','M0_CODFIL','M0_CGC'} )[3][1]: "M0_CGC"
FWSM0Util():GetSM0Data(cEmpAnt,cFilAnt, {'M0_CODIGO','M0_CODFIL','M0_CGC'} )[3][2]: "00XXXXXX000WWW"
aEmpresas := FWSM0Util():GetSM0Data(cEmpAnt,cFilAnt, {'M0_CODIGO','M0_CODFIL','M0_NOMECOM','M0_CGC'} )
If Len(aEmp) >= 4
cTenantId := aEmpresas[01,02] + ',' + aEmpresas[02,02]
cSM0_NOME := aEmpresas[03,02]
cM0CGC := aEmpresas[04,02]
Endif
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎
Um abraço, e até a próxima! 👋
#protheus #advpl #sm0 #multifilial #multiempresa #fwsm0util #totvsprotheus #dicasadvpl #programacaoadvpl #consulta sm0 #fwloadsm0 #tabelasm0