Max report (CMPRT##) files

We have a program that writes a out a large number of reports to CMPRT## files (CMRPT01, CMPRT02, etc.)

When we exceed 31 files (there is one input file, so a total of 32 files)

WRITE (32) NOTITLE NOHDR
‘WITH’ #CNT-RECORDS ‘RECORDS ON’
#CNT-PAGES-ON-CD ‘PAGES.’ /
etc….

with a NAT0304.

I haven’t been been able to find a parm that would allow us to exceed that number. But maybe there is such a thing?

thanks

Natural has a limit of 32 concurrent print files, but in a single batch session, you can create as many reports as the OS will allow (4B in Linux, about 3K for zOS). This works by reusing one or more printer numbers.

WRITE (01) 'first report'  /* writes to CMPRT01
DEFINE PRINTER (01) OUTPUT "DDNAME02"
WRITE (01) 'second report' /* writes to DDNAME02

Once a report has been completed, you can reuse the printer number for a subsequent report. Under zOS you have the option of specifying a DDNAME or DSNAME. These must be specified in the JCL. Obviously, you are not restricted to CMPRTnn for DDNAMEs.