TSO/E — Time-Sharing Option Commands Guide
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
What command lists catalog entries in TSO/E?
LISTCATorLISTCwith theLEVELparameter.How do you submit a JCL job from TSO/E? Use
SUBMIT 'dataset.name(member)'to send the job to JES.What does the ALLOCATE command do? It allocates a dataset and assigns it to a DD name for use in the session.
How do you run a REXX exec in TSO/E? Use
EXEC 'dataset.name(member)'or the shorthand%membername.What command shows your current TSO/E allocation?
SHOWALLOCdisplays 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'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