There's no easy way to do this. You could route the listing through a
REXX program that would strip out the page headings and reinsert them in
appropriate places, then print its output.
If you have TSO Pipelines installed you can write a little filter to do
the same.
Here's a possible solution (not tested; may need tweaking):
/*.-- REXX ----------------------------------------------------------.*/
/*|LONGAMS - reformat the output of IDCAMS for longer pages |*/
/*| |*/
/*|Syntax: |*/
/*| .-LINECT-55-. |*/
/*|>>-LONGAMS-+-----------+----------------------------------------><|*/
/*| '-LINECT-nn-' |*/
/*'------------------------------------------------------------------'*/
if arg(1) = '?',
| arg(1) = 'HELP'
then
do
call help
exit 0
end
trace normal
parse upper arg options
do while words(options) > 0
parse var options option options
select
when option = 'LINECT' then
parse var options linect options
otherwise
say 'Option' option 'is not recognized.'
exit 8
end
address TSO
"execio 1 diskr SYSUT1 (open stem amsline"
hdrline = amsline
"execio 1 diskw SYSUT2 (open stem hdrline"
line# = 1
do while rc = 0
if left(amsline,24) = '1IDCAMS SYSTEM SERVICES' then
do
"execio 1 diskr SYSUT1 (stem amsline"
amsline = ' 'substr(amsline,2)
end
"execio 1 diskw SYSUT2 (stem amsline"
line# = line# + 1
if line# > linect then
do
"execio 1 diskw SYSUT2 (stem hdrline"
line# = 1
end
"execio 1 diskr SYSUT1 (stem amsline"
end
"execio 0 diskw SYSUT1 (finis"
"execio 0 diskw SYSUT2 (finis"
exit rc
help: procedure
trace normal
say; say; say
do l = 2 by 1 while left(sourceline(l),2) = '/*'
parse value sourceline(l) with '/*|' text '|*/' .
say text
end
return
and JCL to run it (also not tested; may need tweaking):
//jobname JOB (account),
// programmer,
// CLASS=A,
// MSGCLASS=A
//*====================================================================
//IDCAMS EXEC PGM=IDCAMS
//SYSIN DD *
LISTCAT ENTRY(dataset.name) ALL
/*
//SYSPRINT DD DSN=&&IDCAMS,
// UNIT=SYSDA,
// SPACE=(CYL,(1,1)),
// DCB=(RECFM=FBA,LRECL=121),
// DISP=(NEW,PASS)
//*--------------------------------------------------------------------
//LONGASM EXEC PGM=IRXJCL,
// PARM='LONGAMS LINECT 80'
//SYSTSIN DD DUMMY
//SYSUT1 DD DSN=&&IDCAMS,
// DISP=(OLD,DELETE)
//SYSUT2 DD SYSOUT=A,
// DCB=(RECFM=FBA,LRECL=121)
//SYSTSPRT DD SYSOUT=A
//*====================================================================
//
Leslie Turriff
State of Missouri
Information Technology Services Division
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of
Chris Hilliard
Sent: Tuesday, October 25, 2011 09:49
To: [email protected]
Subject: Lines per page - IDCAMS output
Curious if anyone knows whether or not you can change the lines per page for
IDCAMS output. It appears to be set to something like 52. On occasion we need
to print off rather large LISTCAT listings. In the interest of saving paper,
being able to fill up the page would be useful. I serached the archive but
didn't find too many hits.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html