function ROI_table2txt,ptr=rinfo
	; Procedure generates a fresh ROI.txt file, using
	; the data provided in the tb_g12_RegionOfInterest data
	; table.  (It first copies the existing ROI.txt to ROI.bak.)

	forward_function DBS_get_g12_RegionOfInterestByDateRange, $
		DBS_get_g12_RoiBoundariesByDateRange

	spawn,'copy /Y ROI.txt ROI.bak',/HIDE
	fmt = '(I3,1x,A19,1x,A28,1x,I1,1x,A4)'

	; Get data on currently defined ROIs from the SQL database.
	; Use DataMiner routines if restrict=0, otherwise use DataBridge routines

	if (*rinfo).restrict lt 2 then begin
		; Using DataMiner
		qGetAllRoi = 'select * from tb_g12_RegionOfInterest'
		nr = Dminer2('SXIDataSource',qGetAllRoi,pointer=res)
	endif else begin
		;****************************************************
		; Using DataBridge server
		dtStr1 = (*rinfo).dtStr
		dtStr2 = dtStr1
		;dtStr1 = '2002-08-21T00:00:00.000' ;*************************
		;dtStr2 = '2002-08-22T00:00:00.000'	;*************************
		res1 = DBS_get_g12_RegionOfInterestByDateRange(dtStr1,dtStr2)
		sz = size(*res1)
		; sz[1] contains the number of elements
		; All elements are comma-delimited strings
		; 0 = column headers
		; 1 = data types
		; 2 = first data element
	;print,sz
		nr = sz[1] - 2	; First two records are header & datatype

		if nr gt 0 then begin
			; Create res as pointer to data array--ignore first 2 elements

			res = ptr_new(strarr(nr,5))
			i = 0
			for k=2,sz[1]-1 do begin
				sarr = strtok((*res1)[k],string(44B),/extract,/preserve_null)
				(*res)[i,*] = sarr[*]
				date = (*res)[i,1]
				strput,date,' ',10	; Replaces 'T' with ' '
				(*res)[i,1] = date
				print,i,' ',(*res)[i]
				i=i+1
			endfor
		endif
		;*****************************************************
	endelse

	if nr gt 0 then begin

		; If there is data in the table, proceed, otherwise exit

		;if (*res)(0) ne "" then begin

		sres = sort((*res)[*,0])
		;print,'sres = ',sres
		;print,'res[sres,0] = ',(*res)[sres,0]	; RoiId
		;print,'res[sres,1] = ',(*res)[sres,1]	; DateDefined (SQL format)
		;print,'res[sres,2] = ',(*res)[sres,2]	; Filename
		;print,'res[sres,2] = ',(*res)[sres,3]	; Rotate (flag)
		;print,'res[sres,3] = ',(*res)[sres,4]	; SecRegNum
		;sz = size[sres)
		;print,'sz: ',sz

		openw,lun,'ROI.txt',/get_lun
			for i=0,nr-1 do begin    ;*************** sz[1]-1 do begin
				j = sres[i]
				;print,'In write: res[j,0]=',(*res)[j,0]
				;date = cdfepoch32swo((*res)[j,1])
				rnum = fix((*res)[j,0])
				k = rnum-1
				date = (*res)[j,1]
				fname = (*res)[j,2]
				rot = fix((*res)[j,3])
				secn = (*res)[j,4]
				if secn eq "" then secn = 'None'
				str = string(format=fmt,rnum,date,fname,rot,secn)
				;print,str
				printf,lun,str
				(*rinfo).r[k].rnum = rnum
				(*rinfo).r[k].used = 1
				(*rinfo).r[k].date = date
				(*rinfo).r[k].fname = fname
				(*rinfo).r[k].rot = rot
				(*rinfo).r[k].secn = secn

			endfor
		free_lun,lun
		;ind = where((*rinfo).r.used eq 0,cnt)
		;if cnt gt 0 then (*rinfo).newInd = min(ind)
		return,1	; There's data
	endif

	; If there are no database records, create an empty ROI.txt file
	openw,lun,'ROI.txt',/get_lun
	free_lun,lun
	return,0	; No data

end