CONCATENATING DATA SETS - IBM Mainframe

You can logically connect or concatenate (link together) sequential or partitioned data sets (PDSs or PDSEs) for the duration of a job step. To concatenate data sets, omit the ddnames from all the DD statements except the first. The data sets are processed in the same sequence as the DD statements defining them.

Example

//INPUT DD DSNAME=FGLIB,DISP=(OLD,PASS) // DD DSNAME=GROUP2,DISP=SHR

The SYSDUMP DD Statement

The SYSDUMP is coded in the name field of the DD statement. The syntax is as follows:

The SYSDUMP DD Statement

It is used to obtain a dump of the contents of various registers and variables in case of abnormal termination of the job. This dump is in hexadecimal format. Information about various subroutines called within the job and data sets accessed is also provided.

The SYSDUMP DD Statement

The SYSABEND DD Statement

The SYSABEND is coded in the name field of the DD statement. The syntax is as follows:

The SYSABEND DD Statement

Like SYSDUMP it is used to obtain a dump of the contents of various registers and variables in case of abnormal termination of the job. This dump is in hexadecimal format. Information about various subroutines called within the job and data sets accessed is also provided. In addition to this the system nucleus at the time of termination of a job is also listed to the output device or data set. A storage dump requires quite a lot of paper to print and presence of mind to analyze. Given that you are new to JCL we recommend that you stick to the SYSDUMP statement and avoid SYSABEND.

SYSABEND.

SYSIN - Input Stream Data

SYSIN is not a parameter. It is the conventional ddname assigned to input data streams. An input data stream is data that is entered at the time that the job is submitted. The syntax is as follows:

SYSIN - Input Stream Data

The start of the data stream is indicated by the '*' in the DD statement and the end by the '/*' in column land 2. When the operating system detects a * in the DD statement it pauses for input which can be entered in the form of keystrokes on the keyboard or coded. It considers all data that follows to be input data. The '/*' indicates the end of the input data stream. You can code many SYSIN statements within the same job or job step. The keyword DATA may replace the '*' as follows:

keyword DATA

Both statements produce the same result. The only difference is that when you code the '*' you cannot code a statement containing special character'//' or '/*' in the data segment that follows. However, there is no such restriction in the case DATA.

The '*' or DATA parameters are positional and must precede all keyword parameters. The '*' or DATA parameters cannot be coded in cataloged procedures.

The DLM Parameter

The DLM parameter is related to coding '*' or DATA in the operands portion of a JCL statement. In the prior section we have seen that coding DATA will allow us to code special characters '//* and '/*' in the first two columns of the input data. These two special characters must appear in the input data stream that follows the '*' as well, but only if the DLM parameter is used to specify the two character that will delimit the input data stream instead of '/*'. Thus the DLM parameter can be used both with '*' and DATA statements to specify the two delimiting characters that will be used to indicate the end of the input stream. The syntax is as follows:

SYSIN - Input Stream Data

If the DATA parameter is used the syntax will be:

DATA parameter

In both cases the characters enclosed within single quotes (xx) will be used to terminate the input stream

characters enclosed within single quotes

In this example, the DLM parameter is used to specify that the letter 'AZ' will be used to indicate the end of the input stream. It was necessary to use the DLM parameter because the statement - /*'INPUT - was part of the input stream.

The SYSOUT Parameter

The SYSOUT parameter is used to direct the output that is generated during the execution of a job to an output device. As indicated earlier, at the time a system is generated, a set of devices may be grouped together under a specific class name. Thus the SYSOUT parameter is used to direct output to an output class. This result in relevant output being send to any of the devices belonging to that class. The syntax of this parameter is:

//ddname DDSYSOUT=clas$

Where class is the pre-designated output class, containing any single alphanumeric character. When the system encounters a SYSOUT statement, it writes the output to some direct access volume such as a disk. Then, depending on the priorities assigned to the different classes, the system writes the output from the direct access device to the specified output device. Traditionally dass 'A' has been designated as the printer. You can also code an '*' in the SYSOUT parameter. This will result in the same class being designated to SYSOUT as the assignment to the MSGCLASS parameter. Multiple SYSOUT statements can be coded within a job. Each data set will be output in the sequence in which it appears, and directed to the appropriate output class.

The SYSOUT ParameterThe SYSOUT Parameter

The DEST Parameter

The DEST parameter is used to route output to a specific destination, which may or may not be in a remote location. The syntax of this parameter is:

//ddname DDDEST

Where the DEST parameter can be in any of the following formats in JES2 environment:

The DEST Parameter

Where 'RMT, 'RM' and 'R' stand for ReMote Terminal. 'U' specifies a local terminal. 'NT specifies 2 node. In the case of DEST=NnnnRyyy, 'N' specifies a node and 'R' specifies a remote workstation connected

to the node, 'xxxx' are 1 to 4 alphanumeric or national characters. The ranges of numbers that can be coded in this field are 0 to 4000. 'hhh' are hexadecimal digits, 'nnn' a 1 to 3 digit number, 'yyy' is a number form 1 to 999 designating a remote node. LOCAL indicates a local destination, 'name' can be 1 to 8 alphanumeric or national characters used to specify the destination device name. In the JES3 environment the DEST parameter can be in any of the following formats:

DEST parameter

Where ANYLOCAL is used to route output to a local device, 'devicename' is the name of the destination device comprised of 1 to 8 alphanumeric or national characters, 'address' is the device address. It can be 1 to 3 characters in length and specifies the physical address that was assigned to a device at the time the system was generated. The name of the output device through which output is directed is the 'group_name'. The name of the remote node is the 'nodename'.

The HOLD Parameter

This parameter is coded on the DD statement and is used to specify whether the output is to be printed immediately, or held until further notice. The syntax of this parameter is:

//ddname DD HOLD

Where the HOLD parameter can be in any of the following formats:

  1. HOLD=YES
  2. HOLD=NO

If the HOLD parameter is not coded it defaults to 'NO'.

The OUTLIM Parameter

This parameter is coded on the DD statement and is used to limit the number of lines that are output to the destination specified in the SYSOUT. This parameter is usually used to avoid printing excessive amounts of data. The syntax of this parameter is:

//ddname DD OUTLIM=number

Where number should be between 1 and 16,777,215. If this parameter is not coded, and you work in a JES2 environment, then there is no limit to the number of lines printed. If you work in a JES3 environment, then the number of lines that will be output will be limited to the installation defined default.


All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

IBM Mainframe Topics