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