This page is a condensed desk reference for developers and operators who already read the narrative tutorials but want a single screen of patterns before editing JCL or walking into a war room. It does not replace IBM manuals: z/OS levels differ, defaults shift, and your site standards override internet examples. Think of the quick guide as a checklist-driven synopsis—dataset type selection, mandatory IDCAMS verbs, DD statement reminders, and a sensible troubleshooting order—plus explicit warnings where beginners accidentally destroy production clusters because DISP looked “fine.” When a detail here feels thin, jump to the linked deep pages or the glossary for vocabulary.
| You need… | Often choose… | Watch for… |
|---|---|---|
| Keyed reads and updates with primary key | KSDS | KEYS offset/length, FREESPACE, CI size, duplicate key policy. |
| Write-mostly log or append-only sequential workload | ESDS | RBA addressing, logical delete patterns, no native keyed primary access. |
| Fixed slots by slot number | RRDS (or VRRDS when variable length is required) | Slot utilization, sparse inserts, and delete behavior. |
| Subsystem-managed byte area (Db2, RLS infrastructure) | LDS / LINEAR per product requirements | Ownership—never treat like a general-purpose keyed file. |
Real decisions also weigh alternate indexes, compression, reuse, sharing, RLS, and Db2 coexistence. If stakeholders mention SQL, reporting cubes, or strict ACID semantics, pause and compare against database options before committing to VSAM as the long-term store.
| Command | Typical use |
|---|---|
| DEFINE CLUSTER | Create VSAM cluster and components with attributes. |
| ALTER | Change selected attributes where supported; some changes require deeper strategies. |
| DELETE | Remove catalog entries and data per operands; dangerous when rushed. |
| LISTCAT | Inspect names, volumes, attributes, and problem indicators. |
| REPRO | Copy, load, or reorganize data depending on operands and source/target types. |
| EXPORT / IMPORT | Movement and recovery packaging when used with site procedures. |
| VERIFY | Catalog and end-of-data consistency scenarios documented by IBM. |
| EXAMINE / DIAGNOSE | Catalog health and diagnostic utilities used under specialist guidance. |
Replace names, sizes, and keys with your standards. This skeleton exists only to show shape, not to compile unchanged on your LPAR.
123456789101112131415//DEFVSAM EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE CLUSTER (NAME(DEPT.TEST.KSDS) - VOLUMES(SCR001) - TRACKS(5 5) - RECORDSIZE(80 80) - KEYS(10 0) - INDEXED) - DATA (NAME(DEPT.TEST.KSDS.DATA)) - INDEX (NAME(DEPT.TEST.KSDS.INDEX)) /* Illustrative skeleton only — adjust for your LPAR. */
Code the catalog name you LISTCAT—not a guess. DISP should reflect whether the step creates, reads, updates, or deletes the cluster. A classic footgun is coding DELETE disposition on a mistake while still referring to a production name copied from an old job. Some shops ban DELETE dispositions outside controlled procs; understand your local rules.
AMP parameters tune buffers and options for the DD. They interact with access method defaults and with program behavior. Performance teams own the numbers; beginners should record what jobs currently use before “tuning” anything.
1//VSIN DD DSN=DEPT.CUST.MASTER,DISP=SHR,AMP=('BUFND=4','BUFNI=2')
If LISTCAT shows repeated CI splits or CA splits, stop tweaking JCL DISP and read split minimization and free space tuning. If response times swing wildly while CPU stays low, read buffer tuning and storage class placement. If online transactions deadlock, read RLS locking rather than random AMP changes. The quick guide is the signpost, not every destination.
A quick guide is the sticky note on the fridge that says “sandwich: bread, cheese, apple slices, close the lunchbox.” It is not the whole cookbook with oven temperatures for holiday turkey. VSAM is the lunchbox rules at work: you still need your parents (IBM manuals and your storage admins) to say which bread is allowed at your school.
1. You need duplicate alternate keys for department ID. Which building blocks are involved?
2. First command to run when users report “cannot find dataset” for a VSAM cluster?
3. DISP=(OLD,DELETE,DELETE) on a VSAM cluster DD means what in plain language?