TX (テープから REXX 変数へ) -- REXX only

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

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

関連機能
TS
テープ・データをデータ・セットにコピーします。
XT
REXX ステム変数をテープ・ファイルへコピーします。
1. Syntax

1 TX? LABEL=BLP INPUT=ddname VARNAME=stem
1! RECFMIN=U
1 RECFMIN=recfmout
2? RECSIZE=recsize
1! POSITION=0
1 POSITION=skip
1! NLRECS=ALL
1 NLRECS=nlrecs
ddname
DD または TSO ALLOC ステートメントを参照します。
LABEL=BLP
ラベル迂回処理の使用を指定します。このパラメーターは、テープを使用する最初の File Manager 機能で指定する必要があります。BLP の処理要件については、「Customizing the Security Environment」の『File Manager for z/OS Customization Guide』を参照してください。
nlrecs
コピーするレコード数、または ALL。最大数は 99 999 999 です。ALL を指定するか、このパラメーターを省略すると、残りのすべてのレコードがコピーされます。
recfmin
入力のレコード・フォーマット。それぞれの値は、以下の文字の組み合わせです。
B
ブロック化
D
可変長 ISO/ANSI テープ・レコード
F
固定長
S
スパン形式
U
不定長
V
可変長
指定可能な値は以下のとおりです。U、F、FB、V、VB、VBS、VS、D、DB、DBS および DS。
recsize
recfmin が F または FB の場合、入力レコードの長さ。recfmin が F の場合は、デフォルトとして、最初のレコードの長さが使用されます。recfmin が FB の場合は、recsize は必須です。
skip
スキップされる論理レコードの数。デフォルトは 0です。
stem
REXX ステム変数の名前。長さは最大 44 字までです。
/* REXX */
/* copy a tape file to a rexx stem           */
/* allocate input tape                       */
/* use SL processing.  required file is at   */
/* position 1                                */

"ALLOC FILE(TAPE) DA('FMNUSER.TAPEIN')",
      "VOLUME(FMO001) UNIT(CART) LABEL(SL)",
      "POSITION(1) OLD"

/* copy a tape file to a rexx stem           */

"FILEMGR $TX INPUT=TAPE,",
            "VARNAME=TAPE."


/* Show stem contents                      */

Do i=1 To tape.0
  Say tape.i      /* show tape record        */
  End

/* free the tape unit                        */

"FREE FILE(TAPE)"

return