Você está na página 1de 94

JCL

JOB CONTROL LANGUAGE

Conceitos
O JCL uma linguagem de controle de servio, utilizada para
descrever ao sistema operacional o servio que queremos
executar e os recursos que sero utilizados.
o meio de comunicao entre o programa, o sistema
operacional e os arquivos de dados.

JOB
a unidade bsica de trabalho executado pelo computador

JES2 Job Entry System


um aplicativo do sistema operacional que controla a entrada e sada de tudo que
processado no sistema.

INITIATOR
um componente do JES2 que controla a execuo dos JOBS.

SPOOL
um Buffer onde ficam armazenados as entradas e sadas de um processamento.

JOB - ESTRUTURA BSICA


QUEM ? ( identifica o processo)
// JOB
O QUE ? (identifica o que ser executado)
// EXEC
ONDE ? (define onde esto os dados (arquivos) )
// DD

PROGRAMA
COBOL

JCL

DISCOS 3390

JCL
Regras Bsicas de Codificao

// nas colunas 1 e 2

//* = Comentrios

Codificao dos Campos at a coluna 71:

Nome

Operao

Parmetros

Comentrio

JCL
Regras Bsicas de Codificao

Os parmetros, sub-parmetros e nomes no podem


comear por nmeros ou caracteres especiais.

Devem ser iniciados por caracteres alfabticos ou


nacionais (@ # $)

No podem conter espaos (alguns valores podem


conter espaos desde que codificados entre aspas)

Tudo que for codificado aps um espao considerado


comentrio.

JCL
Regras Bsicas de Codificao

Os parmetros so separados por vrgula.

Para continuar os parmetros em outra linha:

Deixar ao menos um espao aps o // e acrescentar


o prximo parmetro.

Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//

CLASS=A

Cartes Operao

JOB
EXEC
DD
PROC
PEND

Carto JOB

Marca o incio de um JOB


Identifica o JOB
Nome = JOBNAME (Obrigatrio)
Tamanho mximo: 8 bytes
Deve seguir as regras da instalao

JOBNAME: Padro CAIXA - Produo


SSSPXXNN
SSS: Cdigo do Sistema
P: Periodicidade
XX: Identificao da Unidade
NN: Livre
Exemplo: SFG1RJ54

Carto JOB - Parmetros

Account

TYPRUN

Programers Name

REGION

CLASS

NOTIFY

MSGCLASS

USER

MSGLEVEL

RESTART

TIME

COND

Carto JOB - Account

Posicional deve ser o primeiro parmetro.

Pode ser utilizado para registrar informaes contbeis dos


usurios ou passar informaes para o sistema.

Cada instalao define como deve ser codificado.

Na Caixa o parmetro pode ter at 9 subparmetros.

Alguns desses subparmetros no so mais necessrios.

Apenas os 5 primeiros so normalmente codificados.

Exemplo:
//SFG1RJ54 JOB (SFG,PRD,999,9999,9999)

Carto JOB Account Regras Caixa


SUBPARAMETROS DO CARTAO JOB PARA JES2

//jobname JOB (cont,room,time,line,card,form,copies,logj,linct)

cont - Campo para Contabilizao do sistema 4 dgitos.

room - Endereo do programador (sala, andar, etc) 4 dgitos.

time - Tempo de execuo estimado em minutos ate 4 dgitos.

line - Total de linhas estimadas em milhares ate 4 dgitos.

card - Numero estimado de cartes a serem perfurados ate 4 dgitos.

form - Formulrio especial no qual ser impresso TODO O JOB ate 5 dgitos.

copies - Numero de copias da output ate 3 dgitos.

logj - Opo para log do job.

linct - Numero de linhas a serem impressas por pagina ate 3 dgitos, se for codificado
zero a impressora no obedecer ao salto de pagina.

Carto JOB Programmers Name

Opcional, identifica quem submete o JOB

Posicional quando utilizado deve ser o segundo parmetro

Tamanho mximo: 20 bytes

Formato: Livre

Codifique entre aspas se contiver espaos ou caracteres


especiais

Exemplos:

//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP


//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP RJ

Carto JOB - CLASS

Atribui uma classe de execuo para o JOB

Tamanho: 1 byte

Deve seguir o padro da instalao.

Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//

CLASS=A

CLASS: Padro CAIXA Produo


Mais utilizados:
A: Tempo mximo de CPU < 30 seg.
P: Sem limite de tempo, utiliza cartucho
Q: Sem limite de tempo, no utiliza cartucho
C: Processamentos especiais
O: Submetido pelo ONLINE

Carto JOB - MSGCLASS

Atribui uma classe de sada para as mensagens de execuo do


JOB

Tamanho: 1 byte

Deve seguir o padro da instalao.

Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//

CLASS=A,MSGCLASS=G

MSGCLASS: Padro CAIXA

No site RJ o parmetro MSGCLASS deve sempre ser


codificado com valor: G para que essa SYSOUT seja
armazenada no TSO SACS.

O TSO SACS um SOFTWARE desenvolvido pela REROP


RJ que guarda em disco e cartucho todas as SYSOUTS de
execuo dos JOBS.

Por definio, somente os JOBS com MSGCLASS=G tm


suas SYSOUTS armazenadas.

Carto JOB - MSGLEVEL

Especifica o nvel de informao que dever ser gerado no


MSGCLASS.

Formato: MSGLEVEL=(statements,messages)

Statements: 0 somente carto JOB


1 todos os cartes de JCL e PROC
2 somente cartes de JCL

Messages: 0 somente mensagens do JCL


1 mensagens de JCL, JES2 e Operador

Carto JOB - MSGLEVEL


No site RJ sempre utilizamos a codificao que gera as
informaes mais completas:
MSGLEVEL=(1,1)
Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//

CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1)

