Como funciona a função COPY TO

Estou concertando erros que o code analysis aponta, porem cheguei a esta função e não consigo achar a documentação no TDN, alguém sabe o que exatamente ela faz? Ela entra na mesma regra do criatrab() que eu solucionei usando a FWTemporaryTable, porem a "COPY TO" não parece ser a mesma coisa.

Segue o codigo como pedido:

USER FUNCTION CHK_TMP()

BeginSQL Alias "TMP"

SELECT B1_COD,B1_DESC,C2_QUJE,C2_DATRF,D3_COD,D3_QUANT,D3_CUSTO1,Z21_COMP,Z21_QUANT,ZH6_QTDPRO,ZH6_OP

FROM %Table:SC2% SC2

INNER JOIN %Table:SB1% SB1 ON B1_COD = C2_PRODUTO AND C2_QUJE > 0

INNER JOIN %Table:SD3% SD3 ON D3_OP = C2_NUM+C2_ITEM+C2_SEQUEN AND D3_TIPO = 'MO'

INNER JOIN %Table:Z21% Z21 ON Z21_COD+Z21_COMP = C2_PRODUTO+D3_COD AND Z21_INI > '20180401'

INNER JOIN %Table:ZH6% ZH6 ON ZH6_OP = D3_OP

WHERE C2_FILIAL = %xFilial:SC2% AND SC2.%NotDel% AND B1_FILIAL = %xFilial:SB1% AND SB1.%NotDel% AND D3_FILIAL

= %xFilial:SD3% AND SD3.%NotDel% AND

Z21_FILIAL = %xFilial:Z21% AND Z21.%NotDel% AND B1_COD IN ('160000350135','160000350134')

group by B1_COD,B1_DESC,C2_QUJE,C2_DATRF,D3_COD,D3_QUANT,D3_CUSTO1,Z21_COMP,Z21_QUANT,ZH6_QTDPRO,ZH6_OP1

EndSQL

DBSELECTAREA("TMP")

COPY TO TEMPOS

TMP->(DBCLOSEAREA())

RETURN NIL

Bom dia Patrick, é possível colocar o seu fonte para verificarmos qual seria a adequação mais apropriada, por favor.

Adicionado como pedido.

Basicamente uma query sendo salva pelo Copy To.

Opa, Patrick, o que seria o TEMPOS?

Esta é a pergunta com a resposta de 1 milhão de reais. Mas vou tentar dar uma analisada melhor pois talvez esta User Function não esteja nem sendo usada mais e estamos quebrando a cabeça atoa.

Na verdade não esta nem sendo utilizada mais, então nem vale o esforço, mas valeu a tentativa.

Bom dia, Patrick!

Essa função copia dados de uma tabela/alias em específico para arquivo. Segue informações: https://terminaldeinformacao.com/knowledgebase/copy/

Anteriormente essa função estava disponível no TDN, mas como se tornou restrita, a mesma foi removida.

Mas como eu sei onde foi parar este arquivo, e como acessavam ele? Pois só o que eu tenho é isto:

COPY TO TEMPOS

Boa tarde, Patrick. Provavelmente esse TEMPOS deve ser alguma variável privada ou pública criada antes da chamada dessa rotina. Não conheço nenhuma constante com esse nome. Tente verificar se essa variável é criada por outra rotina no Call Stack da função. Tente também depurar, e verifique qual o valor dessa variável.

Farei isso, amanha dou uma resposta mais concreta.