REXXプログラミング入門④
プログラミングにおいて、外部システムやアプリケーションから情報を取得し、そのデータを基に処理を行うことは一般的なタスクです。REXX言語を使用して、このようなタスクをメインフレーム環境で実行する方法を学ぶことは、システム管理や自動化のスキルを高めるのに役立ちます。この演習では、セッション接続情報を取得し、その情報を解析して特定のフォーマットで出力するスクリプトを作成します。
演習4: セッション情報の取得と出力
この演習の目的は、外部コマンドを使用してセッション接続の情報を取得し、それを解析して特定のフォーマットで出力するREXXスクリプトを作成することです。
スクリプトの内容
以下は、セッション接続情報を取得し、解析して出力するREXXスクリプトの例です。
/* REXX */
OPTIONS EXMODE
TRACE R
ADDRESS TSO "ADDRESS NETVASIS"
PIPE (CORRCMD 'DISPGW') | (SEPARATE) | (STEM session.)
DO i = 1 TO session.0
PARSE VAR session.i domain 'FROM' ownDomain 'TO' otherDomain ':' status
SAY 'MYDOMAIN ST MYPROG4 SESSION FROM' ownDomain 'TO' otherDomain ':' status
END
EXIT
スクリプトの解説
-
PIPE (CORRCMD 'DISPGW') | (SEPARATE) | (STEM session.)
: この行は、DISPGW
コマンドを実行し、その出力を解析してsession.
ステム変数に格納します。PIPE
とSTEM
を使用することで、出力の各行を個別の要素として扱うことができます。 -
DO i = 1 TO session.0
: このループは、session.
ステム変数に格納された各行に対して処理を行います。 -
PARSE VAR session.i domain 'FROM' ownDomain 'TO' otherDomain ':' status
: この命令は、セッション情報の各行を解析し、ドメイン名、自ドメイン、相手ドメイン、ステータスに分割します。 -
SAY 'MYDOMAIN ST MYPROG4 SESSION FROM' ownDomain 'TO' otherDomain ':' status
: 最後に、解析した情報を指定されたフォーマットで出力します。
実行方法
このスクリプトをメインフレーム上でREXXプログラムとして実行します。正しく機能している場合、セッション接続の情報が指定されたフォーマットで出力されます。
まとめ
この演習を通じて、外部コマンドの実行結果を取得し、その結果を解析して利用する方法を学びました。このスキルは、実際の業務でシステムやアプリケーションの状態を監視し、自動化するためのスクリプトを作成する際に非常に有用です。