Carto JOB - TIME

Especifica a quantidade mxima de tempo que o JOB pode


utilizar de CPU.

O sistema termina o JOB que exceder o tempo especificado no


parmetro (Abend S322)

Valor mximo: 1440 (minutos) O JOB nunca ser terminado


pelo sistema.

As instalaes podem associar o tempo de CPU ao parmetro


CLASS.

Carto JOB - TIME


Formato:
TIME=nn (minutos)
TIME=(nn,nn) (minutos,segundos)
Exemplos:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//

CLASS=A,MSGCLASS=G,TIME=60

//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,


//

CLASS=A,MSGCLASS=G,TIME=(,30)

Carto JOB - TYPRUN

Solicita um processamento especial para o JOB.

Valores mais utilizados:

HOLD O JOB fica preso na fila de entrada


aguardando a liberao manual pelo operador.
SCAN O JOB no executado, o sistema apenas
verifica a sintaxe do JCL. Normalmente utilizado
antes de se implantar um novo procedimento em
produo.

Carto JOB - TYPRUN


Exemplos:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//

CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),

//

TYPRUN=HOLD

//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,


//

CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),

//

TYPRUN=SCAN

Carto JOB - REGION

Especifica a quantidade total de memria que ser alocada


pelo JOB.

Formato:

REGION=nnnnK Total de memria em Kbytes

REGION=nM Total de memria em Megabytes

REGION=0K ou 0M Total de memria disponvel.

Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//

CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),

//

REGION=0M

Carto JOB - NOTIFY

Solicita que o sistema envie uma mensagem ao usurio quando


o job terminar. A mensagem enviada ao TSO.

Formato:
NOTIFY=XXXXXXXX (USER ID)
NOTIFY=&SYSUID (O TSO atribui a USER ID logada)

NO pode ser utilizado nos JOBS controlados pelo


CONTROL-M

Carto JOB - NOTIFY


Exemplo:
//PRDP0000 JOB (SFG,PRD,,9999,9999),REROP,
//

CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),

//

NOTIFY=P909835

Mensagem enviada pelo sistema:

Carto JOB - USER

Identifica ao sistema o usurio que est submetendo o JOB.

Normalmente essa informao tratada pelo software de


segurana, na CAIXA o RACF.

Exemplo
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//

CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),

//

USER=P909835

Carto JOB - RESTART

Um JOB pode ser formado por um ou mais steps (programas)

O RESTART utilizado para iniciar o processamento a partir


de um determinado step.

Formato:

RESTART=stepname (nome do step)

RESTART=(stepname.procstepname)
(restart em um step dentro de uma PROC)

Carto JOB - RESTART


Exemplos
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//

CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),

//

RESTART=ST005

//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,


//

CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),

//

RESTART=(ST003.STEP02)

Carto JOB - COND


CONCEITOS:

