Mainframe glossary
The mainframe, in plain English.
The hardest thing about starting on the mainframe isn't the difficulty. It's the vocabulary: 115 words everyone around you uses and nobody stops to explain. Here they are, defined without using more jargon to do it.
#
A
Abend
An abnormal end: a program stopping in an uncontrolled way rather than finishing and reporting a result.
Access level
How much a user may do to a resource: read it, change it, or control it, with each level including the ones below.
Address space
An isolated pocket of memory in which a program runs, so that one program cannot interfere with another.
B
Batch processing
Running work in bulk, without anyone watching, usually on a schedule. The overnight run that settles a day of transactions.
Batch scheduler
Software that submits production jobs automatically in the right order, at the right time, based on what has already succeeded.
Batch window
The period, usually overnight, in which batch work has to finish before the business needs the systems back.
BIND
Preparing a program's SQL for execution, working out how each statement will access the data and storing the result.
Block size
How much data is moved between disk and memory in one go, written as BLKSIZE.
BMS map
The definition of a CICS screen: where each field sits, how long it is, and how it is highlighted.
C
Catalog
The system's index of where datasets live, so you can refer to a dataset by name without knowing which disk it is on.
CEMT
The CICS transaction used to see and change what is running in a region, enquiring on resources and acting on them.
Change control
The process every change goes through before reaching production: reviewed, approved, scheduled and reversible.
CICS
The transaction manager that runs online mainframe applications, and the software behind a great many screens bank staff use.
CICS region
One running copy of CICS, with its own programs, files and users. A site typically runs several.
CICS transaction
One unit of online work in CICS: the whole exchange of receiving a request, doing the work, and sending a response.
COBOL
The programming language most business logic on the mainframe is written in. Verbose by design, and still running the world's payments.
COBOL divisions
The four fixed sections every COBOL program is built from, always in the same order.
Commit and rollback
Making a set of changes permanent together, or undoing them together, so a transaction never half-happens.
Compile
Turning COBOL source code into machine instructions, checking the syntax and producing a listing of any errors.
COND parameter
The older way of telling a job step whether to run, based on the return codes of earlier steps.
Copybook
A shared block of COBOL declarations kept in a library and included into programs, so a record layout is defined once.
Cursor
A mechanism for stepping through a set of rows one at a time, when a query returns more than one result.
D
DASD
Direct access storage device, the mainframe term for disk storage.
DATA DIVISION
The part of a COBOL program that declares every record layout and variable it will use.
Dataset
What a mainframe calls a file: a named collection of records with a defined structure, rather than a loose stream of bytes.
Dataset name
The full name of a dataset, written as dot-separated qualifiers of up to eight characters each.
Dataset profile
A security rule describing which datasets it covers and who is allowed to do what to them.
DB2 for z/OS
IBM's relational database on the mainframe, where a great deal of the world's banking and insurance data is stored.
DCLGEN
A tool that generates COBOL declarations matching a DB2 table, so the program's fields line up with the columns.
DD statement
The JCL statement that connects a name inside a program to a real dataset outside it.
DFSORT
The standard sort utility, used far beyond sorting to select, merge, reformat and summarise records at speed.
Disposition
The DISP parameter, which says whether a dataset already exists, and what to do with it when the step ends normally or fails.
E
EBCDIC
The character encoding mainframes use, where letters and numbers are stored as different byte values than on a laptop.
Embedded SQL
SQL statements written directly inside a COBOL program, marked off so they can be prepared before compiling.
EVALUATE
COBOL's multi-way decision statement, and a clearer alternative to a long chain of nested IFs.
EXEC statement
The JCL statement that starts a step by naming the program or procedure to run.
F
G
H
I
IBM Z
IBM's current family of mainframe hardware, and the brand name you will see on most modern mainframe job adverts.
IDCAMS
The utility used to create, list, copy and delete datasets, and the standard tool for anything involving VSAM.
IEBGENER
The classic utility for copying a sequential dataset, and for creating one from data supplied in the JCL.
IEFBR14
A program that does nothing at all, used to create or delete datasets purely through the JCL around it.
IMS
An older IBM transaction manager and hierarchical database, still running some of the highest-volume systems in the world.
Index
A structure that lets a database find rows by value without reading the whole table.
ISPF
The full-screen, menu-driven workbench most people use to do their day-to-day work on z/OS.
ISPF editor
The full-screen text editor used to write and change JCL, COBOL, REXX and anything else held in a dataset.
ISPF panel
A single screen within ISPF, whether a menu, a list or a form, identified by a number you can jump straight to.
J
JCL
Job Control Language: the language used to tell the mainframe what programs to run, in what order, and with what files.
JES2
The job entry subsystem: the part of z/OS that queues jobs, decides when they run, and collects their output.
Job
A unit of batch work submitted to the system, made up of one or more steps that run in order.
Job class
A single-character label on a job that tells the system what kind of work it is and how to schedule it.
JOB statement
The first statement in every job, giving it a name and telling the system who is running it and how to treat it.
Job step
One program execution within a job. A job is simply a sequence of steps that run in order.
K
L
Legacy system
An older system still doing essential work. On the mainframe, usually code that has been correct and running for decades.
Level number
The two-digit number in front of a COBOL data item that shows how fields nest inside a record.
Link-edit
Combining compiled object code with the other modules it needs into a single runnable program.
Load module
The runnable form of a program, stored in a library, which JCL executes by name.
Logical record length
How long each record in a dataset is, in characters, written as LRECL.
Logon
Signing on to a mainframe system with a user ID and password to start an interactive session.
LPAR
A logical partition: one physical mainframe carved into several independent virtual machines, each running its own operating system.
M
Mainframe
A large, highly reliable computer built to run enormous volumes of transactions and batch work for an entire organisation at once.
Mainframe application developer
The person who writes and changes the business programs: COBOL, JCL, SQL and the logic that runs the organisation.
Member
One named item inside a partitioned dataset, such as a single program, job or copybook within a library.
O
P
Packed decimal
A compact way of storing numbers, two digits per byte, used heavily for amounts in business records.
PARSE
REXX's instruction for pulling a string apart into pieces, by position, by delimiter or by pattern.
Partitioned dataset
A dataset that works like a library or folder, holding many separately named members inside one dataset.
PDSE
The modern version of a partitioned dataset, which reclaims space automatically and removes the old size limits.
PERFORM
The COBOL statement that runs a paragraph and returns, and the way loops are written.
PERMIT
The command that grants or removes a user or group's access to a protected resource.
PF keys
The function keys F1 to F24, which carry the main actions on a mainframe screen: help, exit, save, page up and down.
PICTURE clause
The COBOL declaration that says what kind of data a field holds and how long it is, written as PIC.
Primary key
The column or columns that uniquely identify each row in a table, so no two rows share the same value.
PROC
A reusable piece of JCL stored as a member and invoked by name, so common steps are written once.
PROCEDURE DIVISION
The part of a COBOL program that contains the actual logic, the statements that run.
Production support
Keeping live systems running: diagnosing failures, fixing what broke, and getting the service back.
Pseudo-conversational
The CICS programming style where a program ends after sending each screen, rather than waiting for the user to reply.
R
RACF
The security manager for z/OS, which decides who may sign on, read a dataset, or run a transaction.
RACF group
A named collection of users, used to grant access to many people at once rather than one at a time.
RACF user ID
A person or program's identity on the system. Short, unique, and the basis of every access decision.
Record format
Whether the records in a dataset are all the same length or vary, and how they are blocked. Written as RECFM.
Return code
A number a program leaves behind saying how it went. Zero for clean, higher numbers for warnings and failures.
REXX
A readable scripting language used across the mainframe for automation, tooling and quick one-off tasks.
REXX exec
A REXX program, stored as a member in a library and run by name from TSO or ISPF.
Runbook
The written procedure for operating a system or responding to a known failure, step by step.
S
SAF
The interface z/OS and its subsystems use to ask the security manager whether something is allowed.
SDSF
The tool for looking at what jobs are running, what has finished, and what output they produced.
Sequential dataset
The simplest kind of dataset: records stored one after another and normally read from start to finish.
Space allocation
Reserving disk space for a dataset up front, in tracks, cylinders or blocks, with room to grow.
Spool
The system-managed holding area where job output waits to be read, printed or purged.
SQL
The language used to query and change relational data. The same SQL used everywhere else, running against mainframe tables.
SQLCODE
The result code DB2 returns after every SQL statement, saying whether it worked and what happened if it did not.
Started task
A long-running program that the system starts and leaves running, rather than a job that runs once and finishes.
Stem variable
REXX's array, a variable with a dot in its name used to hold a list such as the lines of a file.
Submit
Handing JCL to the system to be run, which queues it as a job and gives it a job number.
Subsystem
A major piece of software running under z/OS that provides a service to applications, such as a database or a transaction manager.
SYSOUT
Output sent to the spool rather than to a dataset, where you can read it after the job finishes.
Sysplex
A group of mainframe systems joined together so they behave as one, sharing work and data so that no single failure stops the service.
SYSPRINT
The conventional DD name a program uses for its messages and report output.
System programmer
The person who installs, configures, tunes and upgrades the operating system and its subsystems.
T
Transaction ID
A four-character code that tells CICS which program to run, typed on the screen or triggered by a key.
TSO
Time Sharing Option: the interactive login environment on z/OS, where you get a command prompt and a session of your own.
TSO command
A command typed at a TSO prompt or on an ISPF command line to ask the system to do something directly.
U
V
W
Z
Reading about it only gets you so far.
Join the waitlist and use every one of these for real, in your browser, with Zed beside you.