📌 Explicação

O parâmetro UNIT= define em qual unidade de armazenamento física ou lógica o dataset vai ser alocado. Pode ser:

  • Um dispositivo real (ex: disco, fita)

  • Um grupo de dispositivos (ex: SYSDA, TAPE)

  • Um nome definido no sistema (ex: pool de volumes)

🧰 Usos mais comuns

  • Alocar arquivos em disco (UNIT=SYSDA)

  • Gravar em fita (UNIT=TAPE)

  • Controlar onde os datasets temporários serão armazenados

  • Jobs que precisam de performance ou controle de I/O

🧾 Sintaxe

//DDNAME DD DSN=nome.do.dataset,
//           DISP=...,UNIT=unidade,...

Valores mais usados:

  • SYSDA → disco padrão (System Direct Access)

  • TAPE → unidade de fita

  • DISK → também representa disco (menos comum)

  • 3390 → modelo de disco específico (antigo, mas usado em ambientes legados)

💻 Exemplo prático

//SAIDA   DD DSN=CDICAS.SAIDA.RELATORIO,
//           DISP=(NEW,CATLG,DELETE),
//           UNIT=SYSDA,SPACE=(TRK,(10,5))

Aqui, o dataset CDICAS.SAIDA.RELATORIO será criado em disco, usando a unidade padrão do sistema.

⚙️ Regras

  • Se DISP=NEW, o UNIT= é obrigatório (junto com SPACE=).

  • A unidade pode ser compartilhada com outros jobs, ou dedicada.

  • Alguns sites têm nomes simbólicos definidos para grupos de dispositivos.

💡 Dicas

  • Use sempre UNIT=SYSDA pra manter portabilidade e simplicidade.

  • Evite hardcode de unidades específicas, tipo UNIT=3390, a não ser que o ambiente exija.

  • Em jobs com SORT, TAPE ou geração de backups, o UNIT= precisa estar alinhado com o dispositivo físico real.

 

✅ Conclusão

UNIT= é o endereço físico da parada. Ele diz pro sistema: "aloca esse arquivo aqui nesse tipo de recurso". Ignorar ou usar errado pode dar erro de alocação. Saber configurar esse parâmetro garante que seus arquivos sejam criados onde devem — com eficiência e sem conflitos.