Você está na página 1de 32

TSO E JCL

CONCEITOS.
Continuando...
Agora que você já nos conhece e já aprendeu ou relembrou bastante coisa, iremos avançar um
pouco mais na parte técnica, para que consiga se desenvolver um pouco mais na plataforma.

Os conteúdos anteriores são partes de uma base essencial para a realização de uma análise
consistente e, posteriormente, a retomada de um processamento.

Samuel Jales Paulo Rodrigues


Tela do ISPF com todas as opções disponíveis:
Segue algumas opções mais utilizadas:

Lembrando que, para visualizar todos os Jobs, deve-se digitar o comando PRE*, ou “PRE
NOMEDOJOB” para uma visualização especifica.

DA: Verificar usuários ativos no TSO. Se você utilizar a opção DA OJOB, serão
apresentados somente os job ativos. Nesta tela, também é possível verificar o percentual de
utilização da máquina, para o melhor gerenciamento da mesma.

I: Verificar a fila de Jobs.

O: Verificar as sysouts dos Jobs para liberação.

H: Verificar a fila de sysouts em Held. Para Liberar uma sysout, basta executar o comando
“O” – output – a frente da linha do job a ser trabalhado.

ST: Status dos Jobs.

Log: Verificar a log do sistema.


Mais opções mais utilizadas:

Lembrando que, para visualizar todos os Jobs, deve-se digitar o comando PRE*, ou “PRE
NOMEDOJOB” para uma visualização especifica.

DA: Verificar usuários ativos no TSO. Se você utilizar a opção DA OJOB, serão
apresentados somente os job ativos. Nesta tela, também é possível verificar o percentual de
utilização da máquina, para o melhor gerenciamento da mesma.

I: Verificar a fila de Jobs.

O: Verificar as sysouts dos Jobs para liberação.

H: Verificar a fila de sysouts em Held. Para Liberar uma sysout, basta executar o comando
“O” – output – a frente da linha do job a ser trabalhado.

ST: Status dos Jobs.

Log: Verificar a log do sistema.


Mais opções mais utilizadas:

JC: Verificar a quantidade de Jobs em execução e quais as classes liberadas (em held ou
não).

INIT: Verificar a fila de classes especificadas pelo sistema. Caso você tenha permissão, você
pode gerencias quando abrir ou fechar as classes. Deve-se atentar para as classes que
ficam disponíveis para o processamento on-line e as classes reservadas para o sistema.
Para liberar, você utiliza o comando “S”, para fechar uma classe, utiliza-se o comando “P” a
frente da linha da classe a ser gerenciada.
VOLTANDO
AO
JCL
O que é JCL:

Job Control Language é uma linguagem interpretada usada em Mainframes para instruir o
sistema operacional a inicializar um subsistema ou programa.

JCL é uma linguagem de controle de serviços e tem como objetivo descrever estes serviços,
gerenciar a sequência de execução dos programas, leitura e gravação dos arquivos e
dimensionar o volume de recursos do sistema operacional necessários para a realização dos
mesmos.

O JCL existe para executar programa no chamado processamento batch. O processamento


batch é administrado pelos operadores, que se encarregam da manutenção, supervisão e
garantia da execução dos programas e a integridade dos dados.
Estrutura de um Job, função dos principais comandos de JCL, formato e sintaxe:

A linguagem está dividida em três grandes programas que gerenciam a sua execução. São
elas:
JOB MANAGEMENT = JOB;
TASK MANAGEMENT = EXEC;
DATA MANAGEMENT = DD

JOB MANAGEMENT é o programa responsável por receber e administrar os serviços


solicitados como também os recursos necessários para a execução de cada atividade

solicitada. Este processo ocorre para cada chamada de STEP.


Estrutura de um Job, função dos principais comandos de JCL, formato e sintaxe:

TASK MANAGEMENT É o responsável por gerenciar o espaço de memória da CPU, das


interrupções, entre outros. Uma TASK é um serviço solicitado pela execução de um
programa, também definido como uma unidade de trabalho da CPU. É onde se determina o
programa que será executado.

DATA MANAGEMENT é o componente responsável por todas as operações em arquivos.

Administra a abertura, o fechamento, o volume necessário e o fim do arquivo. Onde são


definidos os arquivos que serão utilizados na execução do STEP.
O comando Job:

Tipo do cartão de comando, indica as características do serviço. Nele pode conter:

CLASS: Define a classe que será executado o JOB na fila do JES, esta classe varia por
instalação. Uma boa prática, seria dividir a execução das classes por sistemas e por tempo
de execução do job.

MSGCLASS: Use o parâmetro MSGCLASS para atribuir o log da tarefa a uma classe de
saída. O registro de tarefas é um registro das informações relacionadas ao JOB para o
programador.
Alguns parâmetros do cartão JOB:

