IDCAMS

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

  • Der Aufruf von IDCAMS kann mittels JCL in einem Batchjob erfolgen.
  • 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