Reference
Glossary & command reference
Everything named in the course, in one filterable place. Syntax is shown in the form used throughout; confirm exact spelling and options against your site's manuals for your IDMS release.
Terms
| Term | Meaning |
|---|---|
| ADS/O | Application Development System/Online. A 4GL for building IDMS/DC applications as dialogs and processes. Much legacy business logic lives here rather than in COBOL. |
| Area | A contiguous range of pages holding one or more record types. The unit of READY, locking, backup and recovery. Logical name in the schema, physical mapping in the DMCL. |
| ASF | Automatic System Facility. Lets end users define and populate tables inside IDMS without DBA involvement. A common source of data missing from scoping surveys. |
| Bachman diagram | The standard notation for a network schema: boxes are record types, arrows point owner → member, labelled with the set name. |
| Buffer pool | In-memory database pages inside the CV. Sized in the DMCL. The largest single performance lever available. |
| CALC | A location mode: the DBMS randomises a declared key to a target page, giving single-I/O access by key with no index. |
| CDC | Change data capture. Reading a database's log or journal to replicate committed change continuously. |
| Central version (CV) | The long-running z/OS address space that owns the database files, serialises requests, manages buffers and locks, and writes journals. |
| Checkpoint (CKPT) | A journal record marking a durable point for a run unit, written by COMMIT. |
| CODASYL | Conference on Data Systems Languages. Its Data Base Task Group published the network model specification in 1971; IDMS is its most successful commercial implementation. |
| Currency | The DBMS's memory of where a run unit is positioned. Four kinds: run unit, record type, set type, area. |
| DBAN | IDMSDBAN, the database analysis utility. Reports chain lengths, space utilisation, fragmentation and broken pointers. |
| DBNAME | A named collection of segments a run unit can address as one database. Defined in the DBTABLE. |
| Db-key | A 32-bit physical address combining a page number and a line index, split at the db-key radix. Unique within a page group. Not stable across a reorganisation. |
| DC / IDMS-DC | IDMS's built-in teleprocessing monitor: terminals, tasks, program pools, storage pools. |
| DCMT | The online operator command facility. DCMT DISPLAY … interrogates state; DCMT VARY … changes it. |
| DCUF | User command facility — session-level settings such as DCUF SET DICTNAME. |
| DIRECT | A location mode where the program supplies a suggested db-key. Rare and deliberate. |
| DMCL | Device Media Control Language. The physical definition: segments, files, page sizes, page ranges, buffer pools, journals, db-key radix. |
| ERU | External run unit — a run unit driven from outside the CV (batch, CICS, JDBC). Counted against MAXERUS. |
| Fragment | The overflow portion of a record that grew beyond its page. The root stays at the original db-key so pointers remain valid; reading costs an extra I/O. |
| IDD | Integrated Data Dictionary. An IDMS database describing the installation: schemas, subschemas, records, elements, programs, users. |
| IDMSBCF | Batch Command Facility — runs SQL and utility statements from JCL. |
| Journal | The write-ahead log. Disk journal files in rotation, offloaded to archive journals. The source stream for both recovery and log-based CDC. |
| Line index | The slot directory at the end of a page mapping line numbers to byte offsets, so records can move within a page without invalidating db-keys. |
| Local mode | A batch job opening the database files directly instead of connecting to the CV. Fast, exclusive, and journalled only on request. |
| LRF | Logical Record Facility. Subschema-defined flattened records assembled by declared path groups. |
| MAXERUS | SYSGEN limit on concurrent external run units. |
| MAXTASKS | SYSGEN limit on concurrent tasks inside the CV. |
| Membership options | MANDATORY/OPTIONAL (can it be disconnected) × AUTOMATIC/MANUAL (is it connected on STORE). The closest thing IDMS has to declarative referential integrity. |
| Page group | A namespace for page numbers. Sets cannot span page groups because db-key pointers carry no group qualifier. |
| Page reserve | Space held back on each page so records that grow can expand in place instead of fragmenting. |
| Prefix | The block of db-key pointer slots preceding the user data in every record occurrence, one slot per set pointer. |
| Radix | The number of low-order db-key bits reserved for the line index. Determines maximum records per page and maximum addressable pages. |
| Record ID | The numeric identity of a record type, stamped into every occurrence and into journal images. The discriminator a capture agent uses. |
| Run unit | One binding of a program to a subschema. Owns currency, locks and the journal thread. BIND to FINISH. |
| Schema | The complete logical design: every record type, set type and area. Versioned. |
| Segment | A named group of areas and their files. The unit of physical administration; carries the page group and radix. |
| Set | A named, ordered relationship between one owner record type and one or more member record types, materialised as pointer chains or index structures. |
| Singular set | A set with OWNER IS SYSTEM, so exactly one occurrence exists database-wide. Used for standalone indexes and sequential paths. |
| SMP | Space management page. Records free space for nearby pages so STORE can pick an overflow page without probing. |
| SR7 / SR8 | System record types forming an integrated index: SR7 is the index owner, SR8 blocks hold sorted key entries and pointers. |
| Subschema | A program's view: which records, elements, sets and areas it may use, and in which usage modes. Bound at runtime. |
| SYSCTL | A dataset telling a batch job which CV to connect to. Its absence is how a job becomes local mode. |
| SYSGEN | The CV's own definition: tasks, programs, terminals, pools, limits. |
| SYSIDMS | A parameter file read by batch jobs: DBNAME, DICTNAME, JOURNAL, LOCAL and more. |
| UCF | Universal Communications Facility. Lets CICS, TSO or z/VM front-end an IDMS/DC session. |
| VIA | A location mode clustering a record physically near the owner it will be connected to in a named set. The highest-leverage physical decision in a schema. |
| Warm start | Automatic recovery on CV restart: in-flight run units are backed out using before-images; committed work stands. |
DML verb reference
| Statement | Effect |
|---|---|
BIND RUN-UNIT | Starts the run unit and binds the subschema. |
BIND record-name | Associates a record type with its work area in the program. |
READY area USAGE mode | Opens an area in one of RETRIEVAL / PROTECTED RETRIEVAL / EXCLUSIVE RETRIEVAL / UPDATE / PROTECTED UPDATE / EXCLUSIVE UPDATE. |
FIND … | Locates a record and sets currency. Does not move data. |
GET [record] | Moves the current of run unit into the work area. |
OBTAIN … | FIND plus GET. |
OBTAIN CALC record | Retrieves by the CALC key already moved into the work area. |
OBTAIN record DB-KEY IS x | Direct retrieval by saved address. One I/O, no navigation. |
OBTAIN FIRST|LAST|NEXT|PRIOR|n … WITHIN set | Positional navigation within a set occurrence. |
OBTAIN OWNER WITHIN set | Retrieves the owner of the current set occurrence. |
OBTAIN NEXT record WITHIN area | Area sweep in db-key sequence. |
FIND … WITHIN set USING sort-key | Positions by key within a SORTED set without walking. |
ACCEPT var FROM CURRENCY | Copies the current db-key into a program variable. |
ACCEPT STATISTICS | Returns run-unit I/O and lock counters to the program. |
STORE record | Stores the work area, places by location mode, connects to every AUTOMATIC set using current owners. |
MODIFY record | Replaces the stored occurrence with the work area. Requires a prior GET/OBTAIN. |
ERASE record | Erases only if it owns no non-empty set. |
ERASE record PERMANENT | Erases mandatory members recursively; disconnects optional ones. |
ERASE record SELECTIVE | As PERMANENT, but also erases optional members that belong to no other set. |
ERASE record ALL | Erases every member recursively regardless of membership option. |
CONNECT record TO set | Links the current of run unit into the current occurrence of the set. |
DISCONNECT record FROM set | Unlinks it. Legal only for OPTIONAL membership. |
IF set-name IS [NOT] EMPTY | Tests set emptiness with no I/O and no currency change. |
IF record MEMBER|NOT MEMBER set | Tests whether the current record is connected to the set. |
KEEP [EXCLUSIVE] CURRENT | Explicit shared or exclusive lock on the current record. |
COMMIT [ALL] | Checkpoints and releases locks. ALL retains currencies. |
ROLLBACK [CONTINUE] | Backs out to the last checkpoint. CONTINUE leaves the run unit active. |
FINISH | Ends the run unit, commits, releases areas and locks. |
Error-status conditions
A status is four characters: a two-digit major code identifying the verb and a two-digit minor code identifying the condition. The minor codes below are the ones you will meet constantly. Confirm exact major-code pairings for your release in the CA IDMS Messages and Codes manual.
| Status | Condition |
|---|---|
0000 | Successful. |
0307 | End of set, area or index. The normal loop terminator, tested as DB-END-OF-SET. |
0326 | Record not found — no occurrence matches the CALC key. Tested as DB-REC-NOT-FOUND. |
xx05 | Record, set or area is not in the subschema. |
xx06 | Currency was not established for the named record, set or area. |
xx12 | Duplicate key where duplicates are not allowed. |
xx29 | Record is the owner of a non-empty set — plain ERASE rejected. |
xx66 | Area not readied in the usage mode the verb requires. |
3xxx | Deadlock, timeout and lock-wait family. |
Operator & utility commands
| Command | Purpose |
|---|---|
DCMT DISPLAY ACTIVE TASKS | What is running in the CV right now. |
DCMT DISPLAY STATISTICS SYSTEM | Task rates, waits, storage high-water marks. |
DCMT DISPLAY BUFFER | Buffer pool sizes, reads, writes, hit ratios. |
DCMT DISPLAY AREA area-name | Area status, lock mode, current users. |
DCMT VARY AREA area-name OFFLINE | Quiesce an area for a reorg or consistent copy. |
DCMT DISPLAY JOURNAL | Journal file status and archive state. |
DCMT DISPLAY LOCKS | Lock holders and waiters. |
DCUF SET DICTNAME name | Point the session at a dictionary. |
DISPLAY SCHEMA … WITH ALL | Punch the full schema definition from the dictionary — the metadata extract for target DDL generation. |
DISPLAY ALL PROGRAMS WHICH USE RECORD … | Impact analysis from the dictionary's dependency graph. |
BACKUP / image copy | Physical copy of an area; the base for a rollforward. |
RESTORE | Puts an image copy back. A replication event. |
UNLOAD / RELOAD | Logical unload and reload for reorganisation. Reassigns every db-key. |
PRINT PAGE | Hex dump of a page with structural interpretation. The forensic tool. |
IDMSDBAN | Analysis: space, chain lengths, fragmentation, broken pointers. |
IDMSBCF | Batch command facility for SQL and utility statements. |
IDMSRPTS | Dictionary cross-reference and documentation reports. |
COBOL data types on the wire
| Declaration | Storage | Trap |
|---|---|---|
PIC X(n) | n bytes of EBCDIC | Space-padded — decide once whether the target trims |
PIC 9(n) | n bytes, zoned decimal | Unsigned; leading zeros are significant as characters |
PIC S9(n) | n bytes, sign in the zone nibble of the last byte | Sign overpunch — -123 ends in X'D3', the letter L |
PIC S9(n)V9(m) COMP-3 | ⌈(n+m+1)/2⌉ bytes packed | Sign nibble C/D/F; destroyed by character conversion |
PIC S9(n) COMP | 2, 4 or 8 bytes, big-endian two's complement | Byte order on little-endian consumers |
COMP-1 / COMP-2 | 4 / 8 byte floating point | Traditionally hexadecimal float, not IEEE 754 — confirm which |
OCCURS n TIMES | Fixed repeating group | Model as a child table with a sequence, not n columns |
OCCURS DEPENDING ON | Variable-length repeating group | Fixed-offset parsing breaks for every record below maximum size |
REDEFINES | Alternative interpretations of the same bytes | The discriminator lives in application code, not in the data |