REGION: É um Parâmetro de palavra-chave opcional e você pode defini-lo a nível de JOB ou


STEP ou em ambos os locais. Se você definir o parâmetro JCL REGION no nível do job, será a
quantidade de armazenamento virtual que um job requer para execução.
Se você definir o parâmetro REGION no nível da etapa (instrução EXEC), será a quantidade de
armazenamento que uma etapa específica da tarefa está alocada.
A sintaxe do parâmetro REGION no JCL:
REGIÃO = valor (K OU M)

ONDE:
K é para kilobytes.
M é para megabytes.

Se você definir como Kilobytes, pode variar de 1 a 2.096.128.


Se você definir como Megabytes, podemos variar de 1 a 2047.
Valores especiais do parâmetro REGION:

REGIÃO = 0K
REGIÃO = 0M
REGIÃO = NOLIMIT

Todas essas opções acima para a definição do parâmetro REGION tem o mesmo objetivo:
Informar que não terá limite de memória a ser utilizado, ou o mesmo que REGION = NOLIMIT.
TYPRUN: É um parâmetro é parâmetro opcional que pode ser usado para:

• Especificar se um JOB deve ser mantido em HOLD até que o haja uma solicitação para a
liberação;
• Verificação de sintaxe.

Sintaxe para a utilização do parâmetro:

TYPRUN=SCAN
TYPRUN=HOLD
JCL TYPRUN=SCAN

É usado para verificar se o seu JCL tem algum erro de sintaxe sem alocar recursos para a tarefa. É
uma simulação de execução, para verificar, por exemplo, se todas as substituições de parâmetro
estão sendo realizadas corretamente.
TIPOS DE
ARQUIVOS
O conceito de catálogo é o endereçamento dos conteúdos dos volumes para que possamos

acessar um arquivo, este endereçamento está dividido em níveis, o primeiro nível (catálogo)

apontará em que volume se encontra o arquivo que desejamos acessar, no segundo nível (VTOC)

indicará qual será o endereço físico do arquivo, como o próprio nome diz, é o índice dos arquivos.

Existe o catálogo master que conterá a definição dos catálogos de sistema, no catálogo de sistema

são definidos os prefixos dos arquivos que serão controlados por ele (Catálogo da produção, da

homologação, do desenvolvimento). A cada encerramento de um aplicativo que crie ou exclua um

arquivo o catálogo é atualizado.


Há três tipos de arquivos nativos do ZOS, são eles:

Sequencial

Os dados são acessados de maneira sequencial, registro após registro, podendo ser os registros

de dados de tamanho fixo ou variável.

Particionado (Partitional data set)

São arquivos que contém membros (também chamados PDS), que podem ser: parâmetros do

sistema, parâmetros de programa, programas fonte, procedimentos catalogados, jobs, etc.

Indexado

Arquivo de estrutura indexada, contendo uma área de controle, área de dados e área de índices.

No caso do Z/OS o arquivo usado é o VSAM.

VSAM: Virtual Storage Access Method (Método de Acesso à armazenamento Virtual).


ARQUIVOS
GDG
GDG (Generation Data Group)

São catalogações de atualizações sucessivas ou gerações de dados relacionados,

que são chamados de grupos de dados de geração (GDGs).

Cada conjunto de dados dentro de um GDG é chamado de um conjunto de dados de geração

ou geração (GDS). É uma coleção de conjuntos de dados non-VSAM historicamente relacionados


que são organizados em ordem cronológica. Ou seja, cada conjunto de dados é historicamente
relacionado aos outros no grupo.

Dentro de um GDG, as gerações podem ter ou não os atributos do DCB e as organizações do


conjunto de dados. Se os atributos e organizações de todas as gerações em um grupo forem
idênticos, as gerações poderão ser recuperadas juntas como um único conjunto de dados.
As vantagens de agrupar conjuntos de dados relacionados incluem:

• Todos os conjuntos de dados no grupo podem ser referenciados por um nome comum;

• O sistema operacional é capaz de manter as gerações em ordem cronológica;

• Gerações desatualizadas ou obsoletas podem ser excluídas automaticamente pelo sistema

operacional.
Os conjuntos de dados de geração ordenam sequencialmente nomes absolutos e relativos que
representam sua idade. As rotinas de gerenciamento de catálogo do sistema operacional usam o
nome de geração absoluto. Conjuntos de dados mais antigos têm números absolutos menores. O
nome relativo é um inteiro assinado usado para se referir ao último (0), ao próximo ao mais
recente (-1) e assim por diante.

Por exemplo, o nome do conjunto de dados SAMUEL.TESTE.GDG (0) refere-se ao conjunto de


