Você está na página 1de 30

Centro de Treinamento

MAINFRAME COBOL
(Amostra)

Pgina: 1

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Aula2TSO(TimeSharingOption)

Opo3.3doPDF

3Move/CopyMove,copy,orpromotemembersordatasets

Reparenasseguintesmensagens:FromISPFLibrary:eFromOtherPartitionedor
SequentialDataSetquenosdoaexatasensaoqueestamosnosreferindoaumarquivode
origem.Nesteexemplovamoscopiarummembrodeumabiblioteca(GP.GPMF99.COBLIB)
utilizandoaopocparaumoutrodataset.VamoscopiaromembroBALANCEparauma
outrabiblioteca......masparaqualbiblioteca?Vamosdarum<ENTER>.

www.gpritreinamento.com.br(11)32272261

Pgina:1

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Repare que agora apareceu 2 vezes a palavra TO que nos d a exata sensao de
refernciaaumarquivodedestino.Nesteexemploestoucopiandoomembroselecionadono
exemplo anterior para esta biblioteca. Vamos manter o nome de origem do membro. Se
quisssemosalterarbastavacolocarnocampomemberonovonome.Nocantosuperiorda
tela aparece a confirmao do nome do arquivo/membro que est sendo copiado.

Omembrododatasetfoicopiadonormalmenteeretornaautomaticamenteateladeorigem.
Opo3.4doPDF
4DslistPrintordisplay(toprocess)listofdatasetnames.PrintordisplayVTOC
information.

www.gpritreinamento.com.br(11)32272261

Pgina:2

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Vamos listar todos os arquivos do catlogo que comeam com GP.GPMF80. O resultado:

Podemostrabalharcomosdatasetslistadosacima.Podemoseditar(E),visualizar(B),
deletar(D),renomear(R),copiar(C),mover(M),etc.Umaoutraopo,nestatelautilizaro
comando barra (como no exemplo), que vai abrir vrias opes, inclusive as citadas acima.
Vejaoresultado:

Um popup foi aberto e vrias opes sobre o que fazer com o arquivo selecionado.
Bastaselecionaronmerodaopo.Funcionarcomooscomandocitados.
Apartirdestecomandoquasetodasasfunesmostradasatomomentopoderoser
feitasapartirdestaopo.

www.gpritreinamento.com.br(11)32272261

Pgina:3

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Asopesde5a11estodesabilitadaseporissonoseroobjetosdeestudo.Elas
sodeusodareadesuporteoperacional.
Opo3.12doPDF

12SuperCComparedatasets

VamoscompararoarquivoGP.GPMF80.MANUTcomoarquivoGP.GPMF99.MANUT.
Necessitaremos2painisparaentrarcomainformao.

Comeste:

www.gpritreinamento.com.br(11)32272261

Pgina:4

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Eoresultadoser.......

Note: nas linhas 9 e 10 o resultado da diferena entre os 2 arquivos. No de input aparece


00017ISTOESTADIFERENTEenodeoutput,noexiste.

Aopo13geraemdiscoestasdiferenas.Masafuncionalidadeamesma.

Opo3.14doPDF

14SearchForSearchdatasetsforstringsofdata(StandardDialog)

www.gpritreinamento.com.br(11)32272261

Pgina:5

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Vamos pesquisar a(s) ocorrncia(s) do string GP dentro da biblioteca GP.LB.PROCLIB.


Notequeoasteriscoemmemberindicaquevamosfazerapesquisaemtodososmembroda
bibliotecaemquesto.

Oresultado:

As opes 4 e 5 do PDF servem para compilar programas dentro do TSO. Porm sua
funcionalidadeaindanoestativada.necessriocompiladorinstaladodentrodoTSO,oque
novantajoso.

Asopes7a11sodestinadasexclusivamenteequipedesuporte.

Naopo6possvelemitircomandosparaoperao,comocancelarjobs,mensagens
paraooperadorouatmesmofunesdoRACF.Obviamentequeestafunogeralmente
desabilitadaparareadedesenvolvimento.

www.gpritreinamento.com.br(11)32272261

Pgina:6

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

PRINCIPAISCOMANDOSDETSO

ComandosdeTSOsoentradasnalinhadecomando,sempreusadosnomanuseiode
arquivos editados. Lembrese que qualquer arquivo para ser alterado ou incluir informaes
eleprecisasereditado.Portantoumarquivoeditadoumarquivoaltervel.

F MARIA procura pela palavra Maria dentro do arquivo. Para continuar procurando a
mesmaocorrncianorestantedoarquivo,continueteclandoF5,

C SECTIONSECAOALLalteratodasasocorrnciassectionparasecao(emtodoarquivo).

SAVEsalvaoarquivoemuso(comomesmonomeevidentemente).

CANCEL cancelatodasasalteraesrealizadasdesdeoltimosave.Oarquivomantm
asmesmascaractersticasanteriores.

RECOVERYONUmanicavez,habilitaaopoUNDO(desfazer)umafuno.

L PGM01 Este comando s poder ser executado quando dentro de uma biblioteca.
Utilizadoparalocalizarummembrodentrodeumabiblioteca.

HEX Exibeoarquivoemhexa

HEXOFFRetornaadecimal.

RES Limpamensagensdosistema.

M+F8Posicionacursornaultimalinha

M+F7Posicionacursornaprimeiralinha

L 26Posicionacursornalinha26

EXC SECTIONALLExcluitodasaslinhascomaocorrnciasection(semall,somentea
primeira)

www.gpritreinamento.com.br(11)32272261

Pgina:7

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

COMANDOSDELINHAS

(tambmvlidosomenteparamodoedit)

COLS Criarguanalinhasuperior

C copialinha

CC+CCCopiablocodelinhas

A LocalizadorparaoscomandosCopyeMove.A=after

M Move1linha

MM+MM Moveblocodelinhas

RRepetelinha

RR+RR Repeteblocodelinhas.

| Inserelinhas

N+DeslocaotextoNcolunasparadireita

N DeslocaotextoNcolunasparaaesquerda

Se um Member for aberto no modo VIEW, as alteraes efetuadas no podero ser


