Skip to content

TSO/E — Time-Sharing Option Commands Guide

DodaTech Updated 2026-06-24 4 min read

In this tutorial, you'll learn about TSO/E. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.

TSO/E (Time-Sharing Option/Extensions) is the interactive command-line environment on IBM z/OS that gives users direct access to the Mainframe — think of it as the terminal interface where you run commands, manage datasets, submit jobs, and execute REXX scripts in real time.

What You'll Learn

Essential TSO/E commands for dataset management, catalog navigation, job submission, REXX execution, and system information retrieval on z/OS.

Why It Matters

TSO/E is the gateway to the Mainframe. Every developer, administrator, and operator uses TSO/E to navigate the system. Without TSO/E skills, you cannot interact with z/OS directly. It is the equivalent of knowing Bash on Linux or PowerShell on Windows.

DodaZIP uses TSO/E-style command syntax for its advanced CLI mode. Durga Antivirus Pro applies TSO/E logon security patterns for authentication workflows.

Real-World Use

A bank operations analyst uses TSO/E to list all datasets in a production library, check their last-modified dates, and submit a batch JCL job that reconciles overnight transactions — all from a single TSO/E session.

Learning Path

flowchart LR
  A["Mainframe Basics"] --> B["JCL Job Control"]
  B --> C["TSO/E Commands
You are here"] C --> D["REXX Programming"] D --> E["ISPF & PDF"] style C fill:#f90,color:#fff

What Is TSO/E?

TSO/E provides the interactive terminal session on z/OS. When you log into a Mainframe via TN3270, you enter a TSO/E session. From there, you can run commands, allocate datasets, edit members, and start ISPF.

Logon and Session Basics

A TSO/E session begins with a logon procedure:

IKJ56700A ENTER USERID -
 USERID
IKJ56700A ENTER PASSWORD -
 PASSWORD
IKJ56710A LOGON IN PROGRESS AT 14:30:00 ON JUNE 24, 2026

Once logged on, you see the READY prompt where you enter commands.

Essential TSO/E Commands

Dataset Management

LISTCAT ENTRIES('USER.PROD.DATA') ALL
ALLOCATE FILE(DD1) DATASET('USER.TEST.OUTPUT') NEW CATALOG UNIT(SYSDA) SPACE(TRACK,(5,5))
DELETE 'USER.TEST.OUTPUT'
RENAME 'USER.OLD.DATA' 'USER.NEW.DATA'

Catalog Navigation

LISTC LEVEL(USER.PROD)
LISTC LEVEL(SYS1.PARMLIB)
CATALOG 'USER.NEW.DATASET' VOLUME(TEMP01)

Job Submission

SUBMIT 'USER.JCL.CNTL(PAYROLL)'
STATUS
OUTPUT LIST
CANCEL JOB12345

Use SUBMIT to send a JCL dataset to JES for execution. The STATUS command checks the job queue. OUTPUT retrieves job results.

REXX Execution under TSO/E

You can run REXX execs directly from TSO/E:

READY
EXEC 'USER.REXX.LIB(SCANLOG)'

Or using the shorthand:

READY
%SCANLOG PARAM1 PARAM2

TSO/E Command Output Management

Commands produce output you can direct to datasets:

LISTC LEVEL(USER.TEST) KEEP
LISTC LEVEL(USER.PROD) PRINT('USER.OUTPUT.LISTING')

The output is displayed on your terminal and optionally written to a dataset for later review.

System Information Commands

TIME
CPU
SHOWALLOC
LISTGRP
LU USER1
LINK LIST

These commands show system status, your allocation, group membership, and user information.

Common Errors

1. Forgetting the single quotes in dataset names

Dataset names without quotes default to your user prefix. Use quotes for fully qualified names.

2. Not specifying DISP properly on ALLOCATE

Always specify disposition — SHR for existing, NEW for new datasets.

3. Confusing TSO/E commands with JCL

TSO/E commands run interactively. JCL runs as batch jobs. They have different syntax.

4. Using SUBMIT without confirming JES status

Always use STATUS after SUBMIT to confirm the job entered the queue.

5. Exceeding session time limits

TSO/E sessions have time limits. Use LOGOFF properly, not just closing the terminal.

Practice Questions

  1. What command lists catalog entries in TSO/E? LISTCAT or LISTC with the LEVEL parameter.

  2. How do you submit a JCL job from TSO/E? Use SUBMIT 'dataset.name(member)' to send the job to JES.

  3. What does the ALLOCATE command do? It allocates a dataset and assigns it to a DD name for use in the session.

  4. How do you run a REXX exec in TSO/E? Use EXEC 'dataset.name(member)' or the shorthand %membername.

  5. What command shows your current TSO/E allocation? SHOWALLOC displays all allocated datasets and their DD names.

Challenge: Write a sequence of TSO/E commands that allocates a new output dataset, submits a JCL job that writes to it, and prints the job output to your terminal.

FAQ

What does TSO/E stand for?

Time-Sharing Option/Extensions — the interactive command environment for z/OS.

Is TSO/E the same as the Mainframe terminal?

TSO/E runs on the Mainframe and provides the command-line prompt. The terminal is the TN3270 emulator you use to connect.

Can I use TSO/E without ISPF?

Yes. TSO/E is independent of ISPF. You can run commands at the READY prompt without ever starting ISPF.

What is the difference between TSO/E commands and JCL?

TSO/E commands are interactive and immediate. JCL defines batch jobs for scheduled execution. A SUBMIT command sends JCL to batch.

How do I log off from TSO/E?

Enter LOGOFF at the READY prompt to end the session properly.

What's Next

Tutorial What You'll Learn
REXX Programming Guide Automate TSO/E tasks with scripting
ISPF & PDF Guide Build interactive dialogs on z/OS

Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. Updated 2026-06-24.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro