リモート ロケーションでファイルをカスタマイズするステップを挿入することにより、コマンド ストリームをサイトの標準に合わせることができます。 たとえば、mkdir、chown、chgroup コマンドを挿入したり、または配布された un-pax コマンド スイッチを変更したりすることができます。
RJCLROOT の詳細については、「C1DEFLTS でのリモート ジョブ ストリームの指定」を参照してください。
デフォルト テーブルの詳細については、「管理ガイド」の「デフォルト テーブルの使用」の章を参照してください
//* //BPXBAT EXEC PGM=BPXBATCH ICPY //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //STDPARM DD DISP=SHR, // DSN=&RUCD
リモート コマンド ファイルの名前を解決します。
例: REXX 用に編集されたリモート コマンド ファイル
REXX プログラムを SYSUT1 から 現在のコマンド ストリームで読み取り、次にカスタマイズしたストリームを SYSUT2 に書き込みたい場合を考えてみます。 これを実現するには、モデル メンバの BPXBATCH ステップの前に以下のコードを挿入します。
//*********************************************************** //* SAMPLE TAILOR UCD COMMAND STREAM //*********************************************************** //UCDEDIT EXEC PGM=IRXJCL,PARM='UCDEDIT' //SYSEXEC DD DISP=SHR,DSN=BST.SUPPNDVR.ISRCLIB //SYSUT1 DD DISP=SHR,DSN=&RUCD //SYSUT2 DD DISP=SHR,DSN=&RUCD //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //***********************************************************
以下の REXX exit(UCDEDIT)の例は、コマンド ストリームのカスタマイズの主要な要件を示しています。 プログラムは既存のコマンド ストリームで読み取り、カスタマイズされたストリームに書き込む必要があります。 プログラムは SYSUT1 からの入力を読み取り、カスタマイズした出力を SYSUT2 に書き込みます。 この exit は単純な文字列検索を実行し、pax コマンドに追加のスイッチを付加(挿入)します。
/* Rexx to read from Sysut1 and write to Sysut2 (like IEBGENER) However, this version is a bit special in that it also performs some string substitutions. It's intended to allow a customer to edit their USS Ship command stream at the remote location changing the pax command parms or saving some commands to be executed later. */ frmstr = 'pax -rvzk' /* This is what we're looking for */ tgtstr = 'pax -rvzk -p op' /* and we'll replace it with this */ /* Read input file (BPXBATCH commands) */
"EXECIO * DISKR SYSUT1(STEM DATA. FINIS" IF RC ¬= 0 THEN SIGNAL IOERROR
/* Main loop to search/replace the string */
do i = 1 to DATA.0 start = 1 do while start < length(DATA.i) found = pos(frmstr,DATA.i,start) if found = 0 then leave endstr = found + length(frmstr) newstr = Left(DATA.i,(found - 1)) || tgtstr DATA.i = newstr || substr(DATA.i,endstr) start = found + length(tgtstr) end end
/* Write the substituted file out */
"EXECIO * DISKW SYSUT2(STEM DATA. FINIS" IF RC ¬= 0 THEN SIGNAL IOERROR
/* That's it all done */ Exit 0
IOERROR: SAY 'PROBLEM DURING I/O, Return code:' || RC EXIT RC
|
Copyright © 2013 CA.
All rights reserved.
|
|