Mainframe Cobol

of 30 /30
Centro de Treinamento Página: 1 MAINFRAME COBOL (Amostra)

Embed Size (px)

Transcript of Mainframe Cobol

Centro de Treinamento

MAINFRAME COBOL (Amostra)

Pgina: 1

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Aula2TSO(TimeSharingOption)

Opo3.3doPDF 3Move/CopyMove,copy,orpromotemembersordatasets

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

www.gpritreinamento.com.br(11)32272261 Pgina:1

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Asopesde5a11estodesabilitadaseporissonoseroobjetosdeestudo.Elas sodeusodareadesuporteoperacional. Opo3.12doPDF 12SuperCComparedatasets VamoscompararoarquivoGP.GPMF80.MANUTcomoarquivoGP.GPMF99.MANUT. Necessitaremos2painisparaentrarcomainformao.

Comeste:

www.gpritreinamento.com.br(11)32272261 Pgina:4

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

PRINCIPAISCOMANDOSDETSO ComandosdeTSOsoentradasnalinhadecomando,sempreusadosnomanuseiode arquivos editados. Lembrese que qualquer arquivo para ser alterado ou incluir informaes eleprecisasereditado.Portantoumarquivoeditadoumarquivoaltervel. procura pela palavra Maria dentro do arquivo. Para continuar procurando a mesmaocorrncianorestantedoarquivo,continueteclandoF5,

F MARIA

C SECTIONSECAOALL

alteratodasasocorrnciassectionparasecao(emtodoarquivo).

SAVE

salvaoarquivoemuso(comomesmonomeevidentemente).

cancelatodasasalteraesrealizadasdesdeoltimosave.Oarquivomantm asmesmascaractersticasanteriores.

CANCEL

RECOVERYON

Umanicavez,habilitaaopoUNDO(desfazer)umafuno.

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

L PGM01 HEX

Exibeoarquivoemhexa Retornaadecimal.

HEXOFF

RES

Limpamensagensdosistema. Posicionacursornaultimalinha Posicionacursornaprimeiralinha

M+F8 M+F7

L 26

Posicionacursornalinha26 Excluitodasaslinhascomaocorrnciasection(semall,somentea

EXC SECTIONALLprimeira)

www.gpritreinamento.com.br(11)32272261

Pgina:7

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

COMANDOSDELINHAS (tambmvlidosomenteparamodoedit)

COLS

Criarguanalinhasuperior

C

copialinha Copiablocodelinhas

CC+CC A

LocalizadorparaoscomandosCopyeMove.A=after Move1linha Moveblocodelinhas

M

MM+MM

R

Repetelinha Repeteblocodelinhas.

RR+RR

| Inserelinhas N+DeslocaotextoNcolunasparadireita

N DeslocaotextoNcolunasparaaesquerda Se um Member for aberto no modo VIEW, as alteraes efetuadas no podero ser gravadas.ParadescartarasalteraesemCOMMANDdigiteCANCELe. Para gravar as alteraes digite CC na primeira linha e CC na ultima linha e em COMMANDdigiteREPLACEnomedomembere. Para criar uma cpia de um Member sendo editado (EDIT) ou visualizado (VIEW) , digiteCCnaprimeiraeltimalinhaeemCOMMANDdigiteCREATEnomedonovomembro e.

www.gpritreinamento.com.br(11)32272261

Pgina:8

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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. Exibejobsemexecuo(certamenteosquevoctempermissodevisualizar)

DA

I

JobspresosnaInputqueue. Jobsnaoutputqueue(noliberadosparavisualizao) Jobsemhold Jobsnasada,liberadosparavisualizao(sysoutsdeexecuo) Impressorasdosistemaoperacional

O

H

ST

PR

INIT Statusdosinitiatorswww.gpritreinamento.com.br(11)32272261 Pgina:9

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Demaisfunesutilizadaspelosuportetcnico. OpoST Visualizarjobs

NOTA:ouserGPMF80sconseguevisualizarosjobsiniciadoscomGPMF80.Aopo s(deselect)abreavisualizaodasysoutdojobscomoveremosaseguir. Resultado.

www.gpritreinamento.com.br(11)32272261

Pgina:10

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

SAINDODOTSO VocdevepressionarF3atapareceratelaabaixo:

Digite2emProcessoptionepressione. 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

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

Questionrio

1. CitedoisrecursosdentrodoPDFISPFquenospermitecriar/editarummember. 2. DentrodaexibiodaexecuodeumJOBemSDSystemDisplay,qualo recursoparaselocalizarcadeiasdecaracteres(strings),irparaoinicioefimda exibio? 3. ComonaexibiodeumJOBemSDSystemDisplay,podesedeterminarde quantosstepsoJOBcompostoeoresultadodaexecuodecadaumdeles ?possvelaindaaexibioindividualdecadastep?

www.gpritreinamento.com.br(11)32272261

Pgina:13

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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 //

X

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

www.gpritreinamento.com.br(11)32272261

Pgina:14

Mdulo: Introduo ao Sistema Operacional + TSO + JCL AFUNODOJ.C.L.

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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

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.

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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. Pgina:16

www.gpritreinamento.com.br(11)32272261

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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

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)

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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. Pgina:19

www.gpritreinamento.com.br(11)32272261

Mdulo: Introduo ao Sistema Operacional + TSO + JCL SEGUNDOETERCEIROSUBPARMETROAOASERTOMADAEMCASODETRMINONORMALE TRMINOANORMALRESPECTIVAMENTE.

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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 //Pgina:21

www.gpritreinamento.com.br(11)32272261

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

//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 duaswww.gpritreinamento.com.br(11)32272261 Pgina:22

Mdulo: Introduo ao Sistema Operacional + TSO + JCL

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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.: Pgina:23

www.gpritreinamento.com.br(11)32272261

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 //* //IF0001ENDIFwww.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

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

www.gpritreinamento.com.br(11)32272261

Pgina:25

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. 3. 4. 5. ParaqueclassedeentradaoJOBfoidirecionado?_____ ParaqueclassedesadaoJOBfoidirecionado?_______ OJOBexecutounormalmente?_______ VaclassedesadaindicadanoparmetroMSGCLASS(viaSDSF)evejaoresultadoexecuo. OqueaconteceucomoJOB?____________________________________________ 6. Porqueasmensagenssobreaexecuonoestonaclasseindicadadoparmetro MSGCLASS?________________ 7. 8. AltereparmetroMSGLEVELparaMSGLEVEL=1eenvieoJCLparaexecuonovamente. 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

Curso: Desenvolvedor Mainframe Sistema Operacional/Lgica de Programao/Cobol/CICS/DB2

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