📌 Explicação
O parâmetro USER= define qual usuário está submetendo o job no ambiente JES (Job Entry Subsystem). Ele é exigido quando o job roda fora do TSO ou em ambientes onde o controle de segurança exige autenticação explícita.
🧰 Usos mais comuns
-
Submeter jobs automaticamente via scripts/batch (sem TSO logado).
-
Executar jobs em nome de outro usuário (com permissão, claro).
-
Ambientes protegidos por RACF, Top Secret ou ACF2.
🧾 Sintaxe
//NOMEJOB JOB (conta),‘descrição’,
// USER=IDUSUARIO,PASSWORD=SENHA
-
USER=→ o ID que tem permissão pra rodar o job. -
PASSWORD=→ senha associada ao ID (opcional, mas normalmente exigida).
🛑 Cuidado: colocar senha no JCL pode ser um risco de segurança, especialmente em ambientes compartilhados.
💻 Exemplo prático
//JOBPRIV JOB (1234),'ACESSO EXTERNO',
// USER=OPER01,PASSWORD=SEGREDO
//*
//ETAPA EXEC PGM=IEFBR14
Esse job será executado com as permissões do usuário OPER01. Ideal em rotinas automatizadas, fora do TSO.
⚙️ Regras
-
USER=só é obrigatório se o job não estiver sendo submetido por um usuário autenticado no TSO. -
Normalmente usado com
PASSWORD=, exceto quando a segurança é desabilitada (não recomendado). -
Se a senha estiver errada, o job nem começa — erro de autorização.
💡 Dicas
-
Nunca use
USER=comPASSWORD=em JCL salvo em bibliotecas abertas. -
Se precisar rodar como outro usuário, consulte o suporte/suporte RACF.
-
Prefira usar
NOTIFY=&SYSUIDse estiver logado no TSO — evita problemas de segurança.
✅ Conclusão
O USER= é o crachá do job. Sem ele (em alguns ambientes), o sistema nem te deixa entrar. Mas usa com cuidado: envolve segurança, e qualquer vacilo pode dar acesso indevido ou travar a execução. Só usa quando necessário e sempre com atenção redobrada.