gravadas.ParadescartarasalteraesemCOMMANDdigiteCANCELe<enter>.
Para gravar as alteraes digite CC na primeira linha e CC na ultima linha e em
COMMANDdigiteREPLACEnomedomembere<enter>.
Para criar uma cpia de um Member sendo editado (EDIT) ou visualizado (VIEW) ,
digiteCCnaprimeiraeltimalinhaeemCOMMANDdigiteCREATEnomedonovomembro
e<enter>.

www.gpritreinamento.com.br(11)32272261

Pgina:8

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

OSDSF

EstaatelaprincipaldoSystemDisplaySearchFacility,ousimplesmenteSDSF.um
aplicativoque,aexemplodoPDF,rodadebaixodoTSO.Aprincipalfunodesteaplicativo
permitiroacompanhamentoemonitoraodejobsdentrodosistemaoperacional.
Nesta tela acima podemos perceber que as opes mostram as diversas reas do
sistemaoperacionalporondetrafegamosjobsbatch.Nemtodasasopesestarohabilitadas
para voc na sua empresa. E mesmo dentre as opes liberadas existem funes como por
exemplo,cancelarjobs,deletarsysout,monitorarjobdeoutrousurioquevoccertamente
noterpermisso,poisoSDSFcontroladopeloRACF.

LOG Exibealogdaconsolemsterdosistemaoperacional.

DA Exibejobsemexecuo(certamenteosquevoctempermissodevisualizar)

I JobspresosnaInputqueue.

O Jobsnaoutputqueue(noliberadosparavisualizao)

H Jobsemhold

ST Jobsnasada,liberadosparavisualizao(sysoutsdeexecuo)

PR Impressorasdosistemaoperacional

INIT Statusdosinitiators
www.gpritreinamento.com.br(11)32272261

Pgina:9

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Demaisfunesutilizadaspelosuportetcnico.
OpoST

Visualizarjobs

NOTA:ouserGPMF80sconseguevisualizarosjobsiniciadoscomGPMF80.Aopo
s(deselect)abreavisualizaodasysoutdojobscomoveremosaseguir.

Resultado.

www.gpritreinamento.com.br(11)32272261

Pgina:10

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

NAVEGANDOENTRETELAS

UsandoF2eF9

Imagine a situao: Voc entrou no sistema pela opo P.3.4, abriu um job e o
submeteu.Paravisualizarasysoutdeexecuo,vocdeveriateclarF34vezes,voltaraomenu
principal,entrarnoSDSF,eentrarnaopoST.Vocvojob,masprecisasubmeter.Vocsai
dafunoST,retornaaoPDFevainavegandoatretornaraojob.Acertaojob,submeteetem
quevoltaraoSDSF.
ParaminimizaresteesforovocpodedividiratelacomF2etrabalharcomosefosse
2usuriossimultneos.VocnavegaentreambosutilizandoateclaF9.

Reparequeatelaestdividida.Alinhapontilhadaindicaadivisoem2sessessimultneas.

www.gpritreinamento.com.br(11)32272261

Pgina:11

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

SAINDODOTSO

VocdevepressionarF3atapareceratelaabaixo:

Digite2emProcessoptionepressione<Enter>.

LOGOFF

O comando LOGOFF (que voc dever digitar logo abaixo de READY) encerra a sesso de
TSO. Como confirmao da ao e enviada a seguinte mensagem ao terminal :

NOTA:NuncasaiadoTSOsemLOGOFFaUSERIDficapresaevocnoconseguir
logarsenovamente.

www.gpritreinamento.com.br(11)32272261

Pgina:12

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Questionrio

1. CitedoisrecursosdentrodoPDFISPFquenospermitecriar/editarummember.

2. DentrodaexibiodaexecuodeumJOBemSDSystemDisplay,qualo
recursoparaselocalizarcadeiasdecaracteres(strings),irparaoinicioefimda
exibio?

3. ComonaexibiodeumJOBemSDSystemDisplay,podesedeterminarde
quantosstepsoJOBcompostoeoresultadodaexecuodecadaumdeles
?possvelaindaaexibioindividualdecadastep?

www.gpritreinamento.com.br(11)32272261

Pgina:13

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

AULAS3e4JCL(JobControlLanguage)

DEFINIODEUMJOB

Umjob(servio)compostoporumoumaisprogramasqueseroprocessadosdentrodeuma
seqncia.Seestaseqnciaforquebradaporalgumaanormalidade,interrompeseofluxo,reparaseo
erroefazaretomada.UmainterrupocausadapeloprogramachamamosdeABEND.Estaretomada
(ourestart)poderserfeitadesdeoincio,apartirdopontoquehouveaocorrncia,emalgumponto
anteriordoJob,ouatmesmodealgumjobanterior.Podetambmsernecessrioarecuperaode
algum arquivo que tenha sido o causador do trmino anormal. Um seqncia de jobs em cadeia
chamamosderotina.

ObservaesmuitoimportantessobreumJOB:

Umjobcompostodepelomenosumprograma.
Esteprogramapoderserumdesenvolvidonaempresaouatmesmoumutilitrio.
UmjobSEMPRE(obrigatoriamente)comeacomumcartoJOB,queirseapresentarparao
sistemaoperacionaledisponibilizarasfilaseprioridadesdentrodosistema
AcadaprogramaouutilitriodenominamosETAPA(step).
CadasteprepresentadoporumcartochamadoEXEC.
O carto EXEC responsvel por chamar o programa compilado e linkeditado (podendo ser
tambmumutilitrioouumaProcedure).
Dentro de cada carto EXEC teremos cartes DD que iro disponibilizar os dispositivos
necessriosparaofuncionamentodoprograma.
DESENHOBSICODEUMJOB

//XXXXXXXJOBXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXXEXECXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXXDDXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXXDDXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXXDDXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXX....EXECXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXXDDXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXXDDXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXXDDXXXXXXXXXXXXXXXXXXXXXXX
//XXXXXXX.....DDXXXXXXXXXXXXXXXXXXXXXXX
//

