📌 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=&SYSUID
se 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.