The Mainframe Environment

TSO (Time Sharing Option) gives interactive access; ISPF is the menu-driven interface on top of it.

34.1 z/OS in one page

IBM Z hardware (z15, z16, z17) runs z/OS, a 64-bit operating system built for high availability, security, and massive I/O throughput. Other options include z/VM, Linux on Z, and z/VSE (now VSEn).

Work runs in address spaces: batch jobs (initiated by JES2/JES3), TSO user sessions, and subsystems such as CICS, IMS, Db2, and MQ.

Character data uses EBCDIC (e.g., code page 1047 or 037), not ASCII — important when transferring files. Language Environment (LE) is the common runtime for COBOL, PL/I, C/C++, and Java interop.

RACF (or ACF2/Top Secret) controls security; SMS manages storage; SMF records accounting and performance data.

34.2 TSO/ISPF

TSO (Time Sharing Option) gives interactive access; ISPF is the menu-driven interface on top of it.

Edit a dataset or member DSLIST: list datasets by pattern (USER01.*) and act on them (E edit, B browse, D delete, Z compress) Allocate, rename, delete datasets =SD / SDSF

View job output (spool): ST status, ? list DDs, S select

Issue TSO commands (SUBMIT, LISTCAT, ALLOC) ISPF editor commands:

Line commands (typed over the line numbers) I insert, D delete, R repeat, C/M copy/move with A/B (after/before), CC/MM/DD blocks, X exclude, (/) shift Primary commands (command line)

FIND 'TEXT', CHANGE 'OLD' 'NEW' ALL, SAVE, CANCEL, SUB (submit JCL), HEX ON, COLS, RESET, UNNUM, COPY member

34.3 Datasets

Names have up to 44 characters, with qualifiers of up to 8 characters separated by dots: HLQ.PROJECT.COBOL.SOURCE. The high-level qualifier (HLQ) is often your user ID.

PS (physical sequential) Flat file of records (QSAM) PDS (partitioned dataset)

Library of members with a directory — source code, copybooks, JCL, load modules

Improved PDS (reuses space, no compress needed); required for program objects from Enterprise COBOL 5+ KSDS, ESDS, RRDS, LDS (Chapter 22) GDG (generation data group)

Versioned series of datasets: PROD.DAILY.TRANS(0) = current, (+1) = new, (-1) = previous z/OS UNIX files

Hierarchical files in zFS (/u/user01/app) Record attributes: RECFM (F, FB fixed blocked, V, VB variable blocked, FBA/VBA with ASA print control, U undefined), LRECL (record length; for VB includes the 4-byte RDW), BLKSIZE (0 = system-determined).

Typical developer libraries: USER01.COBOL.SOURCE and USER01.COBOL.COPYLIB (FB 80), USER01.JCL (FB 80), USER01.LOAD (PDSE, RECFM=U, program objects), USER01.LISTING (FBA 133).