Criação e descarte seguro de tabelas temporárias
Define estrutura, ciclo de vida e responsabilidade pela limpeza.
Visão geral
FWTemporaryTable permite definir campos, criar a tabela e removê-la pelo próprio objeto. A documentação delimita visibilidade à thread criadora e condiciona recursos a versões de LIB/DBAccess. Delete também fecha o alias da tabela: não o confunda com excluir um registro. O exemplo cria um temporário vazio e o remove no caminho normal, sem alterar tabelas de negócio. Um fluxo real precisa ainda garantir limpeza em erros e saídas antecipadas; o trecho não é um gerenciador completo de exceções. (TOTVS, 2022, ref. 1)
Exemplo comentado
#Include "Protheus.ch"
User Function Ed318()
Local oTemporaria := FWTemporaryTable():New()
Local cAlias
// Estrutura ficticia, sem dados de negocio.
oTemporaria:SetFields({{"ED_COD", "C", 10, 0}})
oTemporaria:Create()
cAlias := oTemporaria:GetAlias()
ConOut(cValToChar((cAlias)->(LastRec())))
oTemporaria:Delete()
Return NilTemporário inicialmente vazio, com LastRec esperado zero; remoção solicitada ao fim. ED_COD é o identificador fixo do esquema didático. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Não compartilhar o alias entre threads nem usar nome físico de outro processo. Validar falhas de criação e limpeza e a versão do retorno de Delete.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.