Module 2: TSO Datasets
TSO- Datasets
Almost everything you do on a mainframe revolves around datasets. TSO gives you commands to create (allocate), inspect, rename, copy and delete them directly from the READY prompt, without opening any ISPF panel.
Before you run these commands, keep the dataset naming rules in mind: names follow the form userid.name.type, the userid is usually the high-level qualifier, each qualifier is at most 8 characters, and the whole name is at most 44 characters.
The ALLOCATE command
- ALLOCATE creates a new dataset or assigns an existing one to your session (a ddname).
- Enclose fully qualified names in single quotes. Without quotes, TSO adds your userid as a prefix.
- Common operands: NEW, DSORG, RECFM, LRECL, BLKSIZE, CYL or TRK space, DIR for partitioned datasets.
READY
ALLOCATE DSNAME('FSS094.JCL.CNTL') NEW DSORG(PS) RECFM(FB) LRECL(80) BLKSIZE(0) SPACE(2,1) CYLINDERS
IKJ56702I DATA SET FSS094.JCL.CNTL ALLOCATED
READY
ALLOCATE DSNAME('FSS094.COBOL.SOURCE') NEW DSORG(PO) RECFM(FB) LRECL(80) BLKSIZE(0) SPACE(2,1) CYLINDERS DIRECTORY(10)
IKJ56702I DATA SET FSS094.COBOL.SOURCE ALLOCATED
READY
ALLOCATE DSNAME('FSS094.JCL.CNTL') OLD
IKJ56702I DATA SET FSS094.JCL.CNTL ALLOCATED
ALLOCATE DSNAME('FSS094.JCL.CNTL') NEW DSORG(PS) RECFM(FB) LRECL(80) BLKSIZE(0) SPACE(2,1) CYLINDERS
IKJ56702I DATA SET FSS094.JCL.CNTL ALLOCATED
READY
ALLOCATE DSNAME('FSS094.COBOL.SOURCE') NEW DSORG(PO) RECFM(FB) LRECL(80) BLKSIZE(0) SPACE(2,1) CYLINDERS DIRECTORY(10)
IKJ56702I DATA SET FSS094.COBOL.SOURCE ALLOCATED
READY
ALLOCATE DSNAME('FSS094.JCL.CNTL') OLD
IKJ56702I DATA SET FSS094.JCL.CNTL ALLOCATED
The LISTDS command
- LISTDS shows the attributes of a dataset: organization, record format, record length, block size and space used.
- For a partitioned dataset, the MEMBERS operand lists all member names.
READY
LISTDS 'FSS094.JCL.CNTL'
FSS094.JCL.CNTL
--RECFM-LRECL-BLKSIZE--DSORG
FB 80 27920 PS
--VOLUMES--
SMS001
READY
LISTDS 'FSS094.COBOL.SOURCE' MEMBERS
FSS094.COBOL.SOURCE
--RECFM-LRECL-BLKSIZE--DSORG
FB 80 27920 PO
--VOLUMES--
SMS001
--MEMBERS--
HELLO
PAYCAL
LISTDS 'FSS094.JCL.CNTL'
FSS094.JCL.CNTL
--RECFM-LRECL-BLKSIZE--DSORG
FB 80 27920 PS
--VOLUMES--
SMS001
READY
LISTDS 'FSS094.COBOL.SOURCE' MEMBERS
FSS094.COBOL.SOURCE
--RECFM-LRECL-BLKSIZE--DSORG
FB 80 27920 PO
--VOLUMES--
SMS001
--MEMBERS--
HELLO
PAYCAL
The RENAME command
- RENAME changes the name of an existing dataset or PDS member.
- For a PDS member, put the member in parentheses after the dataset name.
READY
RENAME 'FSS094.JCL.CNTL' 'FSS094.JCL.BACKUP'
READY
RENAME 'FSS094.COBOL.SOURCE(HELLO)' 'FSS094.COBOL.SOURCE(HELLOW)'
RENAME 'FSS094.JCL.CNTL' 'FSS094.JCL.BACKUP'
READY
RENAME 'FSS094.COBOL.SOURCE(HELLO)' 'FSS094.COBOL.SOURCE(HELLOW)'
The DELETE command
- DELETE removes a dataset or a PDS member.
- Deleting a PDS member only needs the dataset name with the member in parentheses.
- Use the PURGE operand to bypass the confirmation prompt.
READY
DELETE 'FSS094.JCL.BACKUP' PURGE
IKJ56702I DATA SET FSS094.JCL.BACKUP DELETED
READY
DELETE 'FSS094.COBOL.SOURCE(OLDPROG)' PURGE
DELETE 'FSS094.JCL.BACKUP' PURGE
IKJ56702I DATA SET FSS094.JCL.BACKUP DELETED
READY
DELETE 'FSS094.COBOL.SOURCE(OLDPROG)' PURGE
The LISTALC command
- LISTALC shows every dataset currently allocated to your TSO session.
- Use it to check which datasets you hold before logging off or freeing space.
READY
LISTALC
--DDNAME---DISP--
SYSPROC KEEP
--DSNAME--
SYS1.CLIST
--DDNAME---DISP--
SYSEXEC KEEP
--DSNAME--
FSS094.REXX.EXEC
LISTALC
--DDNAME---DISP--
SYSPROC KEEP
--DSNAME--
SYS1.CLIST
--DDNAME---DISP--
SYSEXEC KEEP
--DSNAME--
FSS094.REXX.EXEC
The FREE command
- FREE releases datasets from your session without logging off.
- Dispositions requested with ALLOCATE are not processed until you FREE the dataset or log off.
- FREE ALL releases everything allocated to your session.
READY
FREE DSNAME('FSS094.JCL.CNTL')
READY
FREE ALL
FREE DSNAME('FSS094.JCL.CNTL')
READY
FREE ALL
