O que é JCL?
JCL (Job Control Language) é a linguagem de script usada em mainframes IBM z/OS para descrever jobs batch — quais programas rodar, quais datasets ler e escrever, quanta CPU e memória reservar e como reagir quando algo falha. Se uma transação de negócio toca um mainframe durante a noite, um job JCL a executou.
- Plataforma
- IBM z/OS
- Propósito
- Descrever jobs batch
- Executado por
- JES2 / JES3
- Arquivo típico
- Member JCL em um PDS
Propósito: dizer ao z/OS o que fazer à noite
z/OS executa dois tipos de trabalho: transações online (via CICS ou IMS) e batch programado. Jobs batch fazem o trabalho pesado — conciliação de fim de dia, execuções de faturamento, geração de relatórios, provisionamento de juros, modelos atuariais. JCL é como os operadores descrevem esses jobs ao sistema.
Anatomia de um job JCL
Um job JCL tem três tipos canônicos de instrução.
- //JOB — o cartão do job. Identifica quem submeteu o job e quais recursos ele pode consumir.
- //EXEC — o passo. Nomeia o programa (ou procedimento catalogado) a ser executado.
- //DD — a definição de dados. Descreve uma entrada ou saída de dataset para o passo.
Um job JCL mínimo que executa um programa COBOL lendo um arquivo e escrevendo outro é assim:
//PAYROLL JOB (ACCT123),'PAYROLL',CLASS=A,MSGCLASS=X //STEP1 EXEC PGM=PAYCALC //INFILE DD DSN=PROD.EMPLOYEE.MASTER,DISP=SHR //OUTFILE DD DSN=PROD.PAYROLL.OUTPUT,DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(10,5)),DCB=(RECFM=FB,LRECL=132) //SYSOUT DD SYSOUT=*
Por que JCL é difícil de modernizar
JCL é enganosamente simples. A real complexidade está no que ele toca:
- Um único member JCL de produção pode invocar cinco procedimentos catalogados que por sua vez invocam outros vinte programas.
- Datasets carregam significado não expresso no JCL — o que um arquivo é vive nos copybooks, nas cabeças dos operadores ou em lugar nenhum.
- Convenções de shop (quais códigos de retorno importam, quais utilitários são chamados no restart) quase nunca são documentadas.
Por isso a expertise em JCL é tratada como um ativo institucional. Perder um planejador sênior muitas vezes significa perder a única pessoa que entende por que uma cadeia batch noturna específica roda de forma confiável há vinte anos.
Como a Hypercubic trabalha com JCL
Hopper escreve e submete JCL, monitora JES e reage a falhas de jobs — operando z/OS pela mesma interface que os operadores seniores usam. HyperDocs mapeia cada member JCL para os programas, datasets e copybooks que toca, produzindo um grafo de dependências pronto para auditoria. HyperTwin captura o conhecimento tácito de «o que esse job realmente faz e por quê» que os arquivos JCL nunca explicitam.
Termos relacionados
Ver COBOL, mainframe, JES, dataset, copybook, VSAM e o glossário completo.