Pregunta

En z / OS, quiero escribir un script REXX o CLIST para copiar uno conjunto de datos secuencial a otro y luego ejecutar otro script (REXX). El otro script espera un SDS específico de existir y quiero ser capaz de copiar una de las muchas opciones a este miembro, antes de ejecutar el segundo guión. Esto es de TSO, así que no tengo acceso a ninguna de las cosas ISPF fantasía.

Así que, básicamente:

Copy 'level1.level2.name.type1' to 'level1.level2.name'
runother p1 p2 p3

El script REXX runother utiliza 'level1.level2.name' para hacer su propia magia - Sólo estoy proporcionando una diferente para cada uno de mis posibilidades

.

Así que necesito un script llamado 'xx42' que copia 'level1.level2.name.42' y luego se modifican que para valores distintos a 42. Aún mejor sería para parametrizar el guión, así que podría simplemente utilizar

xx 42 p1 p2 p3

o

xx 27 p1 p2 p3

en lugar de tener un guión para cada valor. Esto sería copiar el SDS dado a continuación, pasar parámetros p1, p2 y p3 hasta runother.

¿Fue útil?

Solución 2

Después de un poco de tocar el violín alrededor, me di cuenta de que puede asignar manualmente los conjuntos de datos necesarios y ejecutar IEBGENER hacer la copia:

/* REXX */

"ALLOC FI(SYSPRINT) DUMMY REUSE"
"ALLOC FI(SYSIN) DUMMY REUSE"
"ALLOC FI(SYSUT1) DA('LEVEL1.LEVEL2.NAME.42') SHR REUSE"
"ALLOC FI(SYSUT2) DA('LEVEL1.LEVEL2.NAME') SHR REUSE"
"IEBGENER"
RC2 = RC
"FREE FI(SYSUT1)"
"FREE FI(SYSUT2)"
"FREE FI(SYSPRINT)"
"FREE FI(SYSIN)"
IF RC2 ^= 0 THEN DO
  SAY "IEBGENER FAILED."
  END
ELSE DO
  RUNOTHER P1 P2 P3
  END

Otros consejos

En la búsqueda de algo más, me encontré con este post. (Es decir que no me llevó 2 años para formular esta respuesta) y pensó mainframians futuras (¿todavía existimos?) Podría encontrar útil.

También puede hacer un SMCOPY:

address TSO "SMCOPY FDS('LEVEL1.LEVEL2.NAME.42') TDS('LEVEL2.LEVEL2.NAME')"

FDS - del conjunto de datos, TDS - al conjunto de datos. Si no existe TDS, obtendrá un código de retorno 4, pero se han ejecutado la copia. Se puede utilizar para copiar SMCOPY miembros de la biblioteca también.

También puede utilizar ORDENAR para hacer una copia de SORTIN a SORTOUT. Se podría concluir que JCL en un proc con parámetros o utilizar instrucciones SET, etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top