proc list_filename {toplev cur ent} {
 set tmp2 ""

 foreach i [glob *.zrpt] {
	   set i [split $i .]
	 lappend tmp2 [lindex $i 0]
	}

	if {[llength $tmp2] == 0} {return 0}

    lbox option -data [join $tmp2 ","]\
		 -header "Report File Name"  -cols 50 -lines 20\
		  -ebox file_save -fields file_name

}
proc set_file_name {ans} {
	global file_name1
	set file_name   [ebox_getval file_save  file_name]
	if {[llength $file_name] == 0} {return 0}
	set file_name1 $file_name
}
proc get_file_name {} {
	global file_name1
	set file_name1 ""
 if {[file exists ~/.sql] == 1} {
	   cd ~/.sql
   } else { 
       cd ~
	   mkdir .sql
	   cd .sql
	}
	set file_name ""
	ebox file_save "Report File Name" "
		 {file_name {Report File Name:} {} {$file_name} {list_filename} {}
					{Enter The Report File Name} }
		   " -ok "set_file_name"

     return $file_name1

}
proc save_rpt {args} {
 global table tabid
 upvar #0 EZRcols  cols
 upvar #0 EZRtypes types
 upvar #0 EZRsizes sizes
 upvar #0 EZRwhere where
 upvar #0 EZRsorts sorts
 upvar #0 EZRprints prints
 upvar #0 EZRwidths widths
 upvar #0 EZRnumsrt numsrt
 upvar #0 EZRnumprt numprt
 upvar #0 EZRnumcol numcol
 upvar #0 EZRporder porder
 upvar #0 EZRsorder sorder
 upvar #0 EZRop op
 upvar #0 EZRcol col
 upvar #0 EZRind ind
 upvar #0 EZRcomp1 comp1
 upvar #0 EZRcomp2 comp2
 upvar #0 EZRsqlcmd sqlcmd
 upvar #0 EZRdist dist
 upvar #0 EZRrform rf

 set thispwd [exec pwd]

 set filename [get_file_name]
 if {[llength $filename] == 0} {return 1}
 set filename "$filename.zrpt"
 set fp [open $filename w]
 set i 0
 set ix [llength $cols]
 incr ix -1
 set z 0
  set xx  [info exists where] 
  puts "xx ==> $xx"
 foreach c $cols {
  set file_string [format "%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s" $c [lindex $types $i] [lindex $sizes $i]\
    where($i) sorts($i) prints($i) widths($i) numsrt($i) numprts($i) [lindex $numcol $i] porder($i) sorder($i)\
			[lindex $op $i] [lindex $col $i] [lindex $ind $i] compl($i) "end"]
 incr i
 }
 puts $fp $table
 puts $fp $tabid
 puts $fp $cols
 puts $fp $types
 puts $fp $sizes
 puts $fp [array name where]
 puts $fp [array name sorts]
 puts $fp [array name prints]
 puts $fp [array name widths]
 puts $fp [array name porder]
 puts $fp [array name sorder]
 puts $fp $numprt
 puts $fp $comp1
 puts $fp $numsrt
 puts $fp $op
 puts $fp $col
 puts $fp $ind
 close $fp
 puts [array name porder]
 cd $thispwd

	return 1
}