Repare:temosnesteexemploumJobcompostode4steps.Estesstepspodemserprogramascaseiros
e/ouutilitrios(comooSORTeoIDCAMS)ouprocedures.
Voltandoafig.01podermuitobemseraseqncia01tendoumSORTentreosprogramasPROG003e
PROG009.NestecasooPROG003gerouumarquivoaserlidopeloPROG009.Masantesdeutilizar,o
PROG009precisareclassificaroarquivoparaatendersuaregradenegcio.

www.gpritreinamento.com.br(11)32272261

Pgina:14

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL


AFUNODOJ.C.L.

QuandomencionamosaspalavrasJOB,EXECeDD,estamosfalandodeumalinguagem:JCL(Job
control language ou linguagem de programao de servios). A funo do JCL solicitar e informar
recursosedispositivosaosistemaoperacional.
OscomandosJOBeDDobrigatoriamentedeveroterumNOME(opcionalnocomandoEXEC).
Este nome ser conhecido como JOBNAME, STEPNAME e DDNAME. So inseridos logo aps o // e
antesdocomando.
EXEMPLODEJ.C.L.

UmexemplotpicodeumJOBcomumstepapenasparailustrao.

//GPTINNssJOB(Nome),ANTONIO,CLASS=6,MSGCLASS=U
//STEP0101EXECPGM=MYPROGSS
//ENTR01DDDSN=GP.GPALU99.CADCLI,DISP=SHR
//SAIDA02DDDSN=GP.GPALU99.CADENT,DISP=(NEW,CATLG,DELETE),
//UNIT=SYSALLDA,SPACE=(TRK,(5,1),RLSE),
//DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//SYSOUTDDSYSOUT=*
//PARM01DD*
PRINTALL
//*
//STEP0102EXECPGM=MYPROGXX,COND=(0,NE)
//ENTR03DDDSN=GP.GPALU99.CADENT,DISP=SHR
//ENTR04DDDSN=GP.GPALU99.CADRET,DISP=SHR
//SAIDA03DDDSN=GP.GPALU99.CADSAI(+1),DISP=(NEW,CATLG,DELETE),
//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
//DCB=(GDG,RECFM=FB,LRECL=120,BLKSIZE=0)
//RELATODDSYSOUT=(R,,XPTO)
//

//GPTINNssJOB(Nome),ANTONIO,CLASS=6,MSGCLASS=U
//STEP0101EXECPGM=MYPROGSS
//ENTR01DDDSN=GP.GPALU99.CADCLI,DISP=SHR
//SAIDA02DDDSN=GP.GPALU99.CADENT,DISP=(NEW,CATLG,DELETE),
//UNIT=SYSALLDA,SPACE=(TRK,(5,1),RLSE),
//DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)

//SYSOUTDDSYSOUT=*
//PARM01DD*
PRINTALL
//*

Neste exemplo temos um job com 2 steps apenas que ir executar um programa chamado
MYPROGRSS,eter2arquivosdeentradasendooprimeiroemdiscochamadopeloDDNAMEENTR01
eumparmetrochamadoPARM01EumasadachamadopeloDDNAMESAIDA02.
UmoutrostepirexecutaroprogramaMYPROGXX,queirler2arquivosegerarumterceiro
arquivoemGDG.

www.gpritreinamento.com.br(11)32272261

Pgina:15

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL


POSICIONAMENTODOSCARTESDEJCL

1234567890123456789012345678901234567890123456789012345678901234567890123

//GP0014KRJOB(9983,98,978,09),ANTONIO,CLASS=6,MSGCLASS=U
//STEP0101EXECPGM=MYPROGSS
//ENTR01DDDSN=GP.GPALU99.CADCLI,DISP=SHR

OscartesJCLpossuem4(quatro)divisesemseucomando:
Colunas12=cartes//(obrigatrio)
Colunas310=nomedocarto(podeserJOBNAME,STEPNAMEouDDNAME)
Colunas1215=Tipo
Colunas1672=Comando

necessrioumespaoembrancoentreocardname/comando/clusula.TodaclusuladoJCL
comeacom//nascolunas1e2.Exceoapenasquandovaiseinserirmassadados.Umjob
compostodepelomenosumprograma.Esteprogramapoderserumdesenvolvidonaempresaouum
utilitrio.

UmjobSEMPRE(obrigatoriamente)comeacomumcartoJOB,queirseapresentarpara
o
sistemaoperacionaledisponibilizarasfilaseprioridadesdentrodosistema
AcadaprogramaouutilitriodenominamosSTEP.
CadasteprepresentadoporumcartochamadoEXEC.
OcartoEXECresponsvelporchamaroprogramacompiladoelinkeditado.(Podendoser
tambmumutilitrio)
DentrodecadacartoEXECteremoscartesDDqueirodisponibilizarosdispositivos
necessriosparaofuncionamentodoprograma.
REGRASBSICASDEJ.C.L.

No se esquea que JCL uma srie de comandos que voc est passando para o sistema
operacionalentenderoseuprograma,comosefossemparmetros.
JAMAIS confunda JCL ERROR com ABEND. O primeiro erro de sintaxe ou indisponibilidade de
recursos.Osegundofalhadeprogramaqueemalgunscasopodeatmesmosercausadopor
recursosdosistema.
EmcasodeerrodeJCL,oprogramaemquestonofoiexecutado.
Os cartes // nas colunas 1 e 2 so obrigatrios em todo o JCL, exceto se houver algum
parmetroaserpassadopelousurio(opo)aoprograma.(Vejaregra6)
Existemparmetrosobrigatrioseparmetrosopcionais.
ComexceodoAccounteprogramernamedocartoJob,todososoutrosparmetrospossuemo
sinal=.Oparmetrosvmaesquerdaeossubparmetrosdireitadosinal.]
Os subparmetros podem ser 1 ou maisde 1. Quandohouver mais de 1 subparmetro dever
estarentreaspas.
Seoseuprogramatemopodeprocessamento(ex:listagemtotalouparcial),esteopo(quena
verdadetambmumparmetro),estepoderserpassadoapsumcartoDDquecontenha
ocomandoDD*.
Ao comear numa empresa pea sempre uma cpia da padronizao da empresa. Nem sempre
voc poder batizar seu programa, jobname, stepname etc com o nome que voc quer.
Existemregras,comcerteza.

