Mainframe Cobol
-
Author
rodrigo-silver -
Category
Documents
-
view
192 -
download
6
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