どのように私はREXX / CLISTのバッチプログラム(なしISPF)でメンバーをコピーするのですか?

StackOverflow https://stackoverflow.com/questions/1671578

  •  13-09-2019
  •  | 
  •  

質問

のz / OSの下で、私は別のものに設定される1つのシーケンシャルデータをコピーして別のスクリプト(REXX)を実行するためのREXXまたはCLISTスクリプトを書きたいです。他のスクリプトは、特定のSDSが存在することを期待し、私は2番目のスクリプトを実行する前に、そのメンバーには多くのオプションのいずれかをコピーすることができるようにしたいです。これは、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以外の値がさらに良いことのためには、私はちょうど使用できるように、そのスクリプトをパラメータ化するだろうと変更することができます/ P>

xx 42 p1 p2 p3

または

xx 27 p1 p2 p3

はなく、各値のスクリプトを有するより。これはp1に通過し、その後、パラメータp2p3runotherを与えSDSをコピーします。

役に立ちましたか?

解決 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

他のヒント

他の何かを探している間、私はこの記事に出くわしました。 (我々はまだ存在していますか?)未来mainframiansを(すなわち、それはこの応答を定式化するために2年間私を取ることはありませんでした)と思ったそれが役に立つかもしれません。

またSMCOPYを行うことができます:

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

FDS - データセットから、TDS - データセットへ。 TDSが存在しない場合は、リターンコード4を取得しますが、コピーが実行されています。あなたにもライブラリーのメンバーをコピーするSMCOPYを使用することができます。

また、SORTINからSORTOUTにコピーを行うためにSORTを使用することができます。あなたは、パラメータまたは使用のSETステートメントとPROCでそのJCLなどを包むことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top