📌 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 informarUNIT=eSPACE=. -
DISP=MODpode 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=OLDse 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=SHRpara datasets de entrada eDISP=MODpara 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.