[Date Prev][Date Next][Thread Prev][Thread Next]
[Author Index]
[Date Index]
[Thread Index]
[SQR-USERS Info]
[SQRUG Home Page]
RE: [sqr-users] set-delay-print command and Page X of Y
Hi Steve,
Thanks!! Now I understand why it didn't work when I had set-delay-print in the
before procedure.
I tried it in the after proc, but like I said ealier, it does print the Page X
of Y on the header but it prints the value of Y in the body of the report as
well. I tried my code and your code. It does the same thing..
This is how my report output looks like..(The first page is fine but this is
what happens on the subsequent pages..)
13-Nov-2003
Page 2 of 2
--------------------------------------------------------------------------------------------------------------------------------
2
Approved By:---------------------------
--------------------------------------------------------------------------------------------------------------------------------
It should print "Purpose" and not 2. But if I go through each and every page
and then go back to the first page and then the second page, it prints Purpose
like it's supposed to.
I tried with the code that you provided but it still does the same thing.
Why does it do that? Any thoughts?
Thanks,
Jyotsna
Steve Cavill <steve.cavill@infoclarity.com.au> wrote:
Hi Jyotsna,
The problem is related to the order in which the page is built.
First SQR builds the body, then when the pages fills up or a new-page
command is explicitly issued, it executes the header, then the footer. In
your case, you issue the set-delay-print command in the before procedure, so
it will be executed before anything else - thus the error - no print command
has been issued with a delay - that will happen later when you execute the
header.
You can put the set-delay and print delay wherever you like, just as long as
you execute the set-delay-print AFTER the print xxx delay
This code works (I used the sqr sample tables so you can try it out)
Cheers, Steve.
begin-program
begin-select
a.appointment (1,1) on-break print=always before=before_appt
after=after_appt
next-listing
from appts a, appts b
order by a.appointment
end-select
end-program
begin-procedure before_appt
move 0 to #this-page !reset the page count for each new appointment
print ' new appointment type' (1,1)
next-listing
end-procedure
begin-procedure after_appt
new-page !close off the page - will cause the header to execute
set-delay-print #total-pages with #this-page !now go back and fill in the
! ! page number of the last
page
end-procedure
begin-heading 3
add 1 to #this-page
print 'page ' (1,1)
print #this-page ()
print 'of ' ()
print #total-pages (,,6) delay
end-heading
-----Original Message-----
From: sqr-users-admin@sqrug.org [mailto:sqr-users-admin@sqrug.org]On
Behalf Of Jyotsna Nekkanti
Sent: Wednesday, 12 November 2003 6:11 AM
To: sqr-users@sqrug.org
Subject: [sqr-users] set-delay-print command and Page X of Y
Should set-delay-print command be only used in "after procedure" of the
on-break command?
I tried using it in the before procedure command and it says that the PRINT
DELAY statement did not have a SET-DELAY-PRINT command executed against it.
I am trying to print Page X of Y on the header. I need it to reset with the
change in the purchase requisition number.
For that I have
!***************************************************************************
**
!main
!***************************************************************************
**
begin-select
pr.prnum &prnum1 () on-break print=never
before=page_count
.
.
.
!***************************************************************************
**
! procedure page_count
!***************************************************************************
**
begin-procedure page_count
move #page-count to $last_page 8888
new-page
set-delay-print $last_page with $last_page
move 1 to #page-count
end-procedure
!***************************************************************************
**
! print heading on each page.
!***************************************************************************
**
begin-heading 4
.
.
.
print $last_page (,#Pagepos4,4) delay
.
.
end-heading
If I use "after" instead of "before", I get Page X of Y but in addition to
that it prints the Y part in the body of the report as well. And if i scan
through each and every page of the report, the Y part mysteriously
disappears from the body of the report. But I am sure the users wouldnt want
to go through each and everypage before printing the report.
Please help..
Thanks.
---------------------------------
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
_______________________________________________
sqr-users mailing list
sqr-users@sqrug.org
http://www.sqrug.org/mailman/listinfo/sqr-users
_______________________________________________
sqr-users mailing list
sqr-users@sqrug.org
http://www.sqrug.org/mailman/listinfo/sqr-users
---------------------------------
Do you Yahoo!?
Protect your identity with Yahoo! Mail AddressGuard
_______________________________________________
sqr-users mailing list
sqr-users@sqrug.org
http://www.sqrug.org/mailman/listinfo/sqr-users