JCL - Declaração JOB
A instrução JOB é a primeira instrução de controle em uma JCL. Isso dá a identidade do trabalho ao Sistema Operacional (SO), no spool e no agendador. Os parâmetros na instrução JOB ajudam os sistemas operacionais a alocar o escalonador correto, o tempo de CPU necessário e a emitir notificações para o usuário.
Sintaxe
A seguir está a sintaxe básica de uma instrução JCL JOB:
//Job-name JOB Positional-param, Keyword-param
Descrição
Vamos ver a descrição dos termos usados na sintaxe da instrução JOB acima.
Nome do trabalho
Isso fornece uma identificação para o trabalho ao enviá-lo ao sistema operacional. Pode ter comprimento de 1 a 8 com caracteres alfanuméricos e começa logo após //.
TRABALHO
Esta é a palavra-chave para identificá-la como uma instrução JOB.
Parâmetro posicional
Existem parâmetros posicionais, que podem ser de dois tipos:
Parâmetro Posicional | Descrição |
---|---|
Account information | Refere-se à pessoa ou grupo ao qual o tempo de CPU é devido. É definido de acordo com as regras da empresa proprietária dos mainframes. Se for especificado como (*), leva o id do usuário, que está atualmente conectado ao Terminal Mainframe. |
Programmer name | Isso identifica a pessoa ou grupo responsável pelo JCL. Este não é um parâmetro obrigatório e pode ser substituído por uma vírgula. |
Keyword-param
A seguir estão os vários parâmetros de palavra-chave, que podem ser usados na instrução JOB. Você pode usar um ou mais parâmetros com base nos requisitos e eles são separados por vírgula:
Parâmetro de palavra-chave | Descrição |
---|---|
CLASS | Com base no tempo de duração e no número de recursos exigidos pelo trabalho, as empresas atribuem diferentes classes de trabalho. Eles podem ser visualizados como agendadores individuais usados pelo sistema operacional para receber os trabalhos. Colocar os trabalhos no escalonador certo ajudará na fácil execução dos trabalhos. Algumas empresas têm classes diferentes para empregos em ambiente de teste e produção. Os valores válidos para o parâmetro CLASS são de A a Z caracteres e 0 a 9 numéricos (de comprimento 1). A seguir está a sintaxe: CLASS=0 to 9 | A to Z |
PRTY | Para especificar a prioridade do trabalho dentro de uma classe de trabalho. Se este parâmetro não for especificado, o trabalho será adicionado ao final da fila na CLASSE especificada. A seguir está a sintaxe: PRTY=N Onde N é um número entre 0 e 15 e quanto maior o número, maior é a prioridade. |
NOTIFY | O sistema envia a mensagem de sucesso ou falha (Código de condição máxima) para o usuário especificado neste parâmetro. A seguir está a sintaxe: NOTIFY="userid | &SYSUID" Aqui, o sistema envia a mensagem ao usuário "userid", mas se usarmos NOTIFY = & SYSUID, a mensagem é enviada ao usuário que está enviando o JCL. |
MSGCLASS | Para especificar o destino de saída para o sistema e mensagens de trabalho quando o trabalho for concluído. A seguir está a sintaxe: MSGCLASS=CLASS Os valores válidos de CLASS podem ser de "A" a "Z" e de "0" a "9". MSGCLASS = Y pode ser definido como uma classe para enviar o log do trabalho para o JMR (Gerenciamento e recuperação de JOBLOG: um repositório dentro de mainframes para armazenar as estatísticas do trabalho). |
MSGLEVEL | Especifica o tipo de mensagens a serem gravadas no destino de saída especificado no MSGCLASS. A seguir está a sintaxe: MSGLEVEL=(ST, MSG) ST = Tipo de declarações escritas no log de saída
MSG = Tipo de mensagens gravadas no log de saída.
|
TYPRUN | Especifica um processamento especial para o trabalho. A seguir está a sintaxe: TYPRUN = SCAN | HOLD Onde SCAN e HOLD tem a seguinte descrição
|
TIME | Especifica o intervalo de tempo a ser usado pelo processador para executar o trabalho. A seguir está a sintaxe: TIME=(mm, ss) or TIME=ss Onde mm = minutos e ss = segundos Este parâmetro pode ser útil ao testar um programa recém-codificado. Para garantir que o programa não seja executado por muito tempo devido a erros de loop, um parâmetro de tempo pode ser codificado para que o programa termine de forma anormal quando o tempo de CPU especificado for atingido. |
REGION | Especifica o espaço de endereço necessário para executar uma etapa do trabalho dentro do trabalho. A seguir está a sintaxe: REGION=nK | nM Aqui, a região pode ser especificada como nK ou nM, onde n é um número, K é kilobyte e M é Megabyte. Quando REGION = 0 K ou 0 M, o maior espaço de endereço é fornecido para execução. Em aplicativos críticos, a codificação de 0 K ou 0 M é proibida para evitar o desperdício de espaço de endereço. |
Exemplo
//URMISAMP JOB (*),"tutpoint",CLASS=6,PRTY=10,NOTIFY=&SYSUID,
// MSGCLASS=X,MSGLEVEL=(1,1),TYPRUN=SCAN,
// TIME=(3,0),REGION=10K
Aqui, a instrução JOB está sendo estendida além da 70ª posição em uma linha, então continuamos na próxima linha, que deve começar com "//" seguido por um ou mais espaços.
Parâmetros Diversos
Existem alguns outros parâmetros, que podem ser usados com a instrução JOB, mas não são usados com frequência:
ADDRSPC | Tipo de armazenamento usado: Virtual ou Real |
BYTES | Tamanho dos dados a serem gravados no log de saída e a ação a ser executada quando o tamanho for excedido. |
LINES | Número máximo de linhas a serem impressas no registro de saída. |
PAGES | Número máximo de páginas a serem impressas para registro de saída. |
USER | ID do usuário usado para enviar o trabalho |
PASSWORD | Senha do ID do usuário especificado no parâmetro USER. |
COND and RESTART | Eles são usados no processamento de etapa de trabalho condicional e são explicados em detalhes ao discutir o processamento condicional. |