Todo programa ao terminar emite um cdigo de retorno.

Por padro, quando executado com sucesso, o programa emite cdigo de


retorno = 0 (zero)

O programa pode emitir cdigo de retorno diferente de zero para


condicionar a execuo dos steps seguintes:

Se movimento OK - return code = 0

Se movimento vazio - return code = 1

Por padro, cdigo de retorno = 4 identifica um processo executado com


sucesso, mas com alguma inconsistncia que no afeta o resultado.

Cdigos de retorno maiores que 4 identificam erro no processamento.

Carto JOB - COND

Permite condicionar a execuo dos steps ao return code dos steps


antecessores.

FORMATO:

COND=(valor,operador)

valor: especifica um nmero que o sistema compara com o


cdigo de retorno de cada step.

operador: especifica o tipo de comparao :

EQ - igual

GT - maior que

NE - no igual

LE - menor ou igual

GE - maior ou igual

LT - menor que

Se FALSO executa, se VERDADEIRO no executa

Execuo sem codificao do COND

ST001
ST002
ST003
ST004

COND 0004
COND 0012
COND 0000
COND 0000

Carto JOB - COND

COND=(0,NE) - codificao mais comum nos jobs da produo

Os steps s executam se todos os return code dos steps


antecessores forem iguais a zero.

COND=(4,LT)

Os steps s executam se o maior return code dos steps


antecessores for menor ou igual a 4.

LEITURA: COND=(4,LT) 4 menor que o return code.


RC = 0 (4 menor que 0 => FALSO => EXECUTA)
= 4 (4 menor que 4 => FALSO => EXECUTA)
= 8 (4 menor que 8 => VERDADEIRO => NO EXECUTA)

COND=(4,LT) - leitura: 4 menor que o rc

ST001
ST002
ST003
ST004

- o primeiro step sempre executa


- maior cond ant. = 4 (4 menor que 4 - falso - executa)
- maior cond ant. = 12 (4 menor que 12 - verdadeiro - no executa)
- maior cond ant. = 12 (4 menor que 12 - verdadeiro - no executa)

Carto JOB
Exemplo utilizando todos os parmetros j estudados:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,CLASS=A,
//

MSGCLASS=G,MSGLEVEL=(1,1),TIME=(,30),

//

TYPRUN=HOLD,REGION=8M,NOTIFY=P909835,

//

USER=P909835,RESTART=ST002,COND=(0,NE)

Carto EXEC

Marca o incio de um STEP


Identifica o PROGRAMA ou PROCEDURE que
ser executado
Passa parmetros para a execuo
Nome Opcional, tamanho mximo 8 bytes
Obrigatrio quando for utilizado o
parmetro RESTART no carto JOB
Um JOB pode ter no mximo 255 steps

Carto EXEC

Executando um PROGRAMA:
//ST001 EXEC PGM=XXXXXXXX

Executando uma PROCEDURE:


//ST001 EXEC PROC=XXXXXXXX
//ST001 EXEC XXXXXXXX
O Operando PROC pode ser omitido

Carto EXEC
Exemplos:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,CLASS=A,
//

MSGCLASS=G,MSGLEVEL=(1,1),TIME=(,30)

//ST001

EXEC PGM=SFGPB190

//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,CLASS=A,


//

MSGCLASS=G,MSGLEVEL=(1,1),TIME=(,30)

//ST001

EXEC SFGPC001

Carto EXEC - Parmetros

PARM

REGION

TIME

COND

Carto EXEC - PARM

Passa informaes variveis para o programa

obrigatrio somente quando o programa utilizar esse recurso

Formato livre:

O programador deve informar o layout do PARM que o


programa espera receber.

Tamanho mximo: 100 bytes

Codifique entre aspas quando o PARM contiver espaos ou


caracteres especiais.

Carto EXEC - PARM


Programa COBOL utilizando o PARM

JCL informando o PARM

Carto EXEC - PARM

Continuar o PARM na segunda linha:

Codifique o PARM entre aspas ou parntesis

Continue a partir da coluna 16

Carto EXEC - REGION

Especifica a quantidade total de memria que ser alocada


pelo STEP.

Formato: O mesmo do carto JOB.

Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//

CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1)

//ST001

EXEC PGM=SFGPB010,REGION=2M

Carto EXEC - TIME

Especifica a quantidade mxima de tempo que o STEP pode


