JCL3
JCL3
JCL3
1
I N D I C E
+ I N D I C E
+ I N D I C E
PAG 00 - COMENTARIO
PAG 01 - JCL - INTRODUCAO
PAG 02 - REGRAS BASICAS - FORMATO DOS COMANDOS JOB, EXEC E DD
PAG 03 - COMANDOS DO JOB - ACCOUNT E PROGRAMMER'S NAME (POSICIONAIS)
PAG 04 - COMANDOS DO JOB - REGION, COND, CLASS (PALAVRA CHAVE)
PAG 05 - IDEM - MSGCLASS E MSGLEVEL
PAG 06 - IDEM - PASSWORD, USER, NOTIFY, TYPRUN
PAG 07 - CAMPO DE COMENTARIO
PAG 08 - JOBLIB (COMANDO DD ESPECIAL)
PAG 09 - COMANDO EXEC - PROC E PGM (POSICIONAIS) E PARM (P.CHAVE)
PAG 10 - COMANDO EXEC - COND E DYNAMNBR
PAG 11 - COMANDO DD - DUMMY E * (POSICIONAIS)
PAG 12 - COMANDO DD - DATA E DYNAM (POSICIONAIS) - ARQUIVOS ESPECIAIS
PAG 13 - COMANDO DD - ARQUIVOS ESPECIAIS - CONTINUACAO
PAG 14 - COMANDO DD - DISP (P. CHAVE, C/SUBPARAMETROS POSICIONAIS)
PAG 15 - COMANDO DD - DISP - CONTINUACAO
PAG 16 - COMANDO DD - DISP (CONTINUACAO) E DSN
PAG 17 - COMANDO DD - DSN (CONTINUACAO) E DCB
PAG 18 - COMANDO DD - DCB (CONTINUACAO) E SPACE
PAG 19 - COMANDO DD - SPACE (CONTINUACAO)
PAG 20 - COMANDO DD - SPACE (CONTINUACAO)
PAG 21 - COMANDO DD - LABEL E UNIT
PAG 22 - COMANDO DD - UNIT (CONTINUACAO) E VOLUME
PAG 23 - COMANDO DD - SYSOUT - FLUXO DE SAIDA
PAG 24 - COMANDO DD - SYSOUT - FLUXO DE SAIDA (CONTINUACAO)
PAG 25 - TABELA SIMPLIFICADA DE PARAMETROS REQUERIDOS
PAG 26 - OBSERVACOES SOBRE A TABELA DE PARAMETROS REQUERIDOS
PAG 27 - REFER-BACKS NO COMANDO DD (DCB)
PAG 28 - REFER-BACKS NO COMANDO DD (DSN E VOL)
PAG 29 - REFER-BACKS NO COMANDO DD - EXEMPLO
PAG 30 - USO DO OPTCD=B E DA CONCATENACAO DE ARQUIVOS
PAG 31 - DICAS SOBRE A CONCATENACAO
PAG 32 - EXEMPLO DE CONCATENACAO
PAG 33 - OUTROS COMANDOS DA JCL (COMMAND, COMMENT E NULL)
PAG 34 - OUTROS COMANDOS DA JCL - OUTPUT
PAG 35 - PROCEDURES
PAG 36 - EXEMPLO DE UM JOB POSTERIORMENTE TRANSFORMADO EM PROCEDURE
PAG 37 - COMO TRANSFORMAR UM JOB EM PROCEDURE - INICIO DO EXEMPLO
PAG 38 - COMO TRANSFORMAR UM JOB EM PROCEDURE - FIM DO EXEMPLO
PAG 39 - COMANDO PROC
PAG 40 - PROCEDURE 'IN STREAM' - INICIO DO EXEMPLO
PAG 41 - PROCEDURE 'IN STREAM' - FIM DO EXEMPLO
PAG 42 - PROCEDURE CATALOGADA E DICA SOBRE O PARAMETRO PROC
PAG 43 - COMO MANDAR EXECUTAR UMA PROCEDURE CATALOGADA
PAG 44 - COMO RETOMAR UM JOB SEM PROCEDURE DO SEU PONTO DE RESTART
PAG 45 - COMO RETOMAR UM JOB COM PROCEDURE DO SEU PONTO DE RESTART
PAG 46 - EXEMPLO DE RESTART EM JOB COM PROCEDURE
PAG 47 - OVERRIDE DE COMANDO EXEC
PAG 48 - OVERRIDE DE COMANDO DD
PAG 49 - OVERRIDE DE COMANDO DD (CONTINUACAO)
PAG 50 - OVERRIDE DE ARQUIVOS DD CONCATENADOS
PAG 51 - OVERRIDE DE ARQUIVOS DD CONCATENADOS - CONTINUACAO
PAG 52 - OVERRIDE DE ARQUIVOS DD CONCATENADOS - FINAL
PAG 53 - ABORDAGEM FINAL DO PARAMETRO COND
1
0 ROTEIRO PARA O CURSO DE JCL - SUPRO BRASILIA
+ ROTEIRO PARA O CURSO DE JCL - SUPRO BRASILIA
+ ROTEIRO PARA O CURSO DE JCL - SUPRO BRASILIA
0 ESTE MATERIAL TEM O OBJETIVO DE SERVIR DE ROTEIRO PARA O TREINA-
MENTO INTERNO NO CEDIP BRASILIA, PARA FUNCIONARIOS DO SUPRO.
0 A PRINCIPAL FONTE DE PESQUISA FOI O MANUAL DE JCL DE AUTORIA DE
ROMILDO GOUVEIA PINTO. COM A AUTORIZACAO DO AUTOR, VARIOS TOPICOS FO-
RAM TRANSCRITOS. NA MAIORIA DOS CASOS HOUVE PEQUENAS ALTERACOES, TAM-
BEM AUTORIZADAS, DECORRENTES DO FATO DE O MANUAL NAO ESTAR INTEIRA-
MENTE ATUALIZADO.
TAMBEM FOI FONTE DE CONSULTA O LIVRO JCL - SISTEMA/370, DE G.
DEWARD BROWN.
PARA FECHAMENTO FORAM CONSULTADOS OS MANUAIS MVS/EXTENDED
ARCHITETURE - JCL REFERENCE - GC28-1252-4 E MVS/EXTENDED
JCL USER'S GUIDE - GC28-1351-4, DA IBM, DISPONIVEIS NA BIBLIOTECA
DO CEDIP.
0 NESTE TRABALHO NAO ESTAO INCLUIDOS TODOS OS COMANDOS DE JCL. NOS
COMANDOS INCLUIDOS NAO ESTAO DESCRITOS TODOS OS PARAMETROS E NOS
PARAMETROS RELACIONADOS NAO ESTAO CONTIDOS TODOS OS SUBPARAMTROS.
MESMO ASSIM, SEGURAMENTE ESTAO CONTEMPLADOS MAIS DE 90% DOS RECURSOS
DE JCL QUE HOJE UTILIZAMOS NO BANCO DO BRASIL.
0 BRASILIA, 30 DE MAIO DE 1993
0 RANILSON - ANALISTA DE OSM DO CEDIPBSB/SUPRO/APROD-1.
1 01
JCL - JOB CONTROL LANGUAGE - INTRODUCAO
+ JCL - JOB CONTROL LANGUAGE - INTRODUCAO
+ JCL - JOB CONTROL LANGUAGE - INTRODUCAO
0 PARA QUALQUER PROCESSAMENTO BATCH EM UM SISTEMA OPERACIONAL IBM
EH OBRIGATORIO O USO DE UMA UNIDADE DE SERVICO DENOMINADA JOB. O
JOB EH ELABORADO COM COMANDOS DE JCL. OS COMANDOS TAMBEM SAO CHAMA-
DOS DE INSTRUCOES OU CARTOES DE JCL.
0 JCL EH UMA LINGUAGEM DE SUPORTE. FAZ A COMUNICACAO ENTRE OS PRO-
GRAMAS DO USUARIO E O SISTEMA OPERACIONAL.
0 EXISTEM TREZE COMANDOS DE JCL. OS PRINCIPAIS SAO: JOB, EXEC E
DD.
0 O SERVICO COMO UM TODO EH TRATADO PELO COMANDO JOB. NELE SAO PAS-
SADAS INFORMACOES GERAIS SOBRE O SERVICO. NO BANCO DO BRASIL A UTILI-
ZACAO DO COMANDO JOB EH RIGIDAMENTE NORMATIZADA E, EM SUA GRANDE MAIO-
RIA, OS PARAMETROS SAO FORNECIDOS AUTOMATICAMENTE PELO CONTROL M.
0 AO SER SUBMETIDO UM JOB ESTE EH INTERCEPTADO PELO JES2 QUE TESTA A
SUA SINTAXE E, SE CORRETA, MONTA AS TABELAS PARA USO DO SISTEMA OPE-
RACIONAL.
0 O COMANDO EXEC (EXECUTE) DEFINE CADA UM DOS PROGRAMAS QUE SERAO EXE-
CUTADOS POR UM JOB. PODE, TAMBEM, APONTAR UMA PROCEDURE A SER EXECU-
TADA.
0 O COMANDO DD - DEFINICAO DE DADOS - FORNECE AS CARACTERISTICAS DE
CADA ARQUIVO, COMO TIPO DE UNIDADE E MEIO MAGNETICO ONDE SERAO ARMA-
ZENADOS OS DADOS, AREAS ALOCADAS EM DISCO ETC.
0 RESUMINDO, CADA SERVICO SE COMPOE, NECESSARIAMENTE, DE UM UNICO CO-
MANDO JOB, UM COMANDO EXEC PARA CADA PROGRAMA A SER EXECUTADO E TAN-
TOS COMANDOS DD QUANTOS FOREM OS ARQUIVOS UTILIZADOS.
1 02
0 REGRAS BASICAS - FORMATO DOS COMANDOS JOB EXEC E DD
+ REGRAS BASICAS - FORMATO DOS COMANDOS JOB EXEC E DD
+ REGRAS BASICAS - FORMATO DOS COMANDOS JOB EXEC E DD
0 TODOS OS COMANDOS DE JCL, A EXCECAO DO DELIMITADOR, COMECAM COM
// NAS COLUNAS 1 E 2. O DELIMITADOR COMECA POR /*. OS COMANDOS
JOB, EXEC E DD, APOS O //, TEM OS CAMPOS DE NOME, OPERACAO, OPERANDOS
E, OPCIONALMENTE, COMENTARIO.
0 OS COMANDOS JOB, EXEC E DD PODEM SER CODIFICADOS ATE A COLUNA 71,
COM EXCECAO DO CAMPO COMENTARIO QUE PODE SER CODIFICADO ATEH A COLUNA
80, DESDE QUE NAO UTILIZE A COLUNA 72.
0 FORMATO DOS COMANDOS:
123
//NOME OPERACAO OPERANDOS COMENTARIO
EXEMPLOS:
1-//DEBD010 JOB ('DEB920319','ROTINA DIARIA'),TSO.SP3299,CLASS=D
2-//DEBD010 JOB ('DEB920319','DIARIA'),TSO.SP3299,CLASS=D *TESTE*
3-//DEBD010 JOB ('DEB920319','DIARIA'),TSO.SP3299,CLASS=D *TESTE*
0 A EXISTENCIA DE UM OU VARIOS BRANCOS APOS UM CAMPO INDICA O SEU FIM.
DITO DE OUTRA FORMA, OS CAMPOS SAO SEPARADOS POR, NO MINIMO, UM BRAN-
CO.
0 O CAMPO DE NOME COMECA, OBRIGATORIAMENTE, NA COLUNA TRES, IMEDIATA-
MENTE APOS O //. PODE TER DE UM A OITO CARACTERES ALFANUMERICOS OU
NATIONAL (@-ARROBA, #-JOGO DA VELHA OU $-DOLAR), SENDO O PRIMEIRO
OBRIGATORIAMENTE ALFABETICO OU NATIONAL.
0 O CAMPO DE OPERACAO ESPECIFICA O COMANDO: JOB, EXEC, DD ETC.
0 O CAMPO DE OPERANDOS CONTEM PARAMETROS. OS PARAMETROS SAO SEPARA-
DOS POR VIRGULA E SE COMPOEM DE DOIS TIPOS: POSICIONAIS E DE PALAVRA
-CHAVE. O PARAMETRO POSICIONAL EH RECONHECIDO PELA POSICAO RELATIVA
QUE OCUPA NO CAMPO. O PARAMETRO KEYWORD OU DE PALAVRA CHAVE EH RECO-
NHECIDO PELO USO DA PALAVRA CHAVE SEGUIDA DO SINAL IGUAL, PODENDO SER
CODIFICADO EM QUALQUER POSICAO DENTRO DO CAMPO.
0 O CAMPO DE COMENTARIO EH OPCIONAL. SERA CODIFICADO APOS O CAMPO DE
OPERANDOS E NAO SERA TRATADO PELO SISTEMA OPERACIONAL.
0 CONTINUACAO DOS COMANDOS DE JCL - A CONTINUACAO DE UM COMANDO SE
DA APOS A CODIFICACAO DE UM PARAMETRO OU SUBPARAMETRO COMPLETO. O
CARTAO DE CONTINUACAO TERA // NAS COLUNAS 1 E 2 E COMECARA ENTRE AS
COLUNAS 4 E 16, INCLUSIVE. EMBORA NAO OBRIGATORIO E NAO UTILIZADO NO
BB, QUALQUER CARACTERE NAO BRANCO DIGITADO NA COLUNA 72 INDICA QUE HA-
VERA CONTINUACAO DO COMANDO. ESSA EH A RAZAO PELA QUAL O COMENTARIO,
QUE PODE SER CODIFICADO ATE A COLUNA 80, NAO PODE UTILIZAR A COLUNA
72.
1 03
0 C O M A N D O J O B - ACCOUNT E PROGRAMMER'S NAME
+ C O M A N D O J O B - ACCOUNT E PROGRAMMER'S NAME
+ C O M A N D O J O B - ACCOUNT E PROGRAMMER'S NAME
0 COMO JA DITO ANTERIORMENTE, O COMANDO JOB NO BANCO DO BRASIL EH U-
TILIZADO SOB REGRAS CLARAMENTE ESPECIFICADAS. A PRESENTE ABORDAGEM LI-
MITAR-SE-A AOS PARAMETROS POR NOS UTILIZADOS.
0 CAMPOS DO COMANDO JOB:
123
//NOME OPERACAO OPERANDOS COMENTARIO
//DEBD010 JOB ('DEB920319','DIARIA'),TSO.SP3299,CLASS=D *TESTE*
0 O NOME DE UM JOB DE PRODUCAO EH COMPOSTO DO MODO ABAIXO.
COLUNAS 3 A 5 (TRES PRIMEIROS CARACTERES DO NOME): SIGLA DO SISTEMA.
COLUNA 6: INDICADOR DE PERIODICIDADE DE EXECUCAO DA ROTINA. COLUNAS
7 A 9: PARTE NUMERICA DA PROCEDURE. COLUNA 10: INDICADOR DE GRUPO,
NOS SISTEMAS QUE USAM ESSE RECURSO, OU DE FORMATACAO (F).
0 ATE A COLUNA 6 A PADRONIZACAO EH RIGIDA.OS QUATRO PRIMEIROS CARACTE-
RES SERAO SEMPRE, EM UM JOB DE PRODUCAO, A SIGLA DO SISTEMA MAIS O
INDICADOR DE PERIODICIDADE (DEBD, DEBE, CBRW, FPAM ETC).
DA COLUNA 07 A 10 A PADRONIZACAO EH FLEXIVEL, PARA ATENDER A CARAC-
TERISTICAS ESPECIAIS DE JOBS DE FORMATACAO DE RELATORIOS.
EXEMPLOS:
//DEBD0601 (SISTEMA DEB, PERIODICIDADE DIARIA, PROCEDURE PDEBD060,
GRUPO 1).
//CBRE030 (SISTEMA CBR, EVENTUAL, PROCEDURE PCBRE030)
//DEBD6571 (SISTEMA DEB, DIARIA, FORMATACAO DO ARQUIVO DEB657 DO
GRUPO 1).
//CBRD110C (SISTEMA CBR, DIARIA, FORMATACAO DE PARTE DOS ARQUIVOS
GERADOS PELA PCBRD110).
//FGAD010F (SISTEMA FGA, DIARIA, FORMATACAO DE TODOS OS RELATORIOS
GERADOS PELA PFGAD010).
OBS.: O NOME COMECA SEMPRE NA COLUNA TRES, IMEDIATAMENTE APOS O //.
0 CAMPO DA OPERACAO: SEMPRE JOB
EXEMPLOS:
//DEBD0601 JOB
//CBRE030 JOB
0 CAMPO DOS OPERANDOS: SEPARADO DA OPERACAO POR,NO MINIMO,UM BRANCO.
0 CONTERA PARAMETROS POSICIONAIS E DE PALAVRA-CHAVE. OS POSICIONAIS
SAO DOIS: ACCOUNT E PROGRAMMER'S NAME. VARIOS SAO OS DE PALAVRA-
CHAVE.
0 ACCOUNT - EH O PRIMEIRO POSICIONAL. SERVE PARA PASSAR INFORMACOES
+ ACCOUNT
+ ACCOUNT
DE CONTABILIDADE E UTILIZA UM MAXIMO DE 142 CARACTERES. NO BANCO
EH UTILIZADO COM O PADRAO (SSSDATAMOV,DESCRICAO) ONDE:
+ (SSSDATAMOV,DESCRICAO)
SSS - SIGLA DO SISTEMA - FGA, CBR, EDG ETC.
DATAMOV - DATA DO MOVIMENTO, NO FORMATO AAMMDD. PARA O CONTROL M
NORMALMENTE EH FORNECIDO %%ODATE, VARIAVEL QUE O SOFTWARE SUBS-
TITUIRA PELA DATA DO MOVIMENTO AO DISPONIBILIZAR O JOB PARA EXE-
CUCAO.
DESCRICAO - DESCRICAO SUCINTA DA FINALIDADE DO JOB.
0 PROGRAMMER'S NAME: SEGUNDO E ULTIMO POSICIONAL DO JOB. PODE CONTER
+ PROGRAMMER'S NAME:
+ PROGRAMMER'S NAME:
NO MAXIMO 20 CARACTERES. NO BANCO, QUANDO USADO O CONTROL M, EH
AUTOMATICAMENTE PREENCHIDO COM CTM.CHAVE (A CHAVE EH OBTIDA NO
SCHEDULE FILE). FORA DO CONTROL M DEVE SER INFORMADO TSO.CHAVE.
1 04
0 C O M A N D O J O B CONTINUACAO - REGION, COND E CLASS
+ C O M A N D O J O B CONTINUACAO - REGION, COND E CLASS
+ C O M A N D O J O B CONTINUACAO - REGION, COND E CLASS
0 EXEMPLO:
//DEBD0602 JOB ('DEB920331',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),TSO.SP3299
0 - PARAMETROS DE PALAVRA-CHAVE UTILIZADOS NO BANCO DO BRASIL
0 REGION - MEMORIA QUE SERA ALOCADA PARA CADA UM DOS PROGRAMAS
+ REGION
+ REGION
QUE COMPOEM O JOB. A RECOMENDACAO EH UTILIZAR 4M. SO
EM RARISSIMOS CASOS DE PROGRAMAS ESPECIAIS QUE CONSOMEM
MUITA MEMORIA SAO UTILIZADOS 8M. O PARAMETRO SERA OBRIGA-
TORIAMENTE INFORMADO POR QUEM PREPARA O JOB.
FORMATO: REGION=NNNNK OU REGION=NNNNM
OBS.: O PARAMETRO REGION TAMBEM PODE SER CODIFICADO NO COMANDO EXEC.
QUANDO UTILIZADO NO JOB PREVALECE SOBRE A CODIFICACAO DO EXEC.
0 COND - SAO FORNECIDAS CONDICOES EM RELACAO AOS RETURN-CODE EMITIDOS
+ COND
+ COND
PELOS PROGRAMAS. ATENDIDA UMA DAS CONDICOES ESTABELECIDAS NO
COMANDO JOB O SERVICO SERA INTERROMPIDO.
COMPARACOES QUE PODEM SER CODIFICADAS:
GT - MAIOR DO QUE GE - MAIOR DO QUE OU IGUAL
EQ - IGUAL LT - MENOR DO QUE
LE - MENOR OU IGUAL NE - DIFERENTE
FORMATO: ((COND1),(COND2),(COND3),(COND4)...,(COND8))
0 PODEM SER CODIFICADAS ATE OITO CONDICOES. O PARAMETRO TAMBEM EH USA-
DO NO COMANDO EXEC. NO COMANDO JOB UTILIZAMOS, NO BANCO, QUASE QUE
EXCLUSIVAMENTE A CONDICAO EQ (IGUAL).
AS INFORMACOES FORNECIDAS NO COND DO JOB SAO, NORMALMENTE, EXTRAIDAS
DA DOCUMENTACAO DA PROCEDURE, NA DOCLIB. USUALMENTE UTILIZAMOS:
COND=((888,EQ),(16,EQ),(12,EQ)). ISSO SIGNIFICA QUE SE QUALQUER PRO-
GRAMA EMITIR RC 888 OU 16 OU 12 O JOB SERA INTERROMPIDO. RAZOES:
888 - OS PROGRAMAS DO BANCO, POR NORMA, EMITEM RC 888 QUANDO DE-
TECTADA SITUACAO DE ANORMALIDADE.
16 - RC EMITIDO POR PROGRAMAS UTILITARIOS DA IBM EM CASO DE ABEND.
12 - RC EMITIDO POR PROGRAMAS UTILITARIOS DA IBM E PELO EASYTREAV
QUANDO OCORRE FIM ANORMAL.
EXEMPLO:
//DEBD0602 JOB ('DEB920331',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),TSO.SP3299,
// REGION=4M,COND=((888,EQ),(16,EQ),(12,EQ))
CABE A QUEM PREPARA O JOB INFORMAR AS CONDICOES PARA INTERRUPCAO DO
PROCESSAMENTO.
0 CLASS - PODE SER QUALQUER CARACTERE DE A A Z OU DE 0 A 9. ESPECIFI-
+ CLASS
+ CLASS
CA A CLASSE QUE O JOB OCUPARA NA FILA DE ENTRADA DO SISTEMA.
NO BANCO, O JOB SO SERA EXECUTADO QUANDO HOUVER DISPONIBILIDADE DE
INITIATOR ASSOCIADO AA CLASSE INFORMADA.
FORMATO: CLASS='CLASSE'
NOSSA INSTALACAO DEFINIU A CLASSE D PARA OS JOBS DE PRODU-
CAO. O CONTROL M FORNECE AUTOMATICAMENTE O PARAMETRO. SO EH NECES-
SARIO INFORMA-LA SE O JOB FOR SUBMETIDO FORA DO CONTROL M.
EXEMPLO:
//DEBD0602 JOB ('DEB920331',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),TSO.SP3299,
// COND=((888,EQ),(16,EQ),(12,EQ)),CLASS=D,REGION=4M
1 05
0 C O M A N D O J O B CONTINUACAO - MSGCLASS E MSGLEVEL
+ C O M A N D O J O B CONTINUACAO - MSGCLASS E MSGLEVEL
+ C O M A N D O J O B CONTINUACAO - MSGCLASS E MSGLEVEL
0 MSGCLASS - CLASSE DE SAIDA DAS MENSAGENS RELATIVAS AA EXECUCAO DO
+ MSGCLASS
+ MSGCLASS
JOB. PODE SER QUALQUER CARACTERE DE A A Z OU DE 0 A 9.
0 USAMOS, NO BANCO, ALGUNS TIPOS DE CLASSE DE SAIDA PRIVATIVOS:
P - INDICA QUE A SAIDA SERA CAPTURADA PELO PRIMA.
R - INDICA QUE A SAIDA FICARA HOLD, DISPONIVEL PARA O ROSCOE.
T - INDICA QUE A SAIDA FICARA HOLD, DISPONIVEL PARA O TSO.
0 EM JOB SUBMETIDO PELO CONTROL M O PARAMETRO EH FORNECIDO AUTOMATICA-
MENTE, COM MSGCLASS=T. SE NENHUMA CONDICAO DE ERRO FOR DETECTADA NA
CONFERENCIA AUTOMATICA DA 'SYSOUT', A CLASSE DE SAIDA SERA MODIFICA-
DA PARA P, DESTINANDO AS MENSAGENS DE EXECUCAO DO JOB (SYSOUT) A AR-
MAZENAMENTO NO PRIMA. HAVENDO ERRO, E' MANTIDA A CLASSE T E A SYSOUT
PERMANECE HOLD, DEPENDENDO DE COMANDO MANUAL PARA ALTERAR ESSA CON-
DICAO.
0 QUANDO SUBMETIDO JOB FORA DO CONTROL M O MSGCLASS DEVERA SER FORNE-
NECIDO. OMITIDO, SERA ASSUMIDA A CLASSE A, DEFAULT, E A SYSOUT SERA
IMPRESSA. FORNECER MSGCLASS=P, PARA ARMAZENAMENTO NO PRIMA, OU
MSGCLASS=T, QUE MANTERA A SYSOUT HOLD, DEPENDENDO DE COMANDO MANUAL
PARA ARMAZENAMENTO NO PRIMA OU LISTAGEM.
EXEMPLO DE UTILIZACAO DO MSGCLASS
//DEBD0602 JOB ('DEB920331',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),TSO.SP3299,
// REGION=4M,COND=((888,EQ),(16,EQ),(12,EQ)),CLASS=D,MSGCLASS=T
IMPORTANTE - DUAS CLASSES NAO DEVEM SER INFORMADAS: X E Z
+ IMPORTANTE - X Z
+ IMPORTANTE - X Z.
COM MSGCLASS=X AS MENSAGENS SERAO ARMAZENADAS NO LOG DO SISTEMA.
INFORMADO MSGCLASS=Z AS MENSAGENS PODERAO SER PERDIDAS.
MSGLEVEL - DETERMINA O NIVEL DE MENSAGENS FORNECIDAS PELO SISTEMA
+ MSGLEVEL
+ MSGLEVEL
SOBRE A EXECUCAO DO SERVICO. TEM DOIS SUBPARAMETROS PO-
SICIONAIS. FORMATO: MSGLEVEL=(N,M).
0 PRIMEIRO SUBPARAMETRO - MENSAGENS DE JCL
0 - IMPRIME SOMENTE O COMANDO JOB.
1 - IMPRIME TODA JCL DA CHAMADA DO SERVICO E DA PROCEDURE CATALOGA-
DA QUE O JOB EXECUTA.
2 - IMPRIME SOMENTE A JCL DA CHAMADA.
0 SEGUNDO SUBPARAMETRO - MENSAGENS DE ALOCACOES
0 - SO IMPRIME MENSAGENS DE ALOCACAO QUANDO HOUVER ABEND (ABREVIATU-
RA DE ABNORMAL END - FIM ANORMAL).
1 - IMPRIME SEMPRE AS MENSAGENS DE ALOCACAO.
0 SE NAO INFORMADO, ASSUME (DEFAULT) MSGCLASS=(0,1). NO BANCO EH DEFI-
NIDO O USO DE MSGLEVEL=(1,1), IMPRIMINDO TODA A JCL DA CHAMADA E DA
PROCEDURE CATALOGADA E AS MENSAGENS DE ALOCACAO.
A CODIFICACAO HABITUALMENTE USADA EH MSGLEVEL=1, ASSUMINDO
MSGLEVEL=(1,1) - VIDE DEFAULT.
0 O PARAMETRO EH CODIFICADO AUTOMATICAMENTE PELO CONTROL M. QUANDO O
JOB FOR SUBMETIDO FORA DO CONTROL M INFORMAR MSGLEVEL=1
EXEMPLO:
//DEBD0602 JOB ('DEB920331',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),TSO.SP3299,
// COND=((888,EQ),(16,EQ),(12,EQ)),CLASS=D,MSGCLASS=T,MSGLEVEL=1,
// REGION=4M
1 06
0 C O M A N D O J O B CONTINUACAO - NOTIFY, TYPRUN
+ C O M A N D O J O B CONTINUACAO - NOTIFY, TYPRUN
+ C O M A N D O J O B CONTINUACAO - NOTIFY, TYPRUN
0 PASSWORD E USER - SAO CODIFICADOS NO COMANDO JOB PARA DAR ACESSO
+ PASSWORD E USER
A ARQUIVO PROTEGIDO PELO RACF. ATUALMENTE NAO HA NECESSIDADE
DE INFORMA-LOS EM JOB DE PRODUCAO SUBMETIDO FORA DO CONTROL M.
O CONTROL M CODIFICA AUTOMATICAMENTE OS DOIS PARAMETROS, DA SEGUIN-
TE FORMA: PASSWORD=,USER=CONTRLM.
0 PASSWORD - FORNECE UMA SENHA ATUAL DO RACF. TAMBEM PODE SER UTILIZA-
+ PASSWORD
DO PARA MUDAR UMA SENHA: PASSWORD=(SENHA-ANTIGA,SENHA NOVA).
0 USER - IDENTIFICA O USUARIO. TEM DE 1 A 7 CARACTERES ALFANUMERI-
+ USER
COS OU NATIONAL, SENDO O PRIMEIRO ALFABETICO OU NATIONAL.
EXEMPLO:
//DEBD0602 JOB ('DEB920331',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),CTM.SP3299,
// COND=((888,EQ),(16,EQ),(12,EQ)),CLASS=D,MSGCLASS=T,MSGLEVEL=1,
// REGION=4M,PASSWORD=,USER=CONTRLM
IMPORTANTE: SOB O CONTROL M A PREPARACAO DO JOB SERIA:
+ IMPORTANTE: CONTROL M
+ IMPORTANTE: CONTROL M
//DEBD0602 JOB ('DEB%%ODATE',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),
// COND=((888,EQ),(16,EQ),(12,EQ)),REGION=4M
O SOFTWARE SUBSTITUIRA A VARIAVEL %%ODATE PELA DATA DO MOVIMENTO E
FORNECERA OS PARAMETROS PROGRAMMER'S NAME, CLASS,MSGCLASS,MSGLEVEL,
PASSWORD E USER.
0 NOTIFY - OPCIONAL. USADO PARA NOTIFICAR UM USUARIO DO TSO DO FIM
+ NOTIFY
DE UM JOB. SE O USUARIO NAO ESTIVER LOGADO AO FIM DO SER-
VICO A MENSAGEM SERA GUARDADA E ENVIADA QUANDO INICIAR A SESSAO.
FORMATO: NOTIFY=USER. NAO ACEITO EM JOB SUBMETIDO PELO CONTROM M.
EXEMPLO:
//DEBD0602 JOB ('DEB920331',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),TSO.SP3299,
// COND=((888,EQ),(16,EQ),(12,EQ)),CLASS=D,MSGCLASS=T,MSGLEVEL=1,
// REGION=4M,PASSWORD=,USER=CONTRLM,NOTIFY=SP3299
0 TYPRUN - PODE SER UTILIZADO DE DUAS FORMAS: TYPRUN=SCAN E
+ TYPRUN
TYPRUN=HOLD. NO PRIMEIRO CASO EH TESTADA A CORRECAO
DA JCL, SEM QUE O JOB SEJA EXECUTADO. NO SEGUNDO, O JOB FICA PRESO,
SO SENDO ATIVADO ATRAVES DE COMANDO ESPECIFICO. JOBS SCHEDULADOS
PELO CONTROL M NAO DEVEM CONTER TYPRUN=HOLD. TYPRUN=SCAN PODE SER
USADO PARA TESTAR A JCL, FORA DO CONTROL M, ANTES DE COLOCAR UM
JOB EM PRODUCAO. HOJE NORMALMENTE O TESTE EH FEITO COM RECURSOS
DO CONTROL-M (AUTO EDIT SIMULATION), VALIDANDO, ALEM DA SINTAXE
DOS COMANDOS DE JCL, AS INSTRUCOES PARA AUTOEDICAO DO PROPRIO
CONTROL M.
EXEMPLO COM O USO DE SCAN:
//DEBD0602 JOB ('DEB920331',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),CTM.SP3299,
// COND=((888,EQ),(16,EQ),(12,EQ)),CLASS=D,MSGCLASS=T,MSGLEVEL=1,
// REGION=4M,NOTIFY=SP3299,TYPRUN=SCAN
OBSERVACAO: HA ERROS DE JCL QUE NAO SAO DETECTADOS COM O USO DO
SCAN.
0 ESSES SAO OS PARAMETROS DE PALAVRA CHAVE UTILIZADOS NO BANCO. NAO
FORAM MENCIONADOS OS QUE NAO USAMOS ATUALMENTE.
1 07
0 C O M A N D O J O B CONTINUACAO - COMENTARIO
+ C O M A N D O J O B CONTINUACAO - COMENTARIO
+ C O M A N D O J O B CONTINUACAO - COMENTARIO
0 CAMPO COMENTARIO - CODIFICADO APOS CONCLUIDO OU INFORMADA A CON-
+ CAMPO COMENTARIO
TINUACAO DO CAMPO OPERANDOS E DELE SEPARADO POR, NO MINIMO, UM
BRANCO. ENQUANTO OS OUTROS CAMPOS SO PODEM SER CODIFICADOS ATE'
A COLUNA 71 O DE COMENTARIO PODE IR ATE A COLUNA OITENTA, DESDE
QUE NAO UTILIZE A COLUNA 72.
EXEMPLO:
//DEBD0602 JOB ('DEB920331',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),CTM.SP3299,
// COND=((888,EQ),(16,EQ),(12,EQ)),CLASS=D,MSGCLASS=T,MSGLEVEL=1,
// REGION=4M,NOTIFY=SP3299,TYPRUN=SCAN TESTE DE JCL DO DEBD0602
1 08
0 J O B L I B - C O M A N D O D D E S P E C I A L
+ J O B L I B - C O M A N D O D D E S P E C I A L
+ J O B L I B - C O M A N D O D D E S P E C I A L
0 A IBM DEFINE QUE TODOS OS PROGRAMAS POR ELA FORNECIDOS, COMO COMPI-
LADORES, EDITOR DE LIGACAO E PROGRAMAS DE SERVICO, FICARAO NA BIBLIO-
TECA DO SISTEMA CHAMADA SYS1.LINKLIB. UM CPD PODE ARMAZENAR SEUS PRO-
PRIOS PROGRAMAS NA SYS1.LINKLIB OU CRIAR BIBLIOTECAS PARTICULARES
PARA GUARDA-LOS.
O CPD PODE DEFINIR AS BIBLIOTECAS ONDE O SISTEMA OPERACIONAL IRA PRO-
CURAR OS PROGRAMAS PARA CARGA E EM QUE ORDEM ELAS SERAO PESQUISADAS.
0 O BANCO UTILIZA BIBLIOTECAS PARTICULARES PARA ARMAZENAMENTO DOS SEUS
PROPRIOS PROGRAMAS. ALGUMAS DELAS, COMO A CPDLIB, NAO ESTAO DEFINI-
DAS PARA BUSCA AUTOMATICA DE PROGRAMAS. ESSA BIBLIOTECA, EM 31.03.92,
NO CEDIP BRASILIA, TINHA 5.779 MEMBROS. EM CONSEQUENCIA, TEM ELEVADO
NIVEL DE UTILIZACAO.
0 O COMANDO DD JOBLIB EH UTILIZADO PARA INDICAR AO SISTEMA OPERACIONAL
EM QUE BIBLIOTECA, OU BIBLIOTECAS, DEVE PROCURAR INICIALMENTE OS
PROGRAMAS CONSTANTES DE UM JOB ESPECIFICO. NESTE CASO, AS BIBLIOTE-
CAS DE BUSCA AUTOMATICA SOH SERAO PESQUISADAS SE OS PROGRAMAS NAO
FOREM ENCONTRADOS NAS INDICADAS ATRAVES DO JOBLIB.
0 EH CODIFICADO IMEDIATAMENTE APOS O COMANDO JOB.
FORMATO: //JOBLIB DD DSN=BIBLIOTECA,DISP=SHR
EXEMPLO:
//DEBD0602 JOB ('DEB920331',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),TSO.SP3299,
// COND=((888,EQ),(16,EQ),(12,EQ)),CLASS=D,MSGCLASS=T,MSGLEVEL=1,
// REGION=4M,NOTIFY=SP3299
//JOBLIB DD DSN=CPDLIB,DISP=SHR
+ //JOBLIB DD DSN=CPDLIB,DISP=SHR
+ //JOBLIB DD DSN=CPDLIB,DISP=SHR
1 09
0 C O M A N D O E X E C - PGM PROC E PARM
+ C O M A N D O E X E C
+ C O M A N D O E X E C
0 OS CAMPOS DO COMANDO EXEC SAO IDENTICOS AOS DO COMANDO JOB. PELAS
REGRAS DA JCL A CODIFICACAO DO NOME EH OPCIONAL. NA PRATICA ELE DE-
VE SER SEMPRE FORNECIDO: A SUA OMISSAO PODE TRAZER SERIOS PROBLEMAS,
COMO VEREMOS AO ESTUDAR OVERRIDE E REFERBACK.
0 CAMPOS DO COMANDO EXEC
123
//NOME OPERACAO OPERANDOS COMENTARIO
//FGA060 EXEC PGM=FGA060,COND=(1,NE,FGA050) *TESTE*
0 CAMPO NOME: COMECA OBRIGATORIAMENTE NA COLUNA 3, LOGO APOS O //,
E PODE CONTER DE 01 A 08 CARACTERES ALFANUMERICOS OU NATIONAL.
O PRIMEIRO CARACTERE SERA SEMPRE ALFABETICO OU NATIONAL.
0 O NOME, NO BANCO, EH GERALMENTE O DO PROGRAMA OU DA PROCEDURE IN-
DICADA. QUANDO O MESMO PROGRAMA EH EXECUTADO MAIS DE UMA VEZ EM
UMA PROCEDURE EH ADICIONADO UM CARACTERE PARA DIFERENCIACAO.
EXEMPLOS:
//CBR050 EXEC PGM=CBR050
//PDEBD060 EXEC PDEBD060
//SYS061A EXEC PGM=SYS061
//SYS061B EXEC PGM=SYS061
0 CAMPO DE OPERACAO: SEMPRE EXEC, SEPARADO DO NOME POR PELO MENOS
UM BRANCO. VER EXEMPLO ACIMA.
0 CAMPO DE OPERANDOS: SEPARADO DO DE OPERACAO POR PELO MENOS UM BRAN-
CO. CONTERA UM DOS DOIS PARAMETROS POSICIONAIS EXISTENTES E PODERA
CONTER PARAMETROS PALAVRA-CHAVE.
0 OS PARAMETROS POSICIONAIS SAO PGM E PROC. SAO MUTUAMENTE EXCLUDEN-
+ OS PARAMETROS POSICIONAIS SAO PGM E PROC
+ OS PARAMETROS POSICIONAIS SAO PGM E PROC
TES. O FORMATO EH: PGM=PROGRAMA E PROC=PROCEDURE. SE OMITIDO, SERA
ASSUMIDO PROC.
EXEMPLOS:
//FGA060 EXEC PGM=FGA060 SERA EXECUTADO O PROGRAMA FGA060
//PFGAD010 EXEC PROC=PFGAD010 SERA EXECUTADA A PROCEDURE PFGAD010
//PFGAD010 EXEC PFGAD010 SERA EXECUTADA A PROCEDURE PFGAD010
0 A CODIFICACAO DE PGM INDICA AO SISTEMA OPERACIONAL QUE DEVERA PES-
QUISAR AS BIBLIOTECAS DE PROGRAMAS.A CODIFICACAO DE PROC OU A OMIS-
SAO DO PARAMETRO INDICA AO SISTEMA OPERACIONAL QUE DEVERA PESQUISAR
AS BIBLIOTECAS DE PROCEDURES.
0 PARAMETROS DE PALAVRAS CHAVES DO EXEC, USADOS NO BANCO DO BRASIL.
+ PARAMETROS DE PALAVRAS CHAVES DO EXEC, USADOS NO BANCO DO BRASIL.
0 PARM - O CONTEUDO DA INFORMACAO A SER FORNECIDA EH DEFINIDO PELA
+ PARM
+ PARM
PROGRAMACAO. ESSAS INFORMACOES PODEM VARIAR DE UMA EXECUCAO DO
PROGRAMA PARA OUTRA.
EXEMPLOS:
//SYS067A EXEC PGM=SYS067,PARM=02X
//SYS067B EXEC PGM=SYS067,PARM=01C
NO PRIMEIRO CASO O PARM INFORMA AO PROGRAMA SYS067 QUE SERAO TRA-
TADOS DOIS ARQUIVOS DE ENTRADA (02) E QUE OS ARQUIVOS DEVERAO SER
COMPACTADOS PELOS X2 (X).
NO SEGUNDO, O PARM INFORMA QUE SERA TRATADO UM UNICO ARQUIVO (01)
E QUE NAO SERA UTILIZADA TECNICA DE COMPACTACAO (C).
1 10
0 C O M A N D O E X E C CONTINUACAO - COND E DYNAMNBR
+ C O M A N D O E X E C CONTINUACAO - COND E DYNAMNBR
+ C O M A N D O E X E C CONTINUACAO - COND E DYNAMNBR
0 COND - ESTABELECE DE UMA A OITO CONDICOES EM RELACAO A UM, ALGUNS
+ COND
+ COND
OU TODOS OS PASSOS ANTERIORES. AS CONDICOES SAO AS MESMAS DO
COMANDO JOB (GT,GE,EQ,LT,LE,NE). EXISTEM DOIS FORMATOS EXCLUSIVOS
PARA O EXEC: COND=ONLY E COND=EVEN. O PRIMEIRO SIGNIFICA QUE O
STEP ONDE CODIFICADO SO DEVE SER EXECUTADO EM CASO DE ABEND. O SE-
GUNDO INDICA QUE O STEP DEVE SER EXECUTADO MESMO QUE HAJA ABEND.
0 ALGUMAS DICAS SOBRE O PARAMETRO COND:
A - EXCETO NOS CASOS DE ONLY E EVEN, A(S) CONDICAO(ES) CODIFICADA(S)
SE REFERE(M) SEMPRE A UM RC EMITIDO POR PROGRAMA(S) ANTERIOR DO
MESMO JOB.O RC PODE SER UM NUMERO DE 0 A 4095.
B - A COMPARACAO EH FEITA, SEMPRE, DO VALOR CODIFICADO PARA O RC.
+ A COMPARACAO EH FEITA, SEMPRE, DO VALOR CODIFICADO PARA O RC.
+ A COMPARACAO EH FEITA, SEMPRE, DO VALOR CODIFICADO PARA O RC.
C - QUANDO A COMPARACAO EH VERDADEIRA O STEP NAO EH EXECUTADO.
MACETE PARA MEMORIZACAO: FF (FALSO FAZ).
D - CODIFICADA MAIS DE UMA CONDICAO BASTA QUE UMA DELAS SEJA SATIS-
FEITA PARA QUE O PASSO NAO SEJA EXECUTADO.
EXEMPLOS:
//DEBD099 JOB ('DEB920331',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),TSO.SP3299,
// COND=((888,EQ),(16,EQ),(12,EQ)),CLASS=D,MSGCLASS=T,MSGLEVEL=1,
// REGION=4M,NOTIFY=SP3299
//JOBLIB DD DSN=CPDLIB,DISP=SHR
//DEB995 EXEC PGM=DEB995
//DD01 DD OPERANDOS
//DDNN DD OPERANDOS
//DEB996 EXEC PGM=DEB996,COND=(5,GE,DEB995)
//DD01 DD OPERANDOS
//DDNN DD OPERANDOS
//DEB997 EXEC PGM=DEB997,COND=((5,GE,DEB995),(4,LT,DEB996))
//DD01 DD OPERANDOS
//DDNN DD OPERANDOS
0 CONSIDEREMOS QUE O PROGRAMA DEB995 EMITIU RC 8 E O DEB996 RC 6.
COMPARACAO: CINCO (VALOR CODIFICADO NA CONDICAO DO STEP DEB996)
EH MAIOR QUE OU IGUAL A OITO (RC EMITIDO PELO DEB995)? FALSO. A
CONDICAO NAO FOI SATISFEITA. O DEB996 SERA EXECUTADO.
0 DEB997 - COMPARACAO: 05 (PRIMEIRA CONDICAO NO DEB997) EH MAIOR QUE
OU IGUAL A 08? FALSO. POR ESSA CONDICAO O DEB997 SERA EXECUTADO.
2A. COMPARACAO: 04 (VALOR CODIFICADO NA 2A. CONDICAO DO STEP
DEB997) EH MENOR QUE 6 (RC EMITIDO PELO DEB996)? VERDADEIRO. O
STEP DEB997 NAO SERA EXECUTADO.
0 ATENCAO - A REGRA EH SIMPLES E DEVE SER FIXADA. A COMPARACAO IN-
DEVIDA, FEITA DO RC PARA A CONDICAO, LEVA A CONCLUSOES ERRADAS.
SE NO DEB996 COMPARARMOS ASSIM: 8 (RC EMITIDO PELO DEB995) EH
MAIOR QUE OU IGUAL A 5? VERDADEIRO. O STEP NAO SERA EXECUTADO.
A COMPARACAO INDEVIDA NOS LEVOU A UMA CONCLUSAO ERRONEA.
0 DYNAMNBR - INDICA O NUMERO DE ARQUIVOS (DE 0 A 1635) QUE PODEM
+ DYNAMNBR
SER ALOCADOS DINAMICAMENTE. CODIFICADO NA CONFECCAO DA PROCEDURE,
DIFICILMENTE SERA UTILIZADO PELO SUPRO.
1 11
0 C O M A N D O D D - DUMMY E *
+ C O M A N D O D D - DUMMY E *
+ C O M A N D O D D - DUMMY E *
0 OS CAMPOS DO COMANDO DD SAO IGUAIS AOS DO JOB E EXEC. NO QUE SE RE-
FERE AO CAMPO NOME HA UMA CARACTERISTICA: EH OBRIGATORIO E NECESSA-
RIAMENTE IGUAL AO NOME DEFINIDO NO PROGRAMA.
0 SE INFORMADO O NOME DE UM ARQUIVO NAO UTILIZADO PELO PROGRAMA, NAO
HAVERA MENSAGEM DE ERRO: A CODIFICACAO SERA, SIMPLESMENTE, IGNORADA.
NAO SENDO FORNECIDO O NOME DE UM ARQUIVO UTILIZADO PELO PROGRAMA A
SUA EXECUCAO SERA INTERROMPIDA (MENSAGEM 'DD STATEMENT MISSING').
0 EXISTEM 4 PARAMETROS POSICIONAIS DO DD, TODOS MUTUAMENTE EXCLUDEN-
TES. SERAO RELACIONADOS A SEGUIR.
DUMMY - PERMITE QUE UM ARQUIVO, NUMA DETERMINADA EXECUCAO, SEJA
+ DUMMY
+ DUMMY
IGNORADO QUER PARA LEITURA, QUER PARA GRAVACAO. NO BANCO
EH USUAL A SUA UTILIZACAO COM UM FIM DIFERENTE. COMO UMA PROCEDU-
RE CATALOGADA NAO ADMITE A CODIFICACAO DOS POSICIONAIS * E DATA,
EH CODIFICADO DUMMY. A PREPARACAO FAZ UM OVERRIDE APONTANDO UM
MEMBRO DA CARDLIB ONDE ESTAO OS DADOS OU SUBSTITUINDO O DUMMY POR
* E FORNECENDO OS DADOS NA PROPRIA CHAMADA DE JCL.
0 QUANDO UTILIZADO PARA INIBIR A GRAVACAO OU LEITURA DE UM ARQUI-
VO, TRATADO POR PROGRAMA UTILITARIO, DEVE SER ACRESCIDO O DCB.
EXEMPLO:
//STEP1 EXEC PGM=INEOUT
//INPUT DD DUMMY,DCB=BLKSIZE=12236
0 * INDICA QUE OS DADOS, EM FORMATO DE CARTAO, SERAO FORNECIDOS A
+ *
+ *
SEGUIR, JUNTO COM OS COMANDOS DE JCL. O SISTEMA RECONHECE O FIM
DO ARQUIVO AO ENCONTRAR UM COMANDO DELIMITADOR (/*). SE O DELIMITA-
DOR NAO FOR FORNECIDO, O SISTEMA ASSUME /* AO ENCONTRAR O PRIMEIRO
// APOS O DD *.
OBSERVACOES:
1 - SE ENTRE OS REGISTROS DO ARQUIVO HOUVER UM INICIADO POR /*, SE-
RA UTILIZADO O PARAMETRO DLM PARA INDICAR QUAL O DELIMITADOR
A SER CONSIDERADO. A UTILIZACAO PRATICA DO DLM EH MINIMA.
2 - O CODIFICACAO DO DD * EH REFERENCIADA PELO JES2 COMO 'SYSIN DD'.
EXEMPLO 1.
//STEP1 EXEC PGM=PROGB
//DD01 DD *
300392310392010492
/*
//DD02 DD PARAMETROS
0 EXEMPLO 2.
//STEP1 EXEC PGM=PROGB
//DD01 DD *
300392310392010492
//DD02 DD PARAMETROS
AO ENCONTRAR O // DO DD02 O SISTEMA ASSUMIRA UM /*.
1 12
0 C O M A N D O D D CONTINUACAO - DATA, DYNAM E SYSPRINT
+ C O M A N D O D D CONTINUACAO - DATA, DYNAM E SYSPRINT
+ C O M A N D O D D CONTINUACAO - DATA, DYNAM E SYSPRINT
0 EXEMPLO 3.
//STEP1 EXEC PGM=PROGB
//DD01 DD *,DLM=XY
/*300392310392010492
XY
//DD02 DD PARAMETROS
COMO OS DADOS FORNECIDOS COMECAM POR /* FOI FORNECIDO O DELIMITADOR
XY ATRAVES DO PARAMETRO DLM.
0 DATA - MESMA FINALIDADE DO *, DIFERENCIANDO-SE POR PERMITIR A UTI-
+ DATA
+ DATA
LIZACAO DE INPUT STREAM INICIADO COM //. COM O DATA EH OBRI-
GATORIO O FORNECIMENTO DO /* OU DO DELIMITADOR DEFINIDO NO PARAME-
TRO DLM LOGO APOS O FINAL DOS DADOS. SE NAO CODIFICADO O DELIMITADOR
OS COMANDOS DE JCL EXISTENTES APOS O DATA SERAO CONSIDERADOS COMO
PARTE DO INPUT STREAM.
O DATA PRATICAMENTE NAO EH UTILIZADO NO BANCO
0 DYNAM - CODIFICADO SEM NENHUM OUTRO PARAMETRO, INDICA QUE O ARQUIVO
+ DYNAM
TERA ALOCACAO DINAMICA. SUA UTILIZACAO SE DA NA CONFECCAO DA
PROCEDURE. DIFICILMENTE SERA USADO PELA PRODUCAO. NAO PODE SER
'OVERRIDADO'.
0 ARQUIVOS DD ESPECIAIS - VIMOS ANTERIORMENTE QUE O NOME DO DD
SERA SEMPRE IGUAL AO ATRIBUIDO AO ARQUIVO PELO PROGRAMADOR, DENTRO
DO PROGRAMA.
HA UM GRUPO DE ARQUIVOS ESPECIAIS, PREVISTOS PELO SISTEMA OPE-
RACIONAL, DE CODIFICACAO QUASE SEMPRE OPCIONAL. QUANDO FORNECIDOS
ESSES ARQUIVOS, O SISTEMA OPERACIONAL OS UTILIZARA, SE NECESSARIO.
OUTROS SAO ESPECFICOS DE UTILITARIOS DA IBM.
ABAIXO, RELACAO DOS DD ESPECIAIS UTILIZADOS NO BANCO.
SYSUDUMP - UTILIZADO EM TODOS OS PROGRAMAS DE APLICACAO DO BANCO.
EM CASO DE ABEND, FAZ A DESCARGA, EM HEXADECIMAL, DA AREA
DE MEMORIA OCUPADA PELO PROGRAMA, COM INFORMACOES SOBRE SUBROTINAS
CHAMADAS E SOBRE OS ARQUIVOS UTILIZADOS. O SEU CONTEUDO EH FUNDAMEN-
TAL PARA QUE O SISTE POSSA SOLUCIONAR OS ABEND MAIS COMPLEXOS.
EXEMPLO DE UTILIZACAO:
//DEB002 EXEC PGM=DEB002
//SYSUDUMP DD DSN=BRXDEB.DUMPD010,
// UNIT=(SYSDA,2),DISP=(,CATLG),
// DCB=(BLKSIZE=1632,LRECL=125,RECFM=VBA),
// SPACE=(TRK,(1,200),RLSE)
0 SYSPRINT - FORNECIDO GERALMENTE PARA OS PROGRAMAS DA IBM, ALGUNS
PROGRAMAS UTILITARIOS DO BANCO DO BRASIL E PARA O
EASYTREAV. ARMAZENA AS MENSAGENS COM AS OCORRENCIAS DA EXECUCAO.
0 EXEMPLO: //SYSPRINT DD SYSOUT=*
O PARAMETRO SYSOUT, UTILIZADO PARA FLUXO DE SAIDA, SERA ESTUDADO
POSTERIORMENTE. A CODIFICACAO SYSOUT=* FARA COM QUE AS MENSAGENS
DE OCORRENCIA SOBRE A EXECUCAO DO PROGRAMA SEJAM DIRECIONADAS PARA
A MESMA CLASSE DE SAIDA CODIFICADA NO PARAMETRO MSGCLASS DO COMANDO
JOB.
1 13
0 C O M A N D O D D CONTINUACAO - ARQUIVOS ESPECIAIS
+ C O M A N D O D D CONTINUACAO - ARQUIVOS ESPECIAIS
+ C O M A N D O D D CONTINUACAO - ARQUIVOS ESPECIAIS
0 SYSOUT - DE USO SIMILAR AO SYSPRINT, UTILIZADO POR UMA MAIOR VARIE-
DADE DE PROGRAMAS.
0 EXEMPLO: //SYSOUT DD SYSOUT=*
IMPORTANTE: NAO CONFUDIR O ARQUIVO ESPECIAL SYSOUT (//SYSOUT) COM O
PARAMETRO PARA FLUXO DE SAIDA(SYSOUT=).O PRIMEIRO EH UM ARQUIVO ES-
PECIAL, PODENDO SER DIRECIONADO PARA O SPOOL DO JES2 OU PARA ARMA-
ZENAMENTO EM QUALQUER MEIO MAGNETICO. O SEGUNDO (DD SYSOUT=),
DIRECIONA QUALQUER ARQUIVO PARA O SPOOL DO JES2.
0 SORTMSG - ARMAZENA AS MENSAGENS DO PROGRAMA IERRC000 . PGM DE SORT
DA IBM.
0 EXEMPLO: //SORTMSG DD SYSOUT=*
0 SORTLIB - FORNECE PARAMETROS UTILIZADOS POR PROGRAMAS QUE FAZEM
SORT.
0 EXEMPLO: //SORTLIB DD SYS1.SORTLIB,DISP=SHR
0 SORTWORK - INDICA AS AREAS A SEREM UTILIZADAS COMO TRABALHO PELOS
PROGRAMAS QUE FAZEM SORT.
0 EXEMPLO: //SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,100)
0 JOBLIB - JA DESCRITO, APOS O COMANDO JOB. INDICA UMA BIBLIOTECA
PARTICULAR ONDE O SISTEMA DEVE PROCURAR, EM PRIMEIRO LU-
GAR, TODOS OS PROGRAMAS EXECUTADOS NO JOB.
0 EXEMPLO: //JOBLIB DD DSN=CPDLIB,DISP=SHR
0 STEPLIB - CODIFICADO, JUNTO AOS DEMAIS COMANDOS DD DE UM STEP, QUAN-
DO SE DESEJA QUE O PROGRAMA ALI ESPECIFICADO SEJA PROCURA-
DO INICIALMENTE EM UMA DETERMINADA BIBLIOTECA. SUA CODIFICACAO PRE-
VALECE SOBRE A DO JOBLIB.
0 EXEMPLO: //STEPLIB DD DSN=NATURAL.V217.LOAD,DISP=SHR
1 14
0 C O M A N D O D D CONTINUACAO - DISP
+ C O M A N D O D D CONTINUACAO - DISP
+ C O M A N D O D D CONTINUACAO - DISP
0 PARAMETROS DE PALAVRA-CHAVE NO COMANDO DD: PODEM SER CODIFICADOS EM
QUALQUER ORDEM. SAO CITADOS, A SEGUIR, OS MAIS UTILIZADOS.
0 DISP - ESPECIFICA A DISPOSICAO DO ARQUIVO: SEU ESTADO ATUAL E QUAL
+ DISP
+ DISP
SERA SEU ESTADO AO FINAL DO PROGRAMA QUE O UTILIZA.
FORMATO: DISP=(ESTADO,DISPFIMNORMAL,DISPFIMANORMAL), ONDE:
0 ESTADO - ESTADO DO ARQUIVO ANTES DO INICIO DO STEP.
0 DISP FIM NORMAL - O QUE O SISTEMA OPERACIONAL FARA COM O ARQUIVO SE
O STEP TIVER FIM NORMAL.
0 DISP FIM ANORMAL - O QUE OCORRERA AO ARQUIVO EM CASO DE FIM ANORMAL.
0 ESTADO ATUAL - A DISPOSICAO PODE SER UMA DAS SEGUINTES:
0 NEW - INDICA QUE O ARQUIVO SERA CRIADO.
0 OLD - INDICA QUE O ARQUIVO JAH EXISTE E SEU USO, LEITURA OU REESCRI-
TA, SERA EXCLUSIVO.
0 SHR - INDICA QUE O ARQUIVO JAH EXISTE E SUA LEITURA PODE SER COMPAR-
TILHADA POR OUTROS JOBS. PARA ARQUIVOS I/O NAO SE DEVE USAR
SHR.
0 MOD - USADO PARA MODIFICACAO DE UM ARQUIVO SEQUENCIAL. SE O ARQUIVO
JAH EXISTIR OS NOVOS REGISTROS SERAO GRAVADOS IMEDIATAMENTE
APOS O ULTIMO EXISTENTE. SE O SISTEMA OPERACIONAL NAO LOCALI-
ZAR O ARQUIVO O TRATARA COMO SE O DISP FOSSE NEW.
0 DISPOSICAO COM FIM NORMAL DO STEP:
0 A - PARA ARQUIVO CRIADO NO STEP
0 CATLG - PRESERVA O ARQUIVO E REGISTRA-O NO CATALOGO. PARA ACES-
SA-LO POSTERIORMENTE BASTA INFORMAR O NOME E DISPOSICAO.
0 KEEP - O ARQUIVO EH PRESERVADO MAS NAO EH CATALOGADO. SO PODE-
RA SER ACESSADO POSTERIORMENTE COM A INFORMACAO DO NOME,
DISPOSICAO, UNIDADE E VOLUME.
0 PASS - PASSA O ARQUIVO PARA PASSOS POSTERIORES. QUANDO GERADO
EM DISCO, SE SEU ESTADO NAO FOR ALTERADO POR UM STEP
POSTERIOR, O ARQUIVO SERA DESTRUIDO AO FINAL DO JOB.
0 DELETE - SE EM DISCO, O ARQUIVO SERA DESTRUIDO AO FINAL DO PAS-
SO QUE O CRIOU. SE EM FITA, O VOLUME SERA DESMONTADO,
O ARQUIVO NAO SERA REGISTRADO PELO TLMS MAS OS REGIS-
TROS SERAO PRESERVADOS.
1 15
0 C O M A N D O D D CONTINUACAO - DISP
+ C O M A N D O D D CONTINUACAO - DISP
+ C O M A N D O D D CONTINUACAO - DISP
0 B - PARA ARQUIVO QUE PRE-EXISTE AO STEP
0 CATLG - INCLUI O ARQUIVO NO CATALOGO.
0 UNCATLG - RETIRA O ARQUIVO DO CATALOGO, MAS O PRESERVA. PARA A-
CESSA-LO POSTERIORMENTE, SERA NECESSARIO INFORMAR, ALEM
DO NOME E DA DISPOSICAO, A UNIDADE E O VOLUME.
0 KEEP - SERA MANTIDO O ESTADO ANTERIOR DO ARQUIVO. SE CRIADO EM
STEP ANTERIOR COM DISP=PASS ELE NAO SERA DESTRUIDO AO
FINAL DO JOB.
0 PASS - MANTEM O ESTADO ANTERIOR, QUALQUER QUE SEJA ELE.
0 DELETE - SE ARQUIVO EM DISCO, SERA DESTRUIDO QUALQUER QUE SEJA O
SEU ESTADO ANTERIOR. SE ARQUIVO EM FITA, O VOLUME SERA
DESMONTADO MAS OS REGISTROS SERAO PRESERVADOS.
0 DISPOSICAO COM FIM ANORMAL DO STEP: SAO AS MESMAS UTILIZADAS PARA
FIM NORMAL, EXCETO A DISPOSICAO PASS.
0 OBSERVACOES:
0 1 - EVITAR O USO DE KEEP PARA ARQUIVO NOVO EM DISCO. ESSA CODIFICA-
CAO DEIXARA AS REFERENCIAS AO ARQUIVO NA VTOC DO VOLUME MAS NAO
O COLOCARA NO CATALOGO. PARA ACESSA-LO POSTERIORMENTE SERA NECES-
RIO PESQUISAR E INFORMAR O VOLUME ONDE ESTA ARMAZENADO.
0 2 - EVITAR O USO DE PASS, TANTO PARA ARQUIVO EM DISCO QUANTO PARA
ARQUIVO EM FITA. CRIANDO-SE COM PASS UM ARQUIVO DE NOME IDENTI-
CO A UM QUE JAH EXISTA E ESTEJA CATALOGADO, PASS PREVALECERA DU-
RANTE A EXECUCAO DO JOB, PODENDO CRIAR O QUE SE CHAMA 'CONFLI-
TO DE CATALOGOS'. OCORRENDO ABEND EM STEP QUE CONSULTE ARQUIVO
CRIADO E PASSADO POR STEP ANTERIOR, ESTE SERA PERDIDO, SE GE-
RADO EM DISCO. SE CRIADO EM CARTUCHO OU FITA O VOLUME TERA QUE
SER INFORMADO ANTES DO RESTART.
0 3 - QUANDO SE CODIFICA DISP=(,CATLG) E JA EXISTE ARQUIVO COM NOME
IDENTICO CATALOGADO, O SISTEMA NAO O CATALOGA E INFORMA, NAS
MENSAGENS DE ALOCACAO, A OCORRENCIA 'NOT CATALOGED 2'. QUAL-
QUER PROGRAMA, DO MESMO OU DE OUTRO JOB, QUE CONSULTE O ARQUI-
VO A PARTIR DESSE PONTO VAI UTILIZAR O ARQUIVO ANTIGO. SE SUB-
METIDO VIA CONTROL-M A EMISSAO DESSA MENSAGEM RESULTARA NA IN-
TERRUPCAO DO PROCESSAMENTO DO JOB.
0 4 - DEFAULT - OMITINDO-SE O DISP O SISTEMA ASSUMIRA
DISP=(NEW,DELETE,DELETE). NOS DEMAIS CASOS EH ACONSELHAVEL EVI-
TAR O USO DE DEFAULT PARA O DISP, EXCETO QUANDO EXISTIR TOTAL
CONVICCAO, POIS COMBINACOES DIFERENTES ALTERAM OS VALORES
DEFAULT E PODEM RESULTAR NA PERDA DO ARQUIVO.
0 5 - NO BANCO SAO CATALOGADOS TODOS OS ARQUIVOS EM DISCO OU EM FITA
QUE SERAO USADOS EM ROTINAS FUTURAS. ARQUIVOS GERADOS EM DISCO
PARA USO EM STEP POSTERIOR TAMBEM SAO USUALMENTE CATALOGADOS E
SO SAO DESTRUIDOS AO FINAL DA PROCEDURE, PERMITINDO, EM CASO DE
ABEND, DAR CONTINUIDADE AO PROCESSAMENTO EM PONTO BASTANTE PROXI-
MO AQUELE EM QUE OCORREU A INTERRUPCAO (RESTART).
0 6 - PARA EVITAR A OCORRENCIA DA NAO INCLUSAO DE ARQUIVO NO CATALOGO
1 POR EXISTENCIA DE OUTRO COM NOME IGUAL, EH USADO O PROGRAMA
SYS000, ANTES DO STEP QUE CATALOGARA O NOVO. O SYS000 RETIRA
OS ARQUIVOS, CUJOS NOMES SAO FORNECIDOS ATRAVES DE PARM, DO CA-
TALOGO E, QUANDO EM DISCO, DA VTOC.
1 16
0 C O M A N D O D D CONTINUACAO - DISP E DSN
+ C O M A N D O D D CONTINUACAO - DISP E DSN
+ C O M A N D O D D CONTINUACAO - DISP E DSN
0 ALGUNS EXEMPLOS DE DISP:
0//DD001 DD DSN=NOME1,DISP=(NEW,CATLG,DELETE)
O ARQUIVO SERA CRIADO, CATALOGADO SE HOUVER FIM NORMAL E DESTRUIDO
SE HOUVER FIM ANORMAL DO STEP.
0//DD002 DD DSN=NOME2,DISP=(SHR,KEEP,KEEP)
O ARQUIVO PRE-EXISTE E PODE SER COMPARTILHADO. SUA DISPOSICAO ATUAL
SERA MANTIDA EM CASO DE FIM NORMAL OU ANORMAL DO STEP
0//DD003 DD DSN=NOME3,DISP=(OLD,DELETE,KEEP)
O ARQUIVO PRE-EXISTE E EH DE USO EXCLUSIVO, SERA DESTRUIDO EM CASO DE
FIM NORMAL E SE HOUVER FIM ANORMAL SEU ESTADO ATUAL SERA MANTIDO.
0//DD004 DD DSN=NOME4,DISP=(SHR,DELETE,KEEP)
//DD005 DD DSN=NOME4,DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
// SPACE=(CYL,(10,1),RLSE)
0 O COMANDO DD DE NOME DD004 LE UM ARQUIVO COM DSN IGUAL AO QUE EH
CRIADO NO DD005. O ANTIGO PODE SER COMPARTILHADO, SERA DESTRUIDO EM
CASO DE FIM NORMAL E MANTERA O ESTADO ATUAL EM CASO DE FIM ANORMAL.
O NOVO SERA CATALOGADO EM CASO DE FIM NORMAL E DESTRUIDO EM CASO DE
FIM ANORMAL. OS PARAMETROS DSN, UNIT E SPACE SERAO ABORDADOS EM SE-
GUIDA. SAO OBRIGATORIOS EM CASO DE ARQUIVO NOVO EM DISCO.
0 DSN OU DSNAME - PODE SER CODIFICADA UMA DAS DUAS FORMAS PARA O
+ DSN OU DSNAME
+ DSN OU DSNAME
DATA SET NAME (NOME DO ARQUIVO DE DADOS). PELA LEI DO MENOR ESFORCO,
USUALMENTE SE CODIFICA DSN.
0 IMPORTANTE - NAO CONFUNDIR O DSNAME COM O DDNOME. O DDNOME EH
FORNECIDO IMEDIATAMENTE APOS O // E NECESSARIAMENTE IGUAL AO NOME
DEFINIDO NO PROGRAMA. O DSN EH UM PARAMETRO KEYWORD, PODE SER FOR-
NECIDO EM QUALQUER POSICAO NO CAMPO DE OPERANDOS E, EXCETO PELAS
REGRAS INTERNAS DE CADA CPD, PODE SER FORNECIDO LIVREMENTE.
0 O SISTEMA OPERACIONAL UTILIZA O DSN PARA CRIAR, GUARDAR E RECUPERAR
O ARQUIVO E O DDNOME PARA PASSA-LO AO PROGRAMA.
0 QUANTO AO TEMPO DE PRESERVACAO OS ARQUIVOS PODEM SER:
0 1 - TEMPORARIOS - NAO PODEM SER CATALOGADOS E SERAO DESTRUIDOS AO
FINAL DO STEP OU DO JOB. NAO EH OBRIGATORIA A CODIFICACAO DO
DSN DE ARQUIVOS TEMPORARIOS. SE CODIFICADO O DSN SERA NECESSA-
RIAMENTE INICIADO COM &&.
0 2 - ARQUIVO NAO TEMPORARIO: PODEM SER MANTIDOS AO FINAL DO SERVICO,
INCLUSIVE CATALOGADOS. EXISTEM CINCO FORMATOS PARA O DSN NAO
TEMPORARIO:
0 1 - DSN=NOME (NAO CONFUNDIR COM DDNOME). O NOME TERA DE 01 A 08
CARACTERES. ESSE FORMATO ATUALMENTE NAO EH USADO NO BB.
0 2 - DSN=NOME1.NOME2.MOME3.NOME4 -PODEMOS UTILIZAR ATE 44 CARACTE-
RES PARA UM NOME QUALIFICADO, INCLUINDO NESTE TOTAL OS PON-
TOS UTILIZADOS. O BB UTILIZA NORMALMENTE DSN QUALIFICADO, COM
DOIS NOMES. O FORMATO MAIS COMUM EH: DSN=CDPSSS.SSSNNN, ONDE:
CDP = SIGLA DO CEDIP. SSS = SIGLA DO SISTEMA.
NNN = PARTE NUMERICA DO ARQUIVO. EXEMPLO:
DSN=BRXCBR.CBR620
1 17
0 C O M A N D O D D CONTINUACAO - DSN E DCB
+ C O M A N D O D D CONTINUACAO - DSN E DCB
+ C O M A N D O D D CONTINUACAO - DSN E DCB
0 3 - DSN=NOME(MEMBRO). FORMATO EXCLUSIVO PARA ARQUIVOS PARTICIONA-
DOS. EXEMPLO:
DSN=CESEC.APTEC.MANUAIS(JCLTEXTO)
0 4 - DSN=NOME(AREA). EXCLUSIVO PARA ARQUIVOS SEQUENCIAIS-INDEXA-
DOS. EXEMPLO: DSN=BRXMST.MESTRE(PRIME)
0 5 - DSN=NULLFILE. TEM A MESMA FUNCAO DO PARAMETRO POSICIONAL
DUMMY.
0 DCB - ESPECIFICA ATRIBUTOS DE CONTROLE DE DADOS. POSSUI VARIOS
+ DCB
+ DCB
SUBPARAMETROS, TODOS PALAVRA CHAVE. ABAIXO OS MAIS UTILIZADOS
NO BANCO.
0 BLKSIZE - TAMANHO DO BLOCO OU REGISTRO FISICO, EM BYTES
EXEMPLO: DCB=BLKSIZE=7448
OBS.: O MAIOR BLKSIZE POSSIVEL EH DE 32.767 BYTES. NO BANCO,
SE O PARAMETRO FOR OMITIDO OU IGUALADO A ZERO, O SISTE-
MA OPERACIONAL CALCULARA O BLOCO IDEAL, DA SEGUINTE FOR-
MA:
CARTUCHO OU FITA: O NUMERO QUE MAIS SE APROXIME, A MENOR,
DE 32.767 BYTES.
EM DISCO: MEIA TRILHA DO MODELO UTILIZADO, A SABER:
27.998 BYTES NO MODELO 3390.
23.476 BYTES NO MODELO 3380.
0 LRECL - TAMANHO DO REGISTRO LOGICO, EM BYTES.
EXEMPLO: DCB=(BLKSIZE=7448,LRECL=133).
OBS.:O QUOCIENTE DA DIVISAO DO BLKSIZE PELO LRECL EH DENOMINA-
DO FATOR DE BLOCO. O FATOR DE BLOCO INFORMA QUANTOS REGISTROS
LOGICOS (TRATADOS PELO PROGRAMA) ESTAO CONTIDOS EM UM REGIS-
TRO FISICO (TRATADO PELO SISTEMA OPERACIONAL NAS OPERACOES
DE I/O). NO EXEMPLO ACIMA, TEREMOS 7448/133 = 56. O FATOR DE
BLOCO 56 SIGNIFICA QUE O BLOCO CONTEM 56 REGISTROS LOGICOS.
0 RECFM - FORMATO DO REGISTRO, A SABER:
0 F - FORMATO FIXO
0 FB - FORMATO FIXO BLOCADO
0 U - FORMATO INDEFINIDO. PARA ESTE TIPO DE REGISTRO NAO DE-
VE SER CODIFICADO LRECL E O BLKSIZE DEVE SER IGUAL OU
MAIOR QUE O REGISTRO MAIS EXTENSO.
0 V - FORMATO VARIAVEL. LRECL DEVE SER IGUAL AO MAIOR REGIS-
TRO, ACRESCIDO DE 4 BYTES PARA O DESCRITOR DO TAMANHO
DO REGISTRO - RDW.
0 VB - FORMATO VARIAVEL BLOCADO - O BLKSIZE SERA NO MINIMO
IGUAL AO LRECL DO MAIOR REGISTRO (DADOS MAIS RDW), A-
CRESCIDO DE 4 BYTES PARA O DESCRITOR DO TAMANHO DO
BLOCO.
0 VS - FORMATO VARIAVEL EXPANDIDO - O LRECL PODERA SER MAIOR
QUE O BLKSIZE.
0 VSB - FORMATO VARIAVEL EXPANDIDO BLOCADO - O BLKSIZE PODE
SER MENOR QUE O LRECL.
1 18
0 C O M A N D O D D CONTINUACAO - DCB E SPACE
+ C O M A N D O D D CONTINUACAO - DCB E SPACE
+ C O M A N D O D D CONTINUACAO - DCB E SPACE
0 EXEMPLO: DCB=(BLKSIZE=7448,LRECL=133,RECFM=FB)
OBSERVACAO - SE UM PROGRAMA DE IMPRESSAO DE RELATORIO NAO FI-
ZER CONTROLE DE SALTO DE LINHA, ESTE CONTROLE
PODERA SER FORNECIDO ATRAVES DE JCL. A FORMA USADA NO BANCO
EH O ACRESCIMO DO CARACTERE 'A' APOS O RECFM, SIGNIFICANDO
QUE O SALTO DE LINHA SERA FEITO DE ACORDO COM O PADRAO ANSI
(CHAMADOS CARACTERES ASA).
0 EXEMPLO: DCB=(BLKSIZE=7448,LRECL=133,RECFM=FBA)
0 DSORG - ORGANIZACAO DO ARQUIVO, SENDO:
0 PS - SEQUENCIAL
0 PO - PARTICIONADA
0 IS - SEQUENCIAL INDEXADA
0 DA - ACESSO DIRETO
EXEMPLO: DCB=(BLKSIZE=7448,LRECL=133,RECFM=FB,DSORG=DA)
OMITIDO O DSORG O SISTEMA ASSUME DSORG=PS (DEFAULT).
0 DEN - DENSIDADE DE GRAVACAO EM FITA MAGNETICA. UTILIZAMOS:
3 - 1600 BPI (BYTES POR POLEGADAS).
4 - 6250 BPI.
EXEMPLO: DCB=(BLKSIZE=7448,LRECL=133,RECFM=FB,DEN=3)
OBS.: O USO DE DEN SOH TEM SENTIDO PARA GERACAO DE ARQUIVOS
EM FITA. OMITIDO, EH ASSUMIDO 6250 BPI.
0 OPTCD - DOS VARIOS CODIGOS DE OPCAO VEREMOS APENAS UM:
0 B - INSTRUI O SISTEMA OPERACIONAL A IGNORAR A INDICACAO
DE FIM DE ARQUIVO (DUPLO TAPE-MARK). O RECURSO PER-
MITE QUE DOIS OU MAIS ARQUIVOS POSSAM SER LIDOS EM
VOLUMES DIFERENTES.
EXEMPLO: DCB=(BLKSIZE=7448,LRECL=133,RECFM=FB,OPTCD=B)
0 BUFNO - ESPECIFICA O NUMERO DE BUFFERS QUE SERAO UTILIZADOS PELO
+ BUFNO
+ BUFNO
ARQUIVO. FORMATO: BUFNO=NNN, ONDE NNN VARIA DE 1 A 255.
0 EXEMPLO: DCB=(BLKSIZE=7448,LRECL=133,RECFM=FB,BUFNO=20)
OBS.: O DEFAULT NO BB EH BUFNO=5.
0 SPACE - ESPECIFICA A QUANTIDADE DE ESPACO A SER UTILIZADO EM DISPO-
+ SPACE
+ SPACE
SITIVO DE ACESSO DIRETO. OS DISPOSITIVOS DE ACESSO DIRETO U-
TILIZADOS ATUALMENTE NO BB SAO OS DISCOS IBM, MODELOS 3380
E 3390. EQUIPAMENTOS DE OUTROS FORNECEDORES SAO 'ENXERGADOS'
PELO SISTEMA COMO 3380 OU 3390.
1 19
0 C O M A N D O D D CONTINUACAO - SPACE
+ C O M A N D O D D CONTINUACAO - SPACE
+ C O M A N D O D D CONTINUACAO - SPACE
0 A FORMA DE ALOCACAO DE ESPACO MAIS USUAL NO BB EH:
SPACE=(CYL OU TRK,(PRIMARIO,SECUNDARIO),RLSE)
EXEMPLO: SPACE=(CYL,(20,2),RLSE), ONDE:
CYL - INDICA QUE O ESPACO SERA ALOCADO EM CILINDROS.
20 - ESPACO PRIMARIO. O SISTEMA SOH ALOCARA UM VOLUME
APOS CERTIFICAR-SE DE QUE ELE TEM 20 CILINDROS
LIVRES.
2 - ESPACO SECUNDARIO. SE UTILIZADO TODO O ESPACO PRI-
MARIO O SISTEMA ALOCARA MAIS 2 CILINDROS, REPETIN-
DO ESSA OPERACAO ATEH UM MAXIMO DE 15 NO PRIMEIRO
VOLUME E ATE 16 VEZES NOS SEGUINTES.
3 - RLSE - A SUA CODIFICACAO FARA COM QUE OS CILINDROS
SOLICITADOS NO ESPACO PRIMARIO E NAO UTILIZADOS SE-
JAM LIBERADOS AO FINAL DO STEP.
0 IMPORTANTE
+ IMPORTANTE
+ IMPORTANTE - O ESPACO PRIMARIO SOLICITADO DEVE SER SUFICIENTE PARA
CONTER TODOS OS REGISTROS DO ARQUIVO. A AREA SECUNDA-
RIA EH APENAS UMA MARGEM DE SEGURANCA PARA O CASO DE EVENTUAIS EX-.
PANSOES. NO BANCO EH RECOMENDADO O USO DO ESPACO SECUNDARIO EQUIVA-
LENTE A 10% DO PRIMARIO.
0 O USO DE UM ESPACO PRIMARIO SUBDIMENSIONADO AUMENTA A PROBABILI-
DADE DE ABEND SB37. ESSE TIPO DE ABEND RETARDA SIGNIFICATIVAMENTE
O PROCESSAMENTO, POR OCORRER APOS A UTILIZACAO DE 16 EXTENTS DE UM
VOLUME OU DO USO DE TODA A AREA DISPONIVEL.
0 SE DAH EXCLUSIVAMENTE EM UTILIZACAO DE AREA SECUNDARIA. SUA OCOR-
RENCIA PODE SER ELIMINADA COM O CORRETO DIMENSIONAMENTO DO ESPACO
PRIMARIO E A INDICACAO DE VOLUMES ESPECIFICOS PARA ARQUIVOS QUE O-
CUPAM MAIS DE UM DISCO.
0 O RECURSO DE AUMENTAR A QUANTIDADE DE VOLUMES SOH EH RECOMENDA-
VEL PARA ARQUIVOS QUE OCUPEM MAIS DE 50% DA AREA DE UM DISCO. A CO-
DIFICACAO DE UNIT=(SYSDA,N) DIMINUI MAS NAO ELIMINA A OCORRENCIA DE
ABEND SB37, PORQUE O SISTEMA SOH VERIFICA A EXISTENCIA DE ESPACO
LIVRE NO PRIMEIRO VOLUME, ALOCADO PARA O ESPACO PRIMARIO.
0 FORMATO PARA ALOCACAO DE ESPACO PARA ARQUIVOS PARTICIONADOS:
0 SPACE=(CYL OU TRK,(PRIMARIO,,DIRETORIO),,CONTIG) ONDE:
0 CYL - PARA ALOCACAO EM CILINDROS OU
0 TRK - PARA ALOCACAO EM TRILHAS
0 PRIMARIO - NUMERO DE TRILHAS OU CILINDROS SOLICITADAS COMO ESPACO
PRIMARIO.
0 DIRETORIO - QUANTIDADE DE BLOCOS RESERVADOS PARA O DIRETORIO. CADA
BLOCO DO DIRETORIO EQUIVALE A 256 BYTES. TEORICAMENTE,
UM BLOCO PODE CONTER INFORMACOES SOBRE DE 5 A 20 MEM-
BROS, DEPENDENDO DO CONTEUDO DO ARQUIVO. NOS PARTICIO-
NADOS ANALISADOS (CPDLIB, PROCLIB,JCL FILE) HA APRO-
XIMADAMENTE 6 MEMBROS POR BLOCO.
0 CONTIG - INDICA QUE DEVERA SER ALOCADO UM UNICO EXTENT, OU SEJA, QUE
A AREA DEVE SER CONTIGUA. NAO EH OBRIGATORIO,MAS EH RECOMEN-
DAVEL O SEU USO EM PARTICIONADOS PARA MELHOR PERFORMANCE.
1 20
0 C O M A N D O D D CONTINUACAO - SPACE
+ C O M A N D O D D CONTINUACAO - SPACE
+ C O M A N D O D D CONTINUACAO - SPACE
0 OBS.: - A PRIMEIRA DAS VIRGULAS DOBRADAS INDICA A OMISSAO DO SUBPA-
RAMETRO POSICIONAL 'ESPACO SECUNDARIO', NAO UTILIZADO EM
PARTICIONADOS E A QUE ANTECEDE 'CONTIG' INDICA A OMISSAO DE
OUTRO POSICIONAL, RLSE, QUE NAO DEVE SER USADO EM PARTICIO-
NADOS.
0 EXEMPLO DE ALOCACAO DE ESPACO PARA PARTICIONADO:
SPACE=(CYL,(100,,10),,CONTIG)
0 PARA ARQUIVO SEQUENCIAL INDEXADO EH USADO O MESMO FORMATO ACIMA. O
PARAMETRO QUE SIGNIFICA DIRETORIO PARA O PARTICIONADO SIGNIFICA ES-
PACO PARA O INDICE EM SEQUENCIAL INDEXADO. O SISTEMA OPERACIONAL RE-
CONHECERA O TIPO DE ARQUIVO ATRAVES DO SUBPARAMETRO DSORG DO DCB.
0 EXEMPLOS: PARTICIONADO: SPACE=(CYL,(100,,10),,CONTIG),DCB=DSORG=PO
INDEXADO: SPACE=(CYL,(100,,10),,CONTIG),DCB=DSORG=IS
0 LABEL - PERMITE IDENTIFICAR A POSICAO RELATIVA DE UM ARQUIVO EM UM
+ LABEL
+ LABEL
VOLUME DE FITA OU CARTUCHO E SUAS CARACTERISTICAS. EM DISCO
O LABEL EH USADO APENAS NA INICIALIZACAO, PARA IDENTIFICAR
O VOLUME.
FORMATO DO PARAMETRO LABEL:
LABEL=(NNNN,TIPO,PROTECAO,I/O,RETENCAO)
0 NNNN - POSICAO SEQUENCIAL DO ARQUIVO NO VOLUME. DE 1 A 4 CARACTERES
NUMERICOS.
1 21
0 C O M A N D O D D CONTINUACAO - LABEL E UNIT
+ C O M A N D O D D CONTINUACAO - LABEL E UNIT
+ C O M A N D O D D CONTINUACAO - LABEL E UNIT
0 TIPO - TIPO DE LABEL. SAO USADOS NO BANCO.
SL - STANDARD LABEL (PADRAO DA IBM, ADOTADO PELO BANCO)
NL - SEM LABEL
BLP - NAO PROCESSA O LABEL (SOH PARA LEITURA)
LTM - TRATA ARQUIVO SEM LABEL MAS COM TAPE-MARK NO INICIO.
0 PROTECAO - SERVE PARA INDICAR AO SISTEMA OPERACIONAL QUE O ARQUIVO SE-
RA PROTEGIDO POR PASSWORD. SE INFORMADO PASSWORD, SERA EXI-
GIDA SENHA PARA LEITURA E GRAVACAO. SE FORNECIDO NOPWREAD,
HAVERA NECESSIDADE DE SENHA APENAS PARA GRAVACAO. NO BB O
SUBPARAMETRO EH OMITIDO, SIGNIFICANDO QUE O ARQUIVO NAO
DEPENDE DE SENHA PARA LEITURA OU GRAVACAO.
0 I/O - PERMITE RESTRINGIR O ARQUIVO PARA LEITURA OU GRAVACAO. FORNECIDO
IN O ARQUIVO SOMENTE PODERA SER LIDO. FORNECIDO OUT O ARQUIVO
SOMENTE PODERA SER GRAVADO. QUANDO OMITIDO, O ARQUIVO FICA DIS-
PONIVEL PARA LEITURA E/OU GRAVACAO.
0 RETENCAO - FORNECIDO RETPD=NNNN, O ARQUIVO SERA PRESERVADO PELA QUAN-
TIDADE DE DIAS INDICADOS. NNNN SERA UM NUMERO ENTRE 0 E
9999. FORNECIDO RETPD=AADDD, O ARQUIVO SERA PRESERVADO ATE
A DATA INDICADA.
0 NO BANCO, COM A UTILIZACAO DO SOFTWARE TLMS, USAMOS SEMPRE O RETPD.
EXEMPLOS DE USO DO PARAMETRO LABEL:
LABEL=(4,SL,RETPD=0090)
0 UNIT - ESPECIFICA A UNIDADE PERIFERICA DE ENTRADA OU SAIDA.
+ UNIT
+ UNIT
FORMATO SIMPLIFICADO:
ADRESS
UNIT=DEVICE TYPE
+ UNIT=
GROUP NAME
0 ADRESS - ENDERECO DA UNIDADE NO SISTEMA OPERACIONAL. EX.: UNIT=481
0 DEVICE TAPE - MODELO DO EQUIPAMENTO. EX.: UNIT=3390
0 GROUP NAME - NOME DE UM GRUPO DE UNIDADES PERIFERICAS ATRIBUIDO PE-
LO USUARIO. NO BANCO USAMOS:
0 SYSDA, PARA UNIDADES DE DISCO.
0 TAPE OU TAPES, PARA UNIDADES DE FITA.
0 CTAPE OU CTAPES, PARA UNIDADES DE CARTUCHOS.
0 FORMATO ESPECIAL - UNIT=AFF=DDNOME
CODIFICADO QUANDO SE DESEJA QUE UM ARQUIVO USE A MESMA UNIDADE UTILI-
ZADA POR UM ARQUIVO ANTERIOR.
0 EXEMPLO:
//DD001 DD UNIT=TAPES
//DD002 DD UNIT=AFF=DD001
//DD003 DD UNIT=AFF=DD001
1 22
0 C O M A N D O D D CONTINUACAO - UNIT E VOLUME
+ C O M A N D O D D CONTINUACAO - UNIT E VOLUME
+ C O M A N D O D D CONTINUACAO - UNIT E VOLUME
0 FORMATO COMPLETO DO PARAMETRO UNIT:
UNIT ADRESS
UNIT=(DEVICE TYPE,UNIT COUNT,DEFER)
GROUP NAME P
JA VIMOS O PRIMEIRO CAMPO. VEJAMOS OS SEGUINTES:
UNIT COUNT - DEFINE O NUMERO DE UNIDADES QUE SERAO ALOCADAS PARA
O ARQUIVO. MUTUAMENTE EXCLUDENTE COM 'P'
P - UTILIZADO APENAS PARA FITAS OU CARTUCHOS. QUANDO CODIFICADO PRO-
VOCARA A ALOCACAO DE TANTAS UNIDADES QUANTOS FOREM OS VOLUMES
INFORMADOS.
0 DEFER - SOH TEM SIGNIFICADO PARA ARQUIVO EM FITA OU CARTUCHO. AO INI-
CIAR O PROGRAMA O SISTEMA ALOCARA A UNIDADE MAS ADIARA A MEN-
SAGEM DE 'MOUNT' ATE A ABERTURA DO ARQUIVO PELO PROGRAMA.
0 EXEMPLO:
//DD001 DD UNIT=(SYSDA,2)
//DD002 DD UNIT=(TAPES,,DEFER)
//DD003 DD UNIT=(CTAPES,P)
0 VOLUME OU VOL - INDICA O VOLUME A SER USADO PELO SISTEMA OPERACIONAL.
+ VOLUME OU VOL
+ VOLUME OU VOL
0 FORMATO SIMPLIFICADO: VOL=SER=NUMERO DE SERIE
0 EXEMPLO: VOL=SER=351253
0 FORMATO COMPLETO:
VOL=(PRIVATE,RETAIN,SEQUENCIA,VOLUMES,SER),
REF SENDO:
0 PRIVATE - EH O DEFAULT ASSUMIDO PARA VOLUMES DE FITA. SE CODIFICADO
PARA VOLUMES PERMANENTEMENTE MONTADOS, SERA IGNORADO. SEM-
PRE OMITIDO NO BANCO.
0 RETAIN - SEM SENTIDO PARA VOLUMES PERMANENTEMENTE MONTADOS. USADO
PARA VOLUME - FITA OU CARTUCHO - UTILIZADO POR MAIS DE UM
STEP NO JOB, FACILITA BASTANTE O TRABALHO DOS OPERADORES DE
PERIFERICOS E AGILIZA O PROCESSAMENTO.
A SUA CODIFICACAO FAZ COM QUE O VOLUME PERMANECA MONTADO ATE O
SEU USO EM STEP POSTERIOR OU ATE O FINAL DO JOB.
0 SEQUENCIA - SERVE PARA INDICAR UM VOLUME ESPECIFICO, NO CASO DE ARQUI-
VO MULTIVOLUME. NO BANCO SEU USO EH RARISSIMO.
0 VOL.COUNT - SERVE PARA INFORMAR O NUMERO MAXIMO DE VOLUMES QUE PODERAO
SER UTILIZADOS PELO ARQUIVO.
0 SER - MUTUAMENTE EXCLUDENTE COM REF. INDICA O NUMERO SERIAL DO VOLU-
ME (OU VOLUMES) QUE SERA UTILIZADO.
0 REF - SERVE PARA INDICAR QUE UM ARQUIVO UTILIZARA O MESMO VOLUME U-
TILIZADO POR UM ARQUIVO ANTERIOR, CATALOGADO OU PASSADO.
1EXEMPLO:
//DD001 DD UNIT=TAPE,VOL=(,RETAIN,2)
//DD002 DD UNIT=CTAPE,VOL=(,,,99,SER=352253)
//DD003 DD UNIT=CTAPE,VOL=(,RETAIN,REF=BRXKKK.KKK999)
//DD004 DD DSN=BRXKKK.KKK700,
// UNIT=SYSDA,DISP=(NEW,CATLG,DELETE),
// DCB=(BLKSIZE=7448,BLKSIZE=133,LRECL=133),
// VOL=REF=CESEC.REFLIB
1 23
0 C O M A N D O D D CONTINUACAO - SYSOUT - FLUXO DE SAIDA
+ C O M A N D O D D CONTINUACAO - SYSOUT - FLUXO DE SAIDA
+ C O M A N D O D D CONTINUACAO - SYSOUT - FLUXO DE SAIDA
0 PARAMETRO DD SYSOUT - PARA O FLUXO DE SAIDA (LISTAGENS)
0 NO NOSSO SISTEMA OPERACIONAL TODOS OS ARQUIVOS DE LISTAGEM SAO
ARMAZENADOS NO SPOOL DO JES2 E POR ELE GERENCIADOS.
0 SYSOUT - DIRECIONA O ARQUIVO PARA O FLUXO DE SAIDA, PASSANDO-O AO
+ SYSOUT
+ SYSOUT
GERENCIAMENTO DO JES2.
0 FORMATO: SYSOUT=(CLASSE,PROGRAMA,FORMULARIO), ONDE:
CLASSE: DE 'A' A 'Z' E DE '0' A '9'.
PROGRAMA: PROGRAMA ESPECIAL DE LISTAGEM. NAO UTILIZADO NO BB.
FORMULARIO: DE 1 A 4 CARACTERES ALFANUMERICOS, PARA ORIENTAR
O OPERADOR DE IMPRESSORAS.
0 EXEMPLO: //DD001 DD SYSOUT=(D,,0302)
//SYSOUT DD SYSOUT=D
0 OBS.: NAO HA CLASSE DEFAULT PARA SYSOUT. CASOS ESPECIAIS:
0 SYSOUT=* SERA ASSUMIDA A CLASSE DEFINIDA NO MSGCLASS DO JOB
0 SYSOUT=P O ARQUIVO SERA CAPTURADO PELO PRIMA.
0 SYSOUT=T O ARQUIVO FICARA HOLD, DISPONIVEL PARA CONSULTAS VIA
TSO
0 SYSOUT=R - HOLD, DISPONIVEL PARA O ROSCOE.
0 SYSOUT=X - O ARQUIVO SERA DESCARREGADO NO LOG DO SISTEMA. NAO
UTILIZAR.
0 SYSOUT=Z - O ARQUIVO PODERA SER PERDIDO. NAO UTILIZAR.
0 OUTROS PARAMETROS UTILIZADOS CONJUNTAMENTE COM SYSOUT.
0 COPIES - QUANDO SE NECESSITAR DE MAIS DE UMA COPIA DO RELATORIO, A
QUANTIDADE PODE SER ESPECIFICADA NESTE PARAMETRO. A QUANTIDA-
DE MAXIMA QUE PODE SER CODIFICADA EH DE 254 COPIAS.
0 EXEMPLO: //DD001 DD SYSOUT=(D,,0302),COPIES=4
0 FCB - ESPECIFICA A IMAGEM DE CONTROLE DE SALTO PARA FORMULARIOS. NO
BANCO SO PODEM SER FORNECIDAS IMAGENS CONSTANTES DA BIBLIOTECA
SYS1.IMAGELIB.
0 FORMATO: FCB=(IMAGEM,ALIGN OU VERIFY),ONDE:
0 IMAGEM - IDENTIFICA A IMAGEM QUE VAI SER CARREGADA NOS BUFFERS. DE
1 A 4 CARACTERS ALFANUMERICOS.
0 ALIGN - SOLICITA AO OPERADOR QUE VERIFIQUE O ALINHAMENTO DO FORMU-
LARIO ANTES DE INICIAR A LISTAGEM. NAO USADO NO BB.
0 VERIFY - SOLICITA QUE SEJA VERIFICADO O FORMULARIO E SE FOI FORNE-
CIDA A IMAGEM CORRETA. NAO USADO NO BB.
0 EXEMPLO: //DD001 DD SYSOUT=(D,,0302),COPIES=4,FCB=8802
1 24
0 C O M A N D O D D CONTINUACAO - SYSOUT - FLUXO DE SAIDA
+ C O M A N D O D D CONTINUACAO - SYSOUT - FLUXO DE SAIDA
+ C O M A N D O D D CONTINUACAO - SYSOUT - FLUXO DE SAIDA
0 UCS - INDICA UM CONJUNTO DE CARACTERES PARA A IMPRESSORA. NO BANCO
UTILIZAMOS A11 (48 CARACTERES EBCDIC).
0 EXEMPLO: //DD001 DD SYSOUT=(D,,0302),COPIES=4,FCB=8802,UCS=A11
0 DEST - DIRECIONA A SAIDA PARA UM DESTINO ESPECIFICO.
0 EXEMPLO:
0 //DD001 DD SYSOUT=(D,,0302),COPIES=4,FCB=8802,UCS=A11,DEST=N2R255
0 FLASH - O PARAMETRO SO TEM EFEITO REAL PARA A IMPRESSORA MODELO 3800
DA IBM. CODIFICADO PARA OUTROS CASOS, APENAS APARECE COMO
MAIS UM CAMPO NO DISPLAY DA FILA DE SAIDA. EH USADO EM LIS-
TAGENS DESTINADAS A USUARIOS REMOTOS, APENAS PARA FORNECER
INFORMACOES QUE FACILITEM A IDENTIFICACAO DO ARQUIVO.
0 EXEMPLO:
0 //DD001 DD SYSOUT=(D,,0302),COPIES=4,FCB=8802,UCS=A11,
// DEST=N2R255,FLASH=FRM1
-*******************************************************************************
1 25
0 TABELA SIMPLIFICADA DOS PARAMETROS DD REQUERIDOS
+ TABELA SIMPLIFICADA DOS PARAMETROS DD REQUERIDOS
+ TABELA SIMPLIFICADA DOS PARAMETROS DD REQUERIDOS
0 ESTA TABELA FOI TRANSCRITA DA PAG 79 DO MANUAL DE JCL DE
AUTORIA DE ROMILDO GOUVEIA PINTO, DISPONIVEL NO PARTICIONADO
CESEC.APTEC.MANUAIS(JCLTEXTO).
************************************************
-* * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * **
+* * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * **
+* * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * **
* * L E I T U R A ** G R A V A C @ O * * ARQS.*
* PARA- * ARQS. * ** * SAIDA * DUMMY*
* * CATLG * ** * * OU *
* ME- *OU PASS* ARQUIVO NAO CATLG/PASS ** FITA * * EM * NULL-*
* * FITAS * FITAS ** * * * FILE*
* TRO * DISCO * SL * NL * DISCO ** SL * NL * DISCO * SYSOUT* *
-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
* * * * ** * * * * *
DSNAME
+DSNAME
+DSNAME * X * X * * X ** 4 * * 4 * * *
* * * * ** * * * * *
-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
* * * * ** * * * * *
UNIT
+UNIT
+UNIT * * X * X * X ** X * X * X * * *
* * * * ** * * * * *
-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
* * * * ** * * * * *
DCB
+DCB
+DCB * * * X * ** X * X * X * 10 * 10 *
* * * * ** * * * * *
-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
* * * * ** * * * * *
DISP
+DISP
+DISP * X * X * X * X ** X * X * 7 * * *
* * * * ** * * * * *
-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
* * * * ** * * * * *
LABEL
+LABEL
+LABEL * 1 * 2 * X * ** 2 * X * 8 * * *
* * * * ** * * * * *
-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
* * * * ** * * * * *
SPACE
+SPACE
+SPACE * * * * ** * * X * * *
* * * * ** * * * * *
-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
+-------------------------------------------------------------------------------
* * * * ** * * * * *
VOLUME
+VOLUME
+VOLUME * * X * 3 * X ** 6 * 6 * 9 * * *
* * * * ** * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-CODIGOS UTILIZADOS
+CODIGOS UTILIZADOS
-SL - ARQUIVO STANDARD LABEL
NL - ARQUIVO NO LABEL
X - PARAMETRO DD REQUERIDO
- OBSERVACOES A SEGUIR
1 26
+ -
- O B S E R V A C O E S
+ O B S E R V A C O E S
+ O B S E R V A C O E S
---------------------
- 1. NECESSARIO SE O ARQUIVO ESTIVER CATALOGADO EM FITA NL.
- 2. OPCIONAL, QUANDO SE TRATAR DO PRIMEIRO ARQUIVO, POIS O
DEFAULT EH LABEL=(1,SL)
- 3. O SISTEMA NAO CONFERE O QUE FOR INFORMADO. EH NECESSARIO
QUE TENHA DE 1 A 6 CARACTERES. EX. - VOL=SER=1,
VOL=SER=DISKET
- 4. A - REQUERIDO SE O ARQUIVO SERAH CATALOGADO
0 B - NO CASO DE OMISSAO, O SISTEMA CRIA NOME TEMPORARIO. A
EXCECAO DOS ARQUIVOS DE TRABALHO, EH RECOMENDAVEL INFORMAR
SEMPRE, PARA PERMITIR POSTERIORES REFERENCIAS.
- 6. NAO INFORMAR. O SISTEMA PEDIRA A MONTAGEM DE UM VOLUME
PRIVATE. SERA USADO QUALQUER VOLUME LIBERADO PELO TLMS.
- 7. DEVE-SE INFORMAR, A NAO SER QUANDO SE TRATAR DE ARQUIVOS
DE TRABALHO - TEMPORARIOS.
- 8. UTILIZADO QUANDO SE DESEJA DETERMINAR PRAZO DE RETENCAO
EM ARQUIVOS EM DISCO (RETPD OU EXPDT).
- 9. NAO REQUERIDO, A NAO SER QUE
0 A - DESEJE-SE FORCAR A GRAVACAO EM VOLUME PRIVATE
0 B - DESEJE-SE FORCAR A GRAVACAO EM VOLUME STORAGE
0 ESPECIFICO.
- 10. CASO O PROGRAMA NAO PREVEJA OS ATRIBUTOS DE DESCRICAO DO
ARQUIVO, FAZ-SE-A NECESSARIA A CODIFICACAO DA DCB
1
0 REFER-BACKS NO COMANDO DD 27
+ REFER-BACKS NO COMANDO DD
+ REFER-BACKS NO COMANDO DD
*************************
0 O REFER-BACK E UMA TECNICA QUE PERMITE FAZER-SE REFERENCIA A
UMA SITUACAO ANTERIOR DO JOB, AO SE CODIFICAR DETERMINADOS
PARAMETROS.
0 REFER-BACK NO PARAMETRO DD
--------------------------
0 UTILIZA-SE NOS PARAMETROS DCB, DSN, E VOL
0 - DCB
+ - DCB
+ - DCB
---
0 PRIMEIRO FORMATO - DCB=NOME DE UM ARQUIVO CATALOGADO
+ PRIMEIRO FORMATO
+ PRIMEIRO FORMATO
0 EX. DCB=PROCLIB
0 NESTE CASO, O SISTEMA VAI AO CATALOGO E DEPOIS AO
VOLUME, ONDE COPIARAH OS ATRIBUTOS DO ARQUIVO.
0 TRATANDO-SE DE ARQUIVO EM FITA, CATALOGADO, O SISTEMA
SOLICITARAH A MONTAGEM DO VOLUME PARA QUE FACA A LEITURA DOS
ATRIBUTOS CONTIDOS NO LABEL.
0 ESSA FORMA DE REFERENCIA NAO PODE SER UTILIZADA COM
VOLUMES SEM LABEL, MESMO QUE CATALOGADOS.
0 SEGUNDO FORMATO - DCB=*.NOMEDD
+ SEGUNDO FORMATO
+ SEGUNDO FORMATO
0 EX. //STEP01 EXEC PGM=PROGA
//ENTRA01 DD DCB=(BLKSIZE=200,LRECL=200,RECFM=F)
//ENTRA02 DD DCB=*.ENTRA01
0 NESTE CASO, O SISTEMA REPRODUZIRAH OS ATRIBUTOS
INFORMADOS NO PARAMETRO DCB DO ARQUIVO ENTRA01.
0 TERCEIRO FORMATO - DCB=*.NOMESTEP.NOMEDD
+ TERCEIRO FORMATO
+ TERCEIRO FORMATO
0 EX. //STEP01 EXEC PGM=PROGA
//ENTRA01 DD DCB=(BLKSIZE=200,LRECL=200,RECFM=F)
//ENTRA02 DD DSN=ARQU01
//STEP02 EXEC PGM=PROGB
//ENTRA01 DD DCB=*.STEP01.ENTRA01
0 NESTE CASO, O SISTEMA REPRODUZIRAH OS ATRIBUTOS
INFORMADOS NO PARAMETRO DCB DO ARQUIVO ENTRA01 DO STEP01.
0 OBS. AO SE FAZER UM REFER-BACK PARA O PARAMETRO DCB, PODE-SE
ALTERAR ALGUNS DE SEUS SUBPARAMETROS, MANTENDO OS DEMAIS.
0 EX. //STEP01 EXEC PGM=PROGA
//ENTRA01 DD DCB=(BLKSIZE=200,LRECL=200,RECFM=F)
//ENTRA02 DD DSN=ARQU01
//STEP02 EXEC PGM=PROGB
//ENTRA01 DD DCB=(*.STEP01.ENTRA01,BLKSIZE=2000)
1 28
+
- DSN
+ DSN
+ DSN
---
- PRIMEIRO FORMATO - DSN=*.NOMEDD
+ PRIMEIRO FORMATO
+ PRIMEIRO FORMATO
0 EX. //STEP01 EXEC PGM=PROGA
//SAI0001 DD DSN=TESTE
//ENTRA01 DD DSN=*.SAI0001
0 NESTE CASO, O SISTEMA ASSUME COMO DSN DO ARQUIVO
ENTRA01 O MESMO NOME DO ARQUIVO SAI0001.
0 SEGUNDO FORMATO - DSN=*.NOMESTEP.NOMEDD
+ SEGUNDO FORMATO
+ SEGUNDO FORMATO
0 EX. //STEP01 EXEC PGM=PROGA
//ENTRA01 DD DSN=ARQUI01
//SAIDA DD DSN=ARQUI02
//STEP02 EXEC PGM=PROGB
//ENTRADA DD DSN=*.STEP01.SAIDA
0 NESTE CASO, O SISTEMA ASSUME COMO NOME DO ARQUIVO
ENTRADA O MESMO NOME DO ARQUIVO SAIDA, DO STEP01.
0 QUANDO SE CRIA UM ARQUIVO SEM DSN - ARQUIVO TEMPORARIO
A UNICA FORMA DE SE REFERENCIAR ESSE ARQUIVO,POSTERIORMENTE,
EH ATRAVES DO REFER-BACK.
0 EX. //STEP01 EXEC PGM=PROGA
//ENTRA01 DD DSN=ARQUI01
//SAIDA DD ** ARQUIVO TEMPORARIO, SEM DSN **
//STEP02 EXEC PGM=PROGB
//ENTRADA DD DSN=*.STEP01.SAIDA
- - VOL
+ - VOL
+ - VOL
---
0 PRIMEIRO FORMATO - VOL=*.NOMEDD
+ PRIMEIRO FORMATO
+ PRIMEIRO FORMATO
0 EX. //STEP01 EXEC PGM=PROGA
//SAI0001 DD VOL=SER=351252
//ENTRA01 DD VOL=*.SAI0001
0 NESTE CASO, O SISTEMA ASSUME COMO NUMERO DO VOLUME
PARA O ARQUIVO ENTRA01 O MESMO NUMERO DE VOLUME DO SAI0001.
0 SEGUNDO FORMATO - VOL=*.NOMESTEP.NOMEDD
+ SEGUNDO FORMATO
+ SEGUNDO FORMATO
0 EX. //STEP01 EXEC PGM=PROGA
//ENTRA01 DD VOL=050022
//SAIDA DD VOL=050023
//STEP02 EXEC PGM=PROGB
//ENTRADA DD VOL=*.STEP01.SAIDA
0 NESTE CASO, O SISTEMA ASSUME COMO NUMERO DE VOLUME DO
ARQUIVO ENTRADA O MESMO NUMERO DE VOLUME DO ARQUIVO SAIDA,
DO STEP01
1 29
+ -
0*******************************************************************************
0EXEMPLO
+EXEMPLO
+EXEMPLO
----------
//DEBD0602 JOB ('DEB920331',
// 'DEB DIARIO - ATUALIZACAO ANALITICA DO GRUPO 2'),TSO.SP3299,
// COND=((888,EQ),(16,EQ),(12,EQ)),CLASS=D,MSGCLASS=T,MSGLEVEL=1,
// REGION=4M,NOTIFY=SP3299
//JOBLIB DD DSN=CPDLIB,DISP=SHR
//ETAPA1 EXEC PGM=PROG01,PARM=3103
//SYSUDUMP DD DSN=BRXDEB.DUMPD010,
// UNIT=(SYSDA,2),DISP=(,CATLG),
// DCB=(BLKSIZE=1632,LRECL=125,RECFM=VBA),
// SPACE=(TRK,(1,200),RLSE)
//ENTCARD DD *
01018301
/*
//ENTRADA DD DSN=BRXDEB.DEB997,
// UNIT=TAPES,DISP=SHR,
// DCB=(BLKSIZE=128,LRECL=128,RECFM=F,BUFNO=20),
// VOL=SER=050020
//SAIDA DD DSN=BRXDEB.DEB998,
// UNIT=SYSDA,DISP=(,CATLG,DELETE),
// DCB=(BLKSIZE=7448,LRECL=133,RECFM=FB),
// SPACE=(TRK,(14,1),RLSE),
// VOL=REF=CESEC.REFLIB
//SAIDA2 DD DSN=BRXDEB.DEB999,
// UNIT=SYSDA,DISP=(,CATLG,DELETE),
// DCB=*.SAIDA,
+ DCB=*.SAIDA,
+ DCB=*.SAIDA,
// SPACE=(TRK,(10,1),RLSE)
//ETAPA2 EXEC PGM=EXEMPL,COND=(12,EQ,ETAPA1)
//INPUT DD DSN=*.ETAPA1.SAIDA2,DISP=SHR
//OUTPUT DD SYSOUT=(D,,0302),COPIES=2
1 30
+ -
0 USO DO OPTCD=B E DA CONCATENACAO DE ARQUIVOS
+ USO DO OPTCD=B E DA CONCATENACAO DE ARQUIVOS
+ USO DO OPTCD=B E DA CONCATENACAO DE ARQUIVOS
********************************************
QUANDO UM ARQUIVO EH DEFINIDO PELO PROGRAMADOR, COMO VIMOS,
DEVE SER CODIFICADO UM COMANDO DD CORRESPONDENTE. EM SUA
OMISSAO, O SISTEMA ACUSA ERRO. CASO, POREM,CODIFIQUEMOS MAIS
DE UM COMANDO DD PARA UM MESMO ARQUIVO,O SISTEMA CONSIDERA O
PRIMEIRO E IGNORA OS DEMAIS.
0 EM CERTAS CIRCUNSTANCIAS FAZ-SE NECESSARIO INDICAR
MAIS DE UM ARQUIVO PARA QUE O PROGRAMA OS TRATE NUMA UNICA
EXECUCAO, COMO SE FOSSE UM SO ARQUIVO. CONFORME O CASO SE
APRESENTA, TEMOS DUAS MANEIRAS DE RESOLVER O PROBLEMA.
- - OPTCD - PRIMEIRA HIPOTESE
+ - OPTCD - PRIMEIRA HIPOTESE
+ - OPTCD - PRIMEIRA HIPOTESE
0 TEMOS, PARA LISTAR, DOIS ARQUIVOS, COM CARACTERISTICAS
IDENTICAS, OS QUAIS GOSTARIAMOS DE LER NUMA UNICA PASSAGEM.
0 SENDO TODAS AS CARACTERISTICAS IDENTICAS, PODEMOS
UTILIZAR O RECURSO DO OPTCD=B, SUBPARAMETRO DO DCB,O QUAL SE
APLICA APENAS A LEITURA.
0 VAMOS SUPOR QUE TENHAMOS DOIS ARQUIVOS DEB661, DO MESMO
GRUPO, POREM DE DATAS DIFERENTES, QUE PRETENDEMOS LISTAR.
PODERIAMOS FAZER
0 //SYS014A EXEC PGM=SYS014,PARM='DEB661,REFAZ,MOV3003,MOV3
//INPUT DD DSN=BRXDEB.DEB661.G01,
// UNIT=TAPES,DISP=SHR,
// DCB=OPTCD=B,VOL=SER=(351020,351021)
//OUTPUT DD SYSOUT=(D,,0300),FCB=6601
0 NESTE CASO ESTAMOS ENTRANDO COM ARQUIVOS DISTINTOS,
E SOLICITANDO AO SISTEMA, ATRAVES DA DCB, QUE IGNORE A
INDICACAO DE FIM DE ARQUIVO -EOF E DUPLO TAPE-MARK- QUE
ENCONTRARA AO FIM DO VOLUME 351020 E TRATE O SEGUNDO VOLUME,
351021, COMO SE FOSSE CONTINUACAO DO VOLUME ANTERIOR.
- - CONCATENACAO - SEGUNDA HIPOTESE
+ - CONCATENACAO - SEGUNDA HIPOTESE
+ - CONCATENACAO - SEGUNDA HIPOTESE
0 AGORA SUPONHAMOS QUE OS ARQUIVOS PODEM SER TRATADOS
PELO MESMO PROGRAMA,MAS NAO SAO IDENTICOS EM CARACTERISTICAS
DE ENTRADA. VAMOS SUPOR QUE HAJA DIFERENCA NO DSN. O RECURSO
ANTERIOR NAO PODERA SER UTILIZADO. ENTAO PRECISAMOS RECORRER
AA CONCATENACAO. EIS COMO FARIAMOS
- //SYS014A EXEC PGM=SYS014,PARM='DEB661,REFAZ,MOV3003,MOV3
//INPUT DD DSN=BRXDEB.DEB661.G01.D930429,
// UNIT=TAPES,DISP=SHR,
// VOL=SER=351020
// DD DSN=BRXDEB.DEB661.G01.D930430,
// UNIT=AFF=INPUT,DISP=SHR,
// VOL=SER=351021
//OUTPUT DD SYSOUT=(D,,0300),FCB=6601
1 31
+ -
-*******************************************************************************
-DICAS
+DICAS
+DICAS
----------
-SOBRE A CONCATENACAO
+SOBRE A CONCATENACAO
+SOBRE A CONCATENACAO
--------------------
- 1. A CONCATENACAO SOMENTE PODE SER FEITA COM ARQUIVOS QUE
UTILIZEM DISPOSITIVOS DO MESMO TIPO. OU SEJA,NAO PODEM SER CONCATENADOS
UM ARQUIVO EM DISCO COM UM ARQUIVO EM FITA
0 2. OS REGISTROS LOGICOS (LRCEL) DEVEM TER IDENTICAS CA-
RACTERISTICAS. SE O TAMANHO DO BLOCO (BLKSIZE) FOR DIFERENTE, ADOTAR
UM DOS PROCEDIMENTOS ABAIXO:
A - INFORMAR NO PRIMEIRO DD O MAIOR BLKSIZE. EH A SOLUCAO MAIS
FACIL E SEGURA.
B - INFORMAR EM PRIMEIRO LUGAR O VOLUME QUE CONTEM O ARQUIVO DE
MAIOR BLKSIZE. QUANDO LIDAMOS COM ARQUIVOS 'NO LABEL' EH
DIFICIL IDENTIFICAR QUAL O ARQUIVO DE MAIOR BLKSIZE.
0 3. ARQUIVOS PARTICIONADOS NAO PODEM SER CONCATENADOS COM
ARQUIVOS SEQUENCIAIS MAS PODEM ENTRE SI.
0 4. MEMBROS DE ARQUIVOS PARTICIONADOS, POREM, POR SEREM DE
ORGANIZACAO SEQUENCIAL, PODEM SER CONCATENADOS COM ARQUIVOS SEQUENCIAIS
-*******************************************************************************
1 32
+
-EXEMPLO
+EXEMPLO
+EXEMPLO
----------
- //COPIA995 EXEC PGM=INEOUT
//INPUT DD DSN=BRXDEB.DEB995,
// UNIT=TAPES,DISP=SHR,
// DCB=(BLKSIZE=12236,LRECL=133,RECFM=FB),
// VOL=SER=351333
// DD DSN=BRXDEB.DEB995,
// UNIT=AFF=INPUT,DISP=SHR,
// DCB=(BLKSIZE=7448,LRECL=133,RECFM=FB),
// VOL=SER=351334
//OUTPUT DD DSN=BRXDEB.DEB995A,
// UNIT=SYSDA,DISP=(,CATLG,DELETE),
// DCB=(BLKSIZE=7448,LRECL=133,RECFM=FB),
// SPACE=(CYL,(100,10),RLSE)
1 33
+
- OUTROS COMANDOS DA JOB CONTROL LANGUAGE
+ OUTROS COMANDOS DA JOB CONTROL LANGUAGE
+ OUTROS COMANDOS DA JOB CONTROL LANGUAGE
***************************************
- - COMMAND
+ - COMMAND
+ - COMMAND PERMITE INSERIR NA MASSA DE JCL COMANDOS DE OPERACAO.
0 OS COMANDOS DE OPERACAO NORMALMENTE SAO ENTRADOS POR CONSOLE
NO ENTANTO, PODEM FAZER PARTE DA MASSA DE JCL. RESSALTAM-SE
AS SEGUINTES RECOMENDACOES
0 1. OS COMANDOS SAO EXECUTADOS A MEDIDA QUE VAO SENDO LIDOS,
MESMO QUE O JOB ESTEJA HOLD.
0 2. PODEM SER CODIFICADOS EM QUALQUER LUGAR ENTRE O CARTAO
JOB E ANTES DO FIM DO JOB.
0 3. COMANDOS DE OPERACAO NAO PODEM SER CONTINUADOS
0 4. OS COMANDOS DE OPERACAO QUE PODEM SER ENTRADOS POR JCL,
EM MVS SAO:
0 CANCEL, CHNGDUMP, DISPLAY, HOLD, LOG, MODIFY, MONITOR,
MOUNT, PAGEADD, RELEASE, REPLY, RESET, SEND, SET, SETDMN,
SLIP, START, STOP, STOPM. UNLOAD, VARY, WRITELOG.
0 FORMATO - // COMANDO OPERANDO COMENTARIOS
0 EX. // VARY,483,OFFLINE COLOCANDO UNIDADE 483 OFFLINE
- - COMMENT PERMITE INSERIR COMENTARIOS NA MASSA DE JCL
+ - COMMENT
+ - COMMENT
0 1. O COMANDO COMENTARIO EH CARACTERIZADO POR // NAS COLUNAS
1 E 2 E * NA COLUNA 3. O QUE ESTIVER CODIFICADO ENTRE AS
COLUNAS 4 E 80, INCLUSIVE, SERA TRATADO COMO COMENTARIO PELO
SISTEMA
0 2. NAO EXISTE NECESSIDADE DE CONTINUAR O COMANDO COMMENT.
PARA CONTINUAR O COMENTARIO, DEVE-SE CODIFICAR UM NOVO
COMANDO.
0 3. NA LISTAGEM DA SYSOUT DO SISTEMA, O COMANDO COMENTARIO
SERAH IDENTIFICADO POR *** NAS TRES PRIMEIRAS COLUNAS.
0 FORMATO - //*COMENTARIOS
0 EX. //* O COMANDO COMENTARIO NAO PODE SER CONTINUADO MAS
0 EX. //* PODEM SER CODIFICADOS VARIOS EM SEQUENCIA.
- - NULL INDICA FIM DE UM JOB
+ - NULL
+ - NULL
0 O COMANDO NULL TEM // NAS COLUNAS 1 E 2 E DEVERAH TER BRANCO
NAS 78 COLUNAS RESTANTES.
1 34
- OUTROS COMANDOS DA JOB CONTROL LANGUAGE
+ OUTROS COMANDOS DA JOB CONTROL LANGUAGE
+ OUTROS COMANDOS DA JOB CONTROL LANGUAGE
***************************************
0 1. CASO NAO SEJA CODIFICADO UM COMANDO NULL, O SISTEMA
RECONHECERAH O FIM DE UM SERVICO AO ENCONTRAR O PROXIMO
COMANDO JOB.
0 2. NO ENTANTO, EH RECOMENDAVEL SUA CODIFICACAO, POIS CASO O
SERVICO SEJA SEGUIDO FISICAMENTE POR OUTRO, CUJO COMANDO
JOB SEJA OMITIDO POR ERRO EM SUA CODIFICACAO, O SISTEMA
INCORPORARAH O SEGUNDO JOB AO PRIMEIRO
0 OUTPUT O COMANDO OUTPUT EH UTILIZADO PARA ESPECIFICAR OPCOES PARA A
+ OUTPUT S PARA A
+ OUTPUT S PARA A
ARQUIVOS DESTINADOS AO FLUXO DE SAIDA DO SISTEMA (SYSOUT).
0 EXEMPLO
//PGMLIST EXEC PGM=PGMLIST
//IMAGEM DD DSN=BRXTST.TST999,
// UNIT=SYSDA,DISP=SHR
//PADRAO OUTPUT CLASS=D,COPIES=2,FCB=6601,
// FLASH=0300,FORMS=0999,UCS=TST
//IMAGEM01 DD SYSOUT=(,),DEST=N2R995,OUTPUT=*.PADRAO
//IMAGEM02 DD SYSOUT=E,DEST=N2R996,COPIES=4,OUTPUT=*.PADRAO
//IMAGEM03 DD SYSOUT=(,),DEST=N2R997,FORMS=9991,OUTPUT=*.PADRAO
//IMAGEM04 DD SYSOUT=E,DEST=N2R998,FLASH=0302,COPIES=1,
// OUTPUT=*.PADRAO
0 NOS IMAGEM01 A 04 SERAO LISTADOS TODOS OS PARAMETROS CODIFICADOS NO
DD OUTPUT, ALEM DOS ACRESCENTADOS EM CADA UM DELES.
0 NO IMAGEM01 ELES CONTERAO OS MESMOS VALORES CODIFICADOS NO OUTPUT.
0 NO IMAGEM02, A CLASSE SERA ALTERADA PARA 'E' E O NUMERO DE COPIAS PA-
RA 4. SERAO MANTIDOS: FCB=6601, FLASH=0300, FORMS=0999 E UCS=TST
0 NO IMAGEM03, FORMS SERA ALTERADO PARA 9991 E OS DEMAIS SERAO MANTIDOS
0 NO IMAGEM04, A CLASSE SERA 'E', FLASH SERA 0302 E O NUMERO DE COPIAS
SERA 1. NOS DEMAIS PREVALECERA A INFORMACAO DO DD OUTPUT.
0 REGRAS IMPORTANTES:
1 - SE UM PARAMETRO CONSTA DE UM DD SYSOUT, O JES USA ESSE PARAME-
TRO.
2 - SE UM PARAMETRO CONSTA SOMENTE NO COMANDO OUTPUT, O JES USA ES-
SE PARAMETRO.
3 - SE O MESMO PARAMETRO CONSTA DE UM DD SYSOUT E DE UM COMANDO
OUTPUT O JES UTILIZA O DO DD.
0 OS COMANDOS PROC E PEND SERAO ESTUDADOS A SEGUIR.
0 OS COMANDOS CNTL, ENDCNTL E XMIT (O XMIT EH DE USO EXCLUSIVO DO JES3)
NAO SERAO ESTUDADOS NESTE CURSO.
1 35
+ -
- PROCEDURES
+ PROCEDURES
+ PROCEDURES
**********
- ELABORAR UM JOB E UMA TAREFA DIFICIL, POIS A JCL, ALEM DE TRABALHOSA,
COMO QUALQUER LINGUAGEM DE PROGRAMACAO, TEM SUAS REGRAS RIGIDAS, O QUE EXPOE
SEUS CODIFICADORES AA PERSPECTIVA SEMPRE PRESENTE DE ERROS DE SINTAXE,OMISSOES,
ERROS DE LOGICA, ETC.
DIANTE DISSO, SURGIU O CONCEITO DE PROCEDURE, OU PROCEDIMENTO, QUE
CONSISTE TAO SIMPLESMENTE DE UM JOB PRE-CONFECCIONADO AO QUAL PODEMOS RECORRER
SEMPRE QUE PRECISAMOS EXECUTAR DETERMINADO SERVICO. LOGICO QUE PARA SE
TRANSFORMAR UM JOB EM PROCEDURE EH NECESSARIO QUE HAJA A PREVISAO DE SUA
UTILIZACAO PERIODICA. DESSA OTICA, NAO SE JUSTIFICA TRANSFORMAR EM PROCEDURE UM
JOB QUE PRECISAMOS EXECUTAR EM DETERMINADO MOMENTO,MAS NAO EXISTE A PERSPECTIVA
DE VOLTARMOS A PROCESSA-LO.
0 QUANDO SE TRANSFORMA UM JOB EM PROCEDURE, POREM, EH PRECISO TER-SE EM
VISTA VARIOS ASPECTOS, A SABER
01. EXISTEM INFORMACOES VARIAVEIS, MESMO EM UM JOB REPETITIVO, AAS QUAIS
PRECISAMOS DAR UMA CONDICAO QUE PERMITA SUA SUBSTITUICAO A CADA EXECUCAO.
02. COMO AS PROCEDURES DESTINAM-SE A VARIADOS FINS NAO PODEMOS CODIFICAR O
COMANDO JOB, QUE, COMO SABEMOS, TEM EXATAMENTE A FUNCAO DE PERSONALIZAR UM
SERVICO, ATRIBUINDO-LHE CONDICOES EXCLUSIVAS.
03. UMA PROCEDURE, EM SEUS COMANDOS EXEC, NAO PODE REFERIR-SE A OUTRA PROCEDURE
PODE UNICAMENTE MANDAR EXECUTAR PROGRAMAS. NOUTRAS PALAVRAS, UMA PROCEDURE NAO
CHAMA OUTRA PROCEDURE.
04. ALEM DO COMANDO JOB, UMA PROCEDURE TAMBEM NAO PODE CONTER
0 A - COMANDO DELIMITER OU COMANDO NULL
0 B - COMANDO JOBLIB, EMBORA POSSA CONTER COMANDO STEPLIB
0 C - PARAMETROS INDICADORES DE INPUT-STREAM, QUAIS SEJAM * E DATA
1 36
+ -
- VEJAMOS O SEGUINTE JOB
-EXEMPLO
+EXEMPLO
+EXEMPLO
----------
//DEBD1401 JOB ('DEB%%ODATE',
// 'DEB DIARIO - COFRE SEGURANCA DO DO GRUPO 1'),
// REGION=4M,COND=((888,EQ),(16,EQ),(12,EQ))
//JOBLIB DD DSN=CDPLIB,DISP=SHR
//********************************************************************* PDEBD14
//SYS000A EXEC PGM=SYS000, PDEBD14
// PARM='BRX.K0003.DEB.DEB610.G01' PDEBD14
//********************************************************************* PDEBD14
//BKP610 EXEC PGM=INEOUT PDEBD14
//INPUT DD DSN=BRXDEB.DEB610.G01.V01, PDEBD14
// UNIT=CTAPE,DISP=(SHR,KEEP), PDEBD14
// VOL=SER=(351990,351991,351992,351993) PDEBD14
//OUTPUT DD DSN=BRX.K0003.DEB.DEB610.G01, PDEBD14
// UNIT=CTAPE,DISP=(,CATLG,KEEP), PDEBD14
// DCB=(BLKSIZE=12100,LRECL=1100,RECFM=FB), PDEBD14
// LABEL=(1,SL,RETPD=0007), PDEBD14
// VOL=SER=(351500,351502,351503,351504) PDEBD14
//********************************************************************* PDEBD14
//SYS000B EXEC PGM=SYS000, PDEBD14
// PARM='BRX.K0002.DEB.DEB609.G01' PDEBD14
//********************************************************************* VRS00
//SYS026A EXEC PGM=SYS026, VRS00
// PARM= VRS00
//********************************************************************* VRS00
//BKP609F EXEC PGM=INEOUT, PDEBD14
// COND=(0,NE,SYS026A) VRS00
//INPUT DD DSN=BRXDEB.DEB609.G01.V01, PDEBD14
// UNIT=CTAPES,DISP=(SHR,KEEP), PDEBD14
// VOL=SER=351997 PDEBD14
//OUTPUT DD DSN=BRX.K0002.DEB.DEB609.G01, PDEBD14
// UNIT=CTAPE,DISP=(,KEEP), PDEBD14
// DCB=(BLKSIZE=12275,LRECL=25,RECFM=FB), PDEBD14
// LABEL=(1,SL,RETPD=0007), PDEBD14
// VOL=351999 PDEBD14
//********************************************************************* PDEBD14
//BKP609D EXEC PGM=INEOUT, PDEBD14
// COND=(0,EQ,SYS026A) VRS00
//INPUT DD DSN=BRXDEB.DEB609A.G01.V01, PDEBD14
// UNIT=SYSDA,DISP=SHR PDEBD14
//OUTPUT DD DSN=BRX.K0002.DEB.DEB609.G01, PDEBD14
// UNIT=CTAPE,DISP=(,KEEP), PDEBD14
// DCB=(BLKSIZE=12275,LRECL=25,RECFM=FB), PDEBD14
// LABEL=(1,SL,RETPD=0007), PDEBD14
// VOL=351999 PDEBD14
//********************************************************************* PDEBD14
//SYS000C EXEC PGM=SYS000, PDEBD14
// PARM='BRX.K0003.DEB.DEB610.G01' PDEBD14
//********************************************************************* PDEBD14
//SYS000D EXEC PGM=SYS000, PDEBD14
// PARM='BRX.K0002.DEB.DEB609.G01' PDEBD14
//********************************************************************* VRS00
//SYS028 EXEC PGM=SYS028, PDEBD14
// COND=ONLY PDEBD14
//********************************************************************* PDEBD14
//
1 37
+ -
- OBSERVAMOS, NUMA ANALISE ACURADA, QUE TODAS AS INFORMACOES SAO FIXAS,
A QUALQUER MOMENTO DE SUA EXECUCAO, AA EXCECAO, TAO SOMENTE, DOS NUMEROS DOS
VOLUMES. SEM O RECURSO DA PROCEDURE TERIAMOS QUE A CADA VEZ TRABALHAR COM ESSE
CONJUNTO DE CARTOES, AUMENTANDO O RISCO DE ERRO. RESSALTE-SE, POR OPORTUNO, QUE
ESTE JOB EH DOS MENORES, SENDO COMUNS SERVICOS QUE EXIGEM CENTENAS DE COMANDOS.
0 E COMO UM JOB PODE TER 255 COMANDOS EXEC E CADA COMANDO EXEC, 1635
COMANDOS DD...
0 A SAIDA EH, SIMPLESMENTE, TRANSFORMAR ESTE JOB NUMA PROCEDURE E, PARA
ISSO, PRECISARIAMOS ADOTAR AS SEGUINTES MEDIDAS
01. EXCLUIR O COMANDO JOB
02. EXCLUIR O COMANDO NULL
03. SUBSTITUIR AS INFORMACOES VARIAVEIS POR SIMBOLOS QUE POSSAMOS REFERENCIAR NA
HORA DA EXECUCAO, OU SEJA, ADICIONAR OS CHAMADOS PARAMETROS SIMBOLICOS.
0 O PARAMETRO SIMBOLICO EH CARACTERIZADO PELAS SEGUINTES CONDICOES
0 A. DEVE SER PRECEDIDO POR UM E COMERCIAL - &
0 B. PODE TER DE 1 A 7 CARACTERES ALFANUMERICOS OU NATIONAL, O PRIMEIRO DOS
QUAIS DEVE SER ALFABETICO OU NATIONAL
0 C. NAO PODE SUBSTITUIR NOME DE COMANDO OU CAMPO DE OPERACAO
0 D. NAO PODE SER IGUAL AOS PARAMETROS DE PALAVRAS-CHAVE DO COMANDO EXEC.
0 E. PODE APARECER MAIS DE UMA VEZ NA MESMA PROCEDURE, SENDO QUE NESSE CASO
SERAH SUBSTITUIDO SEMPRE PELO MESMO VALOR
-EXEMPLO
+EXEMPLO
+EXEMPLO
----------
//********************************************************************* PDEBD14
//*** *** PDEBD14
//*** DEB - DEPOSITOS, ESCRITURACAO E BALANCETES *** PDEBD14
//*** ROTINA DIARIA *** PDEBD14
//*** ---------------- *** PDEBD14
//*** BACKUP DE SEGURANCA DOS ARQUIVOS BASE DO SISTEMA *** PDEBD14
//*** *** PDEBD14
//*** ANTIGA PA0425P *** PDEBD14
//********************************************************************* PDEBD14
//*VERSAO 004-03/02/89 ********** PDEBD14
//********************************************************************* PDEBD14
//PDEBD140 PROC BFF25=12275,BFF1100=12100,DEB609E=,DEB610E=, PDEBD14
// DEB=DEB,DEB609K=,DEB610K=,TAPES=TAPE,TAPE610=TAPE, PDEBD14
// CATLF='(,CATLG,KEEP)',DISCO= PDEBD14
//********************************************************************* PDEBD14
//SCRD140A EXEC PGM=SYS000, ***** PONTO DE RESTART***** PDEBD14
// PARM=('/&CESEC..K0003.&DEB..,DEB610.G&GR') PDEBD14
//********************************************************************* PDEBD14
//BKP610 EXEC PGM=INEOUT PDEBD14
//INPUT DD DSN=&CESEC.&DEB..DEB610.G&GR.V&VS, PDEBD14
// UNIT=&TAPE610,DISP=(SHR,KEEP), PDEBD14
// VOL=SER=&DEB610E PDEBD14
//OUTPUT DD DSN=&CESEC..K0003.&DEB..DEB610.G&GR, PDEBD14
// UNIT=&TAPE610,DISP=&CATLF, PDEBD14
1
38
+ 38
// DCB=(BLKSIZE=&BFF1100,LRECL=1100,RECFM=FB), PDEBD14
// LABEL=(1,SL,RETPD=0007), PDEBD14
// VOL=(,,,99,SER=&DEB610K) PDEBD14
//********************************************************************* PDEBD14
//SCRD140B EXEC PGM=SYS000, ***** PONTO DE RESTART***** PDEBD14
// PARM=('/&CESEC..K0002.&DEB..,DEB609.G&GR') PDEBD14
//********************************************************************* VRS00
//SYS026A EXEC PGM=SYS026, VRS00
// PARM=&DISCO VRS00
//********************************************************************* VRS00
//BKP609F EXEC PGM=INEOUT, PDEBD14
// COND=(0,NE,SYS026A) VRS00
//INPUT DD DSN=&CESEC.&DEB..DEB609.G&GR.V&VS, PDEBD14
// UNIT=&TAPES,DISP=(SHR,KEEP), PDEBD14
// VOL=SER=&DEB609E PDEBD14
//OUTPUT DD DSN=&CESEC..K0002.&DEB..DEB609.G&GR, PDEBD14
// UNIT=&TAPES,DISP=(,KEEP), PDEBD14
// DCB=(BLKSIZE=&BFF25,LRECL=25,RECFM=FB), PDEBD14
// LABEL=(1,SL,RETPD=0007), PDEBD14
// VOL=(,,,99,SER=&DEB609K) PDEBD14
//********************************************************************* PDEBD14
//BKP609D EXEC PGM=INEOUT, PDEBD14
// COND=(0,EQ,SYS026A) VRS00
//INPUT DD DSN=&CESEC.&DEB..DEB609A.G&GR.V&VS, PDEBD14
// UNIT=SYSDA,DISP=SHR PDEBD14
//OUTPUT DD DSN=&CESEC..K0002.&DEB..DEB609.G&GR, PDEBD14
// UNIT=&TAPES,DISP=(,KEEP), PDEBD14
// DCB=(BLKSIZE=&BFF25,LRECL=25,RECFM=FB), PDEBD14
// LABEL=(1,SL,RETPD=0007), PDEBD14
// VOL=(,,,99,SER=&DEB609K) PDEBD14
//********************************************************************* PDEBD14
//SCRD140C EXEC PGM=SYS000, PDEBD14
// PARM=('/&CESEC..K0003.&DEB..,DEB610.G&GR') PDEBD14
//********************************************************************* PDEBD14
//SCRD140D EXEC PGM=SYS000, PDEBD14
// PARM=('/&CESEC..K0002.&DEB..,DEB609.G&GR') PDEBD14
//********************************************************************* VRS00
//SYS028 EXEC PGM=SYS028, PDEBD14
// COND=ONLY PDEBD14
//********************************************************************* PDEBD14
0 NA HORA DE EXECUCAO, DUAS SITUACAOES PODEM OCORRER:
0 1 - DEIXAR QUE SEJA ASSUMIDO O VALOR REAL DEFINIDO NO COMANDO PROC OU
INFORMA-LO NA CHAMADA DE JCL.
0 2 - SE NAO DEFINIDO NENHUM VALOR NO COMANDO PROC TEREMOS QUE INFORMA-
LO NA CHAMADA DE JCL.
0 3 - NO EXEMPLO ACIMA, SERIA OPCIONAL A INFORMACAO DE UM VALOR PARA O
SIMBOLICO CATLF NA CHAMADA (ESTA DEFINIDO NO PROC) E OBRIGATORIA
A INFORMACAO DE UM VALOR PARA O SIMBOLICO VS (NAO DEFINIDO).
0 OBS.OS PARAMETROS SIMBOLICOS SUBSTITUIDOS NAO PRECISAM ESTAR NA MESMA
ORDEM EM QUE APARECEM NA PROCEDURE.
1 39
+
-4. NO EXEMPLO ACIMA, SEM CONSIDERAR OS COMENTARIOS, O PRIMEIRO CO-
MANDO CODIFICADO EH //PDEBD140 PROC. A SEGUIR O COMANDO PROC.
- - PROC
+ - PROC
+ - PROC IDENTIFICA UM PROCEDIMENTO,IN-STREAM OU CATALOGADO, BEM COMO
PERMITE INFORMAR VALORES DEFAULT PARA OS SIMBOLICOS.
0 A. O COMANDO PROC EH OBRIGATORIO PARA PROCEDURE IN-STREAM E
OPCIONAL PARA PROCEDURE CATALOGADA. - VIDE ADIANTE A
DIFERENCA ENTRE PROCEDURE IN-STREAM E CATALOGADA
0 EM AMBOS OS CASOS, POREM, DEVE SER CODIFICADO ANTES DO
PRIMEIRO COMANDO EXEC DA PROCEDURE.
0 FORMATO - //NOME OPERACAO OPERANDOS COMENTARIOS
0 EX. //PDEBD100 PROC CY600P=100,CY600S=10 VR.DEFAULT
0 B. O NOME EH OBRIGATORIO EM PROCEDURE IN-STREAM
0 C. EMBORA NAO OBRIGATORIO PELAS REGRAS DE JCL PARA PROCEDUR
CATALOGADAS, O BANCO EXIGE A SUA CODIFICACAO.
0 D. NO CAMPO DE OPERANDO PODEM SER CODIFICADOS VALORES
DEFAULT PARA OS PARAMETROS SIMBOLICOS, SEPARADOS POR VIRGULA
EM PROCEDURE IN-STREAM ESTE CAMPO EH REQUERIDO.
0 E. APOS O CAMPO DO OPERANDO, SEPARADO POR BRANCO, PODE SER
CODIFICADO QUALQUER COMENTARIO.
0 F. O COMANDO PROC PODE SER CONTINUADO, VALENDO AS REGRAS
GERAIS PARA CONTINUACAO.
0 G. SE FOREM ATRIBUIDOS DOIS VALORES PARA UM PARAMETRO
SIMBOLICO, SOMENTE O PRIMEIRO SERAH CONSIDERADO.
0 H. UM VALOR ATRIBUIDO A UM PARAMETRO SIMBOLICO, NO COMANDO
PROC, PODE SER ALTERADO ATRAVES DO COMANDO EXEC DO JOB QUE
CHAMA A PROCEDURE.
0 I. SE O VALOR PARA UM SIMBOLICO CONTEM CARACTER ESPECIAL,
DEVE VIR ENTRE APOSTROFOS. SE DENTRO DO SEU CAMPO EXISTIR
APOSTROFO, DEVEM SER CODIFICADOS DOIS APOSTROFOS SEGUIDOS.
0 J. O VALOR QUE SUBSTITUI UM PARAMETRO SIMBOLICO PODE TER
QUALQUER TAMANHO, DESDE QUE CAIBA EM UMA LINHA, POIS NAO EH
POSSIVEL FAZER SUA CONTINUACAO. NESTE CASO, EH NECESSARIO
0 FORNECER A INFORMACAO POR OVERRIDE.
1 40
+ -
- PROCEDURE IN-STREAM
+ PROCEDURE IN-STREAM
+ PROCEDURE IN-STREAM
*******************
- QUANDO A PROCEDURE E INCLUIDA DENTRO DO PROPRIO JOB QUE
A EXECUTA, CHAMAMO-LA DE PROCEDURE IN-STREAM. UTILIZA-SE
PROCEDURE IN-STREAM COMUMENTE ENQUANTO SAO FEITOS OS TESTES,
PARA SUA POSTERIOR TRANSFORMACAO EM PROCEDURE CATALOGADA.
0 OUTRO USO POSSIVEL PARA A PROCEDURE IN-STREAM EH O
PROCESSAMENTO DE REFAZIMENTOS PARCIAIS DE ROTINAS.
- - PEND
+ - PEND
+ - PEND NA PROCEDURE IN-STREAM, ALEM DA OBRIGATORIEDADE DO COMANDO
PROC, EH REQUERIDO O COMANDO PEND -PROCEDURE END- PARA
ASSINALAR O SEU FIM. O COMANDO PEND E EXCLUSIVO DA PROCEDURE
IN-STREAM.
0 FORMATO - //NOME OPERACAO COMENTARIOS
+ FORMATO
+ FORMATO
0 OS CAMPOS DE NOME E COMENTARIOS SAO OPCIONAIS.
0 EX. //FINAL PEND AQUI ACABA A PROCEDURE
0 OU
+ OU
+ OU
0 // PEND
-EXEMPLO
+EXEMPLO
+EXEMPLO
----------
//DEBD1401 JOB ('DEB%%ODATE,
// 'DEB DIARIO - TESTE DA PDEBD140'),
// COND=((888,EQ),(16,EQ),(12,EQ)),REGION=4M
//JOBLIB DD DSN=CPDLIB,DISP=SHR
//******************************************************************** PDEBD140
//* AQUI COMECA A CODIFICACAO DA PROCEDURE IN-STREAM
+//* AQUI COMECA A CODIFICACAO DA PROCEDURE IN-STREAM
+//* AQUI COMECA A CODIFICACAO DA PROCEDURE IN-STREAM
//*********************************************************************
//*** *** PDEBD14
//*** DEB - DEPOSITOS, ESCRITURACAO E BALANCETES *** PDEBD14
//*** ROTINA DIARIA *** PDEBD14
//*** ---------------- *** PDEBD14
//*** BACKUP DE SEGURANCA DOS ARQUIVOS BASE DO SISTEMA *** PDEBD14
//*** *** PDEBD14
//*** ANTIGA PA0425P *** PDEBD14
//********************************************************************* PDEBD14
//*VERSAO 004-03/02/89 ********** PDEBD14
//********************************************************************* PDEBD14
//PDEBD140 PROC BFF25=12275,BFF1100=12100,DEB609E=,DEB610E=, PDEBD14
// DEB=DEB,DEB609K=,DEB610K=,TAPES=TAPE,TAPE610=TAPE, PDEBD14
// CATLF='(,CATLG,KEEP)',DISCO= PDEBD14
//********************************************************************* PDEBD14
//SCRD140A EXEC PGM=SYS000, ***** PONTO DE RESTART***** PDEBD14
// PARM=('/&CESEC..K0003.&DEB..,DEB610.G&GR') PDEBD14
//********************************************************************* PDEBD14
//BKP610 EXEC PGM=INEOUT PDEBD14
//INPUT DD DSN=&CESEC.&DEB..DEB610.G&GR.V&VS, PDEBD14
// UNIT=&TAPE610,DISP=(SHR,KEEP), PDEBD14
// VOL=SER=&DEB610E PDEBD14
1
41
+ 41
//OUTPUT DD DSN=&CESEC..K0003.&DEB..DEB610.G&GR, PDEBD14
// UNIT=&TAPE610,DISP=&CATLF, PDEBD14
// DCB=(BLKSIZE=&BFF1100,LRECL=1100,RECFM=FB), PDEBD14
// LABEL=(1,SL,RETPD=0007), PDEBD14
// VOL=(,,,99,SER=&DEB610K) PDEBD14
//********************************************************************* PDEBD14
//SCRD140B EXEC PGM=SYS000, ***** PONTO DE RESTART***** PDEBD14
// PARM=('/&CESEC..K0002.&DEB..,DEB609.G&GR') PDEBD14
//********************************************************************* VRS00
//SYS026A EXEC PGM=SYS026, VRS00
// PARM=&DISCO VRS00
//********************************************************************* VRS00
//BKP609F EXEC PGM=INEOUT, PDEBD14
// COND=(0,NE,SYS026A) VRS00
//INPUT DD DSN=&CESEC.&DEB..DEB609.G&GR.V&VS, PDEBD14
// UNIT=&TAPES,DISP=(SHR,KEEP), PDEBD14
// VOL=SER=&DEB609E PDEBD14
//OUTPUT DD DSN=&CESEC..K0002.&DEB..DEB609.G&GR, PDEBD14
// UNIT=&TAPES,DISP=(,KEEP), PDEBD14
// DCB=(BLKSIZE=&BFF25,LRECL=25,RECFM=FB), PDEBD14
// LABEL=(1,SL,RETPD=0007), PDEBD14
// VOL=(,,,99,SER=&DEB609K) PDEBD14
//********************************************************************* PDEBD14
//BKP609D EXEC PGM=INEOUT, PDEBD14
// COND=(0,EQ,SYS026A) VRS00
//INPUT DD DSN=&CESEC.&DEB..DEB609A.G&GR.V&VS, PDEBD14
// UNIT=SYSDA,DISP=SHR PDEBD14
//OUTPUT DD DSN=&CESEC..K0002.&DEB..DEB609.G&GR, PDEBD14
// UNIT=&TAPES,DISP=(,KEEP), PDEBD14
// DCB=(BLKSIZE=&BFF25,LRECL=25,RECFM=FB), PDEBD14
// LABEL=(1,SL,RETPD=0007), PDEBD14
// VOL=(,,,99,SER=&DEB609K) PDEBD14
//********************************************************************* PDEBD14
//SCRD140C EXEC PGM=SYS000, PDEBD14
// PARM=('/&CESEC..K0003.&DEB..,DEB610.G&GR') PDEBD14
//********************************************************************* PDEBD14
//SCRD140D EXEC PGM=SYS000, PDEBD14
// PARM=('/&CESEC..K0002.&DEB..,DEB609.G&GR') PDEBD14
//********************************************************************* VRS00
//SYS028 EXEC PGM=SYS028, PDEBD14
// COND=ONLY PDEBD14
//********************************************************************* PDEBD14
// PEND AQUI TERMINA A PROCEDURE IN-STREAM
+// PEND AQUI TERMINA A PROCEDURE IN-STREAM
+// PEND AQUI TERMINA A PROCEDURE IN-STREAM
//*********************************************************************
//PDEBD140 EXEC PROC=PDEBD140,VS=02,CATLF='(NEW,DELETE,DELETE)'
//
1 42
+
- PROCEDURE CATALOGADA
+ PROCEDURE CATALOGADA
+ PROCEDURE CATALOGADA
********************
- QUANDO UMA PROCEDURE VAI TER USO REGULAR DEVERAH SER
CATALOGADA EM UM ARQUIVO PARTICIONADO,PREVISTO PELO SISTEMA,
CHAMADO SYS1.PROCLIB. ESSAS PROCEDURES PODEM SER CHAMADAS
POR UM JOB OU STARTADA POR UM COMANDO DE CONSOLE.
0 NO BANCO DO BRASIL FOI CRIADA UMA OUTRA BIBLIOTECA DE
PROCEDURES CHAMADA PROCLIB, SEMELHANTE AA SYS1.PROCLIB, CUJA
DIFERENCA MAIS MARCANTE EH O FATO DE QUE SUAS PROCEDURES NAO
PODEM SER CHAMADAS A PARTIR DA CONSOLE E SIM,EXCLUSIVAMENTE,
CHAMADAS A PARTIR DE JOBS.
0 O USUARIO PODE CRIAR OUTRAS BIBLIOTECAS DE PROCEDURES,
BASTANDO DEFINI-LAS PARA O JES.
0 A MAIOR DIFERENCA ENTRE UMA PROCEDURE CATALOGADA E UMA
PROCEDURE IN-STREAM, EM SUA CONSTRUCAO, RESIDE NO COMANDO
PROC, OPCIONAL NA PROCEDURE CATALOGADA. E NO COMANDO PEND,
EXCLUSIVO DA PROCEDURE IN-STREAM.
-*******************************************************************************
-DICAS
+DICAS
+DICAS
----------
-SOBRE O PARAMETRO PROC
+SOBRE O PARAMETRO PROC
+SOBRE O PARAMETRO PROC
----------------------
- NAO OBSTANTE SUA OPCIONALIDADE, RECOMENDA-SE INCLUIR O
COMANDO PROC NAS PROCEDURES CATALOGADAS, BEM COMO QUE O NOME DO COMANDO
SEJA O MESMO QUE A PROCEDURE TERAH NA BIBLIOTECA. E DE BOM USO INCLUIR
VALORES DEFAULT, MESMO NULIFICADOS, PARA TODOS OS SIMBOLICOS. ESSA
MEDIDA FACILITA A PERFEITA IDENTIFICACAO DOS SIMBOLICOS QUE A PROCEDURE
CONTEM.
-*******************************************************************************
1 43
+ -
- COMO MANDAR EXECUTAR UMA PROCEDURE CATALOGADA
+ COMO MANDAR EXECUTAR UMA PROCEDURE CATALOGADA
+ COMO MANDAR EXECUTAR UMA PROCEDURE CATALOGADA
---------------------------------------------
- A PROCEDURE FICA RESIDINDO NA BIBLIOTECA. SEMPRE QUE
PRECISAMOS COMANDAR SUA EXECUCAO ELABORAMOS UM JOB, ONDE
INDICAMOS AS CARACTERISTICAS DO SERVICO NAQUELA EXECUCAO
ESPECIFICA E INCLUIMOS UM COMANDO EXEC.
0 O COMANDO EXEC FAZ A CHAMADA DA PROCEDURE QUE SE DESEJA
E AINDA SUBSTITUI, SE NECESSARIO, OS VALORES SIMBOLICOS
PRESENTES NA PROCEDURE.
-EXEMPLO
+EXEMPLO
+EXEMPLO
//*--------------------------------------------------------------------
//DEBD1401 JOB ('DEB%%ODATE',
// 'COPIAS DE SEGURANCA'),
// COND=((888,EQ),(16,EQ),(12,EQ)),REGION=4M
//JOBLIB DD DSN=CPDLIB,DISP=SHR
//*--------------------------------------------------------------------
//****************************************************************************
//* ESTA EH UMA CHAMADA PARA EXECUCAO DA PROCEDURE PDEBD140
+//* ESTA EH UMA CHAMADA PARA EXECUCAO DA PROCEDURE PDEBD140
+//* ESTA EH UMA CHAMADA PARA EXECUCAO DA PROCEDURE PDEBD140
//****************************************************************************
//PDEBD140 EXEC PDEBD140,
// BFF1100=31900, *** 29 REGISTROS P/BLOCO ***
// GR=01,TAPE610=CTAPES,CESEC=BRX,VS=01
//
0 OBS. RELEMBRAMOS QUE O PARAMETRO PROC= SERAH ASSUMIDO PELO
SISTEMA, SE NAO INFORMADO PGM=
1 44
+ -
-*******************************************************************************
----------
- RESTART EM PROCEDURE
+ RESTART EM PROCEDURE
+ RESTART EM PROCEDURE
----------------------------------------------------
-13. COMO RETOMAR UMA ROTINA DO SEU PONTO DE RESTART
+13. COMO RETOMAR UMA ROTINA DO SEU PONTO DE RESTART
+13. COMO RETOMAR UMA ROTINA DO SEU PONTO DE RESTART
***********************************************
- UTILIZA-SE UM PARAMETRO KEYWORD DO COMANDO JOB, O
PARAMETRO RESTART. USA-SE TANTO EM JOB SIMPLES QUANTO EM JOB
QUE EXECUTA PROCEDURE.
- PRIMEIRO FORMATO - RESTART=NOMESTEP
+ PRIMEIRO FORMATO
+ PRIMEIRO FORMATO
0 UTILIZA-SE ESTA FORMA QUANDO SE ESTAH EXECUTANDO UM JOB QUE
NAO CHAMA PROCEDURE CATALOGADA.
0 NO SERVICO A SEGUIR, ESTAH SENDO INDICADO AO SISTEMA
PARA RETOMAR O JOB A PARTIR DE SEU TERCEIRO STEP, OU SEJA,
A PARTIR DO STEP QUE TEM POR NOME SYS000B.
-EXEMPLO
+EXEMPLO
+EXEMPLO
----------
//DEBD1401 JOB ('DEB920331',
// 'DEB DIARIO - COFRE SEGURANCA DO GRUPO 1'),
// TSO.SP3299,REGION=4M,
// CLASS=D,MSGCLASS=T,MSGLEVEL=1,
// RESTART=SYS000B,
// COND=((888,EQ),(16,EQ),(12,EQ)).
// NOTIFY=SP3299
//JOBLIB DD DSN=CPDLIB,DISP=SHR
//********************************************************************* PDEBD14
//SYS000A EXEC PGM=SYS000, PDEBD14
// PARM='BRX.K0003.DEB.DEB610.G01' PDEBD14
//********************************************************************* PDEBD14
//BKP610 EXEC PGM=INEOUT PDEBD14
//INPUT DD DSN=BRXDEB.DEB610.G01.V01, PDEBD14
// UNIT=CTAPE,DISP=(SHR,KEEP), PDEBD14
// VOL=SER=(351990,351991,351992,351993) PDEBD14
//OUTPUT DD DSN=BRX.K0003.DEB.DEB610.G01, PDEBD14
// UNIT=CTAPE,DISP=(,CATLG,KEEP), PDEBD14
// DCB=(BLKSIZE=12100,LRECL=1100,RECFM=FB), PDEBD14
// LABEL=(1,SL,RETPD=0007), PDEBD14
// VOL=SER=(351500,351502,351503,351504) PDEBD14
//********************************************************************* PDEBD14
//SYS000B EXEC PGM=SYS000, PDEBD14
// PARM='BRX.K0002.DEB.DEB609.G01' PDEBD14
//********************************************************************* VRS00
//SYS026A EXEC PGM=SYS026, VRS00
// PARM= VRS00
//********************************************************************* VRS00
//BKP609F EXEC PGM=INEOUT, PDEBD14
// COND=(0,NE,SYS026A) VRS00
1
45
+ 45
//INPUT DD DSN=BRXDEB.DEB609.G01.V01, PDEBD14
// UNIT=CTAPES,DISP=(SHR,KEEP), PDEBD14
// VOL=SER=351997 PDEBD14
//OUTPUT DD DSN=BRX.K0002.DEB.DEB609.G01, PDEBD14
// UNIT=CTAPE,DISP=(,KEEP), PDEBD14
// DCB=(BLKSIZE=12275,LRECL=25,RECFM=FB), PDEBD14
// LABEL=(1,SL,RETPD=0007), PDEBD14
// VOL=351999 PDEBD14
//********************************************************************* PDEBD14
//BKP609D EXEC PGM=INEOUT, PDEBD14
// COND=(0,EQ,SYS026A) VRS00
//INPUT DD DSN=BRXDEB.DEB609A.G01.V01, PDEBD14
// UNIT=SYSDA,DISP=SHR PDEBD14
//OUTPUT DD DSN=BRX.K0002.DEB.DEB609.G01, PDEBD14
// UNIT=CTAPE,DISP=(,KEEP), PDEBD14
// DCB=(BLKSIZE=12275,LRECL=25,RECFM=FB), PDEBD14
// LABEL=(1,SL,RETPD=0007), PDEBD14
// VOL=351999 PDEBD14
//********************************************************************* PDEBD14
//SYS000C EXEC PGM=SYS000, PDEBD14
// PARM='BRX.K0003.DEB.DEB610.G01' PDEBD14
//********************************************************************* PDEBD14
//SYS000D EXEC PGM=SYS000, PDEBD14
// PARM='BRX.K0002.DEB.DEB609.G01' PDEBD14
//********************************************************************* VRS00
//SYS028 EXEC PGM=SYS028, PDEBD14
// COND=ONLY PDEBD14
//********************************************************************* PDEBD14
//
- SEGUNDO FORMATO - RESTART=NOMESTEP.NOMESTEPPROC
+ SEGUNDO FORMATO
+ SEGUNDO FORMATO
0 UTILIZA-SE ESTA FORMA PARA JOB QUE EXECUTA PROCEDIMENTO
CATALOGADO.
0 NO MODELO A SEGUIR, ESTAH SENDO INDICADO AO SISTEMA
PARA RETOMAR O JOB A PARTIR DO TERCEIRO STEP DA PROCEDURE
CATALOGADA, OU SEJA, DO STEP SCRD140B.
1 46
+ -
-EXEMPLO
+EXEMPLO
+EXEMPLO
----------
//DEBD1401 JOB ('DEB920331',
// 'DEB DIARIO - COFRE SEGURANCA DO GRUPO 1'),TSO.SP3299,
// CLASS=D,MSGCLASS=T,MSGLEVEL=1,REGION=4M,
// RESTART=PDEBD140.SCRD140B,
// COND=((888,EQ),(16,EQ),(12,EQ)),
// NOTIFY=SP3299
//JOBLIB DD DSN=CPDLIB,DISP=SHR
//PDEBD140 EXEC PDEBD140,
// BFF1100=31900, *** 29 REGISTROS P/BLOCO ***
// GR=01,TAPE610=CTAPES,CESEC=BRX,VS=01
//
- OBS. REAFIRMANDO O QUE FOI DITO ANTERIORMENTE,LEMBRAMOS QUE,
EM TERMOS DE JCL, TODAS AS REFERENCIAS SAO FEITAS AO NOME DO
COMANDO. NO MODELO ACIMA ESTAMOS INDICANDO O NOME DO STEP
QUE CHAMA A PROCEDURE, E NAO O NOME DA PROCEDURE,E O NOME DO
STEP DA PROCEDURE QUE CHAMA O PROGRAMA, E NAO O NOME DO
PROGRAMA.
1 47
+
0 O V E R R I D E
+ O V E R R I D E
+ O V E R R I D E
***************
0 NEM TODAS AS INFORMACOES QUE QUEREMOS, EM DETERMINADAS
CIRCUSTANCIAS, ALTERAR EM UMA PROCEDURE, PARA UMA EXECUCAO
ESPECIFICA, ESTAO EM FORMA DE PARAMETROS SIMBOLICOS. QUANDO
ISSO OCORRE, POREM, NAO EH NECESSARIO ALTERAR A PROCEDURE OU
DESISTIR DE UTILIZA-LA. RESTA-NOS UM RECURSO MUITO UTIL
CHAMADO OVERRIDE.
0 ATRAVES DE OVERRIDE PODEMOS, POR SOBREPOSICAO, ALTERAR,
NULIFICAR OU INCLUIR QUALQUER INFORMACAO CONTIDA EM ALGUM
COMANDO EXEC OU DD DE UMA PROCEDURE CATALOGADA. PODEMOS,
AINDA, INCLUIR UM NOVO COMANDO DD. NAO E POSSIVEL INCLUIR UM
NOVO COMANDO EXEC.
0 OVERRIDE DE COMANDO EXEC
+ OVERRIDE DE COMANDO EXEC
+ OVERRIDE DE COMANDO EXEC
------------------------
0 PARA ALTERAR, INCLUIR OU NULIFICAR UMA INFORMACAO
CONTIDA EM UM PARAMETRO EXEC DE UMA PROCEDURE, INCLUIMOS, NO
COMANDO EXEC DO JOB QUE CHAMA A PROCEDURE, O PARAMETRO
DESEJADO
0 FORMATO - PARAMETRO.NOMESTEPPROC=VALOR
+ FORMATO
+ FORMATO
0 EX. //PDEBD140 EXEC PDEBD140,COND.BKP609F=ONLY
0*******************************************************************************
0DICAS
+DICAS
+DICAS
----------
0SOBRE OVERRIDE DE COMANDO EXEC
+SOBRE OVERRIDE DE COMANDO EXEC
+SOBRE OVERRIDE DE COMANDO EXEC
------------------------------
0 1. AO FAZER OVERRIDES PARA COMANDO EXEC, ESTES DEVEM VIR NA
MESMA ORDEM EM QUE OS COMANDOS EXEC APARECEM DENTRO DA
PROCEDURE. NO ENTANTO, PODEM VIR MISTURADOS AOS PARAMETROS
SIMBOLICOS INDISTINTAMENTE.
0 2. PARA NULIFICAR UM PARAMETRO DE COMANDO EXEC BASTA
OMITIR-SE O VALOR, DESSA FORMA
0 EX. //PDEBD140 EXEC PDEBD140,PARM.BKP609D=
0*******************************************************************************
1 48
+ -
- OVERRIDE DE COMANDO DD
+ OVERRIDE DE COMANDO DD
+ OVERRIDE DE COMANDO DD
----------------------
- PARA ALTERAR, NULIFICAR OU INCLUIR PARAMETROS DD, OU
MESMO PARA INCLUIR NOVOS COMANDOS DD, CODIFICA-SE APOS O
COMANDO EXEC DA CHAMADA DA PROCEDURE O OVERRIDE
0 FORMATO - //NOMESTEPPROC.NOMEDD DD PARAMETRO=VALOR
+ FORMATO -
+ FORMATO -
-*******************************************************************************
-DICAS
+DICAS
+DICAS
----------
-SOBRE OVERRIDE DE COMANDO DD
+SOBRE OVERRIDE DE COMANDO DD
+SOBRE OVERRIDE DE COMANDO DD
----------------------------
- 1. AO FAZER OVERRIDES PARA COMANDO DD, ESTES DEVEM VIR NA
MESMA ORDEM EM QUE OS COMANDOS DD APARECEM DENTRO DA
PROCEDURE. SE COLOCADOS FORA DE ORDEM, O SISTEMA ACEITA OS
OVERRIDES QUE PORVENTURA ESTEJAM NA POSICAO CORRETA E IGNORA
OS DEMAIS.
0 2. AO SE ALTERAR O VALOR DE UM SUBPARAMETRO TODO O PARAMETRO
DEVE SER NOVAMENTE CODIFICADO, AA EXCECAO DO PARAMETRO DCB.
0 EX. NA PROCEDURE ESTAH CODIFICADO
0 //NOME DD SYSOUT=(D,,0360)
0 SE SE DESEJA ALTERAR, POR EX., A CLASSE DA SYSOUT E MANTER O
FORMULARIO, O CORRETO SERAH CODIFICAR NO OVERRIDE
0 //NOMESTEPPROC.NOMEDD DD SYSOUT=(E,,0360)
0 A CODIFICACAO //NOMESTEPPROC.NOMEDD DD SYSOUT=E
0 FARIA O SISTEMA PERDER A INFORMACAO ORIGINAL QUANTO AO FORM.
0 QUANTO AO PARAMETRO DCB, NAO PRECISA REPETIR AS INFORMACOES.
0 SUPONDO QUE NA PROCEDURE ESTEJA CODIFICADO
0 //NOME DD DCB=(BLKSIZE=7448,LRECL=133,RECFM=FB,DEN=3)
0 PODE-SE, NO OVERRIDE, FAZER
0 //NOMESTEPPROC.NOMEDD DD DCB=DEN=4
0 AS INFORMACOES ORIGINAIS NAO SERAO PERDIDAS.
1 49
+
- 3. PARA SE NULIFICAR UM PARAMETRO DD, ATRAVES DE OVERRIDE,
BASTA INFORMA-LO SEM ATRIBUICAO DE VALOR.
0 EX. //STEP1.ARQ1 DD VOL=SER=
1 50
+ -
- OVERRIDE DE ARQUIVOS DD CONCATENADOS
+ OVERRIDE DE ARQUIVOS DD CONCATENADOS
+1 OVERRIDE DE ARQUIVOS DD CONCATENADOS
------------------------------------
- ESPECIAL ATENCAO DEVE SER DISPENSADA AOS OVERRIDES DE
ARQUIVOS CONCATENADOS.
0 1. DEVE-SE INDICAR, NO OVERRIDE, A POSICAO RELATIVA DO
COMANDO A SER ALTERADO. VEJAMOS COMO DEVE SER FEITO
0 NA SITUACAO ABAIXO TEMOS UMA CODIFICACAO A SER ALTERADA
POR OVERRIDE
0 EX. //ETAPA12 EXEC PGM=QUALQUER
//ENTRADA DD DSN=ARQ1,DISP=SHR
// DD DSN=ARQ2,DISP=SHR
// DD DSN=ARQ3,DISP=SHR
// DD DSN=ARQ4,DISP=SHR
//SAIDA DD DSN=QUALQUER,
// UNIT=TAPES,DISP=SHR,
// DCB=(BLKSIZE=100,LRECL=100,RECFM=F,DEN=3),
// VOL=SER=351012
0 PRECISAMOS, POR EX., TROCAR O NOME DO ARQ3 PARA ARQ5.
NA CHAMADA DA PROCEDURE, ACRESCENTAMOS O OVERRIDE
0 //ETAPA12.ENTRADA DD
// DD
// DD DSN=ARQ5
0 DESSA FORMA, MARCAMOS COM O CAMPO DE OPERACAO -DD- A
POSICAO RELATIVA DO COMANDO QUE QUEREMOS ALTERAR.
1 51
+ -
- QUANDO PRECISAMOS, POREM, NULIFICAR UM DOS ARQUIVOS
CONCATENADOS, SEJA COM DUMMY OU COM DSN=NULLFILE, FAZ-SE
NECESSARIO MAIOR CUIDADO, VEZ QUE
0 QUANDO NULIFICAMOS QUALQUER DE UMA SERIE DE ARQUIVOS
CONCATENADOS TODOS OS QUE SE LHE SEGUEM SERAO TAMBEM
NULIFICADOS.
0 PARA QUE POSSAMOS NULIFICAR UM ARQUIVO CONCATENADO SEM
NULIFICAR OS DEMAIS PRECISAMOS DRIBLAR O SISTEMA, TROCANDO A
POSICAO RELATIVA DOS ARQUIVOS. VEJAMOS ALGUNS CASOS
0 EX. //ETAPA12 EXEC PGM=QUALQUER
//ENTRADA DD DSN=ARQ1,VOL=SER=050042
// DD DSN=ARQ2,VOL=SER=050043
// DD DSN=ARQ3,VOL=SER=050044
// DD DSN=ARQ4,VOL=SER=050045
//SAIDA DD DSN=QUALQUER,
// UNIT=TAPES,DISP=SHR,
// DCB=(BLKSIZE=100,LRECL=100,RECFM=F,DEN=3),
// VOL=SER=351012
- PRIMEIRO CASO
+ PRIMEIRO CASO
+ PRIMEIRO CASO - PRECISAMOS NULIFICAR O ARQ4
0 //ETAPA12.ENTRADA DD
// DD
// DD
// DD DUMMY
0 SENDO O ULTIMO DOS ARQUIVOS CONCATENADOS,NAO HA PROBLEMA
0 *****
- SEGUNDO CASO
+ SEGUNDO CASO
+ SEGUNDO CASO - PRECISAMOS NULIFICAR O ARQ3
0 //ETAPA12.ENTRADA DD
// DD
// DD DSN=ARQ4,VOL=SER=050045
// DD DUMMY
0 PASSAMOS O ARQ4 PARA O TERCEIRO LUGAR E ENTAO CODIFICAMOS
O DUMMY.
0 *****
1 52
+ -
- TERCEIRO CASO - PRECISAMOS NULIFICAR O ARQ2
+ TERCEIRO CASO
+ TERCEIRO CASO
0 //ETAPA12.ENTRADA DD
// DD DSN=ARQ3,VOL=SER=050044
// DD DSN=ARQ4,VOL=SER=050045
// DD DUMMY
0 REPOSICIONAMOS OS ARQ3 E ARQ4 E CODIFICAMOS O DUMMY.
0 *****
- QUARTO CASO
+ QUARTO CASO
+ QUARTO CASO - PRECISAMOS NULIFICAR O ARQ1
0 //ETAPA12.ENTRADA DD DSN=ARQ2,VOL=SER=050043
// DD DSN=ARQ3,VOL=SER=050044
// DD DSN=ARQ4,VOL=SER=050045
// DD DUMMY
0 REPOSICIONAMOS TODOS OS ARQUIVOS E CODIFICAMOS O DUMMY.
0 *****
- QUINTO CASO
+ QUINTO CASO
+ QUINTO CASO - PRECISAMOS NULIFICAR OS ARQ3 E ARQ4
0 //ETAPA12.ENTRADA DD
// DD
// DD DUMMY
0 NULIFICANDO O TERCEIRO, O SEGUINTE TAMBEM FICARAH DUMMY.
1 53
ABORDAGEM FINAL DO PARAMETRO COND
+ ABORDAGEM FINAL DO PARAMETRO COND
+ ABORDAGEM FINAL DO PARAMETRO COND
//TSTD030 JOB ('TST920331',
// 'TST DIARIO - COFRE SEGURANCA DO GRUPO 1'),TSO.SP3299,
// CLASS=D,MSGCLASS=T,MSGLEVEL=1,REGION=4M,
// COND=((888,EQ),(16,EQ),(12,EQ)) VEJA EFEITO ABAIXO
//*******************************************************************
//* COND NO JOB - SE QUALQUER PROGRAMA DO JOB, SEJA INDICADO DI-
//* RETAMENTE ATRAVES DO PARAMETRO PGM OU POR FAZER PARTE DE UMA
//* DAS PROCEDURES INDICADAS, EMITIR RC 888, 12 OU 16 O PROCESSA-
//* MENTO DO JOB SERA INTERROMPIDO.
//*******************************************************************
//JOBLIB DD DSN=CPDLIB,DISP=SHR
//*******************************************************************
//SYS26PGM EXEC PGM=SYS026,
// PARM=NN SUBSTITUIR NN PELO DIA DE EXECUCAO
//*******************************************************************
//BAIXA500 EXEC PGM=COPIA,
// COND=(06,NE,SYS26PGM) VIDE ABAIXO
//*******************************************************************
//* COND NO EXEC QUE ATIVA PGM - SE O SYS26PGM EMITIR RC DIFEREN-
//* TE DE 06 A CONDICAO SERA SATISFEITA E O BAIXA500 NAO SERA EXE-
//* CUTADO (A COMPARACAO EH FEITA DA CONDICAO PARA O RC)
//*******************************************************************
//BAIXA501 EXEC PGM=COPIA,
// COND=(06,NE) VIDE ABAIXO
//*******************************************************************
//* COND NO EXEC QUE ATIVA PGM - SE A CONDICAO NAO ESPECIFICA UM
//* PGM, O TESTE EH FEITO EM RELACAO A TODOS OS PROGRAMAS ANTERIO-
//* RES. NO EXEMPLO, ANTES DE EXECUCAO DO BAIXA501, A CONDICAO SE-
//* RA COMPARADA COM OS RC EMITIDO PELOS SYS26PGM E BAIXA500. SE
//* A CONDICAO FOR SATISFEITA (POR QUALQUER UM DOS DOIS), O PGM
//* BAIXA501 NAO SERA EXECUTADO.
//*******************************************************************
//PTSTD030 EXEC PTSTD030,
// BFF1100=31900,
// COND.TST0100=(0,EQ,SYS026), VIDE ABAIXO
// TAPE610=CTAPES,CESEC=BRX,VS=01
//*******************************************************************
//* OVERRIDE DE COND NO EXEC - ANTES DE EXECUTAR O STEP TST0100,
//* PROGRAMA DA PROCEDURE PTSTD030, A CONDICAO SERA COMPARADA COM
//* O RC DO STEP SYS026, DA MESMA PROCEDURE. SE SATISFEITA A CONDI-
//* CAO O TST0100 NAO SERA EXECUTADO.
//*******************************************************************
//PTSTD040 EXEC PTSTD040,
// COND.TST020=(1,NE,PTSTD030.TST0100)
//*******************************************************************
//* OVERRIDE DE COND NO EXEC - ANTES DE EXECUTAR O STEP TST020,
//* PROGRAMA DA PROCEDURE PTSTD040, A CONDICAO SERA COMPARADA COM
//* O RC DO STEP TST0100, DA PROCEDURE PTSTD030, DO MESMO JOB. SA-
//* TISFEITA A CONDICAO O TST020 NAO SERA EXECUTADO.
//*******************************************************************
//PTSTD050 EXEC PTSTD050,
// COND=(1,NE,PTSTD030.TST0100) VIDE ABAIXO
//*******************************************************************
//* CODIFICACAO DE COND EM UM EXEC QUE CHAMA UMA PROCEDURE - OS
//* EFEITOS SAO OS SEGUINTES:
//* 1 - TODAS AS CONDICOES ORIGINALMENTE CODIFICADAS NOS STEPS
//* DA PROCEDURE (PTSTD050, NO EXEMPLO) FICAM SEM EFEITO (SAO
//* SUPLANTADOS).
//* 2 - TODOS OS STEPS DA PROCEDURE (PTSTD050, NO EXEMPLO) PASSA-
//* RAO A DEPENDER DA CONDICAO CODIFICADA NO EXEC QUE CHAMA A
//* PROCEDURE.
1//* 3 - NO EXEMPLO, TODOS OS PROGRAMAS DA PTSTD050 SERIAM EXECU-
//* TADOS QUANDO O PROGRAMA TST0100, DA PROCEDURE - DO MESMO
//* JOB - PTSTD030 EMITISSE RC 1. QUANDO O TST0100 DA
//* PTSTD030 EMITISSE RC DIFERENTE DE UM NENHUM DO STEPS DA
//* PTSTD050 SERIAM EXECUTADOS.