# $Header: /home/cvsroot/tcldb/wisql/Tlib/ezRForm,v 1.4 1997/08/28 05:24:14 de Exp $
# tcl procs saved on Tue Sep 05 09:32:51 PDT 1995

proc ezRForm w {

global dbpipe1 sybmsg server base table DB

upvar #0 EZRsqlcmd sqlcmd
upvar #0 EZRcols cols
upvar #0 EZRprints prints
upvar #0 EZRporder porder
upvar #0 EZRnumprt numprt

	mkSQL $w 

	set unique [getclock]
	set filename $table.$unique

	set err [catch {set ofh [open /tmp/$filename w]}]

	if {$err} {
		set msg "Sorry, unable to open file /tmp/$filename."
		logMsg "$msg"
		$w.messages configure -text "$msg"	
		return
	}

	set sqt $table
        set res [queryDB $sqlcmd]
        if {[lindex $res 0] == "ERROR"} {
    		puts stderr "$res"
    		return
  	} 
	
	puts $ofh "FORM 2.2.1 OF RECORDS SELECTED FROM $table:"
	puts $ofh "$sqlcmd\n-------------------------------------------\n"

#	echo "Number of columns to print is $numprt"
	set perpage [expr {60.0/($numprt+4)}]
	set perpage [lindex [split $perpage .] 0]
	set pcnt 0

	$w.messages configure -text "Writing form at $perpage records/page... please wait..."

	while {1 == 1} {

        set line [nextRec]
	if {$line == ""} {break}

	loop i 0 $numprt {

		set col $porder($i)
		set value "[lindex $line $i]"
		if {[string compare $value ""] == 0} {
			set value "______________________________"
		}
		set outp [format "%20s : %-40s" $col $value]
		puts $ofh "$outp"
		incr i
	}

#	FORM FEED after each record
	incr pcnt
	if {$pcnt == $perpage} {
	puts $ofh "NEXT RECORD from $table :\n"
	set pcnt 0
	} else {
	puts $ofh "\nNEXT RECORD from $table :\n"
	}

	}

	close $ofh
	$w.messages configure -text "Output is in file /tmp/$filename."

}

