Olá pessoal,
tenho tabelas que preciso fazer backups , em ctree. Fazia antes em dbf, e agora em ctree tem alguma função para isso?
só para mostrar como eu realizava
IncProc("Processando tabela " + _cTabela) //tabela do Banco de Dados que eu quero
dbSelectArea(_cTabela)
_ARQ:=_cTabela-_aEmpresa[i]-"0"
_ArqARQ:=_cTabela-SM0->M0_CODIGO+"0.DBF"
ArqDest1:=_PathDest+_ARQ+".dbf"
Use &_ARQ Alias _ARQ SHARED NEW VIA "TOPCONN"
copy to &Arqdest1
DbCloseArea(_ARQ)
obrigado
bom dia você diz em exportar no o arquivo físico? ou utilizando o ADVPL para fazer isso?
Você pode realizar em CTREE mesmo esse backup
Conoforme o Murilo falou, troque o “.dbf” por “.dtc”
Pesquisei tem a função MsCopyFile
https://tdn.totvs.com/pages/releaseview.action?pageId=6814992
da uma lida as vezes ela pode ser o que você procura
Antonio, qual a necessidade de exportar uma tabela CTREE? O que esse processo implica? Poucos programas além do Protheus trabalham com esse formato. Se for para backup, o ideal é utilizar dos próprios recursos do banco de dados para isso.
Daniel, eu faço backup manual de algumas tabelas específicas / customizadas antes de fazer os fechamentos mensais. Eu deixo elas em um diretório separado pois em caso de necessidade, como já ocorreu, poder analisar essas tabelas
Mas você analisa elas depois como? Você appenda os dados novamente no Protheus? Abre elas no APSDU? Ou você tem alguma ferramenta para abrir? Lembrando que será um arquivo CTREE, o Excel por exemplo não consegue abrir o mesmo.
Olá, encontrei este exemplo na NET https://www.blogadvpl.com/criar-ler-e-gravar-usando-uma-tabela-ctree-dtc, veja se te ajuda.
aAdd(aCampos,{"REV_FILIAL" ,"C", 02,0})
aAdd(aCampos,{"REV_COD" ,"C", 06,0})
aAdd(aCampos,{"REV_DATA" ,"D", 08,0})
aAdd(aCampos,{"REV_CONTA" ,"N", 09,0})
dbCreate(cArquivo,aCampos,"CTREECDX")
dbUseArea(.T.,"CTREECDX","\system\tabela123.dtc","REV",.F.,.F.)
IndRegua( "REV", "\system\tabela123", "REV_FILIAL + REV_COD",,,"CODIGO" )
dbClearIndex()
dbSetIndex(cIndice + OrdBagExt() )