Duplex Reports

pickerij@norbord.com pickerij@norbord.com
Thu, 26 Nov 1998 11:58:13 -0500


Sorry - Carol tried my original suggestion of yesterday and had   
difficulties with the first page of a new group starting on the back of   
the first sheet in the set. My fault - that's what I get for going on   
memory and not looking at the code :-(

I should have suggested going to the *back* of the page in the footing   
instead of the front. Then the heading has a skip page which moves it to   
the front of the next page. When the data ends on the front this works   
fine. When the data ends on the back this generates a blank page. In my   
code this isn't too important because the report is several hundred pages   
long with only half a dozen control breaks. Just tell the users it's a   
"feature" :-)

And Chris, on our versions of Quiz (i.e. not the jazzed up Compaq   
versions :), you can't do anything with syspage except include it in a   
report group so mod(syspage,2) is illegal. Too bad though as I think it   
would eliminate my blank pages.

Here's the code I ended up with for my test. The subfile sf1 has nothing   
in it except a sequential counter named d-ctr.

set def
acc *sf1
def d-key char*1 &
  = "1" if d-ctr lt 050 &
els "2" if d-ctr lt 150 &
els "3"
sorted on d-key
def d-27 int*2 = 27
def d-esc char*1 = char(d-27)[2:1]
def d-back char*5 = d-esc + "&a2G" ; back side of duplex page
hea at d-key skip page
rep d-key d-ctr
foo at d-key d-back
set rep dev pri lim 1000
set pag wid 80
go

John "hope this helps" Pickering
JWP Systems Inc
Toronto

 -----Original Message-----
From: Chris.Sharman@ccagroup.co.uk
Sent: Thursday, November 26, 1998 4:29 AM
To: powerh-l@lists.swau.edu
Cc: kaffenbe@karmanos.org; Chris.Sharman@ccagroup.co.uk
Subject: RE: Duplex Reports

>I have a COBOL program that generates a report that prints on a laser
>printer on both sides of the paper.   When a key changes in the data,
>the COBOL program closes and reopens the output report file so that
>the data associated with the new key prints on "side 1" of a fresh
>sheet of paper.  How can I do this in QUIZ?

Sounds do-able in pure powerhouse:

def ff int*2 = 12
def ffchar char*1 = characters(ff)Ä2:1Å ; Ä1:1Å for VMS

def toback char*1 = ffchar if (1=mod(syspage,2)) ; previously 1: should   
be 2

foot at whatever toback skip page

Alternatively: try doubling page length, so that one Quiz 'page' is both   
sides
of a printer page. You won't get page headings on the back page then   
though.
______________________________________________________________________
Chris Sharman   Chris.SharmanÉCCAgroup.co.uk
CCA Stationery Ltd, Eastway, Fulwood, Preston, Lancashire, PR2 9WS.

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Subscribe: "subscribe powerh-l" in message body to majordomo@lists.swau.edu
Unsubscribe: "unsubscribe powerh-l" in message to majordomo@lists.swau.edu
powerh-l@lists.swau.edu is gatewayed one-way to bit.listserv.powerh-l
This list is closed, thus to post to the list, you must be a subscriber.