在z / OS,I想写REXX或CLIST脚本复制一个连续的数据设置为另一种,然后运行另一个脚本(REXX)。其他脚本需要一个特定的SDS存在,我希望能够运行第二个脚本之前复制的许多选择,该成员之一。这是TSO所以我没有任何花哨的东西ISPF访问。

所以,基本上是:

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

runother的Rexx脚本使用“level1.level2.name”做自己的魔法 - 我只是提供一个不同的,我的每个机会。

所以我需要一个叫做“xx42”这册“level1.level2.name.42”,我可以修改,对于超过42更妙的其他值将是参数化该脚本脚本,这样我可以只使用

xx 42 p1 p2 p3

xx 27 p1 p2 p3

,而不必为每个值的脚本。这将通过复制给定的SDS然后传递参数p1p2p3runother

有帮助吗?

解决方案 2

位摆弄周围后,我想出可以手动分配所需的数据集,并运行IEBGENER做复制:

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

其他提示

在寻找别的东西,我遇到了这个职位。 (即它没有考虑我2年制定这种反应)和未来的思想mainframians(我们还存在吗?)可能会发现它很有用。

您也可以做一个SMCOPY:

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

FDS - 从数据集,TDS - 到数据集。如果TDS不存在,你会得到一个返回码4,但该副本将被处决。您可以使用SMCOPY到库成员复制为好。

您还可以使用SORT从SORTIN做一个副本SORTOUT。你可以换行JCL在一个进程与参数或使用SET语句等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top