Legacy Terminology Glossary
| Field | Value |
|---|---|
| Type | Skill Resource |
| Source | ~/.copilot/skills/architecture/references/discovery/glossary.md |
| Description | Not specified |
Source Content
Legacy Terminology Glossary
A plain-English decoder for the terms in an IBM i / mainframe discovery. Use it to keep the onboarding doc jargon-free — decode a term on first use, then link here. Grouped by where you meet it.
Contents
- Legacy → modern analogy quick-map
- Cross-platform concepts
- IBM i / AS400 terms
- Mainframe / z/OS terms
- COBOL terms
- CICS terms
- Data-decoding terms
- Modernization terms
Legacy → modern analogy quick-map
For a reader who knows modern systems but not mainframes/IBM i. Each analogy is deliberately approximate — close enough to orient you, not close enough to skip the real definition below. This is the table the onboard-doc “Before you begin” primer draws from.
| Legacy concept | Closest modern analogy | Where it breaks down |
|---|---|---|
| Copybook | A shared struct / schema (a .proto, a TS interface) | It’s fixed-width bytes, not JSON — position matters |
| DB2 (for i or z/OS) | A relational SQL database | Genuinely close — it is SQL |
| VSAM KSDS | A keyed/indexed table or key-value store | No SQL; read one record at a time by key, in code |
| CICS transaction | An HTTP request handler / endpoint | State rides in a COMMAREA, not a session object |
| Pseudo-conversational | Stateless request/response (REST-ish) | The program literally ends between screens |
| COMMAREA / channel | The request context / a passed-in state blob | It’s a fixed byte layout, not a map |
| JCL | A shell script / CI pipeline for batch jobs | Declarative dataset wiring, not imperative code |
| Batch job (nightly) | A cron job / scheduled ETL step | Order is owned by a scheduler, not the job |
| Job scheduler (Control-M, CA-7, TWS) | Airflow / cron-with-dependencies | Holds the true run order and timing windows |
| Green screen (5250 / 3270) | A terminal UI / TUI | Fixed grid, function keys, no mouse |
| DDS display file (DSPF) / BMS map | An HTML form / screen template | Field row/column positions + attributes |
| Subfile (SFL) | A scrollable/paged list widget | Built into the screen definition |
| RPG | A business language for IBM i (sibling of COBOL) | Older dialects are column-sensitive |
| COBOL | A verbose business language | Divisions, PIC clauses, no expressions like modern code |
| COMP-3 / packed decimal | A binary-encoded decimal number | Not a string — must be decoded before use |
| Zoned decimal / EBCDIC | Text/number in a non-ASCII encoding | Must be transcoded; a byte ≠ an ASCII char |
| REDEFINES | A union type / overlapping struct view | Same bytes mean different things by context |
Data area (*DTAARA, IBM i) | A tiny persistent global / one Redis key | Holds a counter, flag, or next-number |
Data queue (*DTAQ) / TDQ | A small message queue (SQS/Kafka, in miniature) | Job-to-job, no network |
Journal (*JRN) / commitment control | A transaction log / DB transaction | The audit trail and the rollback boundary |
Cross-platform concepts
| Term | Plain English |
|---|---|
| Green screen | A text terminal UI (IBM i 5250 or mainframe 3270). No mouse; fields, function keys, and a fixed grid |
| Batch | Work run unattended by a schedule/script (no user waiting) — nightly runs, reports, feeds |
| Online / interactive | Work a user drives in real time at a terminal while they wait |
| Job | One unit of running work (batch or interactive), with its own environment |
| Spool / spooled file | A held report/print output waiting in a queue to be printed or viewed |
| Record | One row of a file (the mainframe/IBM i word for “row”) |
| File | A stored table or device — not a stream file. On these platforms “file” ≈ “table” |
| Member | One item inside a container (a source file inside a source library, or a PDS) |
| Copybook / record layout | The field-by-field definition of a record — the schema the system never wrote as DDL |
| Nightly cycle | The ordered set of batch jobs that must run (usually overnight) to close the day |
IBM i / AS400 terms
| Term | Plain English |
|---|---|
| IBM i | The OS; formerly AS/400 → iSeries → System i. Runs on Power hardware |
| OS/400, i5/OS | Older names for the IBM i operating system |
Library (*LIB) | A namespace/schema; a container of objects. QSYS is the system library |
Library list (*LIBL) | The ordered search path a job uses to find objects by name |
| Object | Any named thing on the system, each with a type (*PGM, *FILE, *DTAARA…) |
| RPG | The dominant IBM i business language (flavors: RPG III, RPG IV/RPGLE, free-form, SQLRPGLE) |
| RPG cycle | An implicit read-process-repeat loop older RPG runs for you — the loop you can’t see |
Indicator (*INxx) | One of 99 numbered on/off flags carrying meaning by convention; *INLR = last record |
| CL (Control Language) | The job/scripting language that runs programs and drives batch |
| SBMJOB | The CL command that submits a job to run in batch |
| OVRDBF | A CL command that redirects a program’s file at runtime (a “code says X, prod does Y” source) |
| DDS | Data Description Specs — the language defining files (PF/LF/DSPF/PRTF) |
| PF (physical file) | A table (the stored data) |
| LF (logical file) | A view/index/join over physical files |
| DSPF (display file) | A green-screen (5250) layout |
| PRTF (printer file) | A report layout |
| Subfile (SFL) | The 5250 scrollable-list control on a screen |
Data area (*DTAARA) | A tiny persistent value (counter, flag, next-number) — small but business-critical |
Data queue (*DTAQ) | An async message queue between jobs — a lightweight bus |
Journal (*JRN) | The transaction log / audit trail |
| DB2 for i | The built-in relational database (part of the OS) |
| ILE | The modern compile model: *MODULE → *PGM, shared code in *SRVPGM |
Service program (*SRVPGM) | A bound library of reusable procedures (like a shared library/DLL) |
| 5250 | The IBM i terminal protocol/data stream (the green screen) |
Mainframe / z/OS terms
| Term | Plain English |
|---|---|
| z/OS | IBM’s mainframe operating system |
| JCL | Job Control Language — tells z/OS what programs to run, in what order, with which datasets |
| Job / step | A JCL job is made of steps; each step runs one program or procedure |
| DD statement | Connects a program’s internal file name to a real dataset |
| DISP | A dataset’s disposition (SHR shared-read, OLD exclusive, NEW,CATLG create) |
| PROC | Reusable, cataloged JCL that a job invokes |
| Dataset | A mainframe file, named hierarchically (PROD.CLAIMS.MASTER) |
| PS / PDS / PDSE | Sequential file / partitioned “folder of members” / extended PDS |
| VSAM | The indexed-file family (KSDS keyed, ESDS sequential, RRDS by record number) |
| KSDS | Key-Sequenced Data Set — a keyed store, like a primary-key table |
| AIX (alternate index) | A secondary index over a VSAM KSDS |
| GDG | Generation Data Group — versioned dataset generations ((+1), (0), (-1)) |
| IDCAMS | The VSAM admin utility (DEFINE CLUSTER, etc.) |
| DFSORT / SYNCSORT | Sort/merge utilities; control cards sometimes do real transforms |
| Scheduler (Control-M, CA-7, TWS/OPC) | Triggers batch jobs by clock and dependency — holds the true nightly cycle |
| Abend | Abnormal end (a crash), reported with a completion code |
| S0C7 | Data-exception abend — arithmetic on invalid packed/numeric data |
| IMS | A hierarchical database (segments, DL/I calls) and its online monitor |
COBOL terms
| Term | Plain English |
|---|---|
| Division | One of COBOL’s four top sections: Identification, Environment, Data, Procedure |
| WORKING-STORAGE | The Data Division section holding a program’s variables and constants |
| LINKAGE SECTION | The section describing parameters passed in — the program’s input contract |
| FD (file description) | The record layout for a file the program uses |
| Level number | Nesting depth of a field: 01 record, 05/10 sub-fields, 77 scalar, 88 condition name |
| 88-level / condition name | A named value test (88 CLAIM-APPROVED VALUE 'A') — a business state in plain English |
| PIC (picture) | A field’s type and size (9 digit, X char, S signed, V implied decimal) |
| USAGE | How a field is stored (DISPLAY text, COMP-3 packed, COMP binary) |
| COMP-3 / packed decimal | Two digits per byte plus a sign nibble — compact numeric storage |
| REDEFINES | Overlays a second layout on the same bytes (one field, two meanings) |
| OCCURS | Makes an array/table; OCCURS DEPENDING ON makes it variable-length |
| COPY | Pulls in a copybook (shared layout) at compile time |
| PERFORM | Runs a paragraph/section, optionally in a loop |
| EVALUATE | COBOL’s switch/case — often encodes a decision table |
CICS terms
| Term | Plain English |
|---|---|
| CICS | The mainframe’s online transaction monitor (interactive programs vs 3270 terminals) |
| Transaction / TRANSID | A short code (CLM1) that launches an online program |
| Pseudo-conversational | The model where a program ends between screens; state is saved and handed back |
| BMS | Basic Mapping Support — the language defining 3270 screens (maps/mapsets) |
| Map / mapset | One screen / a group of screens |
EXEC CICS | The command syntax for CICS I/O and control (vs native COBOL file I/O) |
| COMMAREA | The block of saved state passed between pseudo-conversational screens |
| Channel / container | The modern, larger replacement for COMMAREA |
| TSQ (temp storage queue) | A named scratchpad surviving across tasks |
| TDQ (transient data queue) | A sequential queue; can trigger a program or map to a dataset |
| LINK / XCTL | Call a program and return / transfer with no return |
| EIB | EXEC Interface Block — CICS-filled control fields (EIBAID key pressed, EIBCALEN state length) |
| 3270 | The mainframe terminal protocol (the green screen) |
| SYNCPOINT | Commit the current unit of work |
Data-decoding terms
| Term | Plain English |
|---|---|
| Zoned decimal | Numbers stored one digit per byte, sign in the last byte’s zone nibble |
| Signed overpunch | A sign encoded into the last digit’s byte (so 12{ can mean +120, 12} = -120) |
| EBCDIC | The mainframe/IBM i character encoding (not ASCII) — text must be transcoded |
| Implied decimal | A decimal point that is not stored, only defined (V in PIC) — you must scale it |
| Endianness / binary field | The byte order of a COMP/binary integer — matters when reading raw bytes |
| Reference field (REFFLD) | A DDS field that inherits its definition from another field’s dictionary entry |
Modernization terms
| Term | Plain English |
|---|---|
| The R’s | Disposition options: Retain, Retire, Rehost, Re-platform, Refactor, Rebuild, Replace |
| Rehost (“lift and shift”) | Move the workload to new infra with minimal code change (e.g., an emulator in the cloud) |
| Re-platform | Move with light changes (e.g., recompile COBOL to run on Linux/x86) |
| Rebuild | Rewrite the functionality on a modern stack from the discovered rules |
| Replace | Retire the custom system for a COTS product |
| Strangler fig | Incrementally route features to the new system until the old one can be switched off |
| Golden-master test | A test that pins current behavior by comparing new output to captured legacy output |
| Data gravity | How hard a subsystem is to move because of the volume/coupling of its data |
| Anti-corruption layer | An adapter that keeps legacy quirks from leaking into the new system |