---
title: "How to Use OUTPUT statement in JCL"
description: "SYSOUT statement in JCL (Job control Language), a simple example of how to use it correctly. https://srinimf.com/2023/03/26/jcl-msgclass-vs-msglevel-top-differences/. Why SYSOUT is coded in JCL. SYSOU..."
url: https://srinimf.com/2015/07/19/mainframe-reduce-your-coding-lines-using-output-statement-in-jcl-1-of-2/
date: 2015-07-19
modified: 2026-10-10
author: "Srini"
image: https://i0.wp.com/srinimf.com/wp-content/uploads/2015/07/pexels-photo-3785935.jpeg?fit=1880%2C1250&ssl=1
categories: ["COBOL", "JCL"]
tags: ["JCL OUTPUT", "JCL SYSOUT"]
type: post
lang: en
---

# How to Use OUTPUT statement in JCL

SYSOUT statement in [JCL](http://srinimf.com/2015/06/29/mainframe-jes2-and-jes3-control-statements-in-job-card/) (Job control Language), a simple example of [how to use](https://srinimf.com/2023/03/14/how-to-use-condition-statement-in-if-logic-in-python/) it correctly.

Related[JCL MSGCLASS Vs. MSGLEVEL Top Differences](https://srinimf.com/2023/03/26/jcl-msgclass-vs-msglevel-top-differences/)

## **Why [SYSOUT](http://www.indeed.com/jobs?q=SAS,Analytics+&indpubnum=6634974704162507) is coded in JCL**

- SYSOUT data sets are output files that are designed to be printed rather than stored on DASD or tape.
- how to print multiple copies of a data set without rerunning the entire job and how to send a data set to a printer in the department that needs the output.

## **Where to code SYSOUT in JCL**

1. The OUTPUT statement lets you specify many of the options for SYSOUT processing that you would otherwise code on a DD statement.
2. The advantage of the OUTPUT statement is that the SYSOUT options can apply to multiple data sets in a job, so you don’t have to code the same parameters on each DD statement.
3. You can reduce multiple lines of code by using OUTPUT statement

## **Syntax for OUTPUT**

```
//name OUTPUT [ ,CLASS=class ]
              [ ,CONTROL= {PROGRAM} ]
               {SINGLE }
               {DOUBLE }
                {TRIPLE }
                [ ,COPIES= {nnn } ]
                {(,(group-value[,group-value…]))}
                [ ,DEFAULT= {YES} ]
                 {NO }
               [ ,DEST=destination ]
               [ ,FCB=fcb-name ]
               [ ,FLASH=overlay-name ]
               [ ,FORMS=form-name ]
            [ ,JESDS= {ALL} ]
            {JCL}
            {LOG}
            {MSG}
           [ ,LINECT=nnn ]
            [ ,OUTDISP=(normal-disp[,abnormal-disp]) ]
            [ ,PRTY=nnn ]
```

**Explanation:**

CLASS-  Assigns an output class for SYSOUT data sets.
CONTROL- Specifies the line spacing for each record that’s printed.
COPIES- Specifies how many copies of the data set should be printed.
DEFAULT- Specifies whether or not this OUTPUT statement supplies default SYSOUT processing.
DEST- Specifies a destination for the SYSOUT data set.
FCB- Specifies the forms control buffer image to be downloaded to the printer when printing a special form.
FLASH- Specifies the name of the overlay to be used in printing a special form on a 3800 printing subsystem.
FORMS- Specifies the name of the form on which the SYSOUT data set is to be printed.
JESDS- Specifies the JES system data sets to which this OUTPUT statement applies.
LINECT- JES2 only; specifies the maximum number of lines to be printed on each page.
OUTDISP- JES2 only; specifies the disposition for an SYSOUT data set.
PRTY- Specifies a priority for the output data set.

**Key points in OUTPUT statement:**

- The OUTPUT statement is used to set options that can apply to multiple SYSOUT data sets within a job.
- An OUTPUT statement can be used to provide default options for all the SYSOUT data sets produced by a job or a job step. Or it can be used only for those data sets that explicitly reference it in their DD statements.

Keep Reading

- [Internal Reader – COBOL and JCL](https://srinimf.com/2014/06/16/internal-reader-cobol-and-jcl/)DateJune 16, 2014
- [Differences Between SYSOUT and SYSUDUMP in JCL](https://srinimf.com/2016/04/04/difference-between-sysout-and-sysudump-in-jcl/)DateApril 4, 2016
- [How to Copy File to Multiple Files using ICETOOL](https://srinimf.com/2015/08/12/jcl-icetool-to-copy-a-data-set-to-multiple-data-sets/)DateAugust 12, 2015

### Share this:

-
- [Tweet](https://twitter.com/share)
- [![](https://i0.wp.com/assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png)](https://www.pinterest.com/pin/create/link/?url=https%3A%2F%2Fsrinimf.com%2F2015%2F07%2F19%2Fmainframe-reduce-your-coding-lines-using-output-statement-in-jcl-1-of-2%2F&media=https%3A%2F%2Fi0.wp.com%2Fsrinimf.com%2Fwp-content%2Fuploads%2F2015%2F07%2Fpexels-photo-3785935.jpeg%3Ffit%3D1200%252C798%26ssl%3D1&description=How%20to%20Use%20OUTPUT%20statement%20in%20JCL)
-
- [Share on Tumblr](https://www.tumblr.com/share)
- [Share on WhatsApp (Opens in new window) WhatsApp](https://srinimf.com/2015/07/19/mainframe-reduce-your-coding-lines-using-output-statement-in-jcl-1-of-2/?share=jetpack-whatsapp)
- [More](#)
-

- [Print (Opens in new window) Print](https://srinimf.com/2015/07/19/mainframe-reduce-your-coding-lines-using-output-statement-in-jcl-1-of-2/?share=print)
- [Share on Reddit (Opens in new window) Reddit](https://srinimf.com/2015/07/19/mainframe-reduce-your-coding-lines-using-output-statement-in-jcl-1-of-2/?share=reddit)
- [Share on Telegram (Opens in new window) Telegram](https://srinimf.com/2015/07/19/mainframe-reduce-your-coding-lines-using-output-statement-in-jcl-1-of-2/?share=telegram)
- [Email a link to a friend (Opens in new window) Email](mailto:?subject=%5BShared%20Post%5D%20How%20to%20Use%20OUTPUT%20statement%20in%20JCL&body=https%3A%2F%2Fsrinimf.com%2F2015%2F07%2F19%2Fmainframe-reduce-your-coding-lines-using-output-statement-in-jcl-1-of-2%2F&share=email)
-

### Like this:

Like Loading…
