Академический Документы
Профессиональный Документы
Культура Документы
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
INITIATOR
um componente do JES2 que controla a execuo dos JOBS.
SPOOL
um Buffer onde ficam armazenados as entradas e sadas de um processamento.
PROGRAMA
COBOL
JCL
DISCOS 3390
JCL
Regras Bsicas de Codificao
// nas colunas 1 e 2
//* = Comentrios
Nome
Operao
Parmetros
Comentrio
JCL
Regras Bsicas de Codificao
JCL
Regras Bsicas de Codificao
Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//
CLASS=A
Cartes Operao
JOB
EXEC
DD
PROC
PEND
Carto JOB
Account
TYPRUN
Programers Name
REGION
CLASS
NOTIFY
MSGCLASS
USER
MSGLEVEL
RESTART
TIME
COND
Exemplo:
//SFG1RJ54 JOB (SFG,PRD,999,9999,9999)
form - Formulrio especial no qual ser impresso TODO O JOB ate 5 dgitos.
linct - Numero de linhas a serem impressas por pagina ate 3 dgitos, se for codificado
zero a impressora no obedecer ao salto de pagina.
Formato: Livre
Exemplos:
Tamanho: 1 byte
Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//
CLASS=A
Tamanho: 1 byte
Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//
CLASS=A,MSGCLASS=G
Formato: MSGLEVEL=(statements,messages)
CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1)
CLASS=A,MSGCLASS=G,TIME=60
CLASS=A,MSGCLASS=G,TIME=(,30)
CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),
//
TYPRUN=HOLD
CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),
//
TYPRUN=SCAN
Formato:
Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//
CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),
//
REGION=0M
Formato:
NOTIFY=XXXXXXXX (USER ID)
NOTIFY=&SYSUID (O TSO atribui a USER ID logada)
CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),
//
NOTIFY=P909835
Exemplo
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//
CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),
//
USER=P909835
Formato:
RESTART=(stepname.procstepname)
(restart em um step dentro de uma PROC)
CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),
//
RESTART=ST005
CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1),
//
RESTART=(ST003.STEP02)
FORMATO:
COND=(valor,operador)
EQ - igual
GT - maior que
NE - no igual
LE - menor ou igual
GE - maior ou igual
LT - menor que
ST001
ST002
ST003
ST004
COND 0004
COND 0012
COND 0000
COND 0000
COND=(4,LT)
ST001
ST002
ST003
ST004
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
Carto EXEC
Executando um PROGRAMA:
//ST001 EXEC PGM=XXXXXXXX
Carto EXEC
Exemplos:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,CLASS=A,
//
MSGCLASS=G,MSGLEVEL=(1,1),TIME=(,30)
//ST001
EXEC PGM=SFGPB190
MSGCLASS=G,MSGLEVEL=(1,1),TIME=(,30)
//ST001
EXEC SFGPC001
PARM
REGION
TIME
COND
Formato livre:
Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,
//
CLASS=A,MSGCLASS=G,MSGLEVEL=(1,1)
//ST001
EXEC PGM=SFGPB010,REGION=2M
Exemplo:
//SFG1RJ54 JOB (SFG,PRD,,9999,9999),REROP,CLASS=Q,
//
TIME=60,MSGCLASS=G,MSGLEVEL=(1,1)
//ST001
EXEC PGM=SFGPB010,TIME=10
FORMATO:
COND=(valor,operador,stepname)
COND=(4,LT,ST001)
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)
ST001
ST002
ST003
ST004
ST003 - COND=(4,LT)
ST004 - COND=(12,LT)
Carto DD
Carto DD - Parmetros
DSN
DSNAME
LABEL
DISP
SYSOUT
UNIT
COPIES
DCB
DUMMY
SPACE
VOL
DATA e DLM
Carto DD - DSNAME
Carto DD - DSN
Regras de Codificao
Exemplo:
DSN=SFG.RJ.RELAT.SFGSB510.D080820
QUALIFICADORES
Carto DD - DSN
DSNAMES ESPECIAIS
Carto DD - DSN
Normas de codificao CAIXA
Arquivos em cartucho:
Ex: I.M03.PIS.RJ.PISDS400.D080630
E.A01.PIS.RJ.BACKUP,D080620
Arquivos em disco:
Carto DD - DSN
Normas de codificao CAIXA - TE080
Tpicos principais:
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:
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
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
OLD
SHR
MOD
Ex:
DISP=(,CATLG,DELETE)
Carto DD - DISP
CATLG
DELETE
KEEP
PASS
UNCATLG
Carto DD - UNIT
Carto DD - UNIT
Padronizao do UNIT na Caixa:
SYSDA
TAPE
ROBO
NROB
IROB
EROB
Exemplo:
UNIT=IROB
Carto DD - DCB
DATA CONTROL BLOCK
Especifica basicamente:
Formato do registro
Tamanho do registro
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
Carto DD - SPACE
Carto DD - SPACE
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
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
FORMATO:
LABEL=(n,XX)
n
XX
Exemplo:
LABEL=(2,SL)
Carto DD - SYSOUT
FORMATO:
SYSOUT=(class,INTRDR,form)
class
= classe da sysout
=* (assume a classe do MSGCLASS)
Exemplos:
SYSOUT=(A,,STD6)
SYSOUT=*
Carto DD - COPIES
FORMATO:
COPIES=n
Exemplo:
SYSOUT=A,COPIES=2
Carto DD - DUMMY
FORMATO:
DD DUMMY
Exemplos:
//SYSPRINT DD DUMMY
//SYSPRINT DD DUMMY,SYSOUT=A
Carto DD - *
FORMATO:
DD *
Exemplo:
//SYSIN DD *
SORT FIELDS=(10,2,CH,A)
END
/*
DLM
Exemplo:
//ENTRADA DD DATA,DLM=ZZ
// ST001 EXEC PGM=TESTE
ZZ
//SAIDA DD SYSOUT=*
Carto PROC
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:
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
Formato:
//nome PEND
nome = opcional
Cartes DD especiais
Cartes DD especiais
Cartes DD especiais
JOBLIB:
STEPLIB:
Concatenao de Cartes DD
Concatenao de Cartes DD
Concatenao de Cartes DD
Formato
/*comando parmetros