program define tosas,eclass
version 10.0
syntax [varlist] [if] [in]  [,Name(string) pgm(string) Batch]
preserve
if "`if'"!=""|"`in'"!="" {
   qui keep `if' `in'
}
local dir=c(tmpdir)
tempfile tosasfile  totsasfile
qui outsheet `varlist' using "`tosasfile'.txt",replace
qui outsheet `varlist' using "d:\essai.txt",replace
if "`name'"=="" {
   local name stata
}
drop _all
qui set obs 1000
qui gen txt=""
qui replace txt="PROC IMPORT OUT=WORK.`name' DATAFILE='`tosasfile'.txt' DBMS=TAB REPLACE;GETNAMES=YES;DATAROW=2; RUN;" in 3
qui replace txt="`pgm'" in 4
qui outsheet txt using "`tosasfile'_pgmsas.txt", replace  nonames noquote
if "`batch'"!="" {
   shell "C:\Program Files\SAS\SASFoundation\9.3\sas.exe" "`tosasfile'_pgmsas.txt" -print "`tosasfile'.lst" -nolog
   view "`tosasfile'.lst"
}
else {
   shell "C:\Program Files\SASHome\SASFoundation\9.3\core\sasexe\SASOACT.EXE" action=Submit datatype=SASFile filename="`tosasfile'_pgmsas.txt" progid=SAS.Application.903
}
restore
end