utilizar de CPU.

O valor prevalece sobre o especificado no carto JOB

O sistema termina o STEP e o JOB que exceder o tempo


especificado no parmetro (Abend S322)

Formato: O mesmo do carto JOB

Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,CLASS=Q,
//

TIME=60,MSGCLASS=G,MSGLEVEL=(1,1)

//ST001

EXEC PGM=SFGPB010,TIME=10

Carto EXEC - COND

Permite condicionar a execuo dos steps ao return code dos steps


antecessores.

FORMATO:

COND=(valor,operador,stepname)

valor: especifica um nmero que o sistema compara com o


cdigo de retorno de cada step.

operador: especifica o tipo de comparao

stepname: compara ao return code de um step especfico

Se FALSO executa, se VERDADEIRO no executa

Carto EXEC - COND

COND=(4,LT,ST001)

O step s executa se o return code do step ST001 for menor ou


igual a 4.

LEITURA:
COND=(4,LT,ST001) 4 menor que o return code do ST001.
RC do ST001= 0 (4 menor que 0 => FALSO => EXECUTA)
= 4 (4 menor que 4 => FALSO => EXECUTA)
= 8 (4 menor que 8 => VERDADEIRO => NO
EXECUTA)

Codificao do parmetro COND por STEP:


ST001 - no codificado
ST002 - COND=(4,LT)

ST001
ST002
ST003
ST004

ST003 - COND=(4,LT)
ST004 - COND=(12,LT)

- o primeiro step sempre executa


- maior cond ant. = 4 (4 menor que 4 - falso - executa)
- maior cond ant. = 12 (4 menor que 12 - verdadeiro - no executa)
- maior cond ant. = 12 (12 menor que 12 - falso - executa)

Carto DD Data Definition

Descreve um arquivo e especifica os recursos


que o arquivo ir utilizar.
Nome = DDNAME
O nome deve ser nico por STEP
Tamanho mximo: 8 bytes
Mximo de DDS por JOB: 3.272
Esse nmero pode ser reduzido pela
instalao.

Carto DD

O DDNAME deve ser idntico ao SELECT definido no programa

Carto DD - Parmetros

DSN
DSNAME

LABEL

DISP

SYSOUT

UNIT

COPIES

DCB

DUMMY

SPACE

VOL

DATA e DLM

Carto DD - DSNAME

Data Set Name

Pode ser abreviado para DSN

Especifica o nome do arquivo

Para um arquivo novo, o nome especificado designado ao


arquivo.

Para um arquivo existente, o sistema utiliza o nome para


localizar o arquivo.

Carto DD - DSN
Regras de Codificao

O DSN formado por um ou mais QUALIFICADORES

O qualificador dever ser iniciado por caracteres alfabticos

Tamanho de cada qualificador : de 1 a 8 bytes

Os qualificadores so unidos por PONTOS

Tamanho mximo do DSN: 44 bytes, incluindo os PONTOS.

Exemplo:

DSN=SFG.RJ.RELAT.SFGSB510.D080820

QUALIFICADORES

Carto DD - DSN
DSNAMES ESPECIAIS

&&dsname: Arquivo de sada Temporrio

O arquivo deletado ao final do JOB

Normalmente utilizado em arquivos de Trabalho

Exemplo: //SFGDS010 DD DSN=&&TEMP

Omisso do DSN (quando arquivo de sada)

O sistema cria um DSN temporrio

Carto DD - DSN
Normas de codificao CAIXA
Arquivos em cartucho:

Os 2 primeiros qualificadores identificam se o cartucho


Interno ou Externo e o seu prazo de reteno
O terceiro qualificador identifica o sistema
O quarto qualificador identifica a unidade operacional
Os outros qualificadores identificam o arquivo.

Ex: I.M03.PIS.RJ.PISDS400.D080630
E.A01.PIS.RJ.BACKUP,D080620

Arquivos em disco:

As normas de codificao esto definidas na TE080

Carto DD - DSN
Normas de codificao CAIXA - TE080
Tpicos principais:

Primeiro qualificador: identificador da rea, exceto para os


sistemas em produo:
DES - Desenvolvimento
HMP - Homologao
SUP - Suporte
PRD - Produo
SFG - Exemplo de sistema em Produo