www.gpritreinamento.com.br(11)32272261

Pgina:16

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

COMANDOJOB

//GPAE99PGJOB(9983,98,978,09),ANTONIO,
//CLASS=6,MSGCLASS=U

GPAE99PGoJOBNAME.Devertersempreumapadronizaoestabelecidapelareadeproduo
daempresa.Procuresaberaregraantesdefazeradenominao.NaGPTIsempreouseridseguidode
2posieslivres.

Regra:Deverterde1a8caracteres(emgeralsempre8),sendooprimeiroalfabtico.

JOBNomedocartodecomandoObrigatrio.Sempreentreespaosembranco.
(9983,98,978,09):Informesecomaproduopoisistovariadeempresaparaempresa.Podenemser
obrigatrio.Massefor,deversersempreoprimeiroapsoJOB.

ACOUNTNomeparacontabilizaodeusodosrecursos.

CLASS=DefineaclassequesersubmetidanafiladeJOBS.

MSGCLASS=Defineaclassedesysout(relatrio)ondeserogeradastodasaslogsduranteotempoem
queojobpermanecernosistema.

MSGLEVEL=(x,y)DefineonveldasmensagensqueseroexibidasapsaexecuodoJOB.
OparmetroXpodeassumirosvalores0,1ou2
OparmetroYpodeassumirosvalores0ou1

TYPERUN=HOLD|SCAN
Outrosparmetrosusadospoderoserrequeridosnaempresa,masnosoobrigatrionocartoJOB,
taiscomoTYPERUN,NOTIFYeoutros.

COMANDEXEC

compostodostepname(opcional),cartocomando(EXEC)eonomedoprograma(ouutilitrio)aser
chamadopeloJOB,apsapalavraPGM=.

PodesecodificaroparmetroPROC=ouinidicarumnomesemqualquerpalavrachave(PGMouPROC)
parachamadasaprocedurescatalogadas.
PROCEDURECATALOGADA

MuitasempresaspreferemutilizarprocedurecatalogadasaoinvsdeJOBSextensos.umaopobem
saudvelpoisevitasemanutenesepermitepassarparmetrosparaasprocedures.Vejaoexemplo
deumJOBantesedepoisdaconversoemprocedurecatalogada(ousimplesmentePROC).

Antes:

//GP0014KRJOB(9983,98,978,09),ANTONIO,
//CLASS=6,MSGCLASS=U
//STEP0101EXECPGM=MYPROGSS
//ENTR01DDDSN=GP.GPALU99.CADCLI,DISP=SHR
//SAIDA02DDDSN=GP.GPALU99.CADENT,DISP=(NEW,CATLG,DELETE),
//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
//DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//SYSOUTDDSYSOUT=*
www.gpritreinamento.com.br(11)32272261

Pgina:17

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL


//PARM01DD*
PRINTALL
//*
//STEP0102EXECPGM=MYPROGXX,COND=(0,NE)
//ENTR03DDDSN=GP.GPALU99.CADENT,DISP=SHR
//ENTR04DDDSN=GP.GPALU99.CADRET,DISP=SHR
//SAIDA03DDDSN=GP.GPALU99.CADSAI(+1),DISP=(NEW,CATLG,DELETE),
//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
//DCB=(GDG,RECFM=FB,LRECL=120,BLKSIZE=0)
//RELATODDSYSOUT=(R,,XPTO)

DEPOIS:

O job (chamada) vai executar uma procedure chamada UP01P04 que est na biblioteca padro do
sistema.OsparmetrospodemserpassadospeloJOBoupelocartoPROC.

//GPUP0014KRJOB(9983,98,978,09),ANTONIO,
//CLASS=6,MSGCLASS=U
//PROC001EXECUP01P04,CLIENTE=GP0014,SAIDA=CADRET

APROCEDURECATALOGADA

//GP01P04PROCVOUP=SHR
//STEP0101EXECPGM=MYPROGSS
//ENTR01DDDSN=&CLIENTE..GPALU99.CADCLI,DISP=SHR
//SAIDA02DDDSN=&CLIENTE..GPALU99.CADENT,DISP=(NEW,CATLG,DELETE),
//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
//DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//SYSOUTDDSYSOUT=*
//PARM01DD*
PRINTALL
//*
//STEP0102EXECPGM=MYPROGXX,COND=(0,NE)
//ENTR03DDDSN=&CLIENTE..GPALU99.CADENT,DISP=&VOUP
//ENTR04DDDSN=&CLIENTE..GPALU99.&SAIDA,DISP=SHR
//SAIDA03DDDSN=&CLIENTE..GPALU99.CADSAI(+1),DISP=(NEW,CATLG,DELETE),
//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
//DCB=(GDG,RECFM=FB,LRECL=120,BLKSIZE=0)
//RELATODDSYSOUT=(R,,XPTO)
//GP01P04PROCVOUP=SHR

OparmetroPARM=,nocartoEXECusadoparapassarinformaesparaoprograma.

Sintaxe:
//STEP0101EXECPGM=MYPROGXX,PARM=900512,COND=(0,NE)

Neste caso, o MYPROGSS um programa que dever estar na biblioteca padro do sistema.
AntesdedarOPENnoprogramaosistemairverificarseoprogramarealmenteexiste.Emseguidair
verificarosrecursossolicitadospeloscartesDDparasentodarOPENnoprogramaecarregaloem
memria.
Todososprogramasaoterminarem,emitemumcdigoderetornoparaosistemaoperacional.
Sefor0(zero)significaqueterminouOK.

www.gpritreinamento.com.br(11)32272261

Pgina:18

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

O COND,neste caso ser para checar se o(s) step(s) anterior(es) terminou(aram) ok. Os mais
comuns:

(0,NE)SetodososstepsanterioresterminaramOK,podeprocessarestestep.

(2,LT)Significaqueestestepaceitaqueumosstepsanterioresemitamumreturncodeiguala0ou
1.
Regra bsica: Comparar os return code anteriores e comparar com o parmetro. Se for negativo,
execute.Seforpositivonoexecute.Outrosexemplos:

