1 / 211

Conceitos JCL MVS

Conceitos JCL MVS. Apresentação. Obrigado por usar esta apresentação. Você está livre para fazer isso. Eu agradeço se fizer referência ao autor ao utilizá-la. Agradeço se você me enviar qualquer correção que ache necessária para otimizar a compreensão do leitor.

xannon
Download Presentation

Conceitos JCL MVS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Conceitos JCL MVS

  2. Apresentação Obrigado por usar esta apresentação. Você está livre para fazer isso. Eu agradeço se fizer referência ao autor ao utilizá-la. Agradeço se você me enviar qualquer correção que ache necessária para otimizar a compreensão do leitor. O mesmo se aplica a erros técnicos que você encontrar; por favor me ajude a deixar este material sem erros. Alberto Romano Schiesari – São Paulo - Brasil www.profars.com arschiesari@yahoo.com

  3. Sumário Principais sistemas operacionais IBM Linha MVS Execução da demanda de serviços Fluxo geral JES2 Spool de entrada e spool de saída Spool de entrada Submissão de jobs - Roscoe Enfileiramento de jobs no spool de entrada Conteúdo de cada job no spool de entrada Initiators Spool de saída JCL JOB EXEC DD Busca em bibliotecas PROCS Apêndice - Mainframes IBM Apêndice - CONTROL’s

  4. Conceitos Principais sistemas operacionais IBM(as datas citadas são aproximadas)verhttp://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp

  5. Conceitos – Principais sistemas operacionais IBM Linha “DOS” ou “VSE”DOS (1966)DOS/VS (1972)DOS/VSE (80’s)VSE/ESA (1991)z/VSE (2005)

  6. Conceitos – Principais sistemas operacionais IBM • Principais sistemas operacionais IBMLinha “VM”VM/370 (1972)VM/SP (1980)VM/XA (1988)VM/ESA (1990)z/VM (2000)

  7. Conceitos – Principais sistemas operacionais IBM Conceitos • Principais sistemas operacionais IBMLinha “real-time” (transacionais)ACP (1969)TPF (1979)z/TPF (2005)

  8. Conceitos – Principais sistemas operacionais IBM Conceitos • Principais sistemas operacionais IBMLinha Unix-likeUTS (1981)AIX/370 (1990)AIX/ESA (1991)LINUX (1999)Open Solaris (2008)

  9. Conceitos – Principais sistemas operacionais IBM Conceitos • Principais sistemas operacionais IBM Linha MVSMFT (1966) ; OS/VS1 (1972) (fim)MVT (1967) OS/VS2 R1 (SVS) (1972) 24-bit addressing; Single Address SpaceMVS (OSVS2 R2) (1974) 24-bit addressing; Múltiplos Address SpacesMVS/370 (1981) .MVS/XA (83) Extended ArchitectureMVS/ESA (1988) Enterprise System Architeture; 31-bit addressingOS/390 (1995) . z/OS (2000) ; 24-,31- 64-bit addressingz/OS 1.10 (Sep 2008) (aqui = 1.09)

  10. Conceitos – Principais sistemas operacionais IBM Conceitos Cada sistema operacional tem sua linguagem para elaborar “scripts” e para ser instrumento formal de (a) solicitação de serviços ao S.O. pelo usuário(b) retorno de resultados e mensagens do S.O. para o usuário Essa linguagem, no caso do MVS e s.o.’s derivados é genericamente denominada JCL (Job Control Language = Linguagem de Controle de Serviços)

  11. Conceitos – Principais sistemas operacionais IBM Conceitos A título de curiosidade: exemplo de JCL para a linha DOS baixa plataforma (arquivos .bat ) @echo offcls:aECHO Compilando %1IF EXIST %1.OBJ DEL %1.OBJCOBOL %1; ANIM COPYLIST > %1.LSTIF ERRORLEVEL 1 ECHO *** Erro LINK %1+%COBDIR%\ADIS+%COBDIR%\ADISKEY+%COBDIR%\ADISINIT; >> %1.LSTrem TYPE %1.LSTshift if not "%1" == "" goto a@ECHO

  12. Conceitos – Principais sistemas operacionais IBM Conceitos A título de curiosidade: exemplo de JCL para a linha UNIX (Shell Script)#!/bin/ksh#---------------------------------------------------------------------## Rotina: rsyil02.sh - Salva arquivo de retorno do Mainframe ##---------------------------------------------------------------------#BN=` basename $0 `DN=` dirname $0 `. $DN/raet.functionsFILE=/comunicacao/bi/recebidos/rsybi02if [ -f $FILE.txt ] ; then if [ -f $FILE.txt ] ; then salvacopia $FILE.txt || exit $? expurga $FILE.txt 12 || exit $? else echo " Erro. Arquivo $FILE.txt nao existe" exit 1 fi \mv -f $FILE.txt $FILEelse echo " Movimento Inexistente para o dia." exit 0fi

  13. Conceitos – Principais sistemas operacionais IBM Conceitos A título de curiosidade: exemplo de JCL para a linha VSE>SUB,R,N >* BKPD047 - BACKUP D047 TO T047 * $$ JOB JNM=BKPD047,CLASS=8,USER='44-R.WALKO' * $$ PRT CLASS=B,DISP=H // JOB BKPD047 BACKUP D047 TO T047 // DLBL D047,'D047.ADPDCS.INPUT ',,VSAM,CAT=PRODCAT,BUFSP=40960 // TLBL FILEB,'T047,U' // EXEC EASYTREV INCLUDE EZBKVSES D047 VS VB 750 8352 UNLOAD /* /& * $$ EOJhttp://gsf-soft.com/Prism-CS/Samples/BKPD047.shtml

  14. Conceitos – Principais sistemas operacionais IBM Conceitos A título de curiosidade: o equivalente para a linha MVS//BKPD047 JOB (BKPD047),' ',CLASS=A,MSGCLASS=X, // MSGLEVEL=(1,1),REGION=6M //* //JOBLIB INCLUDE MEMBER=JOBLIB //STEP0010 EXEC PGM=SORT //* MODULE EASYTREV PROCESSED BY PLUG-IN LCPEZT //* VS VS I PRODCAT D047 'D047.ADPDCS.INPUT' //SORTIN DD DSN=MVS.D047.ADPDCS.INPUT,DISP=SHR //* MT O FILEB 'T047,U' //SORTOUT DD DSN=MVS.T047, // DISP=(NEW,CATLG,DELETE), // UNIT=TAPE //* PR O //SYSOUT DD SYSOUT=* //* CD I //SYSIN DD * *INCLUDE EZBKVSES D047 VS VB 750 8352 UNLOAD SORT FIELDS=COPY RECORD TYPE=V,LENGTH=750 /* //http://gsf-soft.com/Prism-CS/Samples/BKPD047.shtml

  15. Linha MVS – execução da demanda de serviços Execução da demanda de serviços

  16. Linha MVS – principais componentes para serviços CUIDADO! ACHTUNG!Tudo o que você ver/ler/escutar é válido para aplicações BATCH !

  17. Linha MVS – principais componentes para serviços CUIDADO! ACHTUNG!Tudo o que você ver/ler/escutar é válido para aplicações BATCH !

  18. Linha MVS – principais componentes para serviços Fluxo geral SISTEMA Entrada (pedido de execução) de serviços Saída dos resultados (basicamente: impressão em papel ou “em terminal”)

  19. ? Como entram os serviços? Linha MVS – principais componentes para serviços Fluxo geral SISTEMA Entrada (pedido de execução) de serviços

  20. ? Como saem os resultados? Linha MVS – principais componentes para serviços Fluxo geral SISTEMA Saída dos resultados (basicamente: impressão em papel ou “em terminal”)

  21. Linha MVS – principais componentes para serviços Fluxo geral Existe um software específico para executar essas funções de entrada das demandas e saída de resultados. É o JES2. (Job Entry Subsystem)

  22. JES2 Componentes do JES2 que recebem as “entradas” Componentes do JES2 que dão saída aos resultados JES2 Portanto: Entrada (pedido de execução) de serviços Saída dos resultados (basicamente: impressão em papel ou “em terminal”)

  23. JES2 Em outras palavras: Sistema Operacional z/OS Componente 1 ... Componente 2 ... JES2 Componente n ... Aplicativo 1 Entrada (pedido de execução) de serviços Saída dos resultados (basicamente: impressão em papel ou “em terminal”) Aplicativo 2 ... Aplicativo n (ex.:CICS) ... Aplicativo x (ex.: DB2) ... Aplicativo z ...

  24. JES2 Por exemplo: Sistema Operacional z/OS Componente 1 ... Componente 2 ... JES2 Componente n ... Aplicativo 1 Entrada de serviços via terminal (sub) Saída dos resultados via terminal (browse de sysout de job) Aplicativo 2 ... Aplicativo n (ex.:CICS) ... Aplicativo x (ex.: DB2) ... Aplicativo z ...

  25. JES2 Mas... Devemos lembrar que: Sistema Operacional z/OS Componente 1 ... Componente 2 ... JES2  Componente n ...  Aplicativo 1 Aplicativo 2 ... Aplicativo n (ex.:CICS) ... Aplicativo x (ex.: DB2) ... Terminais para SUB (PRECISAM estar associados a um aplicativo !!!) Terminais para BROWSE (PRECISAM estar associados a um aplicativo !!!) Aplicativo z ...

  26. JES2 Mas... Devemos lembrar que: Sistema Operacional z/OS Componente 1 ... Componente 2 ... JES2  Componente n ...  Aplicativo 1 Aplicativo 2 ... Aplicativo n (ex.:CICS) ... Aplicativo x (ex.: DB2) ... Qual aplicativo é responsável por este terminal? Qual aplicativo é responsável por este terminal? Aplicativo z ...

  27. JES2 Pode ser o Roscoe... JES2   ROSCOE O Roscoe é quem submete serviços para o JES2 O Roscoe é quem trata os resultados, “pegando-os” do JES2

  28. JES2 Ou o TSO... JES2   TSO O TSO é quem submete serviços para o JES2 O TSO é quem trata os resultados, “pegando-os” do JES2

  29. JES2 Mas, seja um ou seja outro... JES2   Roscoe ou TSO O terminal é só a interface visual O terminal é só a interface visual

  30. JES2 Os dados, na verdade, estão onde? JES2   Roscoe ou TSO Onde está a sysout que acessamos para ver? Onde está o stream que preparamos e submetemos?

  31. JES2 Em disco ! Nas áreas de spool ! JES2   Roscoe ou TSO Área de spool de saída Área de spool de entrada

  32. Entrada de serviços Vamos ver inicialmente alguns detalhes do processo de spool de entrada JES2 Área de spool de entrada  Roscoe ou TSO

  33. Entrada de serviços - ROSCOE OBS.: usando o ROSCOE (as coisas acontecem desta forma) Área de manipulação do Roscoe (AWS) (criação / FETCH/ATTACH) Roscoe  LIB’s do Roscoe (organização de dados proprietária) (quando for dado SAVE or UPDATE)

  34. Entrada de serviços - ROSCOE OBS.: ou o TSO (os dados são manipulados diretamente nos arquivos “normais”) Membro de um PDS TSO  Arquivo sequencial

  35. Entrada de serviços - ROSCOE OBS.: nós nos referiremos à manipulação dos dados a submeter usando esta figura Dados editados a submeter TSO/Roscoe 

  36. Entrada de serviços - ROSCOE Passo 1 = edição dados a submeter Dados editados a submeter TSO/Roscoe 

  37. Entrada de serviços - ROSCOE Passo 1 = edição dados a submeter //PSTARS3T JOB (1234),'ALBERTO',CLASS=T,MSGCLASS=O //STEP1 EXEC ASMACLG //C.SYSIN DD * PROGRAMA START 0 ENTRAR BAL R14,ROTMAIN PROG PROPRIAMENTE DITO SAIR DC A(0) SAVEAREA DO ENDERECO VOLTA ROTMAIN ST R14,*-4 SALVA ENDERECO VOLTA OPEN (AGENCIAS,INPUT) ABRE ARQUIVO LEITURA BAL 14,LEREG LE REGISTRO CLI FLAGFIM,C'Y' END OF FILE? BE ACABAR SE SIM, TERMINAR O PROGRAMA AP LIDOS,=P'1' CONTA REGISTROS LIDOS B LEITURA VOLTA A LER ACABAR CLOSE (AGENCIAS) FECHA ARQUIVO L R14,ROTMAIN-4 RESTAURA ENDERECO VOLTA BR R14 VOLTA DC A(0) SAVEAREA DO ENDERECO DE VOLTA LEREG ST R14,*-4 SALVA ENDERECO DE VOLTA B SAILER VAI PARA SAIDA FIMAG MVI FLAGFIM,C'Y' MARCA QUE ARQUIVO ACABOU SAILER L R14,LEREG-4 RESTAURA ENDERECO VOLTA BR R14 VOLTA * DECLARACAO DE ARQUIVOS E AREAS RELAT DCB LRECL=133,DSORG=PS,RECFM=FA,DDNAME=SYSPRINT,MACRF=PM AGENCIAS DCB LRECL=80,DSORG=PS,DDNAME=AGENCIAS,MACRF=GM,EODAD=FIMAG FLAGFIM DC C'N' FLAG INDICA FIM ARQ ENTRADA LAG DS CL80 AREA PARA LEITURA ARQUIVO END , ULTIMO STMT FONTE //G.SYSPRINT DD SYSOUT=* //G.SYSOUT DD SYSOUT=* //G.AGENCIAS DD * 0001NOME DA AGENCIA 0001---------* 0002NOME DA AGENCIA 0002---------* 0003NOME DA AGENCIA 0003---------* 0004NOME DA AGENCIA 0004---------* TSO/Roscoe 

  38. Entrada de serviços - ROSCOE Vendo de outro jeito... TSO/Roscoe 

  39. Entrada de serviços - ROSCOE Analisando c-u-i-d-a-d-o-s-a-m-e-n-t-e os dados a submeter... //PSTARS3T JOB (1234),'ALBERTO',CLASS=T,MSGCLASS=O //STEP1 EXEC ASMACLG //C.SYSIN DD * PROGRAMA START 0 ENTRAR BAL R14,ROTMAIN PROG PROPRIAMENTE DITO SAIR DC A(0) SAVEAREA DO ENDERECO VOLTA ROTMAIN ST R14,*-4 SALVA ENDERECO VOLTA OPEN (AGENCIAS,INPUT) ABRE ARQUIVO LEITURA BAL 14,LEREG LE REGISTRO CLI FLAGFIM,C'Y' END OF FILE? BE ACABAR SE SIM, TERMINAR O PROGRAMA AP LIDOS,=P'1' CONTA REGISTROS LIDOS B LEITURA VOLTA A LER ACABAR CLOSE (AGENCIAS) FECHA ARQUIVO L R14,ROTMAIN-4 RESTAURA ENDERECO VOLTA BR R14 VOLTA DC A(0) SAVEAREA DO ENDERECO DE VOLTA LEREG ST R14,*-4 SALVA ENDERECO DE VOLTA B SAILER VAI PARA SAIDA FIMAG MVI FLAGFIM,C'Y' MARCA QUE ARQUIVO ACABOU SAILER L R14,LEREG-4 RESTAURA ENDERECO VOLTA BR R14 VOLTA * DECLARACAO DE ARQUIVOS E AREAS RELAT DCB LRECL=133,DSORG=PS,RECFM=FA,DDNAME=SYSPRINT,MACRF=PM AGENCIAS DCB LRECL=80,DSORG=PS,DDNAME=AGENCIAS,MACRF=GM,EODAD=FIMAG FLAGFIM DC C'N' FLAG INDICA FIM ARQ ENTRADA LAG DS CL80 AREA PARA LEITURA ARQUIVO END , ULTIMO STMT FONTE //G.SYSPRINT DD SYSOUT=* //G.SYSOUT DD SYSOUT=* //G.AGENCIAS DD * 0001NOME DA AGENCIA 0001---------* 0002NOME DA AGENCIA 0002---------* 0003NOME DA AGENCIA 0003---------* 0004NOME DA AGENCIA 0004---------* TSO/Roscoe 

  40. Entrada de serviços - ROSCOE Por outro “ângulo”, vendo o stream como um todo ... TSO/Roscoe  //PSTARS3T JOB (1234),'ALBERTO', // CLASS=T,MSGCLASS=O //STEP1 EXEC ASMACLG //C.SYSIN DD * Dados do dataset SYSIN do step C //G.SYSPRINT DD SYSOUT=* //G.SYSOUT DD SYSOUT=* //G.AGENCIAS DD * Dados do dataset AGENCIAS do step G Em vermelho = JCL Em azul = dados

  41. Entrada de serviços - ROSCOE Por outro “prisma”, vendo por tipo de dados ... TSO/Roscoe  //PSTARS3T JOB (1234),‘ALBERTO', // CLASS=T,MSGCLASS=O //STEP1 EXEC ASMACLG //C.SYSIN DD * //G.SYSPRINT DD SYSOUT=* //G.SYSOUT DD SYSOUT=* //G.AGENCIAS DD * Dados do arquivo SYSIN do Step C Dados do arquivo AGENCIAS do Step G Em vermelho = JCL Em azul = dados

  42. //PSTARS3T JOB (9526),'ALBERTO',CLASS=T,MSGCLASS=O //STEP1 EXEC ASMACLG //C.SYSIN DD * PROGRAMA START 0 ENTRAR BAL R14,ROTMAIN PROG PROPRIAMENTE DITO SAIR DC A(0) SAVEAREA DO ENDERECO VOLTA ROTMAIN ST R14,*-4 SALVA ENDERECO VOLTA OPEN (AGENCIAS,INPUT) ABRE ARQUIVO LEITURA BAL 14,LEREG LE REGISTRO CLI FLAGFIM,C'Y' END OF FILE? BE ACABAR SE SIM, TERMINAR O PROGRAMA AP LIDOS,=P'1' CONTA REGISTROS LIDOS B LEITURA VOLTA A LER ACABAR CLOSE (AGENCIAS) FECHA ARQUIVO L R14,ROTMAIN-4 RESTAURA ENDERECO VOLTA BR R14 VOLTA DC A(0) SAVEAREA DO ENDERECO DE VOLTA LEREG ST R14,*-4 SALVA ENDERECO DE VOLTA B SAILER VAI PARA SAIDA FIMAG MVI FLAGFIM,C'Y' MARCA QUE ARQUIVO ACABOU SAILER L R14,LEREG-4 RESTAURA ENDERECO VOLTA BR R14 VOLTA * DECLARACAO DE ARQUIVOS E AREAS RELAT DCB LRECL=133,DSORG=PS,RECFM=FA,DDNAME=SYSPRINT,MACRF=PM AGENCIAS DCB LRECL=80,DSORG=PS,DDNAME=AGENCIAS,MACRF=GM,EODAD=FIMAG FLAGFIM DC C'N' FLAG INDICA FIM ARQ ENTRADA FLAG DS CL80 AREA PARA LEITURA ARQUIVO END , ULTIMO STMT FONTE //G.SYSPRINT DD SYSOUT=* //G.SYSOUT DD SYSOUT=* //G.AGENCIAS DD * 0001NOME DA AGENCIA 0001---------* 0002NOME DA AGENCIA 0002---------* 0003NOME DA AGENCIA 0003---------* 0004NOME DA AGENCIA 0004---------* Entrada de serviços - ROSCOE Voltando à relação entre o Roscoe e o JES... TSO/Roscoe 

  43. Entrada de serviços - ROSCOE O Roscoe submete (entrega) o stream vindo da AWS para o JES... JES2 Área de spool de entrada Dados editados a submeter  TSO/Roscoe SUB

  44. Entrada de serviços - ROSCOE O componente do JES que “lê” o que alguém (por ex. o Roscoe) submete é (são) a(s) READER(s) / INTERPRETER(s) JES2 Área de spool de entrada Reader  TSO/Roscoe AWS SUB

  45.  SUB SUB Entrada de serviços - ROSCOE Tem diversas readers, que atendem a todos os componentes que submetem JOBs; ao ler, elas já fazem uma validaçãozinha antes de gravar na área de spool (por isso o interpreter) JES2 Área de spool de entrada Readers Datasets “normais” AWS TSO Roscoe

  46.  SUB SUB Entrada de serviços Vamos ver melhor essa tal de área de spool de entrada JES2 Área de spool de entrada Readers Datasets “normais” AWS TSO Roscoe

  47. JOB0001 JOB0002 JOB0003 JOB0004 JOB0005 JOB0008 Etc... JOB0007 JOB0006 Entrada de serviços Área de spool de entrada : a unidade de “arquivamento” é o JOB

  48. JOB0001 JOB0002 JOB0003 JOB0004 JOB0005 JOB0008 Etc... JOB0007 JOB0006 Entrada de serviços Os JOBS são enfileirados na ordem de chegada; cada um recebe um número identificador, que vai acompanhá-lo até o fim de sua vida

  49. JOB0001 JOB0002 JOB0003 JOB0004 JOB0005 JOB0008 Etc... JOB0007 JOB0006 Entrada de serviços Os JOBS ficam na fila aguardando execução.

  50. Entrada de serviços Vamos ver um pouquinho mais detalhadamente como eles ficam armazenados. Detalhemos um deles (JOB0001): JOB0001 TODOS os registros (statements) de JCL (um único arquivo) Para cada arquivo in-stream contido no que foi submetido, é criado um arquivo identificado por meio do nome do step + nome do DD

More Related