📌 Descrição

O comando EXEC PROC=... é utilizado para chamar uma procedure (PROC), seja ela definida internamente no JCL ou armazenada externamente em uma biblioteca referenciada com JCLLIB. Esse tipo de chamada permite reutilizar blocos padronizados de código JCL.

🧠 Sintaxe

//NOMESTEP EXEC PROC=nome_da_procedure

🔍 Características

Elemento Descrição
NOMESTEP Nome lógico da etapa que está invocando a procedure.
EXEC Palavra-chave que inicia a execução da etapa.
PROC=... Nome da procedure a ser chamada (interna ou externa).
PARM='...' (Opcional) Passa parâmetros simbólicos para a procedure.
REPLACEMENT DD Pode redefinir arquivos definidos na procedure.

 

Exemplos

Chamando uma procedure interna:

//ETAPA01 EXEC PROC=GERACAO

Chamando uma procedure externa (com JCLLIB):

// JCLLIB ORDER=(SYS1.PROCLIB)
//ETAPA02 EXEC PROC=IMPRESSAO

Com substituição de parâmetros:

//ETAPA03 EXEC PROC=GERADOR,PARM='RELATORIO MENSAL'

Redefinindo um DD da procedure:

//INFILE   DD DSN=NOVO.DADOS.ENTRADA,DISP=SHR

⚠️ Observações

  • Se a procedure for externa, deve-se informar a biblioteca com o comando JCLLIB.

  • O nome da procedure não pode exceder 8 caracteres.

  • É possível fazer substituição de parâmetros simbólicos e redefinição de arquivos (DDs) definidos dentro da procedure.

  • A procedure chamada deve estar previamente definida com PROC e, se for interna, finalizada com PEND.