*当前数据表另存为新的数据表
proc FileSaveAs
myalias = alias()
defa_path = FULLPATH(CURDIR())  &&取当前路径
* 把默认路径设置为前次另存文件的路径
if !used('systable')      &&systable是一个数据表专门用于存放应用系统的一些参数
  use data\systable in 0     &&如果没有打开,就在一个序号最小的空工作区中打开此表
endif
sele systable                 &&选择系统参数表为当前工作区
loca for xm = 'LASTSAVEFILE'  &&这条记录中存放的是上次曾经另存数据表的路径
if found()
  cLastSaveFile = alltrim(hlptxt)  
  if file(cLastSaveFile) OR !EMPTY(CURDIR(JUSTPATH(cLastSaveFile)))
    paths = justpath(cLastSaveFile)
    set defa to(paths)  &&把当前路径设置为上次另存数据表的路径
  endif
endif
**********************
tab_name=putfile('文件名',myalias,'dbf')
if empt(tab_name)
  sele( myalias )
  set defa to(defa_path)  &&恢复原始默认路径
  retu
endif
*** 记录新路径 ***
loca for xm = 'LASTSAVEFILE'
if !found()
  appen blank
  repl xm with 'LASTSAVEFILE',hlptxt with tab_name
else
    repl hlptxt with tab_name  
endif
use
set defa to(defa_path)  &&恢复原始默认路径
**********************
sele ( myalias )
copy to (tab_name)
sele 0
use(tab_name)
browse   &&浏览另存了的新表
retu

上列代码作为一个过程程序可以存放在主控程序中,在你的应用系统中做一个菜单项,让它调用这段代码即可.
这段代码可以将当前正在浏览的数据表另存为另一个新表(这个表仍存在)