Académique Documents
Professionnel Documents
Culture Documents
HOMftO BftfSOttl
INFORMAO IEA 80
ABRIL/1977
CPO 7
INF. IEA 56 ABRIL/1977
CPD 7
Roberto Barsotti
MEMBROS
Adnar CanaJlIni
PARTICIPANTES
Reyina EltiaMta A a n d o B m t u
\r-io Gorl
SUPE V F (DENTE
NOTA: Etta trabalho foi contarldo paio aulof dapott d* compoMO au* rftfacf nt contem o original,
eorrafa ou mudanf*.
ftJDICE
Pagina
Resumo
Prefacio
1 Introduio , 1
2 - Generalidades do J.C.L 2
2.4.1 - Opcionais 4
2.4.2 - Obrigatrios 4
2.4.3 - Posicionais 4
2.4.4 - Palavras-Chave 4
3 - Comando JOB 6
3.3,2.1 - CLASS 8
3 3 2 2 -COND 8
3.3 2 3 - MSGCLASS 10
3.3 2 4 - MSGLEVEL 10
3 3 2 5 - PRTY 11
33 2 6 - REGION 11
332 7-ROLL 11
3328-TIME 12
3 3.2 9-TYPRUN 13
4 - Comando EXEC 13
4 1 - Formato Geral 13
5-Comando DD 18
51 - Formato Geral 19
5 3 - Parmetros do Comando DD 19
5 3 1 - Parmetros Poicionais 19
5.3.1.1-* 20
63.1.2 - DATA 20
5.3.1.3-DUMMY 20
5 3 2 - Parmetros Palavras-Chave 20
5.3.2.1 - DCB 21
5 3 2.2 - DISP 22
5.3.2.3 - DSNAME 23
5.32 4 - LABEL 24
632.5 - SPACE 26
5.3.2.6 - UNIT 27
5.3 2.7 - VOLUME 28
5.3 2 8 - SYSOUT 29
5 4 - Classificao dos Parmetros quanto ao Uso 29
5 5 - DDNAMES Especiais 31
6 - Procedure Catalogada' 35
7 Anexos 38
7 1 - DCB Subparameters 38
ABSTRACT 45
REFERNCIAS BIBLIOGRFICAS . 45
CONTROLE DO SISTEMA-J. C. L. (PARA O SISTEMA IBM/370)
Robtrto Banotli
RESUMO
O J C l - JOB CONTROL LANGUAGE - uma linguagem out ptrmilt a comunicao entre o Sistema t 9
usurio fonHctndo M M ltimo a* ferramentas para rtwlvtf stui proUtmat ao nvel do computador.
Como toda linguagem possue sua estrutura prpria t uma srii d * normas qua a ragam. O perfeito domnio do
J.C.L. permite ao usurio uma utilincfo eficiente e otimizada da maquina
PREFACIO
Esta publicao, tratando do controle do Sistema - J.C.L. - , , como a anterior sobre O.S., o
resultado de um curso interno que tivemos oportunidade de desenvolver no perodo de
setenbro-outubro de 75, para alguns programadores do nosso C.P.D.
O que se pretende neste pequeno trabalho no formar mas sim informar os eventuais leitores
sobre o que <eja o JOB CONTROL LANGUAGE, tentando apresentar esta linguagem de controle como
um todo para que possa ser percebida sua utilizao, seus recursos e sua estrutura.
Acreditamos que aps a leitura cuidadosa deste trabalho o leitor possa prosseguir seus estudos
de J.C.L. com menos dificuldades e com o esprito um pouco mais crtico. Se isto acontecer a presente
publicao ter atingido seu objetivo e ns nos daremos por satisfeitos.
Por outro lado, para um melhor entendimento, principalmente por parte dos iniciantes,
sugerimos que antes da leitura do presente trabalho seja lida uma outra publicao, tambm de nossa
autoria, sobre O.S. na qual so apresentados os conceitos bsicos do Sistema Operacional O.S. a muitos
dos quais este trabalho se refere.
Finalmente, queremos deixar claro que a aplicao eficiente do JOB CONTROL LANGUAGE
exige a utilizao de manuais apropriados, fornecidos pelo fabricante, sendo este trabalho insuficiente
para este fim, por mais que tenhamos tido todo o cuidado para apresentar as informaes nele contidas
da forma mais precisa possvel. A insuficincia desta publicao acreditamos no estar na preciso mas
sim no grau de detalhamento o qual no podia ser maior considerando o objetivo do trabalho.
1 - INTRODUO
* Analista de Sistemas - Centro de Processamento de Dados; Instituto de Energia Atmica; Sio Paulo, SP
mquina, cabe ao programa de aplicao definir as instrues que dizem ao computador o que fazer.
Como que o usurio diz ao Sistema Operacional o que fazer e que recursos so necessrios ? Estas
informaes so passadas ao sistema atravs do J CL - J O B CONTROL LANGUAGE-que uma
linguagem usada para permitir a comunicao entre o usurio e o sistema operacional. Para sermos mais
exatos convm dizer que o J.C L. permite a comunicao entre o usurio e o JOB MANAGEMENT e,
em especial, com o JOB SCHEDULER. O JOB MANAGEMENT constitui-se de trs partes:
2 - GENERALIDADES DO J. C. L.
- Comando JOB - usado para identificar o job, marcando seu incio e o fim do anterior.
- Comando EXEC usado para marcar o inicio de um step e o fim do step anterior. Identifica
o programa a ser executado ou a procedure a ser chamada.
- Comando Delimitador usado no input stream para indicar o fim dos dados.
Nota - muito comum utilizar a palavra carto em lugar de comando para referir aoi
"STATEMENTS" do J.C L. Dai ser mais freqente algum falar em carto job do que
falar em comando job, carto DD em vez de comando DD, e assim por diante. Do
ponto de vista pragmtica isto pouco importa, importando mesmo a utilizao correta e
eficiente do comando, ou carto como se queira. Porm a rigor o certo comando, no
somente por ser a traduo de "statement" mas por se tratar realmente de comandos
dos quais os cartes so apenas suportes fsicos.
2.2 - Campos nos Canoas da J. C. L.
2.2.1 - Campo Inicial - este campo ocupa as colunas 1 e 2 e, com exceio do carto delimitado*
que contm /* contm sempre //.
2.2.2 - Campo d* Nome - identifica o carto permitindo a outros cartes e Uocos de controle do
sistema fa^erem referncias a ele. Este campo deve iniciar na coluna 3 do carto e pode
romiHirtar dois tipos de nomes: nomes simples e nome qualificados, obedecendo s
caractersticas de formao de cada um deles.
2.2-3 - Campo de Operao - especifica o tipo de carto de controle ou, no caso de um comando,
o contando. Este campo deve ser precedido e seguido de, pelo menos, um branco.
2-2.4 Campo de Operando contm parmetros separados por vrgulas. Deve ser precedido e
sejuido de, pelo menos, um branco.
2.2.5 - Campo de Comentrios - pode conter qualquer informao que seja tl Oeve ser
precedido de, pelo menos, um branco.
2.2 6 Campo de Continuao - este campo, ocupando a coluna 72, pode conter qualquer
ciractci inclusive branco, quando o carto que o contm tiver continuao. Se no tiver
coritinujco este campo deve conter somente branco. No precisa ser precedido ou seguido
por um branco.
2.2 / - Campo de Identificao ocupando as colunas 73 a 60, pode ser usado para conter
cdiyos r|ue indtntifi()ucm o carto. No precisa ser precedido nem seguido de branco.
Observao - Lmbord os campou existentes sejam estes, nem todos os comandos de controle
todos os campos.
11 TS COLS 73.80
OBSERVAES
- COMANDO (//)
- DELIMITADOR </*)
- C O M E N T R I O (//*)
- NULO (II)
2.4.4 - Palavras-chave - cujo significado dado pela prpria palavra independentemente da posio
relativa ocupada. So codificadas sempre aps os parmetros posicionais (se houver).
- O apstrofe usado principalmente para casos em que seja necessrio o uso de caracteres
especiais ou nomes com mais de oito caracteres.
Na figura 2 podemos ver o resumo esquemtico de tudo o que foi abordado neste
item 2 - Generalidades do . C L .
. - . , -: . -A:- . r. , -- . ->- --:
DO
?.- Xer I-rr.:::;-* c iaia a*. ies:reve ee--e a*-r'.: -'---'
S;Srr:2N -->o i >r.al a certas
o-risatorio en 3\i-
?ido *-er
'i separ^ics por viryr^
spclonal ea -'rocs las ""
v
?oie -er <arca ; ?l se J troceiure i.-i-streax
C O M A N D O S ;,So tea Pode ter ' J K : -para r.',rar coa; COUKL-.OC t. - ; :c ir.p-t
streaa
il
3ELIKITES :. a ^ -.e= Poe ter -'sade r.c iapux *-reait para ir.diar o Jla i s i
i lad. s
corns, T C O M E N T R I O S sac a Pjie ter -'saic par er.trar rsa: lrj"3raa^3e a-x^.we ,
//
B B A 3C C 0 S S5o tec Pede ter P^d- er J*fcio par* Indicar : fim de us jot
trean
0 comando JOB marca o incio de um job e o trmino do job anterior. Todos os parmetros
em seu campo de operando so opcionais e st nenhum deles for codificado no podero ser codificados
os comentrios.
- Codificar os parmetros posicionais necessrios separando uns dos outros com vrgulas.
- Codificar os parmetros "palavras-chave" necessrios, separando uns dos outros com vrgulas.
Observao - As regras a que nos referimos no item 3.2 sio regras gerais de codificaio dentro das quais
cada instalaio, de acordo com suas caractersticas e com certas ncrmas adotadas pelo
CPD qual pertence, pode codificar ou omitir aquelas informaes que lhe parea
necessrio desde que sejam observadas as regras gerais. No nosso caso CPD do l E A - o
comando JOB codificado em dois cartes cujas estruturas estio descritas no Boletim
Informativo e devem ser observadas rigorosamente. A nio observncia do formato do
cartio JOB descrito no Boletim Informativo implicar no cancelamento do JOB. No
decorrer desta publicao trataremos o J.C.L. de forma genrica nio nos preocupando com
situaes especiais desta ou daquela instalaio.
3.3 - Parinwtro* do Comando JOB
Existem dois tipos de parmetros que podem ser codificados no comando JOB: os posicionais e
as palavras-chave. Embora os parmetros possam ser obrigatrios ou opcionais, no caso do comando JOB
todos os parmetros so opcionais.
Informaes de contabilizao
Identificao do programador
Faltando o primeiro deve ser codificada uma vrgula em seu lugar. Faltando o ltimo ou ambos
no h necessidade de codificar vrgula.
Este parmetro pode estar constitudo por subparmetros. Neste caso os subparmetros devem
ser codificados entre parnteses ou apstrofes.
* //EXPLO7 JOB
3.3.2 - Parmetros Palavras-Chavs
Podem ser codificados em qualquer ordem desde que sejam precedidos pelos parmetros
posicionais, caso haja
-CLA3S
-COND
- MSGCLASS
- M S G LEVEL
-NOTIFY (MVTcomTSO)
-PRTY
-RD
- R E G I O N (MVT)
- RESTART
- ROLL IMVT)
-TIME
- TYPRUN
3.3.2.1 - CLASS
CLASS=jobcla
ex:
CLASS=J
o default
CLASS=A
Nota - default aquele valor que, quando omitido o parmetro, assumido pelo computador. No nosso
caso acima, se o parmetro CLASS no for codificado o computador assume, por default, A.
3.3.2.2 - COND
COND=CODIGO,OPERADOR> ) j
cdigo - nmero decimal compreendido entre 0 e 4095. Este nmero comparado com o
cdigo de retorno emitido por cada job step.
operador - determina que tipo de comparao deve ser efetuada com o cdigo de retorno. Os
operadores so:
Cada job step emite um cdigo de retorno no final do procedimento. O parmetro COND
condiciona a continuao do processamento dos job steps seguintes ao resultado da comparao entre o
cdigo de retorno dos job-steps anteriores e o vaior especificado no parmetro COND. O cdigo de
retorno pode ser testado at 8 vezes e se um dos testes for satisfeito os steps restantes do job no serio
executados.
Ex:
COND=((50,GE),(60,LT))
significa que:
Se 50 for maior ou igual ao cdigo de retorno, ou se 60 for menor que o cdigo de retorno os jobs
steps seguintes no sero executados. Em outras palavras, os steps deste job sero executados enquanto
os cdigos de retorno ficarem entre 51 e 60.
COND=(9,LT)
significa que:
Resposta afirmativa
JOB termina
Pergunta
COND
Resposta negativa
JOB continua
10
3.3.2.3 - MSGCLASS
MSGCLASS=output class
output class - indica para que ciasse desai'da as mensagens do sistema (relativas ao job)
devem ser dirigidas. As classes de sada so representadas por letras (A,Z)
ou nmeros 10,9)
MSGCLASS=F
MSGCLASS=4
o default
IMSGCLASS-A
3.3.2.4 - M S G L E V E L
MSGLEVEL=(comandos,Mensagens)
comandos - especifica quais comandos de controle devem ser listados na sada do job.
2 lista somente os cartes de controle do job que entraram via Input Stream.
Observao - Na listagem, os cartes de controle do Input Stream so reconhecidos por / / nas posies
1 e 2 ao passo que os cartes de controle da SYS1.PROCLIB so caracterizados por XX
nas mesmas posies.
Mensagens : diz quais mensagens de alocao e trmino devem ser listadas na sada do job.
ex: MSGLEVEL=(0,0)
MSGLEVEL=(,0)
MSGLEVEL=(2,1|
11
o d*ault :
MSGLEVEL=d,1l
3.3.2.5 - PRTY
prioridade - designa a prioridade do job e varia de 0 a 13, onde 13, por ser a mais alta,
aconselhado evitar de usar.
Nota - quando o job iniciado, o sistema converte a prioridade do job numb prioridade de execuo
(Dispatching Priority) permitindo task ou tasks deste job competirem com outras tasks para o
uso da U.C.P. e da memria principal.
ex:
PRTY=4
o default
PRTY=1
3.3.2.6 - REGION
REGION=ValorK
ValorK - 'valor' especifica o nmero de ireas contguas de 1024 bytes da memria principal a
ser alocada para cada step do job.
ex:
REGION=248K
3.3.2.7 - ROLL
ROLL=(X,Y)
Se X for subs-.: iu ido por NO os jobs steps nio podem ser rolados.
Y - declara se os steps do job podem rolar fora da memria um step de outro job.
Se Y for substitudo por YE8 os jobs step podem rolar o step de outro job.
12
Se Y for substitudo por NO os jobs steps no podem rolar steps de outro job.
Resumindo temos:
ROLL=(NO,YES)
ROLL=(YES. YES)
ROLL=(YES,NO)
ROLL-(NO.NO)
o default
ROLL=(YES,NO)
3.3.Z8 - TIME
_ (minutos,segundos)
-l
144a
minutos especifica o nmero mximo de minutos que o job pode usar a U.C.P. Este nmero
deve ser menor que 1440 (24 horas).
segundos especifica o nmero mximo de segundos que o job pode usar a U.C.P., alm dos
minutos que eventualmente tenham sido especificados. Se os minutos no forem
especificados o job poder usar a U.C.P. somente pelo nmero de segundos
codificados.
ex:
TIME=(14,8)
TIME=3
tlME=(,U)
TIME=1440
13
3.3.2.9 - TYPRUN
TYPRUN=HOLD
HOLD - especifica que o job ficar preso na fila de entrada (SYS1.SYSJOBQE) at ser liberado
por um comando RELEASE.
4 - COMANDO EXEC
o primeiro comando de cada step, sendo seguido por comandos DD e dados pertencentes ao
step.
O stepname identifica o step dentro do job. opcional mas quando usado deve preencher os
seguintes requisitos:
- Opcionalmente p>de ser codificado o nome do step, mas se o for deve iniciar na coluna 3.
- Codificar EXEC.
Existem dois tipos de parmetros no comando EXEC, os posicionais e as palavras chave, ambos
opcionais no case do comando EXEC.
'PGM
PBOC
4.3.1.1 - PGM
[nc~ie do programa
PG M= 1 * .stepname.ddname
^* .stepname.procstepname.ddnanne
Exs:
//DOA DO OSNAME=SYS1.LINKLIB|P*0>.DISP=OLD
Procedure RRA
4.3.1.2 - PROC
PROC=nome da procedure
L
rome da procedure
Exemplo:
//STEPX EXEC f>ROC=ROTIN
Podem ser codificados em qualquer ordem desde que sejam precedidos pelos parimctros
posicionais. Os parmetros palavra chave do comando EXEC so os seguintes:
-ACCT
-CONO
- DPRTY (MVT)
-PARM
-RD
16
- REGION (MVT)
- ROLLIMVT1
-TIME
4 3 2 1 - ACCT
ACCT=(informaes de contabilizao. .)
Ex:
//STPA EXEC PGM=PAG,ACCT={IEM,CPD,'30712'(
4.3 2 2 - COND
Cdigo - nmero decimal entre 0 e 4095 Este nmero comparado com o cdigo de retorno
emitido por todos os steps anteriores ou por determinado step
Os operadores so
GT - Greater than
EQ - Equal to
LT - less than
ME - Not Equal to
Siepname - nome de um step anterior com cujo cdigo de retorno desejamos efetuar a
comparao
Even especifica que o step deve ser executado sempre, tenha ou no havido trminos
anormais em steps anteriores.
Only especifica que o step deve ser executado somente se um ou mais steps anteriores tiverem
terminado anormalmente.
Nota - 0 cdigo de retorno pode ser testado at 8 vezes se no forem codificados nem EVEN nem
ONLY Caso contrrio apenas 7 testes podem ser efetuados.
Explicao 1
Ex:
COND=10,LT,STEPAM20,EO.),ONLY>
leitura - Este step ser executado somente se um ou mais steps anteriores tiverem terminado
anormalmente
Contudo ser ignorado se 10 for menor que o cdigo de retorno emitido por STEPA
ou se algum dos steps que terminaram normalmente tiver emitido cdigo de retorno
igual a 20.
2-eoC R. do S T E P A < 19
Explicao 2
EX:
COND=(( 10,LT,STEPAl ,(20,EQ) ,EVEN)
leitura - Este step ser ignorado se 10 for menor que o cdigo de retorno emitido por STEPA
ou se qualquer um dos steps anteriores tiver emitido um cdigo de retorno igual a 20.
Se no, ser executado mesmo que algum dos steps anteriores tiver terminado
anormalmente.
1 - O C. R. de STEPA< 10
4.3.2.3 - PARM
PARM=Valor
18
Se trabalharmos com uma procedure preciso determinar para qual etapa da procedure
iro as informaes.
No exemplo acima o PARM GO diz que a data deve ir para o programa durante a fase
de execuo, da etapa GO da procedure COBUCLG.
4.3.2.4 - REGION
REGION=ValorK
ValorK - especifica o nmero de reas contguas de 1024 bytes - (1K) da memria principal a
ser alocada para o step.
Ex:
//STEPUM EXEC PGM=A,REGION=400K
4.3.2.5 - ROLL
RoINx,
Funciona da mesma forma que o ROLL do comando JOB s que apenas para o step que o tem
codificado.
Nota - Se o parmetro ROLL for codificado no comando JOB, os parmetros ROLL dos comandos
EXEC daquele JOB sero ignorados.
4.3.2.6 - TIME
_ __J-(minutos,segundoi)
TIME
-t144fl
Assim como o parmetro ROLL o TIME funciona da mesma forma que o TIME do comando JOB
s que apenas para o step que o tem codificado.
6 - COMANDO DD
- Codificar DD
Todos os parmetros do comando DD so opcionais mas pelo menos um deles deve estar
presente.
-DATA
- DUMMY
- DYNAM
20
5.3.1.1 - *
//DDNAME DD *
Especifica que o data set que ague este carto deve entrar no input stream para uso do
programa de processamento. Nenhum registro deve possuir / / nas colunas 1 a 2. O lim dos dado~>
determinado por / * . (se for omitido, um carto com / / na colunas 1 e 2 tambm indica o fim dos
dados)
5.3.1.2 - D A T A
//DDNAME DD DATA
Tem o mesmo uso do * com a diferena que o input stream contm cartes de JCL que devem
ser tratados como dados. O fim determinado apenas por /". Um exemplo de aplicao a criaio de
uma Procedure Catalogada.
5.3.1.3 - DUMMY
//DDNAME DD DUMMY
Quando o programa pedir para gravar um data set dummy, a requisio de gravaio
reconhecida, mas no h i transmisso de dados. Quando o programa pede para ler um data set dummy, a
rotina de fim de data set tomada imediatamente.
Podem ser codificados em qualquer ordem desde que sejam precedidos pelos parmetros
posicionais, se houver. Os parmetros palavras-chave do comando DD so os seguintes:
-AFF
-DCB
-DDNAME
-DISP
21
- DLM
- OSNAME o i DSN
-FCB
- LABEL
-OUTLIM
-SEP
- SPACE
-SPLIT
-SUBALLOC
-SYSOUT
- T E R M (MVTcomTSO)
-UCS
-UNIT
- VOLUME ou V O L
5.3.2.1 - DCB
DCB=( atributos)
dsname
Vddname
DCB= Hatributo]
'.stepname.ddname
* .stepname.procstepname.ddname
atributos
KEYLEN = tamanho das chaves utadas na data set. em bytes (mximo 255)
etc.
Dsname - permite copiar as informaes do label de um data set similar (Dsname) desde que
este seja catalogado e montado, alm de estar gravado miro dispositivo de acesso
direto.
Exemplos:
//STEP01 00 0SN=ARQUIVO.DE.PAGTO,DCB=(BLKSIZE=1024,UBECL=256)
//STEP02 DD DSN=AROUIVO.DE.VENCTO,DCB=*.STEP01
5.3.2.2 - DISP
O parmetro descreve para o sistema o estado do data set e indica o que deve ser feito com o
mesmo aps o trmino do step que o processa ou no fim do JOB.
Pode-se indicar o que fazer com o data set caso o step termine normalmente (segundo
subparmetro posicionai) e o que fazer caso o step termine de forma anormal (terceiro jubparmetro
posicionai).
,DELETE
NEW .KEEP .DELETE
DISP= OLD .PASS .KEEP
SHR .CATLG .CATLG
MOD .UNCATLG .UNCATLG
SHR - 0 data set j existe e pode ser compartilhado at por todos os JOBs que estiverem
correndo na mesma hora. C data set reside num volume de acesso direto.
23
MOO - O data set vai sofre, acrscimo de registros. O dita set ser aberto para a sada e o
mecanismo c~e leitura/gravao ficar posicionado aps o ltimo registro do data set.
KEEP - Mantm o data set para o step ou JOB subseqente at que seja deletado.
PASS - O data set passado para que steps seguintes tenham acesso a ele.
Ex:
DISP=OLD
DISP=I,KEEP,DELETE)
DISP=(OLD,DELETE,KEEP)
5.3.2.3 - DSNAME
utilizado para dar nome a um data set que posteriormente servira para identifica-lo.
dsname
dsname(membro)
dsname(gerao)
r T dsname(rea)
JDSNAMEL &&dsname
1 DSN 1 ~ ' &&dsname(membro)
&&dsname(rea)
Vddnanw
* .stepname.ddname
*.ftapname.procstepname.d <me J
ex: DSN-ABC
ex: DSN-ARQ.AB(CD)
24
DSN=ARQ AB.G0001TO
ex: DSN=ABC|PRIME)
ex: DSN=a&ABC
ex: DSN=&&ABC(DE)
ex:DSN=&&ABC(PRIME)
* .ddname - para copiar o nome do data set de um comando DO anterior dentro do mesmo
step.
ex: D S N = ' . D D 9
ex: DSN=".STP5.GO.DD2
5.3.2.4 - LABEL
Os laneis so usados pelo sistema operacional para identificar volumes, data sets e seus
atributos.
SL
SUL
LABL=(|Sequencia] NSL .PASSWORD EXPDT=addd >)
NL RETPD=nnnn J
BLP
25
Seqncia - primeiro posicionai - indica a ordem do data set no carretei de fita (1?, 89, etc).
Tipo segundo posicionai - indica que tipo de rtulo (label) deve ser associado ao data set.
NL - No L a b e l - s e m label
PASSWORD - terceiro posicionai - o data set s poder ser aberto mediante a utilizao de
uma senha.
I N / O U T quarto posicionai indica se o data set ser usado como entrada (IN) ou
sada (OUT).
RETPD=nnnn|de 1 a 9999) expressa o nmero de dias que o data set deve ser
retido.
Resumindo:
LABEL=(Sequncia,Tpo,Password,IN/OUT,Retenao)
4 o posicionai
3 o posicionai
> 2 o posicionai
I o posicionai
LABEL=(5,SUL,PASSWORD,IN,RETPD=34)
LABEL=(,NSL)
LABEL=(,SUL,EXPDT=78097)
LABEL=(3,,PASSWORD)
LABEL=3
5.3.2.6 - SPACE
O parmetro SPACE utilizado para reservar espao em dispositivo de acesso direto DASD -
Unidade de Medida
[TRK .CONTIG
SPACE .(primria sr.cumi^iiaI |,iii.etfio ) .RLSE 1 .MXIG [.ROUND])
1bloco .ndice ,ALX
[ J
SPACE=(ABSTR,(primria.endereol,diretrio ) )
.ndice I
Primria - especifica a quantidade primria de unidade de medida que deve ser alocada.
Diretrio - especifica o nmero de registros de 256 bytes a serem reservados para o diretrio de
um data set particionado.
ndice especifica o nmero de cilindros a serem reservados para o ndice de um data set
organizado de forma seqencial indexada (DSORG - IS na DCB).
CONTIG - especifica que o espao alocado deve ser contguo. Se no houver espao cont ;<~ o
job termina.
MXIG - especifica que deve ser alocada a maior rea contgua existente no volume, no mnimo
igual rea solicitada.
ALX - especifica que as S maiores reas contguas diferentes devem ser alocadas sendo que
todas devem ser no mnimo iguais rea solicitada.
ROUND especfica que o espao requisitado em blocos seja arredondado em nmero inteiro
de cilindros.
ABSTR - especifica que o espao requisitado em trilhas absolutas e o endereo fsico inicial
determinado.
Diretrio - especifica o nmero de registros de 256 bytes a serem reservados para o diretrio de
um data set particionado.
27
Indica especifica o nmero de cilindros a serem reservados para o ndice de um data set
seqencial indexado.
Exs:
SPACE=(0.(2000.50
SPACE=|TRK.<286.8))
SPACE=(CYL.(29.D)
SPACE=(CYL,(21.1.3),RLSE,CONTG)
SPACE=(ABSTR,(80.I2>
5.3.2.6 - UNIT
endereo .contador
UNITH tipo ,P .DEFER ] [ ,SEP=(ddname....)])
grupo
UNIT=AFF=ddname
Endereo - identifica uma determinada unidade atravs de trs nmeros : nmero de canal,
nmero da unidade de controle e nmero da unidade.
Ex: UNIT-182
Ex: UNIT=2311
Exemplo:
SYSDA - discos
TAPE - f i t a s d e 8 0 0 e 1600bpi
DEFER - usado para indicar que a montagem do volume deve ser feita somente no instante do
OPEN
SEP usado para indicar que os data set devem estar em dispositivos diferentes.
(ddname,..) nome do(s) comando(j) DD no step que define(m) o data set para os quais so
desejados dispositivos diferentes (at 8).
AFF especifica que o data set utilize a mesma unidade lsica usada por um data set anterior
definido no mesmo step.
ddname nome de um comando DD anterior, no mesmo step, que define o data set com o
qual desejamos usar A F F .
Exs:
UNIT=(DISK,,DEFER)
UN i=(2311,SEP=(DD1,DD2)
UNIT=AFF=DDA
5.3.2.7 - VOLUME
O parmetro volume usado para descrever o volume em que o data set reside.
SER=(<JentifcaSo,... 1
.RETAIN ^tqutnci* rContigffn REF=dtname
VOLUME
< =([ PRIVATE) [.1 REF=Vddnn |
VOL
RE F=* Jtt pnanw.ddnwrw
REF=* .itcpnamt.procntpnanw.ddnamt
PRIVATE - indica que o data tet lido ou gravado de um volume particular que ser
desmontado ao final do step.
RETAIN - indica que o volume deve ficar montado at outro step us-lo ou at o fim do job
(o que ocorrer ante). S tem sentido utado com PRIVATE.
contagem - um nmero de 1 a 255 que especifica qual o nmero mximo de volumes que pode
ser requisitado para um data set.
5.3.2.8 - SYSOUT
Este parmetro serve para dirigir o data set para o output stream.
SYSOUT=<clais*r,pro9rama] (.formulrio])
d e s s e - a classe associada ao dispositivo de sada para onde deve ser dirigido o data set
(A-Z,<9-9)
programa - nome do programa que transfere os dados do DASD para dispositivos de sada.
formulrio - nmero do formulrio especial onde deve ser impressa ou perfurada a sada (de 1 a
4 caracteres)
Exs.
SYSOUT=4
SYSOUT=(F,,1234)
- DSNAME (DSN) - marca o nome do data set. Se omitido o data set considerado
temporrio
- DISP - especifica o estado (status) corrente do data set bem como se o mesmo deve ser
retido ou no aps o step.
- VOLUME ( V O U - descreve o volume em que o data set reside. S usado para fita
magntica e dispositivos de acesso direto.
- LABEL - descreve o rtulo (label) do volumt. Usado s para fita magntica e dispositivos de
acesso direto.
- OATA - indica que o data set est no input stream e contm cartes de J.C.L. que devem :
tratados como dados.
- SUBALLOC - especifica que o data set compartilha o espao de acesso direto com outros
data sets.
- A F F - permite a separao de canais. Usado Sempre aps o parmetro SEP (desde que no
mesmo step).
- D Y N A M - usado em T.S.O. para permitir alocao dinmica do data set a ser usado. Quando
usado em esquema batch eqivale ao parmetro DUMMY.
- DDNAME - permite fazer referencia a um comando OD posterior, no mesmo step, que define
um data set com as mesmas caractersticas daquele ao qual o parmetro
DDNAME se refere.
- FCB - usado somente para impressoras 3211 com a finalidade de especificar informaes de
controle de formulrio.
- TERM - indica ao sistema se os dados esto entrando ou saindo por um terminal. S vlido
para T.S.O.
- UCS - usado para descrever um conjunto de caracteres a ser usado pira imprimir um data set
de sada.
31
Existem cinco ddnames especiais que permitem utilizar vantagens particulares do sistema. Esses
ddnames. JOBLIB, STEPLIB. SYSUDUMP, SYSABEND e SYSCHK, so reunidos em trs categorias de
acordo com a funo exercida.
Incluindo o carto JOBLIB - I030 apOs o carto JOB - e/ou o carto STEPLIB logo aps o
carto EXEC cada vez que um programa for requisitado o sistema ir procur-lo primeiro na biblioteca
particular e, somente se no o encontrar l, ir procur-lo posteriormente na SYS1.LINKLIB.
Estes comandos DD definem um data set em que o dump, no caso de um trmino anormal,
possa ser gravado.
O DD SYSABEND faz o sistema emitir um dump que inclui o ncleo do sistema e a rea de
memria do programa de processamento.
Ex:
//SYSUDUMP DD SYSOUT=A
//SYSABEND DD SYSOUT=A
Se, posteriormente, o job for submetido a um restart e a execuo tiver que ser reiniciada num
determinado checkpoint, preciso incluir o DD SYSCHK (na nova execuo). Este DD define o data set
em que a entrada do checkpoint foi gravada e antecede o comando EXEC.
Geralmente a maior dificuldade com que se defrontam os usurios de JCL, a de saber quais os
parmetros que devem ser codificados e quando codific-los, dentro de uma determinada aplicao.
Vejamos trs tabelas que relacionam esquematicamente o tipo de dispositivo e organizao com
os parmetros utilizados
32
Tabtlai
DCB
UNIT RECORD UNIT
UCS
DCB
FITA UNIT VOLUME
LABEL
DCB
OUTPUT STREAM SYSOUT UNIT
SPACE
DCB
UNIT
ACESSO DIRETO VOLUME
SPACE
LABEL
33
Tateia 2
UNI T LABEL
FiTA DSNAM DCB
OISP VOLUME
UNIT LABEL
ACESSO DIRETO DSNAME DCB
(SEQENCIAL) DISP VOLUME
SPACE
UNIT LABEL
DSNAME VOLUME
ORGANIZAO
DISP
DIRETA
SPACE
DCB
UNIT LABEL
DSNAME VOLUME
PARTICIONADO
DISP DCB
SPACE
UNIT VOLUME
DSNAME LABEL
SEQENCIAL
DISP
INDEXADO
DCB
SPACE
34
Tateia 3
SEQENCIAL DSNAME
INDEXADO UNIT
VOLUME
DCB
DISP
6 - PROCEDURE CATALOGADA
Quando uma procedure' catalogada chamada via comando EXEC os comandos controle da
mesma so anexados ao >nput stieam pelo Reader/Interpreter.
Neste conjunto de comandos de controle que constituem uma 'procedure' no podem estar
presentes os seguintes comandos de J C L :
JOB
DELIMITER
NULL
DD*
DD DATA
A vantagem das procedures' catalogadas consiste principalmente em fazer com que comandos
de controle usados freqentemente no tenham que ser anexados ao input stream a cada utilizao.
etc.
Pode acontecer tambm que uma certa procedure possa ser utilizada por algum usurio desde
que um ou o u f o parmetro ou subparmetro sejam modificados. Para tanto basta 'chamar' esta
procedure, proceder alterao ou alteraes desejadas e utiliz-la. claro que a alterao
efetuada aps a procedure estar na memria, isto significa que a procedure permanece na
biblioteca na fo r ma original.
36
Suponhamos por exemplo que desejemos modificar a REGION do step COB da procedure
COBUC, que est com 100K, para 80K Para isto fazemos:
Desta forma alteramos a REGION para 80K mas na biblioteca a mesma permanece com os 100K
originais.
Se desejamos obter uma listagem dos comandos de controle, quer seja daqueles que entraram no
input stream, quer seja daqueles da 'procedure' necessrio codificar o parmetro MSGLEVEL fazendo
a=1.
Existem basicamente 5 regras que regem as alteraes, incluses ou exeluses numa procedure.
4? - Para anular um parmetro basta codificar o parmetro seguido do sinal igual (=) e nada
mais.
PROCEDURE : EXEMPLO
//0UT2 DD UNIT=2311,SPACE=<TRK,(5.1.DISP=(.PASS)
//DISPLAY EXEC PGM=PRINT
//IN3 DD DSN=*. REDUCE.OUT2,DISP=(OLD,OE LETE)
//0UT3 DD SYSOUT=A
INPUT STREAM
RESULTADO:
7 - ANEXOS
BFTEK= R R S.E.orA
see see
CODE=
glossary glossary
number of
CYLOFL=
tracks
O.1,2,or3 0.1.2,or3
DEN=
(Tape) (Tape)
PSorPSU PSorPSU
DSOHG= IS or ISU IS or ISU DA orDAU
IDisk) (Disk)
ACC, SKP,
EROPT=
or ABE
number
NTM=
of tracks
see see see see see
OPTCD=
glossary glossary glossary glossary glossary
CU,2,or3 0,1,2,or3
PRTSP=
(Primer! (Printer)
1 or 2 1 or 2
STACK=
(Rdr/Punch) (Rdr/Punch)
C,E,T,orET C,E,T,orET
TRTCH=
(Tape) (Tape)
t hottrxtaiy a..n. T- ilft *>h
U) indexes .it H.I i-vscei* wffuvnttat !- set
'"' 't"K ' . * < : MMtfiiHi to b** vjpolim! by wiwnamastei indnn I0PTCD Ml
. Hfc'l. AttL'rfl or in.t.ifrilim li>ni|th. <r. bylPt. of I kirf,t ,il f#H,nrfl ( (For iw> with teleprocessing access method)
rvjmlVrt f nr v.irihlp ^"'jtfi -..lannnJ i r c n l s whwrn llir S1ACK Starker bin on a card reader or card punch (1 or 2}
t.J1(,f,.) tM.nri \ft\qlh pxrfrwl* 3?7*>6. |i;iy i R f C i X
T R fCM TitiM* rpconttiifl tt*hnique for seven t. a^k tape.
' / j) Mt.dH.if opfr^Ttnn {column tMiiary or EBCDIC) for ^ C Data conversion frature.
c j r i fcard-r or catii pumh (C ( t i E Even (Mtity.
'.( " U.MtrmirTTtKirr.l^r -.f READnr WHlTt in-'cr,, n.^int.fi." Ef Evr-n (Mi.ty, ant* CO to EBCDIC translation is
u v i H Iwfr.r- ,t CMfTK frw:rr infMi.:tMfi li.1(mt.cr "I reaiurfftl wh "i <-,,<U<K) f BCOIC rn BCD when writing.
T Oifd iwrily, .mrt BCD f.I EBCDIC tranfMtkm
BCOIC In BCD whenis wfilrng
t.funnel funqramt)
(filmed wfen D h
Hoi* II r>f:Biii|MMn.rii'fi(;f.ii)fe, Kr YI i r. MOI. fACK.
^i.it (I 1 I CM me niuTu illy curius'vfl
ANEXO 2
Para utilizao do Sittama IBM/370 dO I.E.A., o cartio JOB dever tar o formato abaixo
dascrito. a a tua no observncia implicar am cancalamanto do JOB.
O comando JOB dever tar no mnimo 2 cartes, a o primeiro tara o seguinte formato:
COL 1 - 2 //
COL 3 - 4 Alfabtico, especificam o cdigo da identificao do inuirio. Este cdigo i
dttarminado paio C.P.D.
Todo usurio davari colocar o M U tm qualquer Job por ala submetido.
COL S - 10 Qualquer carter, alfanumrico, difaranta da branco utilizado paio usurio para
idantif icar o M U Job.
COL I t - Branco
COL 12 - 14 JOB
COL 16 - Branco
COL 16 - (
COL 17 19 pano-Progiammar't Accounting Number Est* campo dava ser codificado
obrigatoiianianl a corresponda ao nmero da pesquisa para os usurios
pertencentes ao I.E.A. Os usurios nio funcionrios do I.E.A. deverio
preencher com um valor numrico, que lhe* sri atribudo paio C.P.D.
COL 20 -
COL 21 - 23 room - Programmer's room number - Este campo deve ser numrico
especificando o cdigo do usurio n instituio atribudo pdo CP.D.
- Tambm esta campo deve ser codificado.
COL 24 -
1 Cartio de Continuao
COL 1 - 2 //
COL 3 - Branco
COL 4 - 7 time - tampo estimado de execuo - Esta tampo nio o tempo estimado de
utilijalo da CPU, porm o tempo total de execuo estimado, expresso em
minutos - Deve ser codificado obriga' lamenta, e com 4 dgitos.
COL 8 e seguintes ), se nio for codificado nenhum dos sub-ctmpoi opcionais seguintes. Caso
contrrio, codificar obedecendo s seguintes normas:
lines: nmero aproximado de linnet impressas pare todo o JOB, expresso em
milhares da linhas. 6 recomendvel a sua codificao e dever ser
obrigatoriamente com 4 dgito*. Se nto codificado ser assumido o 'default'
'0002'. Se o nmero real da linhas Impressas exceder demasiadamente o
estimado, o Job podar ser cancelado pelo operador.
Copies Quantidade de cpias r* wjadas para o Job. Pode ser codificado com
at 2 dgitos
Log - HASP System Log Option Contm informaes gerais sobre o Job.
tais como tempo de incio e fim do Job. mensagens de erros. etc.
Codificar " N " se o usurio no quiser esta opo, que porm recomendvel.
Se se codificar qualquer outro carter ou se omitir este sub-campo, o Sistema
emitira essa* informaes
Ex : "40' se for pedida a impresso de 4 0 linhas por pagina - " 0 " para no
haver salto automtico de pgina.
A partir daqui, ordem dos parmetros citados abaixo dever ser seguida rigorosamente e sua
codificao obrigatria.
Tabela I
MEMRIA CLASSE
0 - 60K A
61 - 1 2 0 K B
1 2 1 - 180 K C
181 - 240 K 0
241 - 320 K E
321 - 700 K N
>700K K
NOTA - Este ANEXO 2 foi xtraido do Boletim Informativo N.1 do CPD tio IEA
42
ANEXO 3
NUMERO CAPACIDADE
& ; ; < : . - : NOME MODELO DA OU
MAQUINA VELOCIDADE
B5 Caract/seg.
CONSOLE CONSOLE 001 3215
132 Caract/tinha
ABSTRACT
Job Control Language is a language that permits a communication between the system and the user such that
the problems may be solved in a computer Isvel.
Like all the languages, J C . L has its structure and rules. The knowledge of the language permits an efficient
and optimized use of the machine.
AGRADECIMENTOS
- Ao Eng? CIBAR CCERES AGUILERA, Coordenador Geral do C.P.D. do I.E.A. pelo apoio
e pelo incentivo que sempre prestou no decorrer da preparao do presente trabalho.
- Sra. LCIA FARIA SILVA, por ter sugerido e apoiado a publicao do trabalho.
- Srta. ODETTE GUEDES, por ter oferecido condies para a realizao do trabalho bem
como pelas sugestes a respeito do contedo do mesmo.
- A todos aqueles que, de uma forma ou de outra, contriburam para a realizao deste
trabalho, principalmente ao grupo de alunos que assistiram ao curso do qual esta publicao
outro resultado.
REFERNCIAS BIBLIOGRFICAS
3. , IBM system/360 operating system: job control language user's guide. Poughkeepsie, N. Y.,
June 1971. (File n. S360-36, Order n. GC28-6703-2).