En esta cuarta y penúltima parte, vamos a empezar editando la librería de parámetros del sistema, es decir, la librería ADCD.Z113.PARMLIB. Hay que hacer los siguientes cambios:
NOTA: Estos cambios son para el LOADPARM con el que hayamos arrancado el sistema. Por ejemplo, si arrancamos con el LOADPARM que arranca lo básico, modificamos los miembros y luego arrancamos con otro LOADPARM que arranque DB2, habrá que modificar los miembros que usa ese LOADPARM para que funcione OPC.
Miembro IEFSSN**
Para saber que miembro IEFSSN** se está usando, hay que buscarlo en el log del sistema. Para ello, vamos al SDSF, opción LOG y, desde el principio, usamos el comando "F IEFSSN" para buscar.
Vemos que el miembro que se usa es el IEFSSN00, por lo tanto, lo buscamos en la librería ADCD.Z113.PARMLIB.
En el miembro IEFSSN00 hay que añadir lo siguiente:
SUBSYS SUBNAME(nombre de subsistema) INITRTN(nombre de módulo)
INITPARM (’maxecsa,suffix’)
Para buscar el nombre del módulo, hay que ir a la librería TWS860.SEQQLMD0 y buscar el miembro "EQQINIT*". Para rellenar el parámetro "maxecsa" usaremos este enlace.
En este caso, el módulo se llama EQQINITJ.
NOTA: en la imagen superior aparece una V para visualizar el miembro, pero no es necesario verlo, solo anotar el nombre.
Ahora buscamos el miembro “EQQSSCM*”, en la misma librería. La letra final (J) es el sufijo del subsistema.
Ahora vamos a editar el miembro IEFSSN00.
Añadimos lo siguiente:
SUBSYS SUBNAME(OP1C) INITRTN(EQQINITJ) INITPARM (’0,J’)
SUBSYS SUBNAME(OP1T) INITRTN(EQQINITJ) INITPARM (’300,J’)
Miembro PROG**
Para saber el miembro PROG** que usamos, lo buscamos en el log del sistema.
Vemos que es el miembro PROG01 y está en la librería ADCD.Z113.PARMLIB. Vamos a editarlo.
Añadimos lo siguiente, tal y como se ve en la imagen:
APF ADD
DSNAME(TWS860.SEQQLMD0) VOLUME(ZDPRD1)
También añadimos esta línea como se muestra en la imagen:
LNKLST ADD NAME(LNKLST00) DSN(TWS860.SEQQLMD0) VOLUME(ZDPRD1)
NOTA: es importante ponerlo antes de la línea LNKLST ACTIVATE NAME(LNKLST00) para que funcione.
Miembro SMFPRM00
En este caso, solo existe en miembro SMFPRM00, por lo tanto, no hay que buscarlo en el log. En caso de tener varios, buscar en el log el que se usa. Editamos el miembro SMFPRM00 y añadimos al final:
SYS(TYPE(6,14,15,18,26,30,60,62,64,90),EXITS(IEFU83,IEFACTRT,IEFUJI))
SUBSYS(STC,EXITS(IEFUJI,IEFACTRT,IEFU83))
SUBSYS(JES2,EXITS(IEFUJI,IEFACTRT,IEFU83))
Miembro PROG01. (De nuevo)
Vamos a añadir una llamada a las EXITs que hemos añadido en el miembro anterior. Entramos en el miembro PROG01, y, después de la definición de las librerías APF, añadimos lo siguiente:
EXIT ADD EXITNAME(SYS.IEFU83) MODNAME(TWSU83)
EXIT ADD EXITNAME(SYS.IEFACTRT) MODNAME(TWSACTRT)
EXIT ADD EXITNAME(SYS.IEFUJI) MODNAME(TWSUJI)
EXIT ADD EXITNAME(SYSSTC.IEFU83) MODNAME(TWSU83)
EXIT ADD EXITNAME(SYSSTC.IEFACTRT) MODNAME(TWSACTRT)
EXIT ADD EXITNAME(SYSSTC.IEFUJI) MODNAME(TWSUJI)
EXIT ADD EXITNAME(SYSJES2.IEFU83) MODNAME(TWSU83)
EXIT ADD EXITNAME(SYSJES2.IEFACTRT) MODNAME(TWSACTRT)
EXIT ADD EXITNAME(SYSJES2.IEFUJI) MODNAME(TWSUJI)
NOTA: El "MODNAME" tiene que ser el mismo nombre de los módulos que definimos en la tercera parte de este manual y se encuentran en la librería ADCD.Z113.LPALIB.
Miembro IKJTSO**
Como hemos hecho anteriormente, lob buscamos en el log.
Si lo buscamos en la PARMLIB, vemos que solo existe uno, por lo tanto, no hubiera hecho falta buscarlo en el log.
En "AUTHTSF NAMES", añadimos EQQMINOJ.
En "AUTHCMD NAMES", añadir lo siguiente (hay que tener en cuenta que al final de cada línea hay un +):
BACKUP /* */ +
BULKDISC /* */ +
JSUACT /* */ +
OPINFO /* */ +
OPSTAT /* */ +
SRSTAT /* */ +
WSSTAT /* */ +
Miembro SCHED**
Lo buscamos en el log del sistema con el comando "F SCHED**".
Ahora lo editamos para añadir la siguiente línea:
PPT PGMNAME(EQQMAJOR) NOSWAP
Ahora vamos a la librería ADCD.Z113.PROCLIB y editamos el miembro que usamos como procedimiento de TSO, en este caso, ISPFPROC.
Añadimos la siguiente línea en las DD de SYSPROC:
// DD DISP=SHR,DSN=OPC.OP1C.SEQQSKLO,UNIT=3390,VOL=SER=PROD01
La siguientes líneas en las DD de ISPPLIB:
// DD DISP=SHR,DSN=TWS860.SEQQGENU,UNIT=3390,VOL=SER=ZDPRD1
// DD DISP=SHR,DSN=TWS860.SEQQPENU,UNIT=3390,VOL=SER=ZDPRD1
En las DD de ISPSLIB:
// DD DISP=SHR,DSN=OPC.OP1C.SEQQSKLO,UNIT=3390,VOL=SER=PROD01
En las DD de ISPMLIB:
// DD DISP=SHR,DSN=TWS860.SEQQMSG0,UNIT=3390,VOL=SER=ZDPRD1
En las DD de ISPTLIB:
// DD DISP=SHR,DSN=TWS860.SEQQTBL0,UNIT=3390,VOL=SER=ZDPRD1
Al final del fichero, añadimos dos DD nuevas
//EQQMLIB DD DISP=SHR,DSN=TWS860.SEQQMSG0,UNIT=3390,VOL=SER=ZDPRD1
//EQQTMPL DD DISP=SHR,DSN=TWS860.SEQQLENU,UNIT=3390,VOL=SER=ZDPRD1
Ahora vamos a añadir en el menú principal de ISPF una opción para acceder a OPC. En la entrada Arreglando el menú – Parte 1 – DITTO hay más detalles de cómo hacerlo.
Para hacer esto, vamos a la librería ADCD.Z113.ISPPLIB y modificamos el miembro ISR@PRIM que es el miembro del panel principal de ISPF que usamos con el procedimiento de TSO "ISPFPROC".
NOTA: Poned especial atención en esta parte, ya que si editamos mal el menú, tendremos problemas para acceder.
Vamos hasta la línea 200 y repetimos la linea que indica “11 Workplace…”. La modificamos como se muestra la imágen (se puede poner otro texto si se desea):
Ahora seguimos bajando y vamos a la línea 314. Añadimos, después de la línea "11,'PGM(ISRUDA)...", la siguiente línea:
O,'PANEL(EQQOPCAP) NEWAPPL(EQQA)'
Salimos de la sesión de TSO y volvemos a entrar. Aparecerá la nueva opción del menú.
Hasta aquí la parte cuatro. La siguiente parte es la última de la parte de implementación.