//*FORMAT PU statement

Purpose: Use the //*FORMAT PU statement to specify to JES3 processing instructions for sysout data sets that are punched. These instructions permit special processing of sysout data sets, such as:
  • Multiple destinations.
  • Multiple copies of output with different attributes.
Use the //*FORMAT PU statement to specify to JES3 processing instructions for sysout data sets that are punched. These instructions permit special processing of sysout data sets, such as:
  • Multiple destinations.
  • Multiple copies of output with different attributes.

//*FORMAT PU statements can be either specific or nonspecific. A specific //*FORMAT PU statement contains a DDNAME parameter that specifies something other than a null value, such as DDNAME=ddname or DDNAME=JESYSMSG. A nonspecific //*FORMAT PU statement contains DDNAME= , with no value (null) specified for the DDNAME parameter.

You can code multiple specific //*FORMAT PU statements for a particular sysout data set to specify special requirements for different copies of the data set. In addition, you can code a //*FORMAT PR statement for the same sysout data set, thereby both printing and punching it.

You can also code multiple nonspecific //*FORMAT PU statements. In this case, the system produces only one copy of each data set, combining any parameter values specified on the statements. If you specify a given parameter on more than one of these statements, the system uses the parameter value specified on the last //*FORMAT PU statement containing that parameter.

Note: The //*FORMAT PU statement applies only to sysout data sets punched by JES3. The statement is ignored for data sets sent to a TSO/E userid or processed by an external writer.

Reference: For examples of //*FORMAT statement processing on the JES3 hold queue and writer queue, see z/OS JES3 Initialization and Tuning Guide.