Carto DD - DSN
Normas de codificao CAIXA - TE080
Tpicos principais:
Segundo qualificador: Unidade Operacional (RJ)
Terceiro qualificador: 4 caracteres para uso do SMS
Primeiro: B ou O - identifica se Batch ou Online
Segundo: critrios de migrao / deleo do arquivo
Terceiro: critrios de reteno do backup
Quarto: qtde de cpias do backup (padro = 1)
Exemplo:
SFG.RJ.BJA1
B= Batch
J= Migra com 5 dias, expira com 30 dias sem referncia
A= reteno do backup - 1 ano
1= 1 cpia

Carto DD - DSN
Normas de codificao CAIXA - TE080
Tpicos principais:

Demais qualificadores: Identificam o arquivo, data do


movimento , ambiente, etc.
Exemplos:
SFG.RJ.BQA1.SFGSB030.D081105
SFG.SP.BSA1.PRD65.SFGDS010.D081101
HMP. SFG.RJ.BQA1.SFGSB030.D081105
PRD.RJ.BEX0.TESTE.CURSO.JCL
TSO TE080 - CLIST que detalha todos os qualificadores
vigentes no site RJ para gerenciamento do SMS.

Carto DD - DSN
Normas de codificao CAIXA - TE080
DSNAMES ESPECIAIS:
Bibliotecas:

JCL
PGM
Schedule
Pessoal

END.SFGPRODC.JCL
END.SFGPRODC.LOAD
ICO.V01.SCHEDULE
PRD.V01.JCL.P910123

Arquivos transmitidos :

CONNECT
PELICAN
Multiplataforma

CNT.ICO.MZ.BBM1.ICOTBCNA.D081106
PEL.FMP.BB.PROTOCOL.E0237230
MIC.PIS.RJ.BQA1.PJURB.D081103

Carto DD - DISP

Descreve ao sistema a disposio (estado) do arquivo e


especifica o que deve ser feito com o arquivo ao trmino do
JOB.

Pode ser especificada uma ao em caso de trmino normal da


execuo e outra em caso de trmino anormal.
FORMATO:
DISP=( estado , trmino_normal , trmino_anormal )

Carto DD - DISP
ESTADO

TRMINO NORMAL

TRMINO ANORMAL

NEW

KEEP

KEEP

OLD

PASS

CATLG

SHR

CATLG

UNCATLG

MOD

UNCATLG

DELETE

DELETE

Valores DEFAULT :
Se omitido:

(NEW)

Se NEW ou MOD:

(DELETE,DELETE)

Se OLD ou SHR:

(KEEP,KEEP)

Carto DD - DISP
NEW

arquivo inexistente, ser criado no step


acesso exclusivo

OLD

arquivo existente, acesso exclusivo

SHR

arquivo existente, acesso compartilhado

MOD

se inexistente, ser criado


se existente, os registros sero adicionados no final
acesso exclusivo

Como NEW o valor DEFAULT, podemos omit-lo , mantendo a vrgula.

Ex:

DISP=(,CATLG,DELETE)

Carto DD - DISP
CATLG

arquivo ser catalogado ao final do step

DELETE

arquivo ser deletado ao final do step

KEEP

arquivo ser mantido em disco ao final do step e job

PASS

arquivo ser mantido em disco ao final do step e


deletado ao final do job

UNCATLG

arquivo ser descatalogado

Na CAIXA utilizamos apenas as duas primeiras opes.


O SMS no permite arquivos em disco fora do catlogo.

Carto DD - UNIT

Especifica o dispositivo em que o arquivo reside ou deve ser


criado.

No necessrio especificar para arquivos catalogados.

Com SMS instalado, no necessrio especificar para


arquivos gerenciados pelo SMS
FORMATO:
UNIT=dispositivo
tipo
grupo
AFF=ddname (aloca a mesma unidade do ddname)

Carto DD - UNIT
Padronizao do UNIT na Caixa:
SYSDA

Unidade de Disco - genrico

TAPE

Unidade de Fita Magntica (em desuso)

ROBO

Unidade de Cartucho 3490 - Rob Interno

NROB

Unidade de Cartucho 3490 fora do Rob

IROB

Unidade de Cartucho 9840 - Rob Interno

EROB

Unidade de Cartucho 9840 - Rob Externo (Av. Chile)

Exemplo:
UNIT=IROB

Carto DD - DCB
DATA CONTROL BLOCK