(0,LT)noirexecutarnuncapoisnoexistereturncodenegativo.

(0,EQ)sprocessasealgumstepanteriorderreturncodediferentede0.

(EVEN)executamesmoquealgumstepanteriortenhaterminadoanormalmente.

(ONLY)executasomentesealgumprogramatenhaterminadoanormalmente.

OBSERVAO:EmcasodeerrodeJCLoparmetroCONDnorespeitado.Ainterrupo
ocorredequalquerforma

OCOMANDODD

Acompanhando nosso exemplo, vamos utilizar os cartes para as definies. Antes porm,
bom lembrar que o carto DD utilizado para pedir ao sistema alocao de recursos fsicos
(dispositivos)paraqueoprogramasejaprocessado.

Sintaxe:
//GPUP0014KRJOB(9983,98,978,09),ANTONIO,
//CLASS=6,MSGCLASS=U
//PROC001EXECUP01P04,CLIENTE=GP0014,SAIDA=CADRET

DDNAME=(ENTR01)Temqueseromesmoquevocespecificounaselectdoseuprograma.Confira
sempreapadronizaonasuainstalao.
DD=onomedocartocomando.
DSN=Parmetroqueirdizeraosistemaqualonomeexternodoarquivoemquesto.
DISP=Informaostatusdoarquivonosistemaoperacional.
Sintaxe:

DISP=(NEW,CATLG,CATLG)
DISP=(SHR,UNCTLG,UNCTLG)
DISP=(OLD,DELETE,DELETE)
......DISP=(NEW,KEEP,KEEP)
PRIMEIROSUBPARMETROSTATUSDOARQUIVO

SHR>Significaqueoarquivojexisteepodeserlidopor outrorecursosimultneamente.
OLD>Significaqueoarquivojexisteequeoprograma exigeexclusividadenaleitura.
NEW>Arquivonovo,asercriadonestemomento.

www.gpritreinamento.com.br(11)32272261

Pgina:19

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

SEGUNDOETERCEIROSUBPARMETROAOASERTOMADAEMCASODETRMINONORMALE
TRMINOANORMALRESPECTIVAMENTE.

CATLG>Catalogueoarquivo.bviamentequeestaopodeveestarsempreacompanhadadeNEW
noprimeirosubparmetro.Porqueseoarquivoestiversendolidoporquejestcatalogado.
UNCATLG>Descatalogueoarquivo.Eviteusarsempre.
DELETE>Deleteoarquivo.Seprecisardeletaroarquivousesempreestaopo.
KEEP>Mantenhaoarquivodojeitoqueestavaantes

SEMPREuseomodelodapginaanteriorparaentrada/sada.
Seoarquivodeentrada(OLDouSHR)noprecisaespecificardemaisparmetros,pois
bviamentejestcatalogadoeosistemasaberencontrlo.Sefordesadavocdever

usarosdemaisparmetrosdoexemploENTR02

Exemplosinvlidos:

(SHR,CATLG,DELETE)>Seoarquivonovo(SHR)comoircatalogarsejestcatalogado?Osistema
norecataloga.

(NEW,KEEP,DELETE)>Comomanterumarquivoqueaindanoexiste?

Default:
SevoccolocarapenasDISP=SHRosistemaassume(SHR,KEEP,KEEP).

Outrossubparmetros:

UNIT=>Especificaotipodedispositivoondevoccriaroarquivo.GeralmentediscoSYSALLDA.
Confirasemprecomumfuncionriodasuaseooucomaequipedeproduo.

VOL=SER=nome > indica o volume onde reside ou residir o arquivo. Se especificarmos um nome
genricoparaoparmetroUNIT(ex.SYSALLDA)duranteacriaodeumarquivoouomesmoestiver
catalogadoquandoforutilizadocomentradaesseparametropoderseromitido.

SPACE= > Espao a ser utilizado. Lembrese que no precisa ser preciso, mas quanto mais preciso
melhor. uma estimativa. O sistema ir checar se h disponibilidade para gravar seu arquivo. Se no
houver,cancelar.
Sintaxe:SPACE=(TRK,(5,2),RLSE).

Reparequehsubparmetrodentrodesubparmetro.Permanecearegradeutilizar'()'.
Neste exemplo estamos alocando 5 trilhas (TRK) na alocao primria, 2 trilhas de alocao
secundriaeliberando(RLSE)astrilhasnoutilizadas.Poderiasercilindros(CYL)aoinvsdeTRKmas
no convm sua utilizao. Para saber o nmero ideal considere que uma trilha comporta
aproximadamente56.000bytes.Portantonestecasoestamosalocando5trilhas.Senoforsuficiente
esta alocao, o sistema alocar mais 2 trilhas (alocao secundria) at 16 vezes para atender a
solicitao.Seaindanoforsuficienteoprogramacancelar.

DCB=>Indicaoformatodoarquivoasergravado.Nonecessrioparaarquivosaseremlidos,poiso
catlogoguardaestainformaes.

Sintaxe:

www.gpritreinamento.com.br(11)32272261

Pgina:20

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

DCB=(RECFM=FB,LRECL=98,BLKSIZE=0)
Obs.:Aordemdossubparmetrosnoobrigatria.

Nesteexemplo:

IndicaqueoarquivoFB(fixoblocado).Confiraqueoseuprogramapossuiasclusulas'BLOCK
0'e'RECORDFORMATISFIXED'.Outrasopespossveis:VB(varivelblocado),FBA(fixblocadocom
caracterdeimpresso)eF(fixosemblocagem.EVITEsempre)ePO(particionado)
Otamanhodoregistro98.Sefossevariveldeveriaserotamanhodomaiorregistro+4.

BLKSIZE=>Blocagemdoregistro.omaiornmerodebytestrazidosparaamemriadeumasvez.
sempre uma quantidade prxima de 32.000. Deixe sempre com '0', pois o sistema calcula
automticamenteablocagemideal.

SYSOUT= > Este carto tem finalidade definir a classe em que o relatrio ser impresso. Como as
empresas sempre tem mais que uma impressora, diversos recebedores, diversos tipos de formulrios
estasinformaesserodeutilizadasparafazerestasdefinies.Nesteexemploorelatrioseremitida
naclasse5comtipodeformulrioXPTO,quepodeserporexemploumafatura.

