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

TermMeaning
ADS/OApplication Development System/Online. A 4GL for building IDMS/DC applications as dialogs and processes. Much legacy business logic lives here rather than in COBOL.
AreaA 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.
ASFAutomatic System Facility. Lets end users define and populate tables inside IDMS without DBA involvement. A common source of data missing from scoping surveys.
Bachman diagramThe standard notation for a network schema: boxes are record types, arrows point owner → member, labelled with the set name.
Buffer poolIn-memory database pages inside the CV. Sized in the DMCL. The largest single performance lever available.
CALCA location mode: the DBMS randomises a declared key to a target page, giving single-I/O access by key with no index.
CDCChange 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.
CODASYLConference on Data Systems Languages. Its Data Base Task Group published the network model specification in 1971; IDMS is its most successful commercial implementation.
CurrencyThe DBMS's memory of where a run unit is positioned. Four kinds: run unit, record type, set type, area.
DBANIDMSDBAN, the database analysis utility. Reports chain lengths, space utilisation, fragmentation and broken pointers.
DBNAMEA named collection of segments a run unit can address as one database. Defined in the DBTABLE.
Db-keyA 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-DCIDMS's built-in teleprocessing monitor: terminals, tasks, program pools, storage pools.
DCMTThe online operator command facility. DCMT DISPLAY … interrogates state; DCMT VARY … changes it.
DCUFUser command facility — session-level settings such as DCUF SET DICTNAME.
DIRECTA location mode where the program supplies a suggested db-key. Rare and deliberate.
DMCLDevice Media Control Language. The physical definition: segments, files, page sizes, page ranges, buffer pools, journals, db-key radix.
ERUExternal run unit — a run unit driven from outside the CV (batch, CICS, JDBC). Counted against MAXERUS.
FragmentThe 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.
IDDIntegrated Data Dictionary. An IDMS database describing the installation: schemas, subschemas, records, elements, programs, users.
IDMSBCFBatch Command Facility — runs SQL and utility statements from JCL.
JournalThe write-ahead log. Disk journal files in rotation, offloaded to archive journals. The source stream for both recovery and log-based CDC.
Line indexThe 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 modeA batch job opening the database files directly instead of connecting to the CV. Fast, exclusive, and journalled only on request.
LRFLogical Record Facility. Subschema-defined flattened records assembled by declared path groups.
MAXERUSSYSGEN limit on concurrent external run units.
MAXTASKSSYSGEN limit on concurrent tasks inside the CV.
Membership optionsMANDATORY/OPTIONAL (can it be disconnected) × AUTOMATIC/MANUAL (is it connected on STORE). The closest thing IDMS has to declarative referential integrity.
Page groupA namespace for page numbers. Sets cannot span page groups because db-key pointers carry no group qualifier.
Page reserveSpace held back on each page so records that grow can expand in place instead of fragmenting.
PrefixThe block of db-key pointer slots preceding the user data in every record occurrence, one slot per set pointer.
RadixThe number of low-order db-key bits reserved for the line index. Determines maximum records per page and maximum addressable pages.
Record IDThe numeric identity of a record type, stamped into every occurrence and into journal images. The discriminator a capture agent uses.
Run unitOne binding of a program to a subschema. Owns currency, locks and the journal thread. BIND to FINISH.
SchemaThe complete logical design: every record type, set type and area. Versioned.
SegmentA named group of areas and their files. The unit of physical administration; carries the page group and radix.
SetA named, ordered relationship between one owner record type and one or more member record types, materialised as pointer chains or index structures.
Singular setA set with OWNER IS SYSTEM, so exactly one occurrence exists database-wide. Used for standalone indexes and sequential paths.
SMPSpace management page. Records free space for nearby pages so STORE can pick an overflow page without probing.
SR7 / SR8System record types forming an integrated index: SR7 is the index owner, SR8 blocks hold sorted key entries and pointers.
SubschemaA program's view: which records, elements, sets and areas it may use, and in which usage modes. Bound at runtime.
SYSCTLA dataset telling a batch job which CV to connect to. Its absence is how a job becomes local mode.
SYSGENThe CV's own definition: tasks, programs, terminals, pools, limits.
SYSIDMSA parameter file read by batch jobs: DBNAME, DICTNAME, JOURNAL, LOCAL and more.
UCFUniversal Communications Facility. Lets CICS, TSO or z/VM front-end an IDMS/DC session.
VIAA 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 startAutomatic recovery on CV restart: in-flight run units are backed out using before-images; committed work stands.

DML verb reference

