CEE3PR2
歴史的な理由から、PARM フィールドは 100 バイトに制限されていますが、 LE 呼び出し可能サービスを呼び出す LE (言語環境) 対応アプリケーションの場合、この制限は 32K に引き上げられます。LE 言語は、アセンブラー (特定の注意事項が適用されます)、および最新バージョンの COBOL と PL/I です。私の知る限り、Rexx は LE 対応言語ではありません。
私が働いていたある場所には、PARM 値で渡されたものをフラット ファイルに書き込む汎用プログラムがありました。私たちのものはたまたまアセンブラーでしたが、それは COBOL、PL/I、または Rexx であった可能性があります。
使用方法の例については、この回答を参照してください。
あなたのショップにまだプログラムがない場合は、そのようなプログラムを作成することをお勧めします (独自のプログラムを作成する前に確認してください)。Syncsort
(そしておそらくDFSORT
)出力ファイルにパラメーターを書き込む機能があるため、そのルートに進むこともできます。
フラット ファイルに parm を書き込む機能を前提として、各パラメーターに対して 1 回呼び出し、結果をフラット ファイルに MOD 化することができます。次に、フラット ファイルを Rexx プログラムに読み込みます。各レコードは、パラメーターの 1 つを表します。
更新: @BillWoodger がコメントで指摘しているように、PARMDD DD を使用できます...
コマンド parmstring の長さが 100 文字を超える場合に実行するコマンド parmstring を含むデータ セットの DD 名を指定する PARMDD を使用します。
...これにより、パラメータを一度に 1 レコードずつ読み込む必要がなくなります。
また、どうやらz/OS 2.1 の時点で、パラメーターをデータセットに配置するためのプログラムは不要になったようです。JCL の処理時にパラメーターをストリーム内で解決することができます。