Completa as informaes do bloco de controle de dados


utilizado pelo programa.

Especifica basicamente:

Formato do registro

Tamanho do registro

Tamanho do bloco

Com SMS instalado no necessrio especificar o tamanho do


bloco.

Carto DD - DCB
FORMATO:
DCB=(RECFM=XX,LRECL=nnn,BLKSIZE=nnn)
RECFM = Formato do registro
XX

LRECL

= FB

Fixo Blocado

VB =

Varivel Blocado

Indefinido

= tamanho do registro lgico (definido no programa)

BLKSIZE = tamanho do bloco (mltiplo do LRECL)


Exemplo:
DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920)

Carto DD - SPACE

Especifica o espao para a criao de um arquivo num volume


de disco.

O espao pode ser requisitado em trilhas (TRK), cilindros


(CYL) ou blocos (quantidade em bytes)

Melhores prticas: Alocar em TRK e utilizar sempre o


parmetro RLSE (libera o espao em disco no utilizado)
FORMATO BSICO:
SPACE=(TRK,(pri,sec),RLSE)
pri = rea primria
sec = rea secundria

Carto DD - SPACE

O sistema aloca a rea primria e caso no seja suficiente, aloca at


15 vezes a rea secundria.

Cada alocao chamada de EXTENT

Com STOP X37 instalado essa quantidade multiplicada pelos


discos existentes no POOL.
Ex: SPACE=(TRK,(150,50),RLSE)
O sistema alocar 150 trilhas e 15 X 50 (750), total=900 TRK
Alocao de Arquivo Particionado:
SPACE=(TRK,(300,300,100),RLSE)
100 = quantidade de blocos de diretrio

Carto DD - SPACE
Capacidade dos discos 3390 modelo 3

1 TRK

56 Kb

1 CYL

15 TRKs

1 Volume =

3339 CYLs

1 MB

18 TRKs

Carto DD - VOLUME

Identifica o volume no qual um arquivo reside ou ir residir.

Arquivos Existentes: Desnecessrio se o arquivo for catalogado

Arquivos Novos: Desnecessrio quando SMS instalado.


Na Caixa todos os arquivos so catalogados.
No utilizamos o parmetro VOLUME para identificar arquivos.

Arquivos novos em disco so gerenciados pelo SMS


Arquivos novos em cartucho so gerenciados pelo AFM

Carto DD - VOLUME
FORMATO: (todos os parmetros so opcionais)
VOL=(PRIVATE,RETAIN,volseq,volcount,SER=volume_serial)
PRIVATE: requer um volume especfico, identificado pelo SER
RETAIN: mantm o volume montado na unidade (fita ou cartucho)
volseq: localizao sequencial do volume num arquivo multivolume
volcount: qtde de volumes que podero ser usados na gravao
SER=volume_serial: identificador do volume
Ex:

VOL=(PRIVATE,RETAIN,,10)
VOL=SER=C00490

Carto DD - LABEL

Informa caractersticas especficas de arquivos em cartucho.

Normalmente utilizado para gravao e leitura de volumes multifiles


(cartuchos que contm mais de um arquivo)

FORMATO:
LABEL=(n,XX)
n

= sequencial do arquivo dentro do volume

XX

= Tipo de Label: SL = Standard Label


NL = No Label

Exemplo:
LABEL=(2,SL)

Carto DD - SYSOUT

Direciona o arquivo de sada para o SPOOL do JES2

FORMATO:
SYSOUT=(class,INTRDR,form)
class

= classe da sysout
=* (assume a classe do MSGCLASS)

INTRDR = direciona a sada para uma internal reader como um JOB


form

= identificao do formulrio (opcional)

Exemplos:
SYSOUT=(A,,STD6)
SYSOUT=*

Carto DD - COPIES

Especifica a quantidade de cpias de uma SYSOUT

FORMATO:
COPIES=n
Exemplo:
SYSOUT=A,COPIES=2

Carto DD - DUMMY

Inibe a leitura / gerao do arquivo.

Deve ser o primeiro ou nico parmetro do DD

FORMATO:
DD DUMMY
Exemplos:
//SYSPRINT DD DUMMY
//SYSPRINT DD DUMMY,SYSOUT=A

Carto DD - *

Indica que os prximos cartes so dados de entrada.

