📌 Explicação

O parâmetro SPACE= define quanto espaço em disco ou fita o dataset vai ocupar quando for criado. Ele também diz a unidade de medida (TRK, CYL ou BLKS) e se vai ter extensões caso o espaço acabe.

🧰 Usos mais comuns

  • Criar arquivos novos em disco com tamanho estimado.

  • Definir espaço mínimo e espaço adicional para crescimento.

  • Controlar o uso de recursos de disco no mainframe.

🧾 Sintaxe

//DDNAME DD DSN=nome.do.dataset,
//           DISP=(NEW,CATLG,DELETE),
//           UNIT=SYSDA,
//           SPACE=(unidade,(primária,secundária))

Unidades:

  • TRK = trilhas

  • CYL = cilindros

  • BLKS = blocos (menos usado)

💻 Exemplo prático

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

Nesse caso:

  • Reserva inicialmente 10 trilhas

  • Se o espaço acabar, pode crescer de 5 em 5 trilhas

⚙️ Regras

  • SPACE= é obrigatório com DISP=NEW

  • A medida deve ser compatível com o UNIT=

  • Se não souber o tamanho do arquivo, pode testar e ajustar depois

💡 Dicas

  • Comece com SPACE=(TRK,(10,5)) nos testes e ajuste conforme o uso real.

  • Para arquivos grandes, use CYL (menos extensões, mais performance).

  • Cuidado com espaço subestimado — pode dar S837 (sem espaço em disco).

 

✅ Conclusão

SPACE= é o que diz pro mainframe: "reserva um canto no disco pra mim". Se usar pouco, o job pode parar. Se exagerar, você desperdiça recurso. Saber dimensionar bem esse parâmetro é sinal de programador experiente e que conhece os arquivos que manipula.