Escolar Documentos
Profissional Documentos
Cultura Documentos
Índice_______________________________________________________________ 1
1 Executando Tarefas ________________________________________________ 7
1.1 Processamento de um job _______________________________________ 7
1.1.1 Job step __________________________________________________ 7
1.1.2 Job ______________________________________________________ 7
1.1.3 Input stream ______________________________________________ 7
1.1.4 Procedure ________________________________________________ 7
1.1.5 STEPS em um JOB _________________________________________ 7
1.2 Processando o Job _____________________________________________ 7
1.3 Requisitos de recursos __________________________________________ 8
2 Formato do Cartão de JCL ___________________________________________ 9
2.1 Campos do cartão de JCL________________________________________ 9
2.1.1 Campo de Identificação _____________________________________ 9
2.1.2 Campo de nome ___________________________________________ 9
2.1.3 Campo de operação ________________________________________ 9
2.1.4 Campo de operando ________________________________________ 9
2.1.5 Campo de comentários _____________________________________ 10
2.2 Campo de operandos __________________________________________ 10
2.2.1 Parâmetros posicionais _____________________________________ 10
2.2.2 Parâmetros de palavra-chave ________________________________ 10
2.2.3 Sub-parâmetros___________________________________________ 10
2.2.4 Sub-parâmetros posicionais Nulos ____________________________ 10
2.3 Campos de Cartões de JES2_____________________________________ 11
2.4 Continuação de um Cartão______________________________________ 11
2.4.1 Continuação de um campo de parâmetro ______________________ 11
2.4.2 Continuando parâmetros entre apóstrofos______________________ 11
2.4.3 Continuando cartão de comentário____________________________ 11
3 Sintaxe dos Operandos ____________________________________________ 13
3.1 Conjunto de Caracteres ________________________________________ 13
3.1.1 Caracteres especiais em parâmetros __________________________ 13
3.2 Referência Anterior____________________________________________ 13
4 Procedures e Símbolos_____________________________________________ 15
4.1 Procedures __________________________________________________ 15
4.1.1 Procedures In-stream ______________________________________ 15
4.1.2 Procedures Catalogadas ____________________________________ 15
4.1.3 O Uso de Procedure _______________________________________ 16
4.2 Modificando uma Procedure_____________________________________ 16
4.2.1 Exemplos ________________________________________________ 16
- 1 -
4.3 Procedures “aninhadas” ________________________________________ 18
4.3.1 Exemplos ________________________________________________ 18
4.4 Usando símbolos do sistema e de JCL _____________________________ 20
4.4.1 Símbolos do Sistema _______________________________________ 20
4.4.2 Símbolos de JCL __________________________________________ 20
5 Cartões do JCL ___________________________________________________ 21
6 Cartão de Comando JCL ___________________________________________ 22
6.1 Descrição ___________________________________________________ 22
6.1.1 Sintaxe__________________________________________________ 22
6.1.2 Campo de operação _______________________________________ 22
6.1.3 Campo de parâmetros______________________________________ 22
6.1.4 Campo de comentário ______________________________________ 22
6.1.5 Localização no JCL ________________________________________ 22
6.1.6 Exemplos ________________________________________________ 22
7 Cartão COMMAND ________________________________________________ 23
7.1 Descrição ___________________________________________________ 23
7.1.1 Sintaxe__________________________________________________ 23
7.1.2 Campo de nome __________________________________________ 23
7.1.3 Campo de operação _______________________________________ 23
7.1.4 Campo de parâmetros______________________________________ 23
7.1.5 Campo de comentário ______________________________________ 23
7.1.6 Localização no JCL ________________________________________ 23
7.1.7 Exemplos ________________________________________________ 23
8 Cartão de comentário _____________________________________________ 24
8.1 Descrição ___________________________________________________ 24
8.1.1 Sintaxe__________________________________________________ 24
8.1.2 Localização no JCL ________________________________________ 24
8.1.3 Exemplos ________________________________________________ 24
9 Cartão CNTL_____________________________________________________ 25
9.1 Descrição ___________________________________________________ 25
9.1.1 Sintaxe__________________________________________________ 25
9.1.2 Campo Label _____________________________________________ 25
9.1.3 Campo de operação _______________________________________ 25
9.1.4 Campo de parâmetros______________________________________ 25
9.1.5 Campo de comentário ______________________________________ 25
9.1.6 Localização no JCL ________________________________________ 25
9.1.7 Cartões de controle de programa _____________________________ 25
9.1.8 Exemplos ________________________________________________ 26
10 Cartão ENDCNTL _______________________________________________ 27
10.1 Descrição ___________________________________________________ 27
10.1.1 Sintaxe__________________________________________________ 27
10.1.2 Campo label______________________________________________ 27
- 2 -
10.1.3 Campo de operação _______________________________________ 27
10.1.4 Campo de comentário ______________________________________ 27
10.1.5 Localização no JCL ________________________________________ 27
10.1.6 Exemplos ________________________________________________ 27
11 Cartão JCLLIB__________________________________________________ 28
11.1 Descrição ___________________________________________________ 28
11.1.1 Sintaxe__________________________________________________ 28
11.1.2 Campo de nome __________________________________________ 28
11.1.3 Campo de operação _______________________________________ 28
11.1.4 Campo de parâmetros______________________________________ 28
11.1.5 Campo de comentário ______________________________________ 28
11.1.6 Localização no JCL ________________________________________ 28
11.1.7 Exemplos ________________________________________________ 29
12 Cartão PROC___________________________________________________ 30
12.1 Descrição ___________________________________________________ 30
12.1.1 Sintaxe__________________________________________________ 30
12.1.2 Campo de nome __________________________________________ 30
12.1.3 Campo de operação _______________________________________ 30
12.1.4 Campo de parâmetros______________________________________ 30
12.1.5 Campo de comentário ______________________________________ 30
12.1.6 Override_________________________________________________ 30
12.1.7 Localização no JCL ________________________________________ 31
12.1.8 Exemplos ________________________________________________ 31
13 Cartão PEND___________________________________________________ 32
13.1 Definição ____________________________________________________ 32
13.1.1 Sintaxe__________________________________________________ 32
13.1.2 Campo de nome __________________________________________ 32
13.1.3 Campo de operação _______________________________________ 32
13.1.4 Campo de comentário ______________________________________ 32
13.1.5 Localização no JCL ________________________________________ 32
13.1.6 Exemplos ________________________________________________ 32
14 Cartão SET ____________________________________________________ 33
14.1 Descrição ___________________________________________________ 33
14.1.1 Sintaxe__________________________________________________ 33
14.1.2 Campo de nome __________________________________________ 33
14.1.3 Campo de operação _______________________________________ 33
14.1.4 Campo de parâmetros______________________________________ 33
14.1.5 Campo de comentário ______________________________________ 33
14.1.6 Localização no JCL ________________________________________ 34
14.1.7 Exemplos ________________________________________________ 34
15 Cartão Nulo ___________________________________________________ 35
15.1 Descrição ___________________________________________________ 35
15.1.1 Sintaxe__________________________________________________ 35
- 3 -
15.1.2 Localização no JCL ________________________________________ 35
15.1.3 Exemplos ________________________________________________ 35
16 Cartão JOB ____________________________________________________ 36
16.1 Definição ____________________________________________________ 36
16.1.1 Sintaxe__________________________________________________ 36
16.1.2 Campo de nome __________________________________________ 36
16.1.3 Campo de operação _______________________________________ 36
16.1.4 Campo de parâmetros______________________________________ 36
16.1.5 Parâmetros de palavra-chave ________________________________ 36
16.1.6 Localização no JCL ________________________________________ 37
16.1.7 Exemplos ________________________________________________ 37
16.2 Parâmetro de account _________________________________________ 37
16.2.1 Sintaxe__________________________________________________ 37
16.2.2 Definição de sub-parâmetros ________________________________ 37
16.2.3 Exemplos ________________________________________________ 37
16.3 Parâmetro nome do programador ________________________________ 37
16.3.1 Sintaxe__________________________________________________ 37
16.3.2 Definição do parâmetro ____________________________________ 38
16.3.3 Exemplo_________________________________________________ 38
16.4 Parâmetro TIME ______________________________________________ 38
16.4.1 Sintaxe__________________________________________________ 38
16.4.2 Definição dos sub-parâmetros _______________________________ 38
16.4.3 Defaults _________________________________________________ 39
16.4.4 Overrides ________________________________________________ 39
16.4.5 Exemplos ________________________________________________ 39
16.5 Parâmetro CLASS _____________________________________________ 39
16.5.1 Sintaxe__________________________________________________ 39
16.5.2 Definição do sub-parâmetro _________________________________ 39
16.5.3 Exemplos ________________________________________________ 40
16.6 Parâmetro MSGCLASS _________________________________________ 40
16.6.1 Sintaxe__________________________________________________ 40
16.6.2 Definição do sub-parâmetro _________________________________ 40
16.6.3 Exemplos ________________________________________________ 40
16.7 Parâmetro MSGLEVEL__________________________________________ 41
16.7.1 Sintaxe__________________________________________________ 41
16.7.2 Definição dos sub-parâmetros _______________________________ 41
16.7.3 Exemplos ________________________________________________ 41
16.8 Parâmetro TYPRUN ___________________________________________ 41
16.8.1 Sintaxe__________________________________________________ 41
16.8.2 Definição dos sub-parâmetros _______________________________ 42
16.8.3 Exemplos ________________________________________________ 42
16.9 Parâmetro COND _____________________________________________ 42
16.9.1 Sintaxe__________________________________________________ 42
- 4 -
16.9.2 Definição dos sub-parâmetros _______________________________ 43
16.9.3 Exemplos ________________________________________________ 43
16.10 Parâmetro REGION __________________________________________ 43
16.10.1 Sintaxe ________________________________________________ 43
16.10.2 Definição do sub-parâmetro _______________________________ 43
16.10.3 Exemplos ______________________________________________ 44
16.11 Parâmetro PRTY ____________________________________________ 44
16.11.1 Sintaxe ________________________________________________ 44
16.11.2 Exemplos ______________________________________________ 44
16.12 Parâmetro ADDRSPC_________________________________________ 44
16.12.1 Sintaxe ________________________________________________ 44
16.12.2 Exemplos ______________________________________________ 44
16.13 Parâmetro BYTES ___________________________________________ 45
16.13.1 Sintaxe ________________________________________________ 45
16.13.2 Definição dos sub-parâmetros _____________________________ 45
16.13.3 Exemplos ______________________________________________ 45
16.14 Parâmetro CARDS ___________________________________________ 45
16.14.1 Sintaxe ________________________________________________ 46
16.14.2 Definição dos sub-parâmetros _____________________________ 46
16.14.3 Exemplos ______________________________________________ 46
16.15 Parâmetro PAGES ___________________________________________ 46
16.15.1 Sintaxe ________________________________________________ 46
16.15.2 Definição dos sub-parâmetros _____________________________ 46
16.15.3 Exemplos ______________________________________________ 47
16.16 Parâmetro LINES ___________________________________________ 47
16.16.1 Sintaxe ________________________________________________ 47
16.16.2 Definição dos sub-parâmetros _____________________________ 47
16.16.3 Exemplos ______________________________________________ 48
16.17 Parâmetro MEMLIMIT ________________________________________ 48
16.17.1 Sintaxe ________________________________________________ 48
16.17.2 Definição dos sub-parâmetros _____________________________ 48
16.17.3 Exemplos ______________________________________________ 48
16.18 Parâmetro NOTIFY __________________________________________ 48
16.18.1 Sintaxe ________________________________________________ 48
16.18.2 Definição dos sub-parâmetros _____________________________ 49
16.18.3 Exemplos ______________________________________________ 49
16.19 Parâmetro SCHENV__________________________________________ 49
16.19.1 Sintaxe ________________________________________________ 49
16.19.2 Definição do sub-parâmetro _______________________________ 49
16.19.3 Exemplos ______________________________________________ 49
16.20 Parâmetro USER ____________________________________________ 49
16.20.1 Sintaxe ________________________________________________ 49
16.20.2 Definição do sub-parâmetro _______________________________ 49
-5-
16.20.3 Exemplos ______________________________________________ 50
16.21 Parâmetro PASSWORD _______________________________________ 50
16.21.1 Sintaxe ________________________________________________ 50
16.21.2 Descrição dos sub-parâmetros _____________________________ 50
16.21.3 Exemplos ______________________________________________ 50
16.22 Parâmetro RESTART _________________________________________ 50
16.22.1 Sintaxe ________________________________________________ 50
16.22.2 Definição dos sub-parâmetros _____________________________ 50
16.22.3 Exemplos ______________________________________________ 51
- 6 -
1 Executando Tarefas
Neste capítulo será feito um resumo da entrada de serviço no Sistema
Operacional e como fazer para identificá-lo.
1.1.2 Job
1.1.4 Procedure
Recursos de SYSOUT
Um arquivo de SYSOUT é um arquivo de saída em formato de relatório,
pois será gravado no SPOOL do JES.
- 8 -
2 Formato do Cartão de JCL
Neste capítulo será descritos o formato de um cartão JCL e as convenções
de término e continuação.
2.2.3 Sub-parâmetros
- 10 -
2.3 Campos de Cartões de JES2
- 11 -
1. Interrompa o comentário em um lugar conveniente na frente de
coluna 72, até e inclusive coluna 71;
2. Codifique um caráter não branco na coluna 72;
3. Codifique “//” nas colunas 1 e 2 do cartão seguinte;
4. Codifique um caráter “฿ “ na coluna 3 do cartão seguinte;
5. Continue o campo de comentários que começa em qualquer coluna
depois de coluna 3;
- 12 -
3 Sintaxe dos Operandos
As regras de sintaxe definem como codificar os campos e parâmetros nos
cartões de um job. A sintaxe indica:
O que o sistema requer;
O que opcional para um específico propósito;
Como os operandos devem aparecer;
Uma referência anterior pode ser utilizada para copiar parâmetros para um
novo cartão de JCL. Os seguintes cartões podem ter referências anteriores:
DD CNTL – refere-se a outro cartão CNTL definido anteriormente;
DD DCB – refere-se a um outro cartão DD para copiar parâmetros
de DCB;
DD DSNAME – refere-se a outro cartão DD para copiar o seu
dsname, sendo ele ou não temporário ou particionado;
- 13 -
DD OUTPUT – refere-se a outro cartão OUTPUT definido
anteriormente;
DD REFDD – refere-se a outros cartões DD para copiar atributos de
arquivos;
DD VOLUME=REF – refere-se a um cartão DD anterior para utilizar
do mesmo volume. O sub-parâmetro LABEL também é copiado;
EXEC PGM – refere-se a um cartão DD definido anteriormente com
o programa a ser executado como membro de um arquivo
particionado;
- 14 -
4 Procedures e Símbolos
Este capítulo irá descrever o uso de procedures, incluído procedures
aninhadas e como se utilizam símbolos em cartões JCL;
4.1 Procedures
- 15 -
IF/THEN/ELSE/ENDIF;
INCLUDE;
OUTPUT JCL;
SET;
Para se executar uma procedure basta chamá-la num cartão EXEC em uma
etapa do job. Especifica-se o nome da procedure no parâmetro PROC do
cartão EXEC. A etapa usa os cartões de JCL da procedure imediatamente
após o cartão EXEC. Se necessário pode se modificar a procedure durante
a execução do job.
4.2.1 Exemplos
Exemplo 1
- 16 -
//JOBA JOB ACCT23,’G. HILL’
//STEPA EXEC PROC=REP
//PSTEP1.INDS DD *
.
(DADOS)
.
/* IN SYS1.PROCLIB MEMBER REP:
// PROC
//PSTEP1 EXEC PGM=WRIT22
//OUTDS DD SYSOUT=A
Exemplo 2
No input-stream
Na procedure P
//PS1 EXEC PGM=R15
//OUTA OUTPUT CONTROL=PROGRAM
//DSA DD SYSOUT=C,OUTPUT=*.OUTA
//DSB DD SYSOUT=D,OUTPUT=*.OUTA
//PS2 EXEC PGM=T48
//DSC DD SYSOUT=A
Exemplo 3
No input-stream
//JOBB JOB ACCT23,’G. HILL’
//STEPB EXEC PROC=WRIT35,COND.PSTEP3=(4,GT,PSTEP1),RD=R
//PSTEP1.DD1 DD VOLUME=SER=,UNIT=SYSDA,DISP=(NEW,CATLG)
//PSTEP1.INDS DD *
.
.
(DATA)
.
/*
//PSTEP2.DD3 DD DISP=(OLD,KEEP)
//PSTEP3.DD5 DD DUMMY
//PSTEP3.DD6 DD DSNAME=A.B.C
//PSTEP3.DD8 DD EXPDT=
Na procedure WRIT35
// PROC
//PSTEP1 EXEC PGM=WT1,TIME=(,50)
- 17 -
//DD1 DD DSNAME=DATA1,DISP=(NEW,DELETE),SPACE=(TRK,(10,2)),
// UNIT=3330,VOL=SER=1095
//DD2 DD DSNAME=&&WORK,UNIT=SYSDA,SPACE=(CYL,(10,1)),
// DISP=(,PASS)
//PSTEP2 EXEC PGM=WT2,TIME=(,30)
//DD3 DD DSNAME=*.PSTEP1.DD2,DISP=(OLD,DELETE)
//PSTEP3 EXEC PGM=UPDT,TIME=(,45),RD=RNC
//DD4 DD SYSOUT=*
//DD5 DD DSNAME=DATA3,UNIT=3340,DISP=OLD,
// VOLUME=SER=335006
//DD6 DD DSNAME=QOUT,UNIT=3400-5
//DD7 DD SYSOUT=H
//DD8 DD DSNAME=A.B,DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(1)),EXPDT=92365,UNIT=SYSDA
4.3.1 Exemplos
Procedure C:
//C PROC
//CS1 EXEC PGM=GHI
.
// PEND
Procedure B:
//B PROC
//BS1 EXEC PROC=C
.
//BS2 EXEC PGM=DEF
.
// PEND
Procedure A:
//A PROC
//AS1 EXEC PROC=B
.
//AS2 EXEC PGM=ABC
.
// PEND
Job Stream:
//JOB1 JOB
//STEP1 EXEC PROC=A
.
//STEP2 EXEC PGM=JKL
.
.
Os cartões que seguem são equivalentes aos exemplificados acima:
- 18 -
//JOB1 JOB LEVEL 0
//CS1 EXEC PGM=GHI LEVEL 3
.
//BS2 EXEC PGM=DEF LEVEL 2
.
//AS2 EXEC PGM=ABC LEVEL 1
.
//STEP2 EXEC PGM=JKL LEVEL 0
Procedure C:
//C PROC
//CS1 EXEC PGM=CCC
//CS1DD1 DD DSNAME=A.B.C,DISP=SHR
//CS1DD2 DD SYSOUT=A
// PEND
Procedure B:
//B PROC
//BS1 EXEC PROC=C
//CS1.CS1DD1 DD DSNAME=X.Y.Z
//*
//CS1.CS1DD3 DD SYSOUT=A
//BS2 EXEC PGM=BBB
//BS2DD1 DD DSNAME=E,DISP=SHR
// PEND
Procedure A:
//A PROC
//AS1 EXEC PROC=B
//BS2.BS2DD2 DD DSNAME=G,DISP=SHR
//AS2 EXEC PGM=AAA
//AS2DD1 DD DSNAME=E,DISP=SHR
// PEND
Job Stream:
//JOB1 JOB
//STEP1 EXEC PROC=A
//AS2.AS2DD2 DD DSNAME=G,DISP=SHR
//STEP2 EXEC PGM=IEFBR14
.
//JOB1 JOB
//CS1 EXEC PGM=CCC
//CS1DD1 DD DSNAME=X.Y.Z,DISP=SHR
//*
//CS1DD2 DD SYSOUT=A
//CS1DD3 DD SYSOUT=A
//*
//BS2 EXEC PGM=BBB
//BS2DD1 DD DSNAME=E,DISP=SHR
//BS2DD2 DD DSNAME=G,DISP=SHR
- 19 -
//*
//AS2 EXEC PGM=AAA
//AS2DD1 DD DSNAME=E,DISP=SHR
//AS2DD2 DD DSNAME=G,DISP=SHR
//STEP2 EXEC PGM=IEFBR14
Os símbolos de JCl diferem dos símbolos de sistema pelo fato de que eles
devem ser definidos antes do uso deles pelo JCL. Os símbolos definidos
são válidos apenas durante a execução do job.
- 20 -
5 Cartões do JCL
A seguir se tem um resumo dos comandos JCL existentes:
- 21 -
6 Cartão de Comando JCL
6.1 Descrição
6.1.1 Sintaxe
6.1.6 Exemplos
// DISPLAY TS,LIST
- 22 -
7 Cartão COMMAND
Use o cartão COMMAND para especificar qualquer comando MVS ou JES2
que será emitido quando o JCL for convertido.
7.1 Descrição
7.1.1 Sintaxe
7.1.7 Exemplos
// COMMAND ’S VTAM’ START VTAM
- 23 -
8 Cartão de comentário
Use o cartão de comentário para enviar um comentário na listagem de
saída do job. O comentário é utilizado com propósito de documentação de
um job e de seus recursos.
8.1 Descrição
8.1.1 Sintaxe
//*comentário
8.1.3 Exemplos
//* UM CARTAO DE COMENTÁRIO NAO PODE TER CONTINUACAO
//* ENTAO SE PODE UTILIZAR VARIAS LINHAS PARA ESCREVER
//* O QUE QUER DIZER
- 24 -
9 Cartão CNTL
O cartão CNTL marca o início de cartões de controle de programa em um
JCL. Cartões de controle de programa especificam informações de controle
para um subsistema. Os cartões de controle de programa são finalizados
pelo cartão ENDCNTL e são chamados de um grupo CNTL/ENDCNTL.
9.1 Descrição
9.1.1 Sintaxe
Para cada cartão CNTL deve ser codificado um label da seguinte forma:
O label deve começar na coluna 3;
O label segue a norma de codificação de nome;
O label pode ser precedido de até 8 caracteres separado por um “.”;
- 25 -
9.1.8 Exemplos
//STEP1 EXEC PGM=PRINT
//ALPHA CNTL * SEGUEM CARTOES DE CONTROLE DE PROGRAMA
//PRGCNTL PRINTDEV BUFNO=20,PIMSG=YES,DATACK=BLOCK
//OMEGA ENDCNTL
//AGAR DD UNIT=AFP1,CNTL=*.ALPHA
- 26 -
10 Cartão ENDCNTL
Usa-se o cartão ENDCNTL para marcar o final de um grupo de cartões de
controle de programa seguindo um cartão CNTL.
10.1 Descrição
10.1.1 Sintaxe
10.1.6 Exemplos
//STEP1 EXEC PGM=PRINT
//ABLE CNTL
//STATE1 PRINTDEV BUFNO=20,PIMSG=YES,DATACK=BLOCK
//BAKER ENDCNTL
//CALLER DD UNIT=3800-3,CNTL=*.ABLE
- 27 -
11 Cartão JCLLIB
O cartão JCLLIB deve ser utilizado para:
Identificar o nome de bibliotecas privadas que o sistema utilizará
para o job. O sistema procura bibliotecas para:
o Procedures identificadas nos cartões EXEC do JCL;
o Grupos de cartões JCL ou qualquer cartão INCLUDE;
Identificar os nomes das bibliotecas de procedures do sistema ou de
aplicações específicas que serão utilizadas pelo job;
Identificar a ordem em que as bibliotecas serão pesquisadas. O
sistema pesquisa as bibliotecas na ordem que aparecem no cartãop
JCLLIB, antes de pesquisar em qualquer outra biblioteca do sistema;
11.1 Descrição
11.1.1 Sintaxe
ORDER=(biblioteca[,biblioteca]...)
Especifica o nome das bibliotecas a serem pesquisadas. O
máximo número de bibliotecas que pode ser pesquisado é 15.
- 28 -
11.1.7 Exemplos
Exemplo 1
Exemplo 2
//MYJOB2 JOB ...
//MYLIBS2 JCLLIB ORDER=(CAMPBEL.PROCS.JCL,PUCHKOF.PROCS.JCL,
// YUILL.PROCS.JCL,GARY.PROCS.JCL)
//S2 EXEC PROC=MYPROC2
.
.
//INC2 INCLUDE MEMBER=MYINC2
.
.
- 29 -
12 Cartão PROC
O cartão PROC marca o início de uma procedure. O cartão PROC pode
assinalar valores default para parâmetros simbólicos, se codificados, em
uma procedure.
12.1 Descrição
12.1.1 Sintaxe
12.1.6 Override
- 30 -
12.1.7 Localização no JCL
12.1.8 Exemplos
Exemplo 1
- 31 -
13 Cartão PEND
O cartão PEND deve ser utilizado para marcar o final de uma procedure in-
stream. Ele também pode ser codificado para marcar o final de uma
procedure catalogada, mas não é requerido.
13.1 Definição
13.1.1 Sintaxe
13.1.6 Exemplos
//PROCEND1 PEND ESTE CARTAO E OBRIGATORIO PARA PROC IN-STREAM
- 32 -
14 Cartão SET
O uso do cartão SET serve para:
Definir e assinalar valores iniciais para parâmetros simbólicos que
serão utilizados no job;
Alterar ou anular valores de parâmetros simbólicos definidos
previamente;
14.1 Descrição
14.1.1 Sintaxe
parâmetro-simbólico=valor[,parâmetro-simbólico=valor]...
Define o parâmetro simbólico e especifica um valor inicial que será
assinalado para ele. Para tornar um parâmetro simbólico nulo basta
especificar:
parâmetro simbólico=
- 33 -
14.1.6 Localização no JCL
14.1.7 Exemplos
Exemplo 1
//SET1 SET DSP=NEW
.
.
//DD1 DD DSNAME=ALPHA.PGM1,DISP=(&DSP,KEEP)
Exemplo 2
//SETA SET DSP=(NEW,DELETE,KEEP)
//PR2 PROC DSP=(NEW,KEEP)
.
.
//DD6 DD DSNAME=ALPHA.PGM2,DISP=&DSP
Exemplo 3
- 34 -
15 Cartão Nulo
O uso do cartão nulo serve para marcar o final de um job.
15.1 Descrição
15.1.1 Sintaxe
//
15.1.3 Exemplos
//MYJOB JOB ,’RICARDO’
//STEP1 EXEC PROC=FIELD
//STEP2 EXEC PGM=XTRA
//DD1 DD UNIT=3400-5
//DD2 DD *
.
.
DADOS
.
/*
//
- 35 -
16 Cartão JOB
O cartão JOB marca o inicio de um job e serve para informar ao sistema
como processar o job. Também, quando codificado dentro de um mesmo
input stream o cartão JOB serve para separar vários jobs diferentes.
Para cada job ou serviço devemos codificar apenas um cartão JOB e não é
possível processar simultaneamente mais que um JOB com o mesmo
nome.
16.1 Definição
16.1.1 Sintaxe
Parâmetros posicionais
O cartão JOB pode conter dois parâmetros posicionais. Eles devem
preceder todos os parâmetros de palavra-chave e devem seguir a ordem
de definição.
- 36 -
16.1.6 Localização no JCL
O cartão JOB deve ser o primeiro cartão de cada job. Um cartão JOB
nunca devem aparecer em uma procedure catalogada.
16.1.7 Exemplos
//ALFA JOB 843,RICARDO,CLASS=F,MSGCLASS=A,MSGLEVEL=(1,1)
//LOS JOB ,’R PARANHOS’,TIME=(4,30),MSGCLASS=H,MSGLEVEL=(2,0)
//MART JOB 1863,RESTART=STEP4 AQUI TEM COMENTARIO
//TRY8 JOB
//RACF1 JOB ’D83,123’,USER=P525341,GROUP=A27,PASSWORD=XYY
//RUN1 JOB ’D8306P,D83,B1062J12,S=C’,’JUDY PERLMAN’,MSGCLASS=R,
// MSGLEVEL=(1,1),CLASS=3,NOTIFY=D83JCS1,
// COND=(8,LT)
16.2.1 Sintaxe
([número-account][,informação-account]...)
número de account
Especifica um número de account definido pela instalação
informação de account
Especifica informações adicionais de acordo com definições da
instalação
16.2.3 Exemplos
//MJB0203W JOB (9113,20,1040),‘IMOB #2 ALF’,
// CLASS=W, TIME=10
16.3.1 Sintaxe
nome-do-programador
- 37 -
16.3.2 Definição do parâmetro
16.3.3 Exemplo
// MJOB0103T JOB (9002,20,1040),’CTA COR#2PROGRAMADOR’,
// CLASS=T,TIME=10
16.4.1 Sintaxe
TIME= {([minutos][,segundos])} |
{1440 } |
{NOLIMIT } |
{MAXIMUM } |
minutos
Especifica a quantidade de minutos que o JOB poderá usar a CPU e
deve ser um número entre 0 e 357912 (248.55 dias).
Não codifique TIME=0, pois o resultado pode ser inesperado.
segundos
Especifica quantos segundos, entre 0 e 59 que o job pode usar de CPU
além do numero de minutos. Se o número de minutos não for
especificado indica quantos segundos o JOB pode usar a CPU.
- 38 -
1440 ou NOLIMIT
Especifica que o JOB não possui limite de tempo para usar a CPU.
Também pode ser codificado para especificar que qualquer step do job
pode permanecer em wait status por tempo além do definido pela
instalação.
MAXIMUN
Especifica que o job pode usar CPU pelo máximo total de tempo
permitido, que é 357912 minutos.
16.4.3 Defaults
16.4.4 Overrides
Para outros valores que não os identificados acima, o sistema seta para
cada etapa do job o seguinte:
O tempo especificado em cada cartão EXEC ou o restante de tempo
que sobra da definição do cartão JOB, prevalecendo o que for
menor.
16.4.5 Exemplos
//MJZ1913T JOB ...,TIME=5
//MJZ1913T JOB ...,TIME=(,30)
16.5.1 Sintaxe
CLASS=classe
classe
Identifica a classe de execução do job que assumir qualquer caracter de A
a Z ou de 0 a 9 definidos pela instalação e a critério do usuário.
- 39 -
As classes são estabelecidas pela instalação para agrupar jjobs. Através do
agrupamento pode-se otimizar o uso dos recursos dos equipamentos para
processamentos paralelos com as mesmas necessidades.
16.5.3 Exemplos
//MIA0203T JOB (9230,20,1040),’.......’,
// CLASS=T,TIME=10
16.6.1 Sintaxe
MSGCLASS=classe
classe
Identifica a classe de saída para as mensagens do job. A classe é um
caracter entre A e Z e 0 e 9 válidos para o JES.
16.6.3 Exemplos
//MJF0353W JOB ...,MSGCLASS=A
- 40 -
16.7 Parâmetro MSGLEVEL
16.7.1 Sintaxe
MSGLEVEL=([cartões][,mensagens])
cartões
Indica quais os cartões o sistema irá imprimir para o JES, podendo ser
um dos seguintes números:
mensagens
Indica quais mensagens o sistema irá imprimir de alocação e término
do JOB serão gravadas.
16.7.3 Exemplos
//ALI00001 JOB ...,MSGLEVEL=(2,0)
16.8.1 Sintaxe
TYPRUN= {COPY}
{HOLD}
- 41 -
{JCLHOLD}
{SCAN}
COPY
Especifica que o Jes deve fazer uam cópia do JCL que foi submetido e
colocá-lo diretamente para impressão.
HOLD
Especifica que o JOB ficará preso na fila de entrada até que o operador
o liberte. Se houver algum erro de JCL detectado pela internal reader o
JOB passará imediatamente para a fila de saída.
JCLHOLD
Especifica que o JOB ficará preso na fila de entrada até que o operador
o liberte, entretanto a sintaxe do JCL só será verificado pela internal
reader no momento que o JOB for libertado.
SCAN
Especifica que o JCL do JOB será apenas testado à sintaxe, sem a
execução do mesmo e as informações diretamente para a fila de saída.
16.8.3 Exemplos
//ALI00001 JOB ...,TYPRUN=HOLD
//ALI00001 JOB ...,TYPRUN=JCLHOLD
//ALI00001 JOB ...,TYPRUN=SCAN
16.9.1 Sintaxe
COND=(código,operador)
COND=((código,operador)[,(código,operador)])
- 42 -
16.9.2 Definição dos sub-parâmetros
código
Especifica um número que o sistema compara com o código de retorno
de cada etapa executada no job, podendo ser um número decimal de 0
a 4095.
operador
Especifica o tipo de comparação a ser feita para o código de retorno. Se
o teste executado é verdadeiro, o sistema faz o bypass de todas as
etapas restantes do job. Os operadores possíveis são:
Operador Comparação
GT Maior que
GE Maior ou igual que
EQ Igual que
NE Diferente de
LT Menor que
LE Menor ou igual que
16.9.3 Exemplos
//ALI00001 JOB ....................,COND=(4,GE)
Se 4 for maior ou igual ao código de retorno o job termina.
16.10.1 Sintaxe
REGION= {valorK}
{valorM}
valorK
Especifica a memória solicitada em Kilobytes. O valor é de 1 a 7
números decimais de 1 2096128. O valor codificado deve sempre ser
múltiplo de 4.
valorM
Especifica a memória solicitada em Megabytes. O valor é de 1 a 4
números decimais de 1 a 2047.
- 43 -
16.10.3 Exemplos
//ALI00001 JOB.................ADDRSPC=VIRT,REGION=100K
//ALI00001 JOB.................ADDRSPC=REAL,REGION=2500K
16.11.1 Sintaxe
PRTY=prioridade
prioridade
Um número de 0 a 15 indicando a prioridade de seleção. A maior
prioridade é 15 (JES2). Essa prioridade é somente de seleção, ou seja,
prioridade de reader e interpreter. Se vários JOBS forem submetidos
com a mesma prioridade a seleção será feita na ordem em que são
apresentados.
16.11.2 Exemplos
//MMC0233T JOB .....................PRTY=09
16.12.1 Sintaxe
ADDRSPC= {REAL}
{VIRT}
16.12.2 Exemplos
//MJOB103T JOB (9002...20..1040),’CONTAB. #2 PROGRAMADOR’,
// CLASS=T,TIME=10,ADDRSPC=REAL OU ADDRSPC=VIRT
- 44 -
16.13 Parâmetro BYTES
16.13.1 Sintaxe
BYTES= {nnnnnn}
{([nnnnnn][,CANCEL])}
{([nnnnnn][,DUMP])}
{([nnnnnn][,WARNING])}
nnnnnn
Indica o total máximo de impressão que pode ser produzido pelo job,
em milhares de bytes. Um valor de 500 representa 500.000 bytes. O
valor pode ser de 0 a 999999.
CANCEL
Indica que o sistema deve cancelar o job sem realizar o dump da
memória.
DUMP
Indica que o sistema deverá cancelar o job com emissão do dump de
memória.
WARNING
Indica que o sistema deverá emitir uma mensagem para o operador
informado que a produção de impressão do job excedeu ao máximo.
16.13.3 Exemplos
//JOB1 JOB (123456),’R F B’,BYTES=(500,CANCEL)
- 45 -
16.14.1 Sintaxe
CARDS= {nnnnnnnn}
{([nnnnnnnn][,CANCEL])}
{([nnnnnnnn][,DUMP])}
{([nnnnnn]nn[,WARNING])}
nnnnnnnn
Indica o total máximo de cartões que pode ser produzido pelo job. O
valor pode ser de 0 a 99999999.
CANCEL
Indica que o sistema deve cancelar o job sem realizar o dump da
memória.
DUMP
Indica que o sistema deverá cancelar o job com emissão do dump de
memória.
WARNING
Indica que o sistema deverá emitir uma mensagem para o operador
informado que a produção de cartões do job excedeu ao máximo.
16.14.3 Exemplos
//JOB1 JOB (123456),’R F B’,CARDS=(500,CANCEL)
16.15.1 Sintaxe
PAGES= {nnnnnnnn}
{([nnnnnnnn][,CANCEL])}
{([nnnnnnnn][,DUMP])}
{([nnnnnn]nn[,WARNING])}
nnnnnnnn
- 46 -
Indica o total máximo de páginas que pode ser produzido pelo job. O
valor pode ser de 0 a 99999999.
CANCEL
Indica que o sistema deve cancelar o job sem realizar o dump da
memória.
DUMP
Indica que o sistema deverá cancelar o job com emissão do dump de
memória.
WARNING
Indica que o sistema deverá emitir uma mensagem para o operador
informado que a produção de páginas do job excedeu ao máximo.
16.15.3 Exemplos
//JOB1 JOB (123456),’R F B’,PAGES=(500,CANCEL)
16.16.1 Sintaxe
CARDS= {nnnnnn}
{([nnnnnn][,CANCEL])}
{([nnnnnn][,DUMP])}
{([nnnnnn][,WARNING])}
nnnnnn
Indica o total máximo de linhas, em milhares de linhas, que pode ser
produzido pelo job. O valor pode ser de 0 a 999999.
CANCEL
Indica que o sistema deve cancelar o job sem realizar o dump da
memória.
DUMP
Indica que o sistema deverá cancelar o job com emissão do dump de
memória.
- 47 -
WARNING
Indica que o sistema deverá emitir uma mensagem para o operador
informado que a produção de linhas do job excedeu ao máximo.
16.16.3 Exemplos
//JOB1 JOB (123456),’R F B’,LINES=(500,CANCEL)
16.17.1 Sintaxe
MEMLIMIT= {nnnnnM}
{nnnnnG}
{nnnnnP}
{nnnnnT}
{NOLIMIT}
nnnnnM
nnnnnG
nnnnnP
nnnnnT
Indica o valor a ser usado como limite para o número total de páginas
utilizáveis pelo address space.
NOLIMIT
Indica que não existe limite para o total de páginas utilizáveis pelo
address space acima da barra.
16.17.3 Exemplos
//TEST JOB ’D83,123456’,MEMLIMIT=10000M
16.18.1 Sintaxe
NOTIFY= {nodename.userid}
{userid}
- 48 -
{&SYSUID}
nodename.userid
Identifica o nome de um nó e um usuário TSO para aquele nó.
userid
Identifica o nome de um usuário que irá receber a mensagem de
finalização do job.
16.18.3 Exemplos
//SIGN JOB ,TKLOMP,NOTIFY=VMNODE.VMUSERID
16.19.1 Sintaxe
SCHENV=envir-name
envir-name
Especifica o nome de um scheduling environment do WLM a ser
associado ao job.
16.19.3 Exemplos
//JOBA JOB 1,’STEVE HAMILTON’,SCHENV=DB2LATE
16.20.1 Sintaxe
USER=usuário
usuário
- 49 -
Especifica um usuário do sistema
16.20.3 Exemplos
//TEST JOB ’D83,123456’,USER=MYNAME,PASSWORD=ABCD
16.21.1 Sintaxe
PASSWORD={password[,new-password]}
password
Especifica a password atual do usuário a ser validada pelo sistema.
new-password
Especifica a nova password a ser atribuída ao usuário especificado.
16.21.3 Exemplos
//TEST1 JOB ’D83,123456’,PASSWORD=ABCDE,USER=MYNAME
16.22.1 Sintaxe
*
Indica que o sistema deve inciar o job da primeira etapa identificada no
job, sendo ela no próprio input stream ou fazendo parte de uma
procedure in-stream ou catalogada.
stepname
Indica que o sistema deve iniciar o processamento do job da etapa
referenciada pelo nome no parâmetro stepname.
stepname.procstepname
- 50 -
Indica que o sistema deve iniciar o job do início de uma etapa em uma
procedure catalogada ou in-stream.
checkid
Indica o nome de um checkpoint pelo qual o sistema deve reiniciar a
execução do job.
16.22.3 Exemplos
Exemplo 1
Exemplo 2
Exemplo 2
- 51 -