dados mais recente do grupo; SAMUEL.TESTE.GDG (-1) refere-se ao segundo conjunto de dados
mais recente; e assim por diante. O número relativo também pode ser usado para catalogar uma
nova geração (+1). Uma base de grupo de dados de geração (GDG) é alocada em um catálogo
antes que os conjuntos de sejam catalogados. Cada GDG é representado por uma entrada de
base do GDG.
É importante ressaltar que, para se utilizar o conjunto de dados (GDG), deve-se criar um GDG
base, onde serão definidos o nome a ser utilizado e também a quantidade de versões serão
armazenadas no catálogo.
Exemplo:
SAMUEL.TESTE.GDG ?????
No exemplo abaixo, estamos criando o GDG SAMUEL.TESTE.GDG, armazenando 5 gerações:
ARQUIVOS
NON-VSAM
Conjuntos de dados non-VSAM são coleções de registros de comprimento fixo ou variável,
agrupados em blocos. Para acessá-los deve-se usar BSAM, QSAM ou BPAM. Existem vários tipos
de conjuntos de dados não-VSAM:

Conjunto de dados sequenciais (PS):

Contém registros armazenados em ordem física. Novos registros são anexados ao final do
conjunto de dados. Você pode especificar um conjunto de dados sequenciais no formato
estendido.

Conjunto de dados particionados (PDS):

Contém um diretório de membros organizados sequencialmente, cada um dos quais pode


conter um programa ou dados. Depois de abrir o conjunto de dados, você pode recuperar
qualquer membro individual sem pesquisar o conjunto de dados inteiro.

Conjunto de dados particionados estendidos (PDSE):

Contém um diretório indexável e expansível de membros organizados sequencialmente, cada


um dos quais pode conter um programa ou dados. Você pode usar um PDSE em vez de um PDS.
A principal vantagem de usar um PDSE sobre um PDS é que o mesmo reutiliza automaticamente
o espaço dentro do conjunto de dados.
INTRODUÇÃO
AO
DFSORT
O DFSORT é um programa que você usa para classificar, mesclar e copiar informações.

Tais como:

• Quando você classifica registros, organiza-os em uma sequência específica, escolhendo uma
ordem mais útil para você do que o original.

• Quando você mescla registros, combina o conteúdo de dois ou mais conjuntos de dados
classificados em um.

• Quando você copia registros, você faz uma cópia exata de cada registro em seus dados conjunto.

Para mesclar registros, primeiro requer que os conjuntos de dados de entrada sejam classificados
e que estejam definidas na mesma ordem que será usada para a saída. Você pode mesclar até
100 conjuntos de dados diferentes por vez.
Além das três funções básicas, você pode executar outro processamento simultaneamente, tais
como:

• Controlar quais registros manter no conjunto de dados de saída final de um DFSORT, usando as
instruções INCLUDE e OMIT em sua sintaxe. Estas instruções funcionam como filtros, testando
cada registro em relação aos critérios que você definiu, retendo apenas os que você deseja para o
conjunto de dados de saída.

Por exemplo, você pode optar por trabalhar apenas com registros que tenham um valor de “Belo
Horizonte” no campo reservado para localização do escritório. Ou talvez você queira deixar de fora
qualquer registro datado de 2014 ou também conter um valor superior a 20 para o número de
funcionários.
• Analisar, editar e reformatar seus registros antes ou depois de outro processamento usando
instruções INREC e OUTREC. As instruções INREC e OUTREC suportam grandes variedades de
tarefas de reformatação, incluindo:

• O uso de campos fixos de posição / comprimento ou campos variáveis de posição / comprimento.

Para campos fixos, você especifica a posição inicial e a duração do campo diretamente. Para
campos variáveis, como campos delimitados, valores separados por vírgula (CSV), tabulação,
valores separados, valores separados em branco, campos separados por palavra-chave,
sequências terminadas em nulo (e muitos outros tipos), você define regras que permitem o
DFSORT extrair os dados relevantes em campos fixos analisados e depois campos analisados
como você os utiliza como campos fixos.

Além de diversas funcionalidades.


Segue abaixo um exemplo de estrutura de um STEP com a sintaxe de um DFSORT:
Mais algumas da funções que podem ser executadas com o DFSORT:

• Gerar múltiplos arquivos num único step – idênticos ou diferentes;

• Dividir arquivos;

• Converter registros de tamanho fixo em variável e vice-versa;

• Estender o tamanho dos registros;

• Unir registros de dois arquivos;

• Inserir nos registros: brancos, zeros binários, caracteres, data corrente/futura/passada, hora
corrente, sequência numérica, resultado de operações aritméticas, etc;

• Editar, remover e reordenar campos no registro;

• Substituir valores dos campos;

• Converter campos numéricos em diferentes formatos;

• Manipular data e hora em vários formatos;

• Executar operações aritméticas com/entre os campos;

• Extrair valores de tamanho fixo a partir de campo de tamanho variável.


E lembre-se:

É só o começo!

Você também pode gostar