Com base em estudos e na minha experiência prática trabalhando no dia a dia com Mainframe z/OS, reuni neste repositório jcl_cookbook.jcl os principais utilitários IBM como referência para consultas rápidas, para estudo de JCL (Job Control Language) e uso no ambiente z/OS.
Basicamente são JOBS para manipulação de datasets, incluindo o gerenciamento de GDGs.
Fluxo de um Job
- JOB → define o job batch e inicia a execução
- EXEC → chama o programa/utilitário
- DD → define datasets (entrada/saída)
- SYSIN → comandos do utilitário (controla o processamento)
- SYSPRINT → logs e saída do processamento
- SPACE → espaco alocado
- SYSUT1 → arquivo de entrada
- SYSUT2 → arquivo de saida
Posições:
- 1º valor = status do dataset
- 2º valor = ação normal
- 3º valor = ação em erro
DISP=(NEW,CATLG,DELETE) == cria → salva → apaga se der erro
Exemplos de DISP:
DISP=(NEW,CATLG,DELETE)== Cria dataset novo, cataloga se OK, apaga se falharDISP=(NEW,DELETE,DELETE)== Dataset temporário (não fica no catálogo)DISP=(NEW,CATLG,KEEP)== Cria e mantém mesmo se o job falharDISP=SHR== Leitura compartilhada (vários jobs podem acessar)DISP=OLD== Acesso exclusivo ao dataset (bloqueia outros jobs)DISP=(MOD,DELETE,DELETE)== Append, mas apaga o dataset se ocorrer erroDISP=(OLD,UNCATLG,KEEP)== Remove do catálogo, mas mantém o dataset físicoDISP=(OLD,DELETE)== Usado quando for deletar o arquivo
DCB (Data Control Block)
- RECFM=FB → Fixed Block
- LRECL → tamanho do registro
- BLKSIZE → tamanho do bloco
DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
