Domanda

In z / OS, voglio scrivere uno script REXX o CLIST per copiare i dati sequenziali un set ad un altro e quindi eseguire un altro script (REXX). L'altro script si aspetta una specifica SDS di esistere e voglio essere in grado di copiare una delle molte opzioni per quel membro prima di eseguire il secondo script. Questo è da TSO quindi non ho accesso a una qualsiasi delle cose ISPF fantasia.

Quindi, in sostanza:

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

Lo script Rexx runother utilizza 'level1.level2.name' a fare la sua magia - sto solo fornendo una diversa per ciascuna delle mie possibilità

.

Quindi ho bisogno di uno script chiamato 'xx42' che copia 'level1.level2.name.42' e posso quindi modificare che per valori diversi da 42. Ancora meglio sarebbe di parametrizzare che script in modo ho potuto solo usare

xx 42 p1 p2 p3

o

xx 27 p1 p2 p3

piuttosto che avere uno script per ogni valore. Ciò copiare il dato SDS poi passare i parametri p1, p2 e p3 fino alla runother.

È stato utile?

Soluzione 2

Dopo un po 'di armeggiare intorno, ho capito è possibile assegnare manualmente i set di dati richiesti ed eseguire IEBGENER eseguire 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

Altri suggerimenti

Mentre la ricerca di qualcosa di diverso, mi sono imbattuto in questo post. (Vale a dire che non ha preso me 2 anni per formulare questa risposta) e il pensiero mainframians future (abbiamo ancora esistiamo?) Potrebbe essere utile.

Si potrebbe anche fare uno SMCOPY:

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

FDS - da set di dati, TDS - a set di dati. Se TDS non esiste, si otterrà un codice di ritorno 4, ma abbiate eseguito la copia. È possibile utilizzare per copiare SMCOPY membri della libreria pure.

È inoltre possibile utilizzare SORT per fare una copia da SORTIN a Sortout. Si potrebbe avvolgere che JCL in un proc con i parametri o utilizzare le istruzioni SET, ecc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top