DDsESPECIAIS

ComandoSYSINouDD*
(PRONUNCIASE(DEDASTERISCO))

Quandosefaznecessriopassaralgumainformaoparaoprogramaatravsdealgumaopo,ouvai
seinformaralgumdadodigitadoparaoprograma,istofeitoatravsdocartoDD*.Vejaoexemplo
abaixo:

//STEP0102EXECPGM=MYPROGXX,COND=(0,NE)
//ENTR03DDDSN=GP.GPALU99.CADENT,DISP=SHR
//SAIDA03DDDSN=GP.GPALU99.CADSAI(+1),DISP=(NEW,CATLG,DELETE),
//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
//DCB=(GDG,RECFM=FB,LRECL=120,BLKSIZE=0)
//SYSINDD*
DATE=25052002
//
//STEP0102EXECPGM=MYPROGXX,COND=(0,NE)
//ENTR03DDDSN=GP.GPALU99.CADENT,DISP=SHR
//SAIDA03DDDSN=GP.GPALU99.CADSAI(+1),DISP=(NEW,CATLG,DELETE),
//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
//DCB=(GDG,RECFM=FB,LRECL=120,BLKSIZE=0)
//SYSINDD*
DATE=25052002
//
//STEP0102EXECPGM=MYPROGXX,COND=(0,NE)
//ENTR03DDDSN=GP.GPALU99.CADENT,DISP=SHR

//SAIDA03DDDSN=GP.GPALU99.CADSAI(+1),DISP=(NEW,CATLG,DELETE),

//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),

//DCB=(GDG,RECFM=FB,LRECL=120,BLKSIZE=0)
//SYSINDD*

DATE=25052002

//

www.gpritreinamento.com.br(11)32272261

Pgina:21

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

//STEP0102EXECPGM=MYPROGXX,COND=(0,NE)

//ENTR03DDDSN=GP.GPALU99.CADENT,DISP=SHR

//SAIDA03DDDSN=GP.GPALU99.CADSAI(+1),DISP=(NEW,CATLG,DELETE),

//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),

//DCB=(GDG,RECFM=FB,LRECL=120,BLKSIZE=0)

//SYSINDD*

DATE=25052002

//

//STEP0102EXECPGM=MYPROGXX,COND=(0,NE)

//ENTR03DDDSN=GP.GPALU99.CADENT,DISP=SHR

//SAIDA03DDDSN=GP.GPALU99.CADSAI(+1),DISP=(NEW,CATLG,DELETE),

//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),

//DCB=(GDG,RECFM=FB,LRECL=120,BLKSIZE=0)

//SYSINDD*

DATE=25052002

//

OUTROEXEMPLO:

//STEP0102EXECPGM=MYPROGZZ,COND=(0,NE)

//SAIDA03DDDSN=GP.GPALU99(+1),DISP=(NEW,CATLG,DELETE),

//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),

//DCB=(GDG,RECFM=VB,LRECL=720,BLKSIZE=0)

//ENTR01DD*

23MARIARAIMUNDAAV.CASTELOBRANCO,727, RICAHOGRANDE

24CLAUDIOORZIMBORUADOSQUIABOS,432 VILAMARIA SALTO

Comando SYSOUT DD SYSOUT=* indica a sada padro para mensagens emitidas pelo programa
(exemploDISPLAY).
//STEPLIBDDDSN=GP.LOADLIB,DISP=SHRou
//JOBLIBDDDSN=GP.LOADLIB,DISP=SHR

Os cartes STEPLIB e JOBLIB so opcionais. Determinam ao sistema que o programa


chamado pelo carto exec, no caso do STEPLIB imediatamente anterior, encontrase
compiladonestabiblioteca,enonabibliotecadefaultdosistema.SeusarmosoJOBLIBaps
ocartoJOBainformaovaleparatodososSTEPsdoJOB.Istocorre,quandosetemuma
bibliotecadetestesoutemporria.Notamuitoimportante:aocontrriodoqueaconteceem
outrasplataformascomooWindowsporexemplo,emquebastaumduploclickparaqueum
programasejaexecutado,noOS/390istonoacontece.Umprogramaspodeserexecutado
apartirdeumabibliotecadeprogramasprviamentetotalmentecontroladapelosistema
operacionaleosprogramassocompiladosumaum.Antesdaproduo,osprogramas
passampordoisambientesdetesteesosupervisionadaspeloAnalista,Gerentede
SistemasevalidadaspelogerentedecontasdaunidadeepeloCliente.Umabiblioteca
STEPLIBspodeserusadaemcasosextremosecompermissoadequada.Agoravocj
sabeporquevrusnoatacamainframes
CONCATENAODEARQUIVOS

Imagine que voc tenha um arquivo de entrada que por um motivo qualquer no foi
processadoanteriormente.Ex.:ontemopessoaldacontabilidadenoconseguiuenviaromovimentoe
por isso o processamento de fluxo de caixa no foi processado. Neste momento voc j poder
processar o job, s que agora voc tem dois arquivos de entrada. O que fazer ? Executar o job duas
www.gpritreinamento.com.br(11)32272261

Pgina:22

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

vezes,umaparacadaarquivo?Nonecessariamente.Vocpoderconcatenarosdoisarquivosefazer
umsprocessamento.Vejaabaixo.

//STEP0102EXECPGM=MYPROGXX,COND=(0,NE)

//ENTR01DDDSN=GP.GPALU99.FLUXOCX(1),DISP=SHR

//DDDSN=GP.GPALU99.FLUXOCX(0),DISP=SHR

//SAIDA02DDDSN=GP.GPALU99.GERAL(+1),DISP=(NEW,CATLG,DELETE),

//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),

//DCB=(GDG,RECFM=FB,LRECL=120,BLKSIZE=0)

//RELATODDSYSOUT=(R,,XPTO)

DICASGERAISSOBREJCL

