Using WRITE() on 5.0 - running on Linux

Bruce Easton bruce at stn.com
Thu Jun 25 13:31:44 PDT 2009


Bruce Easton wrote Thursday, June 25, 2009 4:28 PM
> Nancy Palmquist wrote Thursday, June 25, 2009 3:43 PM:
> > 
> > I have the craziest thing happening and wondered if anyone 
> else ever 
> > saw this.
> > 
> > I have a report with 2 break points.
> > 
> > I open a file on a new account, create a header, then write detail 
> > lines on each record until the account number break hits (@wbrk2). 
> > When each detail line is written, I close the file. On the 
> next record 
> > I run the openit routine, below to open the file, and then 
> write the 
> > next detail record and close the file.
> > 
> > In the @wbrk2 logic, I open the file, move to the end and do the 
> > following:
> > 
> > 
> > I get the last write - 4 times.
> > </MetroIndex>
> > 
> > 
> > <?xml version="1.0" encoding="UTF-8" ?> 
> > <MetroIndex><Account>M05798</Account>
> > <BuildDate>06/25/09</BuildDate>
> > <BuildTime>14:34:28</BuildTime>
> > <MetroDMV>
> > <ClaimNumber>08-5037933</ClaimNumber>
> > <RequestDate>10/20/2008</RequestDate>
> > <L_RequestDate>20081020</L_RequestDate>
> > </MetroDMV>
> > <MetroDMV>
> > <ClaimNumber>08-5037933</ClaimNumber>
> > <RequestDate>10/20/2008</RequestDate>
> > <L_RequestDate>20081020</L_RequestDate>
> > </MetroDMV>
> > </MetroIndex>
> > </MetroIndex>
> > </MetroIndex>
> > </MetroIndex>
> > 
> > SEE This silly repeated line at the end.
> > 
> > end
> > 80 ------- - - - - - - - - - - - - - - - -
> > @wbrk2 ? If: ofile eq "" ?
> > Then: end ?
> > 81 ------- - - - - - - - - - - - - - - - - ? If: 'end of customer 
> > index ?
> > Then: gosub openit ?
> > 82 ------- - - - - - - - - - - - - - - - - ? If: ' was using the 
> > variable MyResult but removed that ?
> > Then: 'MyResult=letag{"MetroIndex>"{"" ?
> > 83 ------- - - - - - - - - - - - - - - - - ? If: ?
> > Then: aa=writeline(outhandle,letag{"MetroIndex>","13") ?
> > 84 ------- - - - - - - - - - - - - - - - - ? If: ?
> > Then: gosub clsit ?
> > 85 ------- - - - - - - - - - - - - - - - - ? If: ?
> > Then: madetop="N";Myresult="" ?
> > 86 ------- - - - - - - - - - - - - - - - - ? If: ?
> > Then: ofile="";htmfile="" ?
> > 90 ------- - - - - - - - - - - - - - - - - ? If: ?
> > Then: end
> > 51 ------- - - - - - - - - - - - - - - - - openit ? If: 
> 'open the file 
> > for writing ?
> > Then: outhandle=open(ofile,"rwcb") ?
> > 52 ------- - - - - - - - - - - - - - - - - ? If: ?
> > Then: endofile=seek(outhandle,"0","2");return ?
> > 53 ------- - - - - - - - - - - - - - - - - clsit ? If: ?
> > Then: aa=close(outhandle);return
> > 
> > I have fussed with line 83, which did use WRITE() - but 
> that did the 
> > same exact thing. I erased the filename to be sure it would not run 
> > @wbrk2 for another account but write to this file.
> > 
> > Why am I getting 4 occurances of the WRITE in line 83?
> > Variables are all defined as
> > declare global ofile(60,,g), outhandle(8,.0,g),
> > endoffile(8,.0,g) declare Myresult
> > 
> > 
> > Feel free to ask questions if I have overlooked any info.
> > I just changed this from an export routine, because some lines were 
> > being truncated by the export limits. I figured this would fix that.
> > 
> > Nancy
> > 
> > -- 
> > Nancy Palmquist 		MOS & filePro Training Available
> > Virtual Software Systems	Web Based Training and Consulting	
> > PHONE: (412) 835-9417		   Web site:  
> http://www.vss3.com
> > 
> 
> Nancy, the only thing I can think of that would cause @wbrk 
> to fire off multiple times would be if the field that is 
> defined on the output format (or overridden from sel prc?) is 
> an associated field.
> 
> Bruce

And I should have made clear - where the associated group 
identifier is used in the sorting specification for the 
output format.

Bruce

Bruce Easton
STN, Inc.




More information about the Filepro-list mailing list