VX (VSAM から REXX 変数へ) -- REXX only

目的
VSAM データ・セットから REXX ステム変数へレコードをコピーします。
使用上の注意
各レコードは stem.nnn という名前の変数にコピーされます。stem.0 はカウンターです。
例えば、3 レコードをコピーする場合、stem が VARXX. で、VARXX.0 は値 5 であるとすると、
  • レコードは VARXX.6、VARXX.7、および VARXX.8 にコピーされます。
  • VARXX.0 の値は、8 にリセットされます。

この機能は、REXX プロシージャーからのみ使用可能です。

関連機能
XV
REXX ステム変数を VSAM データ・セットにコピーします。
1. Syntax

1 VX
1! INPUT=VSAMIN
1 INPUT=ddname
1 DSNIN=dsname
2 VARNAME=stem
1! POSITION=0
1 POSITION=skip
1 KEY=key
1! NLRECS=ALL
1 NLRECS=nlrecs
ddname
DD または TSO ALLOC ステートメントを参照します。デフォルトは、VSAMIN です。
dsname
VSAM データ・セットの名前。
key
KSDS レコードのキー、または RRDS レコードのスロット番号。キーの最大長は 30 文字です。key 以上のキー値またはスロット値を持つ、最初のレコードがコピーされます。key および skip 値を省略すると、 データ・セットの最初のレコードからコピーが開始されます。

キーに小文字、ブランク、またはコンマが入っている場合には、キーを引用符で囲みます。キーは、16 進形式でも指定可能です (例えば X'C1C2C3')。

nlrecs
コピーするレコード数、または ALL。最大数は 99 999 999 です。ALL を指定するか、このパラメーターを省略すると、残りのすべてのレコードがコピーされます。
skip
データ・セットの始めから数えたスキップされる論理レコード数。skip および key 値を省略すると、 データ・セットの最初のレコードからコピーが開始されます。
stem
REXX ステム変数の名前。長さは最大 44 字までです。
/* REXX */
/* Copy a VSAM data set to a REXX stem     */
/* Change input.vsam.file to the name      */
/* of the required VSAM file               */

"FILEMGR $VX  DSNIN='input.vsam.file',",
             "VARNAME=STEM."

/* Show stem contents                      */

do i = 1 to stem.0;
    say 'Record' i '=' stem.i;
    end;

return;