REXX > レシピ集

「REXX/レシピ集」の編集履歴(バックアップ)一覧はこちら

REXX/レシピ集」(2009/11/11 (水) 21:19:52) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

* ファイルの入力 ファイルからレコードを読むなら、TSOのEXECIOを利用。 "EXECIO 1 DISKR INDD (STEM LINE.)" /* INDD というDDから1レコード読んで、配列 LINE に入れる SAY LINE.1 使用メモリを気にしないなら、いっぺんに全レコードを読んでしまうこともできる。 "EXECIO * DISKR INDD (STEM LINE.)" /* INDD というDDから全レコードを読んで、配列 LINE に入れる DO I=1 TO LINE.0 /* 配列の添字 0 の要素はレコード数 SAY LINE.I /* 1レコードずつ順に表示 END ファイルを1レコードずつ読んで処理をする典型的なコード DO WHILE 1 "EXECIO 1 DISKR INDD (STEM LINE.)" IF RC<>0 THEN LEAVE /* ファイルの終わりに達したら DO WHILE ループから抜ける (do something) END /* DO WHILE 1 の終わり *ファイルの出力 LINE.1='HELLO,WORLD' "EXECIO 1 DISKW OUTDD (STEM LINE.)" /* OUTDD というDDに LINE.1 の内容を1レコード書き込む 複数レコードをいっぺんに出力する場合 LINE.1='//JOBNAME JOB CLASS=A,MSGCLASS=A' LINE.2='//IEFBR14 EXEC PGM=IEFBR14' LINE.3='//DD1 DD DSN=DATASET,DISP=(MOD,DELETE),SPACE=(TRK,1),UNIT=SYSDA' "EXECIO 3 DISKW OUTDD (STEM LINE.)" /* OUTDD というDDに LINE.1〜LINE.3 の内容を書き込む レコード数を変数で指定する場合 LINE.1='//JOBNAME JOB CLASS=A,MSGCLASS=A' LINE.2='//IEFBR14 EXEC PGM=IEFBR14' LINE.3='//DD1 DD DSN=DATASET1,DISP=(MOD,DELETE),SPACE=(TRK,1),UNIT=SYSDA' (略) LINE.9='//DD7 DD DSN=DATASET7,DISP=(MOD,DELETE),SPACE=(TRK,1),UNIT=SYSDA' LINE.0=9 /* 出力するレコード数 "EXECIO * DISKW OUTDD (STEM LINE.)" *TSOコマンドを発行し、その結果を受け取る OUTTRAP() で、TSOコマンドのレスポンスを配列に受け取るようにする。 X=OUTTRAP('LINE.') "LISTDS ('dataset name') MEMBERS" /* 配列 LINE. にLISTDSコマンドのレスポンスが入る DO I=1 TO LINE.0 /* LINE.0 はコマンドレスポンスの行数 (do something) END X=OUTTRAP('OFF')

表示オプション

横に並べて表示:
変化行の前後のみ表示: