📌 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
EXECpode 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.