Utilização SM0 - oSigamatX

Boa tarde, Alguém sabe explicar o que é a função/classe oSigamatX ?

O que ela faz e se podemos utilizar ela igual é feito nos fontes nfsexmlenv.prw ?

cSigamat := if( type( "oSigamatX" ) == "U",SM0->M0_CODMUN,oSigamatX:M0_CODMUN )

cCidCob := if( type( "oSigamatX" ) == "U",SM0->M0_CIDCOB,oSigamatX:M0_CIDCOB )

cIDEnt := if( type( "oSigamatX" ) == "U",SM0->M0_CIDENT,oSigamatX:M0_CIDENT )

Grato.

Josuel,

Você não deve utilizar dessa classe/objeto, ela inclusive é apenas uma estrutura (seria uma struct em C), não possui métodos, documentação etc.

Essa implementação não está de acordo com a regras do CodeAnalysis (fora a grande perda de performance por conta da quantidade de uso da função Type), o acesso a SM0 deve ser feito vias as API, funções e classes que o framework disponibiliza.

Para acessar os dados da SM0, hoje existe a classe FWSM0Util:

https://tdn.totvs.com/display/PROT/FWSM0Util