Gostaria de uma ajuda com o método SetAlias() da classe FWMarkBrowse()

Quando eu passo uma tabela do banco, como por exemplo: SetAlias('SC2'), funciona perfeitamente, porem eu preciso fazer um filtro utilizando mais tabelas alem da C2, assim sendo eu tentei passar um Alias alimentado pelo BeginSql...EndSql, mas não funcionou.

Sabem me dizer se é possível passar um alias desta forma? Ou talvez eu tenha que tratar isto no próprio filtro...

Edit¹ Já estou tratando esta questão por uma outra função e passando para o método SetFilterDefault(), porem esta super lento para executar o método Activate(), mesmo a string sendo passada para o filtro sendo pequena. É normal?

Uma saída é criar uma tabela temporária com todos os dados que você precisa e fazer o fwmarkbrowse a partir dela.

Nesses links tem mais detalhes:

https://www.blogadvpl.com/usando-a-classe-fwmarkbrowse-com-tabela-temporaria/

https://rafaelvieceli.wordpress.com/2013/01/02/fwmbrowse-com-arquivo-temporario/

Você acha que isso poderia melhorar o tempo de resposta do Activate() se eu fizesse utilizando uma temporária?

com certeza, o activate depende da quantidade de linhas na tabela e filtros que tem que realizar, com uma tabela temporária você faz os filtros na hora de montar a tabela e a entrega para activate só com as linhas que precisa e ele não precisa refazer filtros, assim fica muito mais perfomático

Abusando da sua boa vontade, mas não queria criar uma pergunta só pra isso: “If nArrData > 0” qual verificação esta sendo feita aqui? Eu dei uma pesquisada e achei isto:Operadores << , >> e >>> - Java - GUJ, porem ainda assim não entendi.

opa, desculpa a demora, é que aqui não dá notificação e só vi por acaso hehehe

então, parece que está verificando se a array tem componentes, mas não lembro de código esse pedaço faz parte, por favor manda um pedaço maior do código…

Boa noite!

Neste caso, o ideal é estar utilizando uma tabela temporária com os métodos SetAlias('TRB') e SetTemporary(). Nesse link tem informações de como estar realizando esse processo: https://www.blogadvpl.com/usando-a-classe-fwmarkbrowse-com-tabela-temporaria/

Outra solução é usar a função MarkBrow, pois a FwMarkBrowse dá um pouco mais de trabalho ao usar temporárias: http://tdn.totvs.com/display/public/PROT/MarkBrow