📌 Explicação

O parâmetro DISP= (Disposition) define o que o sistema deve fazer com o dataset:

  • Se ele já existe ou vai ser criado

  • Se deve ser mantido, apagado ou descatalogado depois da execução

  • Se está sendo compartilhado ou exclusivo

🧰 Usos mais comuns

  • Ler arquivos existentes com DISP=SHR

  • Criar arquivos com DISP=(NEW,CATLG,DELETE)

  • Atualizar arquivos com DISP=OLD

🧾 Sintaxe

//DDNAME DD DSN=nome.do.dataset,
//           DISP=(status,normal,abnormal)
  • status → indica o estado atual do dataset:

    • NEW = novo

    • OLD = já existe, acesso exclusivo

    • MOD = acrescentar dados (append)

    • SHR = já existe, acesso compartilhado

  • normal → o que fazer se o job terminar com sucesso:

    • KEEP = manter

    • CATLG = catalogar

    • UNCATLG = descatalogar

    • DELETE = apagar

  • abnormal → o que fazer se o job abendar:

    • Mesmas opções: KEEP, DELETE, etc.

💻 Exemplo prático

//ENTRADA DD DSN=CDICAS.ENTRADA.CLIENTES,
//           DISP=SHR

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

Nesse exemplo:

  • ENTRADA: arquivo já existe e pode ser compartilhado (leitura).

  • SAIDA: arquivo novo, será catalogado se o job der certo, e deletado se abendar.

⚙️ Regras

  • Se usar DISP=NEW, é obrigatório informar UNIT= e SPACE=.

  • DISP=MOD pode ser usado com arquivos de log ou saída contínua.

  • O sistema decide o que fazer com base no RC final do job ou do passo.

💡 Dicas

  • Evite DISP=OLD se não for atualizar o arquivo — ele bloqueia o acesso de outros jobs.

  • DISP=(NEW,CATLG,DELETE) é padrão para arquivos temporários com nome fixo.

  • Prefira DISP=SHR para datasets de entrada e DISP=MOD para logs contínuos.

 

✅ Conclusão

DISP= é o general do DSN=. Ele manda no dataset: diz se entra, se fica, se vai embora ou se será guardado como ouro. Usar corretamente esse parâmetro é crucial pra garantir que seu job não falhe por erro de alocação ou conflito de uso.