No se esquea que JCL uma srie de comandos que voc est passando para o
sistemaoperacionalentenderoseuprograma,comosefossemparmetros.
JAMAIS confunda JCL ERROR com ABEND. O primeiro erro de sintaxe ou
indisponibilidadederecursos.Osegundofalhadeprogramaqueemalgunscasopode
atmesmosercausadoporrecursosdosistema.
EmcasodeerrodeJCL,oprogramaemquestonofoiexecutado.
Oscartes//nascolunas1e2soobrigatriosemtodooJCL,excetosehouveralgum
parmetroaserpassadopelousurio(opo)aoprograma.(Vejaregra6)
Existemparmetrosobrigatrioseparmetrosopcionais.
Com exceo do Account do ccomandoo Job, todos os outros parmetros possuem o
sinal=.Oparmetrosvmaesquerdaeossubparmetrosdireitadosinal.
Ossubparmetrospodemser1oumaisde1.Quandohouvermaisde1subparmetro
deverestarentreparenteses.
Se o seu programa tem opo de processamento (ex: listagem total ou parcial), este
opo(quenaverdadetambmumparmetro),estepoderserpassadoapsum
cartoDDquecontenhaocomandoDD*.
Aocomearnumaempresapeasempreumacpiadapadronizaodaempresa.Nem
sempre voc poder batizar seu programa, jobname, stepname etc com o nome que
vocquer.Existemregras,comcerteza
Assimcomonoprograma,aidentaonoJCLtambmmuitoimportante.
Nunca deixe de inserir comentrio sucinto sobre a finalidade do programa que voc
estpassandoparaaproduo.
Parainserirumcomentrio,bastacolocar//*nascolunas1a3.
Quando o comando no cabe na mesma linha, devese colocar uma vrgula aps o
ltimoparmetroecontinuarnalinhadebaixo,semprecomeandocom//massem
cardname.

OUTROSPARMETROS:

Paraseforaraleituradeumarquivonumdeterminadodispositivo,comoporexemplouma
fitavindadeclienteexternoquenoconstanocatlogo,ouumarquivoqueestnaVTOCdeumdisco
masnonocatlogo,usamosVOL=SER=

Modelo://ENTRADADDDSN=GP.GPALU99.ALUNOS,DISP=SHR,VOL=SER=R00134

Quando no queremos catalogar um arquivo e usar um arquivo temporrio, usamos no


DSNAME o simbolo && antes do nome. O arquivo ser deletado, logo aps a execuo. No se
recomendaestautilizao.Ex.:

www.gpritreinamento.com.br(11)32272261

Pgina:23

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL


Modelo:

//SAIDA03DDDSN=&&CADSAI,DISP=(NEW,PASS),

//UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),

//DCB=(GDG,RECFM=FB,LRECL=120,BLKSIZE=0)

IF/THEN/ELSE/ENDIF

ComandoIF(implementadoapartirdoOS/390ouMVS/ESAv4);

PermiteaconstruodeexpressesrelacionaisparatestedecondioemumJOB;

OferecealternativadefcilcompreensoparaousodoCOND;

Sintaxe:

//nomeIFcondioTHEN
stepoustepsaexecutarseacondioforverdadeira
//nome[ELSE
stepoustepsaexecutarseacondioforfalsa]
//nomeENDIF

expressorelacional1

GT

LT

NG

NL

[AND]

EQ
valor

expresso2...expresson

NE
[OR]

GE

LE

[step.]RC
[step.]ABEND
[step.]RUN

Exemplo:

//JOBTESTEJOBMSGLEVEL=1,CLASS=A,MSGCLASS=X

//PASSO1EXECPGM=IEFBR14

//DD1DDDSN=GP.GPAE99.PDS2,

//DISP=(OLD,CATLG,DELETE),SPACE=(TRK,(10,5,100)),

//DCB=(LRECL=80,BLKSIZE=0,RECFM=FB),UNIT=DISCO

//*

//IF0001IFRCEQ0THEN

//*

//PASSO2EXECPGM=IEBGENER

//SYSINDDDUMMY

//SYSPRINTDDSYSOUT=*

//SYSUT1DDDSN=GP.GPAE99.FONTES(DADOS),DISP=SHR

//SYSUT2DDDSN=GP.GPAE99.PDS2(DADOS),DISP=SHR

//*

//IF0001ENDIF
www.gpritreinamento.com.br(11)32272261

Pgina:24

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Outrosexemplos:

IFcomELSEexecutarPASSO4sealgumstepanteriorterminoucomRC0oucancelou,seno
executarPASSO5

//IF001IFRC>0ORABENDTHEN

//*

//PASSO4EXECPGM=IEBGENER

//SYSINDDDUMMY

//SYSPRINTDDSYSOUT=*

//SYSUT1DDDSN=GP.GPAE99.PDS(DADOS),DISP=SHR

//SYSUT2DDSYSOUT=*

//*

//IF001ELSE

//*

//PASSO5EXECPGM=IEBGENER

//SYSINDDDUMMY

//SYSPRINTDDSYSOUT=*

//SYSUT1DDDSN=GP.GPAE99.FONTES(DADOS),DISP=SHR

//SYSUT2DDSYSOUT=*

//*

//IF001ENDIF

IFsencadeados:(executarPASSO5sePASSO4terminarcomRC=0)

//IF001IF(RC>0ORABEND)THEN

//*

//PASSO4EXECPGM=IEBGENER

//SYSINDDDUMMY

//SYSPRINTDDSYSOUT=*

//SYSUT1DDDSN=GP.GPAE99.PDS(DADOS),DISP=SHR

//SYSUT2DDSYSOUT=*

//*

//IF002IFPASSO4.RC=0

//*

//PASSO5EXECPGM=IEBGENER

//SYSINDDDUMMY

//SYSPRINTDDSYSOUT=*

//SYSUT1DDDSN=GP.GPAE99.FONTES(DADOS),DISP=SHR

//SYSUT2DDSYSOUT=*

//*

//IF002ENDIF

//IF001ENDIF

www.gpritreinamento.com.br(11)32272261

Pgina:25

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

UTILITRIOS

Programasfornecidosjuntocomosistemaoperacionalouadquiridonomercadoparaexecutartarefas
comunsatodasinstalaes.

