Ayuda CLIST

Todo lo relacionado con REXX en este ambiente.
Responder
elenamp1983

Ayuda CLIST

Mensaje por elenamp1983 » 11 Jul 2013, 09:50

Buenos días,

Necesitamos urgentemente ayuda. Tenemos una CLIST que llama a otra CLIST. La llamada la realizamos con el comando ISPSTART para que la siguiente CLIST podamos utilizar comandos del ISPF. Necesitamos un comando que nada mas terminar la CLIST nos eche directamente del ISPF. Alguien le suena algún comando que realice esta funcion???


PROC 3 PARTE1 PARTE2 PARTE3
ISPSTART CMD(CLIST0001 &PARTE1 &PARTE2 &PARTE3)
EXIT

Muchas gracias. Un saludo.

NJB
Su anfitrion
Su anfitrion
Mensajes: 1113
Registrado: 12 Oct 2003, 16:27
País: Argentina
Ciudad: Capilla del Señor
Ocupación: System Programmer
Contactar:

Re: Ayuda CLIST

Mensaje por NJB » 11 Jul 2013, 09:57

Hola

Necesitamos saber algo mas pues si tu clist usa paneles lo mas probable es que se te quede en la pantalla en que te pregunta que haces con el log dataset. Si no usas paneles también te puede pasar pero es mas difícil.

Por tus palabras se te queda adentro del ISPF, ¿DONDE?

Hay manera de salir y es fácil pero depende de donde te quedes.

Saludos
Norberto Bocalandro

elenamp1983

Re: Ayuda CLIST

Mensaje por elenamp1983 » 11 Jul 2013, 10:14

Hola.

La clist no usa paneles, se limita a lanzar una lista de jcls. Estos jcls tienen variables que le pasa la clist, por eso nos hemos visto obligados a iniciar un diálogo ISPF con ISPSTART, ya que si no, no nos toma el valor de las variables. Ahora todo funciona ok, mediante un telnet nos logamos al TSO (no entramos a ISPF) y ejecutamos una clist. En esta clist primera iniciamos un diálogo ISPF ejecutando la segunda clist, que es la que lanza los jcls. Cuando ésta concluye y quiere salirse de ISPF, nos aparece la pantalla de opciones de proceso para el log del usuario (keep, delete, etc). Esto obliga a una acción manual que no podemos realizar. Lo que buscamos es que no nos aparezca esta pantalla para que la clist se ejecute del todo, sin necesidad de intervención manual.
¿Sabes si hay alguna forma de dar un ISPSTART con opción de NO log o algo semejante? O, en su defecto, algún comando contrario a ISPSTART donde se responda qué hacer en Process Options con el log desde la clist, sin necesidad de intervención manual? Se trata de buscar el automatismo total.


Gracias de nuevo.

NJB
Su anfitrion
Su anfitrion
Mensajes: 1113
Registrado: 12 Oct 2003, 16:27
País: Argentina
Ciudad: Capilla del Señor
Ocupación: System Programmer
Contactar:

Re: Ayuda CLIST

Mensaje por NJB » 11 Jul 2013, 17:57

Hola

Me imagine que venia por ahí.

Pegale una mirada al servicio CONTROL del ISPF que lo que te permite entre otras cosas es decirle que a la próxima pantalla le de enter o pf3.

Es muy útil cuando alguna pantalla que no queremos se interpone en nuestro camino. Desde ya si tenes que llenar la pantalla todo es cuestión de ver como se llaman las variables y setearlas previamente.

Te paso el link donde podes leer: Link

Saludos cordiales
Norberto Bocalandro

elenamp1983

Re: Ayuda CLIST

Mensaje por elenamp1983 » 16 Jul 2013, 09:17

Muchas gracias por la información. Hemos podido resolver el problema.

Ahora nos ha surgido otro problemilla...jejeje. No se si te sonara, hemos creado un procedimiento que cuando le llamamos le pasa correctamente las variables pero cuando hacemos referencias a las variables dentro de la SYSIN no las reconoce y nos da el siguiente error:

DSNT408I SQLCODE = -104, ERROR: ILLEGAL SYMBOL "&".

EL procedimiento es:

// PROC ESJ=,TIJ=,PIJ=,STJ=
//**------------------------------------------------------**
//UPDTPROC EXEC PGM=IKJEFT01,DYNAMNBR=20
//SYSOUT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(TSAD)
RUN PROGRAM(DSNTIAD) PLAN(DSNTIA10) -
LIB('DSNA10.DBAG.RUNLIB.LOAD')
/*
//SYSIN DD *
UPDATE TSA.TABLA1 SET TST1_STATUS = &ESJ,
TST1_TIMESTAMP = CURRENT TIMESTAMP
WHERE TST1_TIJ = &TIJ
AND TST1_PIJ = &PIJ
AND TST1_STJ = &STJ;
COMMIT;

Muchas gracias.

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 543
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: Ayuda CLIST

Mensaje por Vicente » 16 Jul 2013, 10:49

Hola Elena:
El manual, MVS JCL Reference (en mi caso del zOS 1.13)
En su capítulo 5: Procedures and Symbols,
En el apartado: Using symbols and jcl symbols
Subapartado: Coding Symbols in jcl, punto 5

Dice:
Do not specify symbols in records in an in-stream data set defined by the DD *
or DATA parameter. The system does not substitute text for symbols in SYSIN
data.

Esto siempre ha sido así en MVS. Los registros en una SYSIN no son alterados por el sistema.

Como ves, tendrás que buscar otro método de hacer llegar las variables, por ejemplo:
- Escribiendo sus valores en un fichero y utilizarlo de SYSIN
- Utilizar un planificador de trabajos

Un saludo
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

Responder