REXXプログラミング入門⑤
データの取得と処理は、多くのプログラミングタスクの中心です。REXXを使ってメインフレーム上のデータセットから情報を読み取り、その内容を解析・表示する能力は、自動化スクリプトを作成する際に非常に有用です。この演習では、特定のデータセットからデータを読み取り、その内容を指定されたフォーマットでNETLOGに出力する方法を学びます。
⑤データの取得とNETLOGへの出力
目的は、指定されたデータセットからデータを読み取り、それを解析してNETLOGに特定のフォーマットで出力するREXXスクリプトを作成することです。
スクリプトの内容
以下は、データセットからデータを読み取り、NETLOGに出力するREXXスクリプトの例です。
/* REXX */
OPTIONS EXMODE
TRACE R
ADDRESS TSO "ADDRESS NETVASIS"
PIPE (QSAM 'MYLIB.MYDATASET(MYDATA)') | (STEM data.)
SAY 'MYDOMAIN *** ST MYPROG5 WRITE' data.0 'LINE *************'
DO i = 1 TO data.0
SAY 'MYDOMAIN' data.i
END
EXIT
スクリプトの解説
-
PIPE (QSAM 'MYLIB.MYDATASET(MYDATA)') | (STEM data.)
: この命令は、指定されたデータセットからデータを読み取り、それをdata.
ステム変数に格納します。PIPE
を使用してデータを読み込み、STEM
でデータを構造的に管理します。 -
SAY 'MYDOMAIN *** ST MYPROG5 WRITE' data.0 'LINE *************'
: 読み取ったデータの総行数を表示します。data.0
には読み取った行数が格納されています。 -
DO i = 1 TO data.0
: このループは、読み取った各行に対して処理を行います。ループ内で、各行の内容をSAY
命令を使って出力します。
実行方法
このスクリプトをメインフレーム上でREXXプログラムとして実行します。スクリプトが正しく機能している場合、指定されたデータセットから読み取ったデータがNETLOGに出力されます。
まとめ
演習5では、REXXを使用してメインフレーム上のデータセットから情報を取得し、その内容を解析して出力する基本的な方法を学びました。この技術は、ログの解析、レポートの生成、システム監視など、多岐にわたるタスクに応用することができます。