IDCAMS ist ein Hilfsprogramm welches in IBM-Großrechnerbetriebssystemen seit OS/360 verwendet wird. Es dient dem Anlegen und Verwalten von Dateien. Es können VSAM-, Non-VSAM-Dateien und GDGs administriert werden. Ferner können durch Systemadministratoren Kataloge verwaltet werden. Das Programm gehört in die Gruppe einer ganzen Reihe von Hilfsprogrammen (sogenannte Utility) zur Dateibearbeitung wie IEBGENER, IEBCOPY und IEBUPDTE.
Früher wurde auch das Mass Storage Subsystem IBM 3850 mittels IDCAMS verwaltet.
Der Name setzt sich, wie bei IBM-Programmen üblich, aus einem Drei-Zeichen-Präfix IDC und der Abkürzung AMS (für Access Method Services) zusammen.
Funktionalität
Die Kernfunktionalität von IDCAMS umfasst:
- Bearbeitung von Katalogen
- Kataloge anlegen und löschen
- Inhalte von Katalogen anzeigen
- Beziehung von Benutzerkatalogen zum Masterkatalog verwalten
- Bearbeitung von Dateien
- VSAM und NON-VSAM Dateien anlegen
- Datei kopieren
- Datei umbenennen
- Datei löschen
- Dateien katalogisieren und entkatalogisieren
Aufruf
- IDCAMS kann aus einem Anwendungsprogramm gerufen werden, welches beispielsweise in COBOL oder PL/I geschrieben sein kann. Dabei ist es möglich, den Standardinput (SYSIN) und Standardoutput (SYSPRINT) statt mit Dateien mit eigenen Unterprogrammen zu behandeln.
- Weiterhin sind alle Befehle des IDCAMS direkt als TSO-Befehle durchführbar.
Beispiele
Beispiel 1: Auflisten aller Dateinamen mit vorgegebenem Namensmuster aus allen Katalogen
//JOB1 JOB (12345),MSGCLASS=X,NOTIFY=SYSPROG1
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
LISTCAT -
ENTRIES(MY.DATASETS.*.INVOICE) -
ALL
/*
Aus allen Katalogen werden diejenigen Dateinamen aufgelistet, welche dem Namensmuster MY.DATASETS.*.INVOICE entsprechen.
Beispiel 2: Anlegen GDG Base
//JOB1 JOB (12345),MSGCLASS=X,NOTIFY=SYSPROG1
//STEP1 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE GDG (NAME('DB2.FULLCOPY.DSNDB04.TSTEST') LIMIT(5) SCRATCH FOR(35))
/*
Anlegen einer Standard-GDG für fünf Versionen, jede mindestens 35 Tage alt.
Beispiel 3: Löschen mehrere Dateien
//JOB1 JOB (12345),MSGCLASS=X,NOTIFY=SYSPROG1
//DELETE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE MY.DATASET.*
DELETE MY.DATASET.*.N01
DELETE MY.DATASET.*.N02
/*
Im Beispiel werden mehrere Dateien, welche per Wildcard angegeben sind, gelöscht.
Weblinks
- https://www.redbooks.ibm.com/redpapers/pdfs/redp5389.pdf
- https://share.confex.com/share/120/webprogram/Handout/Session12998/SHARE%20120%20-%20VSAM%20Boot%20Camp%20-%20Using%20IDCAMS%20to%20Manage%20VSAM%20Data%20Sets.pdf
- z/OS V1R8.0 DFSMS Access Method Services for Catalogs (PDF-Datei; 6,42 MB)
- https://www.ibm.com/docs/en/zvse/6.2?topic=SSB27H_6.2.0/fe6cm_idcams_ut_program.html
- https://share.confex.com/share/120/webprogram/Handout/Session12970/SHARE%20Best%20Practices%20for%20ICF%20Catalogs%20S12970.pdf
- https://www.informatik.uni-leipzig.de/cs/esvorles/pdf0910/ESSUM03.pdf