Nesse vídeo demonstraremos a utilização da classe FWTemporaryTable, que serve para criar uma tabela temporária no sistema.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe254 Classe para criar uma tabela temporária (enquanto a thread estiver aberta a tabela ficará disponível no SQL) @type Function @author Atilio @since 21/02/2023 @see https://tdn.totvs.com/display/public/framework/FWTemporaryTable @obs **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe254() Local aArea := FWGetArea() Local oTempTable Local aFields := {} Local cAliasTmp := GetNextAlias() //Cria a temporária oTempTable := FWTemporaryTable():New(cAliasTmp) //Adiciona no array das colunas as que serão incluidas (Nome do Campo, Tipo do Campo, Tamanho, Decimais) aAdd(aFields, {"CODIGO", "C", 6, 0}) aAdd(aFields, {"NOME", "C", 50, 0}) aAdd(aFields, {"VALOR", "N", 8, 2}) aAdd(aFields, {"EMISSAO", "D", 8, 0}) //Define as colunas usadas oTempTable:SetFields( aFields ) //Cria índice com colunas setadas anteriormente oTempTable:AddIndex("1", {"CODIGO", "NOME"} ) //Efetua a criação da tabela oTempTable:Create() //Aqui vamos incluir 1 registro de teste RecLock(cAliasTmp, .T.) (cAliasTmp)->CODIGO := "TST001" (cAliasTmp)->NOME := "Teste de inclusão em FWTemporaryTable" (cAliasTmp)->VALOR := 1.99 (cAliasTmp)->EMISSAO := Date() (cAliasTmp)->(MsUnlock()) //Iremos mostrar uma mensagem para demonstrarmos um select direto no banco ShowLog("SELECT * FROM " + oTempTable:GetRealName()) //Exclui a temporária oTempTable:Delete() FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.