2.2 - Operação JOB ou cabeçalho
O comando JOB realiza/possui 3 funções:
Identifica pro sistema operacional (Z/OS) o nome desse JOB
Informa dados da conta que submeteu (executou) esse JOB, praticamente extinto.
Indica ao Z/OS dados especificos para esse JOB, por exemplo temos a quantidade de memoria a ser utilizada pelo JOB.
O comando JOB, cartão JOB, ou simplesmente cabeçalho é sempre o primeiro comando JCL. Possui diversos operandos/parametros (quase que totalmente em desuso, quando um parametro é omitido porém necessário, o sistema utiliza o padrão da sua instalação).
Citaremos os "principais" utilizados, sendo que a grande maioria é opcional nas instalações modernas. Entenda como opcional que sua omissão fara com que o sistema assuma um valor padrao pre-estabelecido.
Na sua instalação deve existir um padrão de cabeçalho, que é copiado e colado pela maioria dos analistas/programadores/operadores de sua empresa, e que contem parametros que se você perguntar não saberão te dizer o porque.
Eu, Buga, sou a favor do seguinte pensamento em relação a computação: - "Se não esta em uso, exclua". - "Se esta aqui mas nao sei pra que serve vá atras e descubra, se for inutil, exclua", costumo chamar isso de ajustes finos.
Analise o cabeçalho dos Job's de seus colegas e confirme o que te digo.
Vamos explicar os componentes do cabeçalho (cartão JOB) do JOB00000.
Deixa eu pecar pelo excesso e colocar o cabeçalho aqui de novo
12345678901234567890123456789012345678901234567890123456789012345678901234567890
//JOB00000 JOB 'EXECUTA HELLO WORLD', 1
// NOTIFY=&SYSUID,MSGCLASS=H 2
//JOB00000 JOB 'EXECUTA HELLO WORLD', JOB00000 -> Nome do cartão JOB -> tipo de cartao (só um cartão job (cabeçalho) por JOB/Procedure) Não esquenta que com o tempo tudo acaba sendo procedure e pararemos de chamar um job simples de job e passaremos a chama-los de procedures e eles deixarao de ser simples ! 'EXECUTA HELLO WORLD' -> "titulo" do job é "parametro posicional" vem depois das informações de "contabilidade" - totalmente em desuso. , -> super importante, indica que tem mais coisa a vir
Para continuar na linha de baixo no JCL é necessario encontrar uma virgula, e continuar na proxima linha
// NOTIFY=&SYSUID,MSGCLASS=H
A continuacao pode iniciar entre as colunas 4 e 16.
12345678901234567890123456789012345678901234567890123456789012345678901234567890
NOTIFY= -> operando/parametro para que o JOB envie mensagem
ao termino do processamento para o
&SYSUID -> variavel do sistema (System Symbols) que contem
quem eh você ! (se sua "chave" possuir mais de
7 caracteres o notify nao vai funcionar)
, -> tem mais operando na sequencia
MSGCLASS= -> onde será gravada a saida de sua
solicitacao, esta aqui só para ilustrar
o copia e cola
atualmente seu mainframe nao deve possuir impressora acoplada como dispositivo de saida então pouco importa, não codifique o parametro MSGCLASS, o mainframe enviará a saida para o MSGCLASS padrão em seu sistema, existem diversos tipos de classes em funcionamento no seu sistema umas com impressao de sysout apenas após liberação do operador, outras com "paginas" contendo 133 colunas outras com 80. Reafirmo que não se preocupe com esse parametro, se for curioso verifique todas as classes existentes em sua instalação e execute o job em cada uma delas e verifique os resultados. H -> aqui foi 'H', mas varia de acordo com a origem da copia do JCL !
Segue um cabeçalho completo, as explicacoes dos parametros será mostrada ao final desse capitulo.
//JOB00001 JOB 'EXECUTA PROGRAMA DE TESTES COBOL COM PARAMETRO',
// USER.&SYSUID,REGION=4M,MSGCLASS=R,ADDRSPC=VIRT,
// CLASS=A,NOTIFY=&SYSUID,TIME=NOLIMIT,USER=BUGA,
// PASSWORD=PSW1,COND=(12,LE),MSGLEVEL=(1,1),
// TYPRUN=SCAN,PRTY=12 ***,RESTART=EXECUTA
Last updated