Escolar Documentos
Profissional Documentos
Cultura Documentos
O objetivo desse curso bsico de JCL (Job Control Language) equilibrar o conhecimento dessa ferramenta dentre os colaboradores que atuam na rea de controle mainframe da empresa OI, desempenho de nossas atividades. O JCL que veremos so os comandos que empregamos em nosso ambiente de trabalho. Faremos exposio de exemplos dos processos que controlamos em nossas atividades dirias, assim como debateremos pontos de ateno. A metodologia empregada ser de aulas expositivas que propicie uma interao entre todos os envolvidos nesse processo de aprendizagem. Est previsto uma carga de dez horas divididas em duas horas por dia durante uma semana. Para facilitar a presena de todos, foi determinado que esses encontros fossem realizados nos horrios das 12h00min s 14h00min ou das 18h00min s 20h00min, portanto, fica a critrio de cada um escolher o melhor horrio, aquele que principalmente no choque com o seu horrio de trabalho. Aproveitando esse momento privilegiado de troca do conhecimento, abordaremos tambm os assuntos: Abertura automtica de incidentes por cancelamento de processo e os ambientes de Nono Digito e Homologao, como funciona o envio de arquivos para o diretrio corporativo, os CONTROLs D e O e o Pelicano. nas atividades de processamento de dados. Com isso procurar disseminar informaes a que venha agregar valores para o
JCL uma linguagem que possibilita que um programa se comunique com o computador de grande porte mainframe da IBM.
Quando um programa submetido para execuo no sistema, ele passa a ser chamado de JOB, e deve ser construdo com a utilizao da linguagem de JCL. no JOB que esto s informaes necessrias para que os dados sejam processados. Uma unidade de servio (job) submetido ao sistema. Consiste de um ou mais steps. Um JOB formado por trs comandos (cartes) principais:
Comando JOB - Informa, entre outras coisas, o nome do job. Comando EXEC - Informa, entre outras coisas, o nome do programa que ser executado, e o primeiro carto de uma procedure. Comando DD - Informa, entre outras coisas, o nome dos data sets (arquivos) que sero lidos ou gravados o qual descreve um arquivo a ser utilizado no programa (step)
Em um job podemos ter vrios cartes EXEC, vrios cartes DD, porm apenas um carto JOB. Outros comandos do JCL: Delimitador ( /*) indica o fim do arquivo; marca o fim dos dados. Comentrios (//*) so codificados entre as colunas 4 a 80, com objetivo de documentar o JCL. 2
Nulo (//) Usado para indicar o final de cartes de um JCL. Comando PROC inicia um procedimento (procedure) catalogado ou do fluxo de entrada, e indica valores defaults para os parmetros simblicos.
Na prtica, geralmente so usados apenas os comandos JOB, EXEC, DD e Comentrio. Os detalhes e a codificao do JCL podem at ser complicados, porm os conceitos gerais so simples. Alm disso, utilizamos apenas um pequeno subconjunto de parmetros, cerca de 10%, para 90% dos servios que queremos utilizar. (BARBAR, 2011, p. 59) O JCL fornece as informaes: Identificao do incio de uma descrio de servio; Ordem em que os programas devem ser executados; Nome do programa a executar em cada etapa; Informaes sobre cada programa; Quantidade de memria necessria; Parmetros de execuo; Informao sobre os arquivos que cada programa necessita.
3. O Carto JOB
Geralmente as empresas que precisam utilizar a linguagem do JCL, customizam a sua codificao, ou seja, o carto pode mudar em cada instalao. Vejamos um JCL codificado para o carto JOB. 3
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7-000001 //BTPOP000 JOB (243,2,15),CONTROLM,REGION=0M,TIME=3, 000002 // 000003 // 000004 // 000005 // MSGCLASS=0,CLASS=5,PRTY=13,NOTIFY=TR76124, MSGLEVEL=(1,1),TYPRUN=HOLD,COND=((3,LT),(12,GT)), ADDRSPC=VIRT,BYTES=(500,CANCEL),CARDS=(500,DUMP), PAGES=(400,WARNING),LINES=(300,CANCEL),
Estudaremos o nosso carto JOB. No JCL existe uma regra geral onde os comandos do JCL devem comear com os caracteres // nas colunas 1 e 2, exceto para o comando delimitador. 4
O nome do JOB (jobname) deve sempre conter de 1 a 8 caracteres alfanumricos e nacionais (@, $ #) sendo que o primeiro caractere deve ser alfabtico ou nacional e identifica o JOB para que outros comandos de JCL ou o sistema operacional. Quando um JOB submetido, o sistema operacional atribui automaticamente um nmero (job number) ao mesmo o que permite que vrios outros JOBs com o mesmo nome sejam submetidos e assim permiti que processe um de cada vez.
Vejamos alguns nomes de JOB o jobname, marque C para certo e E para errado: //GBD406 ( ) //6ABC ( ) //A8563 ( ) //B76#4 ( ) //BTPOPA346 ( ) // DFFTP001 ( ) //BTARP#$@ ( ) Muitas instalaes indicam o nome do JOB a ser usado, e a nossa aqui no foge a regra, assim sendo, o nosso nome de JOB definido com oito caracteres alfanumrico ou nacional sendo o primeiro um caractere alfa. Caso a regra no seja empregada o JOB nem inicia. Ento j temos o nosso carto jobname //UFSIT000 que dever aps da oitava posio ser precedido de um espao em branco para que venha o comando JOB. J temos //UFSIT000 JOB e aps outro espao vem o Accounting so os parnteses () que em muitas instalaes podem conter informaes dentro deles num total de 143 caracteres que servem para entre outras coisas computar gastos com processamento. Depois do account vem o nome do programador. O nome deve conter no mximo de 20 caracteres, caso tenha caracteres especiais dever estar entre apstrofos. O nosso aqui para produo o CONTROLM, default.
Precisamos definir um TIME e uma REGION para o nosso carto JOB. Vamos l. O parmetro TIME especifica o limite de tempo de processador que o JOB pode utilizar. Quando o tempo mximo atingido, o JOB termina, ou seja, cancelado com o abend S322. A empresa 4Bears trabalha para adequar esse tempo de processamento. 5
O parmetro REGION especifica a quantidade de memria em (Kilobytes ou Megabytes) que ser alocada para o JOB utilizar no seu processamento. Geralmente utiliza-se REGION=0M para definir que no h limite de memria para o JOB. Esse limite definido internamente pelo sistema operacional. O nosso carto JOB tambm utiliza mais dois parmetros os MSGCLASS e o MSGLEVEL. O parmetro MSGCLASS especifica a classe de sada das mensagens do escalonador de JOBs. As classes de sada podem ser representadas por um nico caractere alfanumrico e essa definio customizada pelo suporte tcnico da instalao. O nosso MSGCLASS est definido com nmero zero. Essas mensagens podem ser observadas nas execues dos JOBs onde encontramos // nas colunas 1 e 2 so os comandos do JCL, j nas colunas 1 a 3 encontramos *** como sendo dos comentrios. Os comandos das procedures aparecem como XX nas colunas 1 e 2 j os overrides mostram +/ nas colunas 1 e 2. (BROWN, 1990, p.50). E nas sadas dos cartes SYSOUTs, quando codificados no JCL dos cartes DD. O parmetro MSGLEVEL tambm est definido com as opes (1,1). Isso representa que deve ser mostrado no JOB executado as informaes (jcl,alocaes) onde: Jcl 0 - Imprime apenas o comando JOB. 1 - Imprime todo o JCL mais a procedure. 2 - Imprime somente os comandos de JCL Alocao 6
Vamos entender como o nosso carto JOB montado, observem que ele parametrizado. Em nossa instalao o carto JOB ficaria assim.
=COLS> ----+----1----+----2----+----3----+----4----+----5----+----6----+----7-000001 //* %%GLOBAL GERAL 000002 //* 000003 //* %%INCLIB %%PRO#GERAL %%INCMEM FTP001X0 000004 //* 000005 //* %%GLOBAL %%UF%%.GLB%%JP 000006 // %%UF.%%JS.%%JP.%%JN JOB ( ),CONTROLM,REGION=0M,TIME=%%JT 000007 //*
Vamos observar:
Observem as informaes abaixo e monte o JOB com seu jobname. Todos devem processar com o TIME=5:
//_____________________________________________________________________ //_____________________________________________________________________
//_____________________________________________________________________
//__________________________________________________________________________
//_____________________________________________________________________
//___________________________________________________________________________
Os comandos de COND e RESTART no so frequentemente utilizados no carto JOB devido ao uso do CONTROLM e de outros recursos, salvo em casos especiais. Veremos o emprego do COND no carto EXEC e com a utilizao dos DDs especiais IF/THEN/ELSE/ENDIF
4. O Carto EXEC
Cada passo (Step) do JOB comea com um comando EXEC que ou nomeia um programa a ser executado (compilado, aplicativo, utilitrio, etc) ou chama um procedimento catalogado as procedures. Um procedimento catalogado pode conter vrios passos do JOB. Cada um comea com um comando EXEC que especifica o programa ser executado. Pode haver at 255 comandos EXEC em cada JOB, cada um deles com seus respectivos cartes DD que definem os arquivos a serem usados nos passos (Steps). Vejamos as chamadas de Programas da procedure UFFTP001:
10
O nome do step os stepnames tem sempre que comear na coluna 3, e deve ter de 1 a 8 caracteres, onde o primeiro caractere deve ser alfabtico ou nacional, no podendo ser um numrico. O nome do step no pode conter caracteres especiais nem brancos, opcional, mas se for omitido este step no poder ser referenciado dentro do JOB. Para que o step seja referenciado dentro do JOB, o nome do step deve ser nico. O carto EXEC pode ter comandos iguais aos do carto JOB como os de TIME e REGION. Eles exercem sua ao somente no step onde so referenciados. Outros comandos podem ser utilizados. O PARM que tem a finalidade de passar informaes para o programa que executado no step pode passar at 100 caracteres e esses podem ser separados por vrgulas ou no e devem vir entre parnteses ou apstrofos quando forem caracteres especiais. A sua continuao deve ocorrer aps da coluna 71 na linha debaixo a partir da coluna 16.
11
Formato do COND: COND=(cdigo,operador) Neste formato sero testados todos os cdigos de retorno dos steps anteriores COND=(cdigo,operador,stepname) O Cdigo especifica o nmero que o sistema ir comparar ao cdigo de retorno de cada step. COND=(cdigo, operador,stepname,procstepname) Para mais de uma procedure em apenas um JOB. O Operador especifica o tipo de comparao que ser feita ao cdigo de retorno de cada step. Ver tabela abaixo:
Operado r GT GE EQ NE LT LE
Significado Maior que (Greater than) Maior ou igual que (Greater than or equal to) Igual a (Equal to) Diferente (Not equal to) Menor que (Less than) Menor ou igual que (Less than or equal to) Operadores do Parmetro COND
12
Um exemplo:
Vejamos agora outros formatos de parmetros para o comando COND que so os: EVEN e ONLY. 13
O parmetro EVEN especifica que o step onde foi codificado seja executado mesmo que um step anterior tenha cancelado com erro. COND=EVEN Executa sempre. J o ONLY especifica que o step onde foi codificado execute se algum step anterior cancelar (abendar), ou seja, COND=ONLY Executa somente se um step anterior abendar. Vamos treinar: Faa as amarraes de condies conforme o solicitado. 1 - Todos os steps devem processar somente com cond=0000 //BTPOP234 JOB (),CONTROLM,TIME=1,REGION=0M,COND=(00,NE) //* //STEP0001 EXEC PGM=PROG1,____________ //* //STEP0002 EXEC PGM=PROG2,____________ //* //STEP0003 EXEC PGM=PROG3,____________ 2 - Step 2 roda somente se step 1 der 4 e o step 3 roda somente se o step 1 der 0. //BTPOP234 JOB (),CONTROLM,TIME=1,REGION=0M //* //STEP0001 EXEC PGM=PROG1,____________ //* //STEP0002 EXEC PGM=PROG2,COND=(04,NE,STEP0001) //* //STEP0003 EXEC PGM=PROG3,COND=(00,NE,STEP0001) //STEP1 //STEP2 //STEP3 -STEP1 -STEP2 -STEP3 EXEC PGM=TELGENER EXEC PGM=IEFBR14,COND=(04,NE,STEP1) EXEC PGM=IEFBR14,COND=(00,NE,STEP1) 04 00 FLUSH
3 - Step 2 roda somente se step 1 der 4 ou 8 e o step 3 so roda se abendar um step. //BTPOP234 JOB (),CONTROLM,TIME=1,REGION=0M 14
//* //STEP0001 EXEC PGM=PROG1,____________ //* //STEP0002 EXEC PGM=PROG2,____________ //* //STEP0003 EXEC PGM=PROG3,COND=(EVEN) 4 O step 1 no deve rodar e o step 3 somente roda se der cond maior ou igual 104 no step 2. //BTPOP234 JOB (),CONTROLM,TIME=1,REGION=0M //* //STEP0001 EXEC PGM=PROG1,COND=(01,NE) //* //STEP0002 EXEC PGM=PROG2,___103 104 105 //* //STEP0003 EXEC PGM=PROG3,COND=((103,GE,STEP0002),(105,LE,STEP002)) 5 - Step 2 roda somente se step 1 for menor ou igual a 4 e o step 3 roda somente se o step 2 for maior que 8. //BTPOP234 JOB (),CONTROLM,TIME=1,REGION=0M //* //STEP0001 EXEC PGM=PROG1,__0 1 2 3 4 5_________5 < 0 F //* //STEP0002 EXEC PGM=PROG2,COND=(05,LE,STEP0001) 7 8 9 10 //* //STEP0003 EXEC PGM=PROG3,COND=(07,GE,STEP0002) 6 - Step 3 roda somente se step 1 der 4. //BTPOP234 JOB (),CONTROLM,TIME=1,REGION=0M //* //STEP0001 EXEC PGM=PROG1,____________ //* //STEP0002 EXEC PGM=PROG2,____________ //* //STEP0003 EXEC PGM=PROG3,COND=(04,NE,STEP0001) 7 - Step 1 roda somente se step 1 der 8. Impossvel //BTPOP234 JOB (),CONTROLM,TIME=1,REGION=0M //* //STEP0001 EXEC PGM=PROG1,____________
5. O Carto DD
15
O carto DD (Definio de Dados) deve ser includo aps o carto EXEC com as especificaes dos arquivos que so utilizados quando na execuo de um JOB. Nele so fornecidas as unidades de entrada ou sada, um volume especifico a ser utilizado, as caractersticas dos arquivos e a sua disposio dentre outras informaes que devem ser definidas no comando DD do JCL. Os seus ddnames seguem as mesmas regras com relao ao stepname, ou seja, eles devem ter de um a oito caracteres alfanumricos ou nacionais, sendo o primeiro caractere um alfa. Seu formato:
//ddname DD parmetros-opcionais
Existem parmetros opcionais iguais aos: * (asterisco) serve para indicar os dados vm logo aps o comando DD. DATA indica que os dados com // nas colunas 1 e 2 viro logo aps o comando DD. DUMMY serve para indicar que o arquivo nulo. DYNAM serve para indicar uma alocao dinmica. Os parmetros de palavra-chave podem ser codificados em qualquer ordem, depois do parmetro posicional.
16
COMANDO ACCODE AFF AMP BURST CHARS CHKPT COMPACT COPIES DCB DDNAME DEST DISP DLM DSID DSN FCB FLASH FREE HOLD LABEL MODIFY MSVGP OUTLIM OUTPUT PROTECT QNAME SEP SPACE SPLIT SUBALLOC SUBSYS SYSOUT TERM UCS UNIT VOL
DESCRI0 DOS PARAMETROS DE PALAVRA-CHAVE Solicita um cdigo de acesso para fitas ANSI Solicita separao de canal Fornece informao para arquivos VSAM Permite o uso de formulrios no contnuos em impressora Especifica um conjunto de caracteres para a impressora Solicita pontos de controle e fim de volume Compacta os arquivos enviados a uma estao de trabalho Solicita cpias de um arquivo de sada Especifica os parmetros de bloco de controle de dados Adia a definio de um arquivo Direciona a sada para um determinado destino Especifica a disposio do arquivo Especifica um delimitador alternativo Fornece a identificao de um arquivo em um disquete modelo 3540 Denomina o arquivo Especifica formulrio de imagem de controle para uma impressora Especifica a superposio de formulrio na impressora Libera o dispositivo de E/S quando o arquivo fechado Retm o arquivo de sada em uma fila Fornece informao de rtulos e proteo de arquivos Modifica as linhas de impresso na impressora Solicita um perifrico MSS (Mass Storage System) Limita as linhas de sada impressa Especifica o processamento de sada especial Solicita proteo de arquivos (senhas) D acesso a mensagens recebidas Solicita separao de canal Solicita o espao em acesso direto a ser alocado Aloca espao em um volume de acesso direto a ser sub-alocado Subaloca espao em um volume de acesso direto Especifica o subsistema a processar o arquivo Direciona um arquivo por meio do fluxo de sada do sistema Envia ou recebe um arquivo de um terminal timesharing Envia um conjunto de caracteres para impresso Especifica o dispositivo de E/S Especifica o volume e oferece informaes sobre ele
Embora existam vrios parmetros no comando DD, apenas seis so os mais usados regularmente em nossa instalao assim como nas demais tambm. So eles: (DCB, DISP, DSN, SPACE, UNIT e VOL) (BROWN, 1990, p. 82)
O parmetro DSN denomina o nome do arquivo (datasets), e esses arquivos podem ser temporrios ou no temporrios. O arquivo temporrio quando nomeado so codificados dois ampersands (&&) antes do nome. Esses arquivos so criados e removidos durante o processamento do JOB. J os arquivos no temporrios podem ser salvos e reusados depois que o job termina. Esses arquivos devem ter no mximo 44 caracteres (incluindo pontos) separados por grupos de at 8 caracteres que formam os high-level qualifier (HLQ) iniciando sempre com um algarismo alfa. (SOARES, 2010, p.91)
18
O parmetro DISP deve informar ao Sistema o status do arquivo antes do incio do step e tambm informar o que fazer com o arquivo ao trmino do step. (BARBARA, 2011, p. 82) Vejamos o formato:
A situao do arquivo no inicio do step pode estar: NEW - o arquivo ainda no existe e ser criado; OLD - o arquivo j existe e no compartilhado com outro JOB. Se for especificado na sada e tiver um arquivo j catalogado, o mesmo ser sobreposto. Caso no tenha o processo ser cancelado por falta de arquivo. SHR - o arquivo j existe e pode ser compartilhados quando estiverem gravados em disco, ou seja, no compartilham com cartuchos ou fitas. (arquivos iniciados com V. R. G. F.) MOD para arquivo sequencial j existente, onde pode continuar gravar informao no final do arquivo. As situaes de trmino normal e anormal podem estar: PASS passa o arquivo para os steps seguintes do JOB. KEEP mantm o arquivo; DELETE apaga o arquivo; CATLG cataloga o arquivo; UNCATLG descataloga o arquivo.
19
RECFM Record Format especfica o formato e as caractersticas dos registros em um novo arquivo. o F Fixo o FB Fixo Blocado o V Varivel o VB Varivel Blocado o U indefinido
o Igual ao tamanho do registro para registros de tamanho fixo; o o Igual ao tamanho do maior registro mais os 4 bytes de descrio dos registros; Omitido para registros de tamanho indefinido.
20
BLKSIZE Block Size especifica o tamanho, em bytes, de um bloco de registro. O tamanho mximo de 32760.
o deve ser um mltiplo do LRECL para registros de tamanho fixo; o deve ser igual ou superior que o LRECL para registros de tamanho fixo; o deve ser igual ou maior que o LRECL para registros de tamanho varivel; o deve ser o mesmo tamanho que o maior bloco para registros de tamanho indefinido.
DSORG Data Set Organization especifica a organizao do arquivo. o PS - Seqencial o PO - Particionado o VS - Vsam o IS - Sequencial Indexado o DA - Acesso direto o U - Indefinido
Pode-se usar o recurso de referenciar uma DCB anterior do JCL com a utilizao do parmetro de referncia REFERBACK. Exemplo: //SEQE01 DD DSN=BT. POD01.ARQUIVO.DE.TESTE,DISP=SHR //* //SEQS01 DD DSN=BT.POD01.ARQUIVO.SAIDA,DISP=(,CATLG,DELETE), // UNIT=SYSDA,SPACE=(TRK,1),DCB=*.SEQE01
21
5.4 SPACE
O parmetro SPACE utilizado para alocar espao para todos os novos arquivos em um dispositivo de acesso direto. Espaos em volume de disco podem ser alocados em unidades de blocos, cilindros, trilhas ou bytes. (BARBARA, 2011, p.88) Sintaxe:
TRK alocao em trilhas CYL alocao de cilindros blocos especifica o tamanho dos blocos, em bytes de 0 a 65535. pri especifica a quantidade primria de trilhas, cilindros ou blocos que sero alocados. sec especifica a alocao secundria de at 15 extents quando excede a alocao primria. dir indica a quantidade de blocos de diretrio para um arquivo particionado. RLSE requisita que o espao alocado para um arquivo de sada no, mas utilizado deva ser liberado quando o arquivo fechado. CONTIG requisita que o espao alocado para o arquivo deve ser contguo. Serve apenas para alocao primria. ROUND Quando o primeiro parmetro especifica o tamanho de bloco, o ROUND requisita que o espao alocado para o arquivo deve ser arredondado para um nmero inteiro de cilindro. 22
5.5 UNIT
O parmetro UNIT fornece ao sistema a informao necessria para associar um dispositivo a um arquivo. (BARBARA, 2011, p.83) Pode-se utilizar um dispositivo: especifico ou um tipo ou grupo de dispositivo ou ainda o mesmo dispositivo que vem de outro dataset. Vejamos: //SYSUT2 DD UNIT=74CB //CMWKF01 DD UNIT=3390 endereo do dispositivo modelo do dispositivo
Sintaxe: VOLUME=(PRIVATE,RETAIN,vol-seq-number,volcount) PRIVATE requer um volume especfico RETAIN mantm o volume montado na unidade ao trmino da leitura Vol-seq-number identifica o volume, em um j existente dataset muitivolume, onde o processamento do dataset deve iniciar.
23
Volcount especifica o nmero de volume a ser utilizado, mximo de 255 o default 5 . Com a codificao do parmetro VOL=(,,,255) evita-se o abend 838. SER VOLSER. Identificador (ID) do volume ou volumes. REF Identifica ao sistema aonde obter o VOLSER de outro dataset ou de um comando DD anterior.
6 DDs Especiais
6.1 STEPLIB
Serve para informar a localizao do programa definido no carto EXEC deste step. O carto STEPLIB pode ser codificado em qualquer posio, entre os comandos DD, do step onde se aplica. Se o sistema no encontrar o programa na STEPLIB, ento procura na SYS1. LINKLIB e nas bibliotecas da LINKLST. Vejamos o carto STEPLIB
6.2 JOBLIB
24
Informa a localizao de todos os programas definidos nos cartes EXEC de todos os steps do JOB. O carto JOBLIB deve ser codificado imediatamente aps o carto JOB. Esse carto JOBLIB opcional. Se no mesmo JOB so utilizados os cartes JOBLIB e STEPLIB, no step onde utilizado o STEPLIB o sistema ignora o JOBLIB, ou seja, o programa vai ser procurado na STEPLIB e em seguida nas bibliotecas do sistema. Vejamos o carto JOBLIB
6.3 SYSIN
Quando se faz necessrio passar alguma informao para o programa por meio de alguma opo, ou vai se informar algum dado digitado para o programa, isto feito com a utilizao do carto DD *. Pode-se usar tambm o SYSIN com a opo de DUMMY quando no se quer passar nenhuma informao. Vejamos o SYSIN DD DUMMY e o uso do asterisco.
25
6.4 SYSOUT
A sada do JOB, ou o SYSOUT, o arquivo que contm o resultado do processamento. As classes de sada podem ser caracteres alfanumricos. Um asterisco indica ao sistema que use como classe de sada a mesma classe do MSGCLASS do carto JOB.
26
6.5 IF/THEN/ELSE/ENDIF
Comando IF (surgiu a partir do Sistema /390) permite a construo de expresses relacionais para teste de condio em um JOB. Oferece alternativa de fcil compreenso para o uso do COND.
Vejamos as sintaxes: //ddname IF condio THEN step ou steps a executar se a condio for verdadeira //ddname ELSE step ou steps a executar se a condio for falsa //ddname ENDIF Expresses relacionais NOT NOT GT > LT < EQ = NE = GE >= LE <=
Exemplo:
27
28
Vejamos o resultado
SYSUDUMP - Utilizado para gravar um dump caso ocorra um ABEND. Produz um dump das reas alocadas ao Programa do usurio. SYSABEND Produz um dump igual ao SYSUDUMP com acrscimo de algumas reas do Sistema: o LSQA Local system queue rea (inclui subpool 229, 230 e 249) o IOS Blocos de controle Input/Output System (blocos de controle de Task com problema)
29
/*XEQ Especifica o local de execuo do JOB. /*MESSAGE Envia mensagem para console do operador. /*NOTIFY TR76124 Especifica um destino para receber a mensagem.
7. UTILITRIOS
Utilitrios so programas que fazem parte do sistema operacional. Desempenham funes de uso comum e auxiliam no gerenciamento de arquivos. Os programas utilitrios fornecidos pela IBM oferecem uma srie de funes teis, como cpia e listagem de arquivos e manuteno das bibliotecas de arquivos particionados, portanto, conhec-los passa ser essencial para os profissionais da rea de informtica do mainframe.
OBJETIVO Alterar a organizao de um dataset Converter um dataset para sequencial Copiar um arquivo particionado Copiar um arquivo sequencial
UTILITRIO IEBGENER, IEBUPDTE, IEBPTPCH IEBGENER, IEBUPTDTE IEBCOPY, IEHMOVE IEBGENER, IEHMOVE, IEBUPDTE, IEBPTPCH
30
Criar um dataset seqencial de sada Editar e copiar um arquivo sequencial Deletar, catalogar um dataset Substituir membros selecionados de um PDSE
Esses utilitrios, chamados de Utilitrios do Sistema, so vlidos apenas para os arquivos No-VSAM. Para os arquivos VSAM (Virtual Storage Acces Method) utilizamos o utilitrio IDCAMS Vamos observar alguns desses utilitrios, os mais utilizados em nossa instalao e que se encontram implantados nos diversos processos de todos os sistemas do cliente. (SAG, SFA, SAC, SCR, SCO...etc).
7.1 IEBGENER
O IEBGENER o utilitrio mais utilizado por ter a funo de copiar um arquivo sequencial de um dispositivo para outro, ou fazer outra cpia do arquivo com uma reteno maior, copiar para outro ambiente, em atividades corriqueiras, assim como podemos encontrar muitos desses programas em diversas procedures.
31
32
33
7.2 IEFBR14
um programa til, porm no um utilitrio para muitos autores (BARBARA, 2011, p. 121). No executa nada, ele uma instruo BR14, no exige nenhum DD com nome especial. Serve para, utilizar apenas o JCL dos comandos DD definidos em sua execuo, que se faa alocao e desalocao de arquivos no incio de um JOB ou para apagar arquivos no final.
34
Um exemplo de execuo
35
7.3 TELGENER
um programa til e muito utilizado nas empresas de comunicao do antigo Sistema Telebrs. Tem a finalidade de copiar arquivos e encontra-se implantado em vrios procedimentos dos diversos sistemas que processam no mainframe.
Uma execuo
36
Resultado da Execuo
37
38
8. REFERNCIAS BIBLIOGRFICAS
BROWN, Gery DeWard. JCL SISTEMA/370. Rio de Janeiro: Campos, 1990. BARBARA, Saulo; ABREU, Jorge; BORBA, Ana Lucia. JCL e Utilitrios do Sistema Operacional z/OS. Rio de Janeiro: Moderna, 2011. SOARES, Jorge; BARBARA, Saulo; WILDMAR, Jorge; PINESCHI, Elcio. Introduo Arquitetura de Mainframe e ao Sistema Operacional Z/OS. Rio de Janeiro: Moderna, 2010.
39