Bom dia.
Estou com a seguinte dúvida, estou logado na filial 01 e lendo uma tabela temporária, nessa tabela temporário contém diversos registros de outras filiais:
Filial 02 numero SXE da tabela SC7 - 000005
Filial 03 numero SXE da tabela SC7 - 000010
Filial 04 numero SXE da tabela SC7 - 000007
Filial 05 numero SXE da tabela SC7 - 000003
Exemplo:
Blockquote
cSvFilAnt := cFilAnt
Do While (cAlSC7)->(!EOF())
cFilAnt := (cAlSC7)->C7_FILIAL
DbSelectArea("SC7")
SC7->(DbSetOrder(1))
_cNumPed :=GETSXENUM("SC7","C7_NUM")
CONFIRMSX8()
Enddo
cFilAnt := cSvFilAnt
(cAlSC7)->( Dbclosearea() )
Blockquote
Mas a rotina não está buscando a sequencia de cada filial da SXE, qual será o problema?
Rodrigo, trocar a cFilAnt é complexo, uma vez que você tenha gestão corporativa ou sua tabela tenha qualquer tipo de compartilhamento, você pode vir a criar uma cFilAnt com um valor incorreto, e as consequências disso podem ser várias.
Boa tarde Rodrigo,
Acredito que ele só esteja pegando da filial 02 ou a filial logada, se for o caso acredito que você terá que força cada filial na cfilant.
Então Tiago, estou passando o conteúdo da tabela temmporária na variável cFilAnt := (cAlSC7)->C7_FILIAL, mesmo assim parece que está buscando o registro SXE (license server) de outra empresa e não da empresa que está na variável cFilAnt
Atentar com os colaterais: questão de licenças e tempo de execução que leva para alteração do ambiente. Caso seja em uma API pode dar timeout dependendo do volume de dados.