Os dados terminam no primeiro carto /* ou //

FORMATO:
DD *
Exemplo:
//SYSIN DD *
SORT FIELDS=(10,2,CH,A)
END
/*

Carto DD DATA e DLM


DATA

Indica que os prximos cartes so dados de entrada.

Utilizado quando nos dados existir um ou mais cartes //

DLM

Indica o final dos dados.

Formato: Qualquer caracter no existente nos dados de entrada

Exemplo:
//ENTRADA DD DATA,DLM=ZZ
// ST001 EXEC PGM=TESTE
ZZ
//SAIDA DD SYSOUT=*

Carto PROC

Identifica o incio de uma procedure


Procedure: um conjunto de JCL, formado por um
ou mais steps, normalmente catalogado numa
biblioteca.
Permite a utilizao de parmetros simblicos.
Pode ser executada por vrios JOBs.
Evita a criao de vrios JOBS similares

Carto PROC
FORMATO:
//procname PROC simblico
Procname 1 a 8 caracteres, opcional
simblico passa valores para os simblicos
definidos na proc. Opcional.
Exemplo:
//SFGPC001 PROC UNID=RJ

Carto PROC

&UNID = simblico
Na execuo o simblico &UNID ser substitudo pelo valor informado
no carto PROC: RJ

PROC:

JOB chamando a PROC:

Na execuo o simblico UNID ser substituido pelo valor informado


no carto EXEC PROC do JOB: SP

EXECUO DO JOB:

Colunas 1 e 2:
/ / - Cartes do JOB
XX - Cartes da PROC
O simblico UNID substitudo pelo valor informado no carto EXEC
do JOB: SP

Carto PEND

Identifica o final de uma procedure quando executada


in stream
in stream - termo utilizado quando a proc utilizada
encontra-se junto com o JCL e no catalogada numa
biblioteca.
Normalmente utilizado quando h uma alterao no
definitiva numa PROC.

Formato:
//nome PEND
nome = opcional

Execuo do JOB com PROC in stream :

A PROC codificada junto com o JOB (todos os cartes //)


O sistema separa a PROC e a identifica com ++ nas colunas 1 e 2.
O resultado o mesmo da execuo com a PROC catalogada

Cartes DD especiais

JOBLIB informa o dsname da biblioteca que contm os


programas executados no JOB.
codificado aps o carto JOB e antes do EXEC
Vlido para todo o JOB

STEPLIB informa o dsname da biblioteca que contm o


programa executado num STEP.
codificado aps o carto EXEC
Vlido somente para o STEP.

Cartes DD especiais

Os utilitrios e programas de softwares residem em


bibliotecas j definidas no sistema operacional, no
necessrio aloc-las no JOBLIB.

Os programas dos sistemas em produo residem nas


bibiotecas do ENDEVOR e precisam ser alocadas no
JOBLIB / STEPLIB.
Padro:
END.XXXPRODC.LOAD
XXX = Sistema

Cartes DD especiais
JOBLIB:

STEPLIB:

Concatenao de Cartes DD

Em alguns casos necessrio alocar mais de um arquivo


no mesmo carto DD.
Para CONCATENAR dois ou mais arquivos num nico
DD, definimos o carto DD normalmente mas o
DDNAME s especificado no primeiro DD.
Os arquivos concatenados tm que ter as mesmas
caractersticas (formato e tamanho de registro).
O programa processa os arquivos concatenados como se
fossem apenas um.
Esse recurso s possvel para arquivos de ENTRADA.

Concatenao de Cartes DD

Normalmente utilizado nos cartes JOBLIB quando o


JOB executa programas que residem em diversas
bibliotecas.

Tambm bastante utilizado em processos que consolidam


movimentos.

Concatenao de Cartes DD

Cartes JECL JES2

JOB ENTRY CONTROL LANGUAGE

So cartes com funes especiais, utilizados pelo JES2

Formato
/*comando parmetros

Mais utilizados na CAIXA:


/*ROUTE
/*JOBPARM

Cartes JECL JES2

/*ROUTE - Direciona a execuo do JOB ou impresso


das SYSOUTS para outra mquina:
/*ROUTE XEQ CKRJ
/*ROUTE PRINT CPRRJ

/*JOBPARM - Define parmetros para o JES2


Exemplo - limite de gerao de linhas:
/*JOBPARM L=99999