StatementEffect
BIND RUN-UNITStarts the run unit and binds the subschema.
BIND record-nameAssociates a record type with its work area in the program.
READY area USAGE modeOpens 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 recordRetrieves by the CALC key already moved into the work area.
OBTAIN record DB-KEY IS xDirect retrieval by saved address. One I/O, no navigation.
OBTAIN FIRST|LAST|NEXT|PRIOR|n … WITHIN setPositional navigation within a set occurrence.
OBTAIN OWNER WITHIN setRetrieves the owner of the current set occurrence.
OBTAIN NEXT record WITHIN areaArea sweep in db-key sequence.
FIND … WITHIN set USING sort-keyPositions by key within a SORTED set without walking.
ACCEPT var FROM CURRENCYCopies the current db-key into a program variable.
ACCEPT STATISTICSReturns run-unit I/O and lock counters to the program.
STORE recordStores the work area, places by location mode, connects to every AUTOMATIC set using current owners.
MODIFY recordReplaces the stored occurrence with the work area. Requires a prior GET/OBTAIN.
ERASE recordErases only if it owns no non-empty set.
ERASE record PERMANENTErases mandatory members recursively; disconnects optional ones.
ERASE record SELECTIVEAs PERMANENT, but also erases optional members that belong to no other set.
ERASE record ALLErases every member recursively regardless of membership option.
CONNECT record TO setLinks the current of run unit into the current occurrence of the set.
DISCONNECT record FROM setUnlinks it. Legal only for OPTIONAL membership.
IF set-name IS [NOT] EMPTYTests set emptiness with no I/O and no currency change.
IF record MEMBER|NOT MEMBER setTests whether the current record is connected to the set.
KEEP [EXCLUSIVE] CURRENTExplicit 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.
FINISHEnds 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.

StatusCondition
0000Successful.
0307End of set, area or index. The normal loop terminator, tested as DB-END-OF-SET.
0326Record not found — no occurrence matches the CALC key. Tested as DB-REC-NOT-FOUND.
xx05Record, set or area is not in the subschema.
xx06Currency was not established for the named record, set or area.
xx12Duplicate key where duplicates are not allowed.
xx29Record is the owner of a non-empty set — plain ERASE rejected.
xx66Area not readied in the usage mode the verb requires.
3xxxDeadlock, timeout and lock-wait family.

Operator & utility commands

CommandPurpose
DCMT DISPLAY ACTIVE TASKSWhat is running in the CV right now.
DCMT DISPLAY STATISTICS SYSTEMTask rates, waits, storage high-water marks.
DCMT DISPLAY BUFFERBuffer pool sizes, reads, writes, hit ratios.
DCMT DISPLAY AREA area-nameArea status, lock mode, current users.
DCMT VARY AREA area-name OFFLINEQuiesce an area for a reorg or consistent copy.
DCMT DISPLAY JOURNALJournal file status and archive state.
DCMT DISPLAY LOCKSLock holders and waiters.
DCUF SET DICTNAME namePoint the session at a dictionary.
DISPLAY SCHEMA … WITH ALLPunch 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 copyPhysical copy of an area; the base for a rollforward.
RESTOREPuts an image copy back. A replication event.
UNLOAD / RELOADLogical unload and reload for reorganisation. Reassigns every db-key.
PRINT PAGEHex dump of a page with structural interpretation. The forensic tool.
IDMSDBANAnalysis: space, chain lengths, fragmentation, broken pointers.
IDMSBCFBatch command facility for SQL and utility statements.
IDMSRPTSDictionary cross-reference and documentation reports.

COBOL data types on the wire

DeclarationStorageTrap
PIC X(n)n bytes of EBCDICSpace-padded — decide once whether the target trims
PIC 9(n)n bytes, zoned decimalUnsigned; leading zeros are significant as characters
PIC S9(n)n bytes, sign in the zone nibble of the last byteSign overpunch — -123 ends in X'D3', the letter L
PIC S9(n)V9(m) COMP-3⌈(n+m+1)/2⌉ bytes packedSign nibble C/D/F; destroyed by character conversion
PIC S9(n) COMP2, 4 or 8 bytes, big-endian two's complementByte order on little-endian consumers
COMP-1 / COMP-24 / 8 byte floating pointTraditionally hexadecimal float, not IEEE 754 — confirm which
OCCURS n TIMESFixed repeating groupModel as a child table with a sequence, not n columns
OCCURS DEPENDING ONVariable-length repeating groupFixed-offset parsing breaks for every record below maximum size
REDEFINESAlternative interpretations of the same bytesThe discriminator lives in application code, not in the data