📌 Explicação

O parâmetro TIME= define o tempo máximo de execução permitido para o job ou para um passo específico. Se ultrapassar esse tempo, o sistema interrompe o processamento com um abend (S322).

🧰 Usos mais comuns

  • Limitar a duração de testes ou jobs pesados.

  • Proteger o sistema contra jobs que "ficam rodando eternamente".

  • Controlar tempo de execução de passo específico que é crítico.

🧾 Sintaxe

//NOMEJOB JOB (conta),‘descrição’,
//             TIME=mmss

//ETAPA EXEC PGM=PROGRAMA,
//             TIME=mmss
  • mmss: tempo em minutos e segundos

    • Ex: TIME=0150 → 1 minuto e 50 segundos

  • Ou você pode usar:

    • TIME=MAXIMUM → permite usar o tempo máximo permitido pelo sistema

    • TIME=1440 → permite até 24 horas (raro e restrito)

💻 Exemplo prático

//TESTEJOB JOB (1234),'COBOL DICAS',
//             TIME=0020,CLASS=A,MSGCLASS=X
//*
//ETAPA01 EXEC PGM=PROGRAMA,
//             TIME=0100
  • O job inteiro pode rodar no máximo 20 segundos.

  • O passo ETAPA01 pode rodar até 1 minuto — e como tem TIME específico, ele sobrepõe o da linha do JOB.

⚙️ Regras

  • O TIME na instrução EXEC vale só pro passo.

  • Se o TIME for omitido, o sistema usa um valor padrão (pode variar).

  • Exceder o tempo dá abend S322.

  • TIME=1440 precisa de autorização do sistema (admin libera ou não).

💡 Dicas

  • Evite TIME=1440 a menos que seja em produção crítica e com permissão.

  • Use TIME=MAXIMUM em testes quando não quiser se preocupar com tempo — mas cuidado com jobs mal programados.

  • Para jobs que usam SORT, DB2 ou CICS, o tempo pode variar muito. Ajuste com base em testes reais.

 

✅ Conclusão

TIME= é o seu limite de pista. Se o job for um carro, esse parâmetro define quantas voltas ele pode dar antes do sistema encostar no box. Saber usar o TIME= te dá controle, evita abends por tempo e ajuda na organização dos recursos do sistema.