Customização de amostra da Instalação de Isolamento IMS Transaction
Aqui está um exemplo da customização do IMS Transaction Isolamento Facility em um local típico do cliente. Neste exemplo, o sistema tem os recursos a seguir:
- O nome do sub-sistema do IMS é IMSA.
- O qualificador de alto nível do produto IMS é PROD.IMSV14.
- A Dynamic Resource Definition (DRD) está ativa.
- O número máximo de transações que é definido pelo parâmetro MAXCLAS da macro de definição do sistema IMSCTRL é 200.
- Regiões dependentes atualmente definidas nas classes de entrega do sistema na faixa de 21 a 100.
- Os conjuntos de dados do Depurador do IBM® z/OS® são instalados sob o qualificador de alto nível ZDEBUG.
Como o intervalo de classe 21-100 é usado para o desenvolvimento normal e atividade de teste, as classes de Isolamento do IMS devem estar na faixa de 1-20 e 101-200. O administrador do IMS escolhe as classes 131-140 para reservar para usuários do IMS Isolamento.
Em seguida, o administrador do IMS executa as seguintes etapas para preparar a região de controle do IMS para executar com o IMS Isolamento:
- Edite o membro ZDEBUG.SEQASAMP(EQAWTIVS) e envie-o (SUBMIT) para criar o conjunto de dados VSAM
PROD.ZDEBUG.EQATITBL.
//EQAWTIVS JOB //********************************************************************* //* DELETE THE EXISTING FILE * //********************************************************************* //DELETE EXEC PGM=IDCAMS,REGION=1M //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE PROD.ZDEBUG.EQATITBL SET MAXCC=0 /* //********************************************************************* //* DEFINE A NEW VSAM DEBUGGING PROFILE DATASET * //********************************************************************* //DEFINE EXEC PGM=IDCAMS,REGION=1M //SYSPRINT DD SYSOUT=* //SYSIN DD * /* */ /* DEFINE IMS ISOLATION */ /* TABLE INDEX AND PATH */ /* DATA SETS */ /* */ DEFINE CLUSTER (RECORDS(999) - NAME (PROD.ZDEBUG.EQATITBL) - SHAREOPTIONS(2 3) - LOG(NONE) - INDEXED) - DATA - (RECSZ(200,200) - NAME (PROD.ZDEBUG.EQATITBL.DATA) - KEYS(11 0) - FREESPACE(10 10) - BUFFERSPACE (20000)) - INDEX - (NAME(PROD.ZDEBUG.EQATITBL.INDX)) /* - Edite o membro ZDEBUG.SEQASAMP(EQAWTIMS) e envie-o para linkeditar as saídas de isolamento do IMS usando o nível atual do IMS. As
saídas são colocadas em PROD.ZDEBUG.IMSISO.LOADLIB.
//EQAWTIMS JOB // SET DTHLQ=ZDEBUG // SET IMSHLQ=PROD.IMSV14 //********************************************************************* //* Link-edit the EQATIEDT user exit (transaction message edit) * //********************************************************************* //LINK1 EXEC PGM=IEWL,COND=(4,LE),REGION=17M, // PARM=('OPTIONS=OPTIONS') //SYSUT1 DD UNIT=SYSVIO,SPACE=(TRK,(10,80)) //SYSPRINT DD SYSOUT=* //SYSLMOD DD DSN=PROD.ZDEBUG.IMSISO.LOADLIB,DISP=SHR //SYSLIB DD DSN=&DTHLQ..SEQAMOD,DISP=SHR // DD DSN=&IMSHLQ..SDFSRESL,DISP=SHR //OPTIONS DD * LIST,XREF,LET,MAP //SYSLIN DD * MODE AMODE(31),RMODE(ANY) INCLUDE SYSLIB(DFSCSI00) REPLACE DFSCSII0 INCLUDE SYSLIB(EQATIEDT) ENTRY EQATIEDT NAME EQATIEDT(R) /* //********************************************************************* //* Link-edit the DFSMSCE0 user exit (transaction routing) * //********************************************************************* //LINK2 EXEC PGM=IEWL,COND=(4,LE),REGION=17M, // PARM=('OPTIONS=OPTIONS') //SYSUT1 DD UNIT=SYSVIO,SPACE=(TRK,(10,80)) //SYSPRINT DD SYSOUT=* //SYSLMOD DD DSN=PROD.ZDEBUG.IMSISO.LOADLIB,DISP=SHR //SYSLIB DD DSN=&DTHLQ..SEQAMOD,DISP=SHR // DD DSN=&IMSHLQ..SDFSRESL,DISP=SHR //OPTIONS DD * LIST,XREF,LET,MAP //SYSLIN DD * MODE AMODE(31),RMODE(ANY) INCLUDE SYSLIB(DFSCSI00) REPLACE DFSCSIF0 INCLUDE SYSLIB(EQATIEXT) ENTRY EQATIEXT ALIAS DFSMSCE0 NAME EQATIEXT(R) /* - Edite o membro ZDEBUG.SEQASAMP(EQAOPTS) e envie-o para criar
o módulo de carregamento EQAOPTS:
- Use Delay Debug nas regiões privadas de processamento de mensagens do IMS , com o padrão de nomenclatura ' USR.userid.DLAYDBG.EQAUOPTS'.
- Limite cada usuário do IMS Isolamento para registrar para quatro transações.
//EQAOPTS JOB 5724-T07,MSGLEVEL=(1,1),MSGCLASS=A //*PROC JCLLIB ORDER=(ASM.SASMSAM1) // SET GPFMLIB=ZDEBUG.SEQASAMP // SET GPFLMOD=PROD.ZDEBUG.IMSISO.LOADLIB //* //ASMGL EXEC ASMACL,REGION=6M,PARM.L='MAP,LET,LIST,XREF,RENT' //C.SYSLIB DD DSN=&GPFMLIB.,DISP=SHR // DD DSN=SYS1.MACLIB,DISP=SHR //C.SYSIN DD * EQAOPTS CSECT , EQAOPTS AMODE 31 EQAOPTS RMODE ANY EQAXOPT DLAYDBGDSN,'USR.&&USERID.DLAYDBG.EQAUOPTS' a EQAXOPT MAXTRANUSER,4 c EQAXOPT END END , //L.SYSLMOD DD DISP=SHR,DSN=&GPFLMOD. //L.SYSIN DD * NAME EQAOPTS(R) /* - Coloque os novos conjuntos de dados na região de controle da região de controle do IMS . As customizações a seguir são necessárias:
- APF-autorizar a saída IMS customizada e a biblioteca de carregamento EQAOPTS (PROD.ZDEBUG.IMSISO.LOADLIB)..
- Inclua a biblioteca de carregamento EQAOPTS na concatenação da STEPLIB. Assegure-se de que a biblioteca esteja no caminho da procura antes do conjunto de dados ZDEBUG.SEQAMOD.
- Inclua um novo cartão DD denominado EQATIVSM para o conjunto de dados de VSAM criado na Etapa 1 (PROD.ZDEBUG.EQATITBL).
//IMSACTAM PROC SOUT=A,DPTY='(14,15)',RGN=0M //IEFPROC EXEC PGM=DFSMVRC0,DPRTY=&DPTY,REGION=&RGN, // PARM='&CTL,&RGSUF,&PARM1,&PARM2' ... //STEPLIB DD DISP=SHR,DSN=PROD.ZDEBUG.IMSISO.LOADLIB b // DD DISP=SHR,DSN=PROD.ZDEBUG.SEQAMOD // DD DISP=SHR,DSN=PROD.IMS.LOADLIB ... //EQATIVSM DD DISP=SHR,DSN=PROD.ZDEBUG.EQATITBL c ... - Como o cliente usa a saída do DFSMSCE0 IMS no ambiente de desenvolvimento e teste, uma outra customização é necessária para garantir que o DFSMSCE0 do IBMz/OS Debugger leve em conta o processamento da saída do cliente. O DFSMSCE0 do cliente é PROD.IMSEXIT.LOADLIB.
- Certifique-se de que PROD.IMSEXIT.LOADLIB não apareça em STEPLIB ou JOBLIB ou que apareça no caminho de pesquisa após o conjunto de dados que contém a saída DFSMSCE0 do depurador IBM z/OS, por exemplo, PROD.ZDEBUG.IMSISO.LOADLIB.
- Adicione um novo cartão DD chamado EQAIMEXT para identificar a saída do cliente DFSMSCE0 para o depurador IBM z/OS.
//IMSACTAM PROC SOUT=A,DPTY='(14,15)',RGN=0M //IEFPROC EXEC PGM=DFSMVRC0,DPRTY=&DPTY,REGION=&RGN, // PARM='&CTL,&RGSUF,&PARM1,&PARM2' ... //EQATIVSM DD DISP=SHR,DSN=PROD.ZDEBUG.EQATITBL //EQAIMEXT DD DISP=SHR,DSN=PROD.IMSEXIT.LOADLIB b //* - Inicie a região de controle do IMS usando o processo normal.
- Um administrador do RACF® usa os comandos a seguir para criar um novo recurso para administrar o IMS Isolation e fornece ao administrador do IMS , cujo ID é ADMINA, acesso READ:
Em seguida, o administrador RACF usa os comandos a seguir para autorizar o EQANBSWT Batch Messaging Program (BMP) a executar os comandos ASSIGN, DISPLAY, START e STOP IMS :RDEFINE FACILITY EQADTOOL.IMSTRANISOADMIN UACC(NONE) PERMIT EQADTOOL.IMSTRANISOADMIN CLASS(FACILITY) ID(ADMINA) ACC(READ) SETROPTS RACLIST(FACILITY) REFRESHADDUSER EQANBSWT NOPASSWORD DFLTGRP(SYS1) PERMIT ASS CLASS(CIMS) ID(EQANBSWT) ACC(UPDATE) PERMIT DIS CLASS(CIMS) ID(EQANBSWT) ACC(UPDATE) PERMIT STA CLASS(CIMS) ID(EQANBSWT) ACC(UPDATE) PERMIT STO CLASS(CIMS) ID(EQANBSWT) ACC(UPDATE) SETROPTS RACLIST(CIMS) REFRESH - Quando a região de controle é iniciada, o administrador do IMS precisa acessar o painel ISPF EQAPMPDF usando a opção z/OS Debugger Utilities 4.6. Neste painel, o administrador do IMS seleciona as classes a serem reservadas para depuração, 131 a 140:
+--------------------------------------------------------------------------------+ | IMS debugging preferences Row 126 to 150 of 200 | | Command ===> Scroll ===> PAGE | | | | IMS system . . . . . . IMSA | | | | Place a / next to the message classes that you would like to | | reserve for the isolation of debug users in your IMS system. | | | | Data set name for stage-1 resource definitions: | | ________________________________________________________ | | Data set name for type-2 commands: | | ________________________________________________________ | | Data set name for the IMS RESLIB: | | ________________________________________________________ | | | | Sel Class number | | _ 126 | | _ 127 | | _ 128 | | _ 129 | | _ 130 | | / 131 | | / 132 | | / 133 | | / 134 | | / 135 | | / 136 | | / 137 | | / 138 | | / 139 | | / 140 | | _ 141 | | _ 142 | | _ 143 | | _ 144 | | _ 145 | | _ 146 | | _ 147 | | _ 148 | | _ 149 | | _ 150 | | | | F1=Help F3=Exit F4=IMSIDLst F7=Backward F8=Forward F12=Cancel | +--------------------------------------------------------------------------------+ - Após selecionar as classes para depuração, o administrador do IMS customiza ZDEBUG.SEQASAMP(EQAWICRT) e o usa para gerar um conjunto de dados que contém comandos type-2 . Esses comandos podem ser usados para definir recursos para o Isolamento do IMS
//EQAWICRT JOB //* // SET DTHLQ=ZDEBUG //DELETE EXEC PGM=IDCAMS,REGION=1M //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE ADMINA.IMSISO.TYPE2 SET MAXCC=0 /* //CREATE EXEC PGM=EQANICRT,REGION=0M, // PARM=('READMASK IMSA') //EQATY2DS DD DSN=ADMINA.IMSISO.TYPE2, // DISP=(NEW,CATLG,DELETE), // SPACE=(TRK,(20,20,0),RLSE), // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0) //EQATISPT DD SYSOUT=* - Defina o seguinte programa de mensagens em lote do IMS :
APPLCTN GPSB=EQANBSWT,LANG=ASSEM,PGMTYPE=(BATCH), X SCHDTYP=PARALLEL TRANSACT CODE=(EQANBSWT),AOI=TRAN, X MSGTYPE=(SNGLSEG,NONRESPONSE) - O administrador do IMS cria um deck de JCL para executar o utilitário SPOC do lote IMS (CSLUSPOC) para criar os recursos necessários pelo IMS Isolamento.
//SPOCBCH JOB //BATCH EXEC PGM=CSLUSPOC,PARM='IMSPLEX=PLEX2,F=BYCOL' //STEPLIB DD DSN=PROD.IMSV14.SDFSRESL,DISP=SHR //SYSPRINT DD SYSOUT=* //SYSIN DD DSN=ADMINA.IMSISO.TYPE2,DISP=SHR - O administrador do IMS então faz as seguintes customizações do ISPF :
- O cliente mantém todos os PROCs que são usados para criar regiões dependentes do IMS em uma biblioteca PROCEDURE denominada PROD.IMSV14.PROCLIB. Para permitir que o IMS Isolation Facility acesse essa biblioteca para gerar regiões de mensagens privadas, o administrador do IMS atualiza ZDEBUG.SEQATLIB(EQAZPROC) para incluir PROD.IMSV14.PROCLIB:
PROD.IMSV14.PROCLIB SYS1.PROCLIB - O sistema de gerenciamento de tarefas ( MVS ) em que o IMSA opera possui certas regras para tarefas enviadas ao JES. Para garantir que as regiões de mensagens privadas iniciadas pelo Isolamento de IMS estejam em conformidade com essas regras, o administrador do IMS atualiza o PROD.ZDEBUG (EQAZDFLT) para especificar substituições para vários parâmetros JOB:
File Edit Edit_Settings Menu Utilities Compilers Test Help ------------------------------------------------------------------------------ EDIT PROD.ZDEBUG(EQAZDFLT) - 01.06 Columns 000 Command ===> Scroll = 000205 !us5adspc = ; ! Override for JOB parm ADDRSPC 000206 !us5bytes = ; ! Override for JOB parm BYTES 000207 !us5cards = ; ! Override for JOB parm CARDS 000208 !us5ccsid = ; ! Override for JOB parm CCSID 000209 !us5class = ; ! Override for JOB parm CLASS 000210 !us5cond = ; ! Override for JOB parm COND 000211 !us5group = ; ! Override for JOB parm GROUP 000212 !us5jeslg = ; ! Override for JOB parm JESLOG 000213 !us5lines = ; ! Override for JOB parm LINES 000214 !us5melim = ; ! Override for JOB parm MEMLIMIT 000215 us5msgcl = A ; ! Override for JOB parm MSGCLASS 000216 !us5msglv = ; ! Override for JOB parm MSGLEVEL 000217 us5notfy = &SYSUID. ; ! Override for JOB parm NOTIFY 000218 !us5pages = ; ! Override for JOB parm PAGES 000219 !us5paswd = ; ! Override for JOB parm PASSWORD 000220 !us5perf = ; ! Override for JOB parm PERFORM 000221 !us5prty = ; ! Override for JOB parm PRTY 000222 !us5rd = ; ! Override for JOB parm RD 000223 !us5regn = ; ! Override for JOB parm REGION 000224 !us5rstrt = ; ! Override for JOB parm RESTART 000225 !us5seclb = ; ! Override for JOB parm SECLABEL 000226 !us5schen = ; ! Override for JOB parm SCHENV 000227 !us5sysaf = ; ! Override for JOB parm SYSAFF 000228 !us5systm = ; ! Override for JOB parm SYSTEM 000229 us5time = 1440 ; ! Override for JOB parm TIME 000230 !us5typrn = ; ! Override for JOB parm TYPRUN 000231 !us5user = ; ! Override for JOB parm USER 000232 000233 **********************************************************************
- O cliente mantém todos os PROCs que são usados para criar regiões dependentes do IMS em uma biblioteca PROCEDURE denominada PROD.IMSV14.PROCLIB. Para permitir que o IMS Isolation Facility acesse essa biblioteca para gerar regiões de mensagens privadas, o administrador do IMS atualiza ZDEBUG.SEQATLIB(EQAZPROC) para incluir PROD.IMSV14.PROCLIB: