📌 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=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 eDISP=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.