Pergunta

De acordo com z / OS, eu quero escrever uma REXX ou script CLIST para copiar um conjunto de dados seqüencial para outro e, em seguida, executar outro script (REXX). O outro script espera de existir um SDS específicas e eu quero ser capaz de copiar uma das muitas opções para esse membro antes de executar o segundo script. Isto é de TSO então eu não têm acesso a qualquer das coisas fantasia ISPF.

Então, basicamente:

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

Os runother Rexx usos script 'level1.level2.name' para fazer a sua própria magia - eu apenas estou fornecendo um diferente para cada uma das minhas possibilidades

.

Então eu preciso de um script chamado 'xx42' que copia 'level1.level2.name.42' e então eu posso modificar isso para que não sejam 42. Mesmo melhor valores seriam para parametrizar esse script para que eu pudesse usar apenas

xx 42 p1 p2 p3

ou

xx 27 p1 p2 p3

em vez de ter um script para cada valor. Isto deve copiar os SDS dadas, em seguida, passar parâmetros p1, p2 e p3 até runother.

Foi útil?

Solução 2

Depois de um pouco de brincar, eu descobri que você pode alocar manualmente os conjuntos de dados e executar IEBGENER obrigados a fazer a cópia:

/* 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

Outras dicas

Enquanto procurava por outra coisa, me deparei com este post. (Ou seja, ele não me levou 2 anos para formular esta resposta) e achei mainframians futuros (nós ainda existe?) Pode achar que é útil.

Você também pode fazer um SMCOPY:

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

FDS - do conjunto de dados, TDS - ao conjunto de dados. Se TDS não existe, você receberá um código de retorno 4, mas a cópia terá sido executado. Você pode usar SMCOPY para copiar os membros da biblioteca também.

Você também pode usar SORT para fazer uma cópia de SORTIN para SORTOUT. Você poderia envolver que JCL em um proc com parâmetros ou usar instruções SET, etc.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top