Prezados,
Preciso trocar o comando MSCREATE() por FWTemporaryTable(). Porém, no MSCREATE eu defino exatamente o nome da tabela que será criada no SQL SERVER, no caso "SRZTESTE".
Já no FWTemporaryTable() parece que isso é criado automaticamente, seguindo o comando "oTempTable:Create()"
Como fazer nesse caso? Alguém está passando por este problema e encontrou alguma solução paliativa?
Winston bom dia.
Você pode continuar utilizando o nome que você quer. Segue exemplo
Local cAliasBrw := "SRZTESTE"
oTempTable := FWTemporaryTable():New( cAliasBrw )
aAdd( aColumns, { "CODIGO" ,"C",20,0 })
aAdd( aColumns, { "DESCRI" ,"C",100,0})
oTemptable:SetFields( aColumns )
oTempTable:Create()
DbSelectArea(cAliasBrw)
Quando for criar é só fazer referência a variável criada.
Mas particularmente eu prefixo utilizar o comando abaixo para dar nomes a tabelas temporárias, acho mais seguro.
Local cAliasBrw := GetNextalias()
Olá Felipe, agradeço pelo resposta, mas eu queria definir o nome que será gravado no SQL SERVER.
O Comando oTempTable:Create() cria um nome aleatório no banco de dados, no meu caso está criando dbo.##TMPSC00_52. Eu queria definir um nome só para seguir a lógica do programa que estou mexendo, mas me adaptei para usar o oTempTable:Create().
Muitíssimo obrigado por sua resposta, me deu um norte aqui em outras coisas.
Ok Winston, desculpe, então acho que não entendi direito a sua pergunta. Mas que bom que te ajudei de alguma forma. Att,
Olá. O nome que será criado no banco segue um padrão interno. Não é possível definir o nome dele. Você pode recuperar o mesmo pelo método GetRealName()
Em anexo tem um fonte que realiza a criação da tabela temporária e do arquivo de trabalho, assim como os dados da mesma.
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.