MAINPR - Override Default Output Report Number

This Natural profile parameter can be used to separate program output from Natural system output, which may be useful particularly in batch mode.

Possible settings 0 - 31 Valid printer number.
Default setting 0  
Dynamic specification yes  
Specification within session no  
Application programming interface USR6002N See SYSEXT - Natural Application Programming Interfaces in the Utilities documentation.


  1. This applies to program output for Report 0, as produced by DISPLAY, PRINT, WRITE or INPUT statements, except INPUT statements which contain non-protected input fields (field attribute specification AD=A) or modifiable input fields (AD=M).
  2. If the MAINPR parameter is specified, program output for Report 0, which would normally be output on the printer assigned to Report 0, is output on the printer specified with MAINPR instead; while system output (NEXT prompt, DATA prompt, etc.) is always output on the primary output device (Report 0); the MAINPR setting must be a valid printer number (0 - 31).
  3. A logical printer corresponding to the report number specified must be defined to Natural. A printer is defined with the profile parameter PRINT, with the macro NTPRINT or automatically by JCL (in batch mode or under TSO).
  4. The MAINPR parameter does not apply to output from system programs in the Natural system library SYSLIB, which is always output on the primary output device (Report 0). However, you can use the USEMAINPR option of the LIST system command to route the output to the printer specified with MAINPR. USEMAINPR is described in Settings in the System Commands documentation.