* LEK *! version 1.0.0 23August 23, 2006 @ 13:37:36 capture program drop grexport program grexport , version 9 syntax [, Wide NOrestore saving(string asis) List replace ] // Error Messages quietly graph dir if r(list)!="Graph " { disp as error "Program only works with one graph in memory" disp as error _n "For more details, see {help grexport:on-line help for grexport}." error 498 } if (`"`list'"'=="")&(`"`saving'"'=="")&("`norestore'"!="norestore") { disp as error "You must specify at least one of the three options:" disp as error "list, saving() and norestore." disp as error _n " - If you specify list, then the values are listed." disp as error " - If you specify saving(), then values are exported to a new data set." disp as error " - If you specify norestore, then the new data set is created in the memory." disp as error _n "For more details, see {help grexport:on-line help for grexport}." error 498 } if ("`replace'"!="") & (`"`saving'"'=="") { disp as error "Replace is senseless without the saving() option." disp as error _n "For more details, see {help grexport:on-line help for grexport}." error 498 } // Initialize if "`norestore'" == "" { preserve } drop _all tempfile grexport // Collecting informations on the graph currently in use foreach set of numlist 0(1)10 { capture serset set `set' if _rc == 0 { serset use , clear gen set = `set' if `set' > 0 { quietly capture append using "`grexport'" } quietly save `grexport' , replace } } erase `grexport' // Options if "`wide'" != "" { quietly by set , sort : gen n = _n quietly ds set n , not quietly reshape wide "`r(varlist)'" , i(n) j(set) } if "`list'" !="" { list , noobs } if "`saving'" != "" { save "`saving'" , `replace' } if "`norestore'" == "" { restore } end