📌 Descrição
O comando DD
(Data Definition) define os arquivos ou dispositivos usados por um programa ou utilitário dentro de uma etapa (EXEC
). Ele associa nomes lógicos (DDNAMEs) a datasets físicos, arquivos temporários, entradas in-stream ou dispositivos de saída.
🧠 Sintaxe
//NOMEDD DD PARÂMETROS
🔍 Parâmetros Comuns
Parâmetro | Finalidade |
---|---|
DSN=nome.dataset |
Define o nome do dataset (arquivo) a ser acessado. |
DISP=estado |
Define o status de uso do dataset (NEW , OLD , SHR , MOD ). |
UNIT=SYSDA |
Tipo de dispositivo onde o arquivo será alocado. |
SPACE=(tipo,quant) |
Espaço em disco reservado (apenas para DISP=NEW ). |
DCB=(...) |
Parâmetros de controle de dados (ex: RECFM , LRECL , BLKSIZE ). |
SYSOUT=classe |
Direciona saída para spool de impressão. |
* ou DATA |
Entrada de dados in-stream. |
DUMMY |
Indica que o dataset não será lido nem gravado (placeholder). |
✅ Exemplos
Acessando um arquivo existente:
//ARQENTR DD DSN=EMPRESA.DADOS.CLIENTES,DISP=SHR
Criando um novo arquivo temporário:
//TEMP1 DD DSN=&&TMPARQ,DISP=(NEW,PASS),UNIT=SYSDA,
// SPACE=(TRK,(10,5)),DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
Entrada de dados in-stream:
//SYSIN DD *
DADOS DE EXEMPLO
MAIS DADOS
/*
Ignorando a leitura de um arquivo:
//ARQIGNR DD DUMMY
⚠️ Observações
-
Cada
EXEC
pode conter vários comandosDD
, um para cada arquivo necessário. -
O nome
NOMEDD
(DDNAME) deve coincidir com o esperado pelo programa chamado. -
Arquivos temporários (
&&NOME
) existem somente durante a execução do job.