Comandosdecontroledosutilitrios

1234567890123456789012345678901234567890123456789012345678901234567890123

Coluna1Acoluna1precisaestarembrancoseumlabelnocodificado.
Coluna16operaoecontinuao.Acontinuaodeumcomandoprecisacomearnacoluna
16
Coluna72Codifiqueumcaracternobranconacoluna72paracontinuarumcomando

IEBGENERutilizadoparacopiararquivossequenciais(SYSUT1paraSYSUT2)

Exemplo:

//GPAE99EXJOB

//CONSTROIEXECPGM=IEBGENER

//SYSPRINTDDSYSOUT=A

//SYSINDDDUMMY

//SYSUT1DD*

JOAOPAULO53AF875701,23DEMAIO

ANTONIOJOSE78AF34320,SOBENTO

/*

//SYSUT2DDDSN=GP.GPAE99.TEST,UNIT=SYSALLDA,

//SPACE=(TRK,(1,1)),DISP=(NEW,CATLG),

//DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)

IEFBR14utilizadoparacrierouexcluirarquivos

Exemplo:

//GPAE99EXJOB

//STEPALOCEXECPGM=IEFBR14

//VKSDS1DDDSN=DSVAABVS.LSG.A889.ALBERTO,DISP=(,CATLG,DELETE),

//SPACE=(CYL,(10,10)),DCB=(LRECL=100,RECFM=F)

//*

//STEPDELEXECPGM=IEFBR14

//VKSDS1DDDSN=DSVAABVS.LSG.A889.ALBERTO,DISP=(OLD,DELETE),

//SPACE=(CYL,(10,10)),DCB=(LRECL=100,RECFM=F)

www.gpritreinamento.com.br(11)32272261

Pgina:26

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Exercciosdefixao

UtilizandoabibliotecaGP.GPATxx.FONTES,criaromembroJOB01,conformesegue:

OBS.:GPATxxsubstituirporseuuserid

1.Codificar(conformeindicado)esubmeterparvalidao,oseguinteJCL:

//GPATxxJ1JOBCLASS=A,
//MSGCLASS=X,MSGLEVL=0
//NOTIFY=GPATXX'PROGRAMADOR:BILLGATES'
//STEP1EXECPGM=IEFBR14,PARM='TOMARAQUECAIA'
//STEP4EXECIEFBR14,PARM='100288'
//TEP3EXECPGM=IEFBR14COMENTARIO
//STEP2EXECPGM=IEFBR15PROGRAMANOVO?
//STEP4EXEQIEFBR14,ACCT='ADMP,ATR2099,'

Combasenoresultadodasubmissoresponda:

1. QualonmerodoJOB?________________
2.

ParaqueclassedeentradaoJOBfoidirecionado?_____

3.

ParaqueclassedesadaoJOBfoidirecionado?_______

4.

OJOBexecutounormalmente?_______

5.

VaclassedesadaindicadanoparmetroMSGCLASS(viaSDSF)evejaoresultadoexecuo.
OqueaconteceucomoJOB?____________________________________________

6.

Porqueasmensagenssobreaexecuonoestonaclasseindicadadoparmetro
MSGCLASS?________________

7.

AltereparmetroMSGLEVELparaMSGLEVEL=1eenvieoJCLparaexecuonovamente.

8.

Vejaosdiversoserrosqueocorreram.Tentecompreenderamensagemdeerro,corrijaos
problemasdecodificaoapresentadoseexecuteoJCLnovamente.Refaaessaoperaoat
noexistiremmaiserrosdeJCL.OJOBexecutou?Oqueocorreu?
______________________________

ExerccioParmetroCOND,comandosDDeutilitriosIEFBR14eIEBGENER

Codificar,validareexecutaroseguinteJCL.SalvarnabibliotecaGP.GPATxx.FONTEScomonomede
JOB02

NOMEDOJOB GPATxxJ2

ExecutaremclasseA;
EnviarmensagensdeexecuoparaclasseX(exibirsempretodososnveisdemensagens);
NotificarousuriodoTSOsobreoterminodaexecuo.

PASSO1
www.gpritreinamento.com.br(11)32272261

Pgina:27

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

UtilizandooIEFBR14alocarumarquivoseqencial,comregistrosfixosblocadosde120posies,
reservando2trilhasdeespaoprimrio,1trilhasdeespaosecundrio.
Deixarosistemacalcularotamanhodobloco;
Nomedoarquivo:GP.GPATxx.ARQUIVO1

PASSO2

SeostepanteriorterminoucomRCmaiorque0noexecute.

CopiarcomIEBGENERparaoarquivocriadonostepanterioromembroDADOSdabiblioteca
GP.GERAL.EXEMPLOS

PASSO3

Seostep2terminoucomRC>0executeessepasso

Excluiroarquivocriadonostep1utilizandooIEFBR14.

PASSO4

Seossteps1ou2terminaramnormalmenteexecuteessestep.

UtilizandooIEBGENERlistarocontedodoarquivocriadonoPASSO2

ExercciodefixaocomandoIF

CriarcomoJOB03umacpiadoJOB02esubstituirousodoCONDpelocomandoIF.

SalvaretestaronovoJOB,garantindoqueoresultadodaexecuocontinuarsendoomesmoobtido
comoparmetroCOND.

www.gpritreinamento.com.br(11)32272261

Pgina:28

Curso: Desenvolvedor Mainframe


Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Questionrio

1. DequeformaidentificamosemumscriptdeJCLsealinha/cartoum
comando,comentriooucontinuaodecomando.

2. ComodentrodocomandoEXECidentificamosseomesmoexecutauma
procedure,programaouutilitrio?

3. QualarelaoentreumprogramaCoboleocomandoDD?

4. Quecomandodeveprecederosdadosdeentradacodificadosdentrodo
SCRIPTdeJCL?

5. ComodirecionarasadadeumdispositivoparaaSYSOUT?

6. OsdadosdaSYSINdevemsercodificadosapartirdequalcolunaeseos
dadosqueconstituemumregistrosomarem120caracteres,como
proceder?

www.gpritreinamento.com.br(11)32272261

Pgina:29

Você também pode gostar