TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Curso de Job Control Language (JCL)

Por:   •  28/4/2016  •  Projeto de pesquisa  •  8.084 Palavras (33 Páginas)  •  814 Visualizações

Página 1 de 33

Curso de Job Control Language (JCL)

 

1. Conceitos básicos de JCL

Apresentamos a seguir uma série de informações contidas no manual IBM JCL User’s Guide  e  no  IBM JCL Reference Manual, onde podem ser obtidos mais detalhes sobre a linguagem de controle de serviços, ou Job Control Language - JCL. Apresentaremos os comandos de JCL, informando para que servem, e como o programador pode executar serviços no mainframe, utilizando para isso os comandos de JCL.

A linguagem de controle de serviços – JCL – é usada nos mainframes IBM (em outros sistemas, essa linguagem recebe outras denominações, como por exemplo WFL) para especificar serviços a serem executados.  Os comandos de JCL são submetidos pelo programador ao subsistema de entrada de serviços, ou Job Entry Subsystem – JES.

OBSERVAÇÃO: no âmbito deste curso, os itens escritos nesta cor azul se referem não à linguagem de JCL em si, mas sim a padrões e normas referentes a JCL, estabelecidos na Caixa Econômica Federal (CEF) – mais especificamente na REROPBR.

Os comandos de JCL basicamente servem para:

• especificar serviços (jobs*), e submetê-los ao sistema operacional, através do JES. Cada job determina a execução de um ou mais programas, que podem ser programas de aplicação, utilitários, compiladores, etc. Para cada job é utilizado um comando JOB;

• especificar os programas a serem executados, podendo passar-lhes dados adicionais. Uma das maneiras comuns de se especificar os programas é a utilização de comandos EXEC;

• especificar os atributos de cada conjunto de dados (data set), que geralmente se refere a um arquivo a ser usado pelos programas.  Tais especificações normalmente são feitas por meio dos comandos Data Definition, ou DD.

(*) Às vezes, podem ser executadas também Started Tasks, que são armazenadas como membros de arquivos particionados, e podem conter procedures ou mesmo jobs completos, incluindo o próprio comando JOB. As started tasks normalmente são usadas para ativar processos críticos, como CICS, RMF, VPS, DB2, etc. Uma vantagem de se ativar Started Task como job em vez de como procedure, é que pode ser especificado, por exemplo, o que fazer com os outputs da Started Task (purgar, ficar em determinada classe, etc).

Normalmente, armazenamos os conjuntos de comandos de JCL (usualmente, um conjunto para cada job) em arquivos particionados, também chamados de PDS ou bibliotecas. O tamanho dos registros deve ser de 80 bytes, e o formato deve ser FIXO. O tamanho ideal do bloco é 27.920: DCB=(LRECL=80,RECFM=FB,BLKSIZE=27920).

Obs: na CEF, costumamos armazenar esses conjuntos em bibliotecas com nomes como: xxx.mmmmmmmm.JCL, onde xxx é a área (SUP, PRD, HMP) e mmmmmmmm é a matrícula do usuário. Já os conjuntos de JCL para uso em Produção e Homologação seguem outros padrões, tipo: SUP.SUPORTE.JCL; SUP.SUPORTE.UTILITY; NDS.CTM.V01.PRDANA (é a principal biblioteca de jobs de Produção, submetidos automaticamente pelo produto Control-M [CTM]); e outros.

2. Relação Completa dos Comandos de JCL

Ocasionalmente, a IBM cria algum novo comando de JCL. Atualmente, o manual de referência de JCL lista como disponíveis para utilização no z/OS os seguintes comandos de JCL:

Comando        Função

CNTL                Identifica o início de comandos de controle de subsistema.

COMMAND         Submete um comando de JES ou do sistema operacional.

DD                Data Definition. Define atributos de conjuntos de dados.

ELSE                Faz parte do grupo IF-THEN-ELSE – execução condicional de steps.

ENDCNTL        Marca o fim dos comandos de controle de subsistema.

ENDIF                Faz parte do grupo IF-THEN-ELSE – execução condicional de steps.

EXEC                Identifica o início de uma etapa (step) do job. É obrigatório.

IF                Faz parte do grupo IF-THEN-ELSE – execução condicional de steps.

INCLUDE        Identifica o membro de um arquivo particionado que contém comandos de JCL a serem incluídos no job.

JCLLIB        Identifica um arquivo particionado que contém membros a serem referidos em comandos INCLUDE ou EXEC.

JOB        Identifica o início de um job. É obrigatório. Deve ser o primeiro comando de JCL de um job.

OUTPUT        Define opções de processamento para uma saída de programa.

PEND        Marca o fim de uma procedure in-stream (isto é, dentro do job).

PROC        Identifica o início de uma procedure in-stream – um conjunto de comandos de JCL que pode ser executado várias vezes.

SET                Atribui valores a parâmetros simbólicos de JCL.

THEN                Faz parte do grupo IF-THEN-ELSE – exec. condicional de steps.

XMIT                Transmite registros para um nó. Obs: normalmente, este comando não é utilizado na CEF.

Todos os comandos acima têm o formato:

//nome      operador             operando(s)                     comentário

Nas colunas 1 e 2 deve haver obrigatoriamente duas barras inclinadas, como no exemplo:

//TESTE     JOB            SUPORTE,TIME=1                      TESTE

  (nome)    (operador)  (operandos, ou parâmetros)      coment

Além dos listados acima, há ainda comandos de JCL:

• para submeter comandos de operador, como no exemplo:

...

Baixar como (para membros premium)  txt (39.2 Kb)   pdf (324 Kb)   docx (765 Kb)  
Continuar por mais 32 páginas »
Disponível apenas no TrabalhosGratuitos.com