📌 Explicação

IDCAMS (Integrated Data Set Control Access Method Services) é um utilitário usado para:

  • Criar (DEFINE) arquivos VSAM

  • Apagar (DELETE) datasets (VSAM ou não)

  • Exibir (LISTCAT) informações de datasets catalogados

  • Copiar, mover, imprimir e renomear arquivos VSAM

  • Trabalhar com catálogo de datasets

🧰 Usos mais comuns

  • Criar arquivos KSDS (chaveada), ESDS (sequencial), RRDS (relativa)

  • Apagar datasets com segurança

  • Consultar informações de datasets catalogados

  • Substituir o IEHPROGM em ambientes mais modernos

🔧 COMANDOS PRINCIPAIS DO IDCAMS

 

1️⃣ DELETE – apagar datasets

//APAGAR EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
  DELETE CDICAS.ARQUIVO.CLIENTES
/*
  • Apaga arquivos comuns e VSAM (se estiverem catalogados)

  • Use DELETE nome NOSCRATCH para apagar sem remover do disco

2️⃣ LISTCAT – listar informações de datasets

//LISTA EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
  LISTCAT ENTRIES(CDICAS.CLIENTES)
/*
  • Mostra se o dataset é VSAM, qual o tipo, onde está, etc.

  • Pode listar um ou todos os arquivos do catálogo

3️⃣ DEFINE – criar datasets VSAM

//CRIAVSAM EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
  DEFINE CLUSTER (NAME(CDICAS.CLIENTES.KSDS) -
                  INDEXED -
                  RECORDSIZE(80,80) -
                  KEYS(10,0) -
                  TRACKS(5,5) -
                  FREESPACE(10,10)) -
    DATA(NAME(CDICAS.CLIENTES.KSDS.DATA)) -
    INDEX(NAME(CDICAS.CLIENTES.KSDS.INDEX))
/*
  • Cria um arquivo VSAM tipo KSDS (chaveado)

  • Define: nome, tipo, tamanho do registro, chave, espaço, nomes dos datasets DATA e INDEX

4️⃣ RENAME – renomear dataset

//RENOMEAR EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
  ALTER CDICAS.OLD.NOME -
        NEWNAME(CDICAS.NEW.NOME)
/*

5️⃣ PRINT – imprimir conteúdo de datasets

//IMPRIME EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=CDICAS.CLIENTES.ESDS,DISP=SHR
//SYSIN    DD *
  PRINT INFILE(SYSUT1) CHAR
/*

⚙️ Regras

  • Tudo que o IDCAMS faz, ele registra no SYSPRINT

  • Ele é 100% controlado por comandos no SYSIN

  • Para DEFINE, os arquivos VSAM devem estar em volumes disponíveis e com DISP=OLD

💡 Dicas

  • Sempre use LISTCAT antes de fazer DELETE ou DEFINE — isso evita sobrescritas ou apagões indesejados.

  • Use FREESPACE com sabedoria ao criar VSAM — ajuda na performance.

  • Em ambientes com DFSMS, algumas opções do IDCAMS podem ser gerenciadas automaticamente (mas ainda funcionam!).

 

✅ Conclusão

O IDCAMS é o braço direito de quem mexe com arquivos no mainframe. Seja para criar, apagar, listar ou manipular arquivos VSAM (e até não-VSAM), esse utilitário resolve o que outros não fazem. É obrigatório dominar se você trabalha com batch, DB2, CICS ou qualquer sistema corporativo parrudo.