A tabela SM0 armazena informações relacionadas às filiais da empresa do ERP TOTVs Protheus. Ela funciona como um cadastro de filiais, onde são armazenados dados como endereço, CNPJ, inscrição estadual, entre outras informações relevantes para cada filial.
Atualmente, com o dicionário de dados migrado para dentro do banco de dados, esses dados não devem mais ser acessados diretamente, sendo disponibilizadas funções para esse isso.
A classe FWSM0Util possui o método GetSM0Data() onde é possível informar o código da empresa, o código da filial e quais campos você deseja buscar a informação. A função retorna um array com os campos informados.
No exemplo abaixo é mostrado como recuperar o Nome, CNPJ/CPF e Cidade do cadastro da filial 01 da Empresa 99 de teste:
User Function fBuscaSM0()
Local aFieldSM0 := { ;
"M0_CODIGO",; //Posição [1]
"M0_CODFIL",; //Posição [2]
"M0_NOMECOM",; //Posição [3]
"M0_CGC",; //Posição [4]
"M0_INSCM",; //Posição [5]
"M0_CIDENT",; //Posição [6]
"M0_ESTENT",; //Posição [7]
"M0_ENDENT",; //Posição [8]
"M0_BAIRENT",; //Posição [9]
"M0_CEPENT",; //Posição [10]
"M0_COMPENT",; //Posição [11]
"M0_TEL"; //Posição [12]
}
Local aSM0Data2 := {}
aSM0Data2 := FWSM0Util():GetSM0Data("99", "01", aFieldSM0)
If Len(aSM0Data2) > 0
Alert(aSM0Data2[3][2]) //M0_NOMECOM
Alert(aSM0Data2[4][2]) //M0_CGC
Alert(aSM0Data2[6][2]) //M0_CIDENT
EndIf
Return
Outra forma de utilização é mostrada no exemplo abaixo, onde a função retorna todos os campos presentes na SM0 daquela filial:
User Function f2BuscaSM0()
Local aSM0Data2 := {}
aSM0Data2 := FWSM0Util():GetSM0Data("99", "01")
Return
Adicionar comentário