当記事の著作権はIBMに帰属します。
詳細はこちらを参照ください。
当記事では、NetViewプログラム・インターフェースのTAFセッションおよびRMTCMDについてご紹介します。
当記事にて用いたソフトウェアのバージョンは下記の通りです。製品サポート終了済のバージョンであるため、記事の内容を参考にされる際はバージョン違いによる挙動の差異に注意ください。
・z/OS V2R4 (サポート終了日:2024/09/30)
・NetView V6R3 (サポート終了日:2025/02/28)
※研修環境のため、一部画面ショット上においてはNetView V6R2の誤表記があります。
目次
1.NetViewプログラム・インターフェース
2.TAFセッション
2-1.TAFセッションとは
2-2.TAFの種類
2-3.TAFセッションの定義
2-4.使用例
3.RMTCMD
3-1.RMTCMD(Remote Command)とは
3-2.RMTCMDの定義
3-3.使用例
1.NetViewプログラム・インターフェース
NetViewプログラムは、自動化によって様々な情報源からメッセージやその他のデータを受信し、データ処理のイベントを監視したり、複数のターゲットや宛先に対してコマンドを送信することが可能です。
このような機能を支えるインターフェースについて、構成は図1の通りです。(*1)

$\textrm{図1.自動化で使用されるNetViewプログラム・インターフェース}$
NetViewプログラム・インターフェースにおける、TAFセッションとRMTCMDについてまとめました。
2.TAFセッション
2-1.TAF(Terminal Access Facility)セッションとは
NetView端末を、LU1タイプまたは LU2タイプ(※1)のプロトコルでサポートしているVTAMアプリケーションとのインターフェースです。 (*2)
LU1 タイプまたは LU2 タイプのプロトコルをサポートしているアプリケーションの例としては、
顧客情報管理システム (CICS) や情報管理システム (IMS) アプリケーションなどがあります。
TAFを使用することで、NetViewオペレーターおよび自動タスクは、あたかもそのアプリケーションのサブシステム・コンソールまたはマスター端末にログオンしているかのように、 メッセージの表示やコマンドの発行が可能になります。
(※1) LU1タイプまたは LU2タイプ・・・VTAMセッション・タイプ
2-2.TAFの種類
TAFは2種類あります。(*3)(*4)
・オペレーター制御セッション
・フルスクリーン・セッション
<オペレーター制御セッション>
-
表示形式は、行単位形式
-
LU1セッションで、SNA3767端末をエミュレートする
-
NetView 自動化処理は使用可能
アプリケーションのサブシステム・コンソールまたはマスター端末でオペレーターに表示されるメッセージは、LU1 セッションを通ってNetViewプログラムに送信され、自動化テーブルで処理される
TAF を利用した自動化ではLU1セッションが使用されるため、自動タスクは、CICSやIMSのマスター端末から入力される制御機能を含む、アプリケーションで実行可能なあらゆるトランザクションを入力することが可能

-
使用方法
「BOSESS LU01」を入力すると、LU01とのTAFセッションが確立され、3270コンソール上で1行ずつメッセージが表示される
<フルスクリーン・セッション>
-
表示形式は、フルスクリーン形式(パネル形式)
-
LU2セッションで、SNA3270端末をエミュレートする
-
CICS, IMS, TSO, クロスドメインNetViewなどのセッションでは、3270端末のように動作し、NetViewパネルを使用して、まるで端末がサブシステムやアプリケーションに直接接続しているかのように、コマンドやデータを入力できる
フルスクリーン形式に限り、別のNetViewシステムにログオンして操作できる

-
NetView 自動化処理は使用不可能
1.フルスクリーン形式と自動化処理の関係
NetViewの自動化処理は、行単位で受信されるデータを対象としているため、
NetView画面に表示されるデータが、フルスクリーン形式で伝送される場合、
自動化処理機能はそのデータを扱えない
2.LU2 セッションの制約
LU2セッションは画面全体を送受信する形式のため、
LU2 セッションを介して受信し、NetView画面に表示されたメッセージは、
自動化テーブルで処理できない
3.自動タスクの制限
自動化タスクは物理端末を持たないため、
フルスクリーン・セッションの画面内容を認識・処理できない -
使用方法
「BFSESS LU02」を入力しCICSアプリケーションに接続すると、パネル画面が表示され、カーソル移動や選択操作が可能になる
2-3.TAFセッションの定義
TAFを使用するためには以下の2つの定義が必要です。
1.VTAM側の設定
TAFが使用するソースLUをVTAMに認識させるために、VTAMLSTに定義を追加
2.アプリケーション側の設定
VTAMに登録したソースLUを、CICSやIMS側でも端末として認識できるように定義を追加
<VTAM側の設定> (*5)
TAF SRCLU(ソースLU)用の定義をVTAMLST データ・セットに定義が必要です。
オペレーター制御セッションとフルスクリーン・セッションの両方の定義サンプルが、VTAMLST データ・セットのメンバー A01APPLS (CNMS0013) に入っています。
オペレーター制御セッシ ョン → TAF01O00、TAF01O01、TAF01O02 のような名前のソース LU
フルスクリーン・セッション → TAF01F00、TAF01F01、TAF01F02 のような名前のソース LU
| パラメータ | 意味 |
|---|---|
| MODETAB | 使用するログモード・テーブルの名前を指定 |
| DLOGMOD | セッションを開始するときに使用するログモード(端末の通信方式)を指定 |
| STATOPT | NetViewなどがこのLUの状態を監視するための識別情報 |
2-4.使用例
NetViewからTSOへ接続してみよう
今回は、NetViewからTSOへフルスクリーン・セッションにて接続する使用例を紹介します。
①TSO専用のLU名を探す
下記コマンドでAPPL MAJOR NODEおよびACBNAME FOR IDを検索
D NET,ID=TSO
ここでは、
APPL MAJOR NODE = A0001
ACBNAME FOR ID = TSO0001

②APPL MAJOR NODEがACTIVEであることを確認
下記コマンドで確認
D NET,MAJNODES
ここでは、
A0001(TSO側)およびA01APPLS(NetView側)がACTIVEであることを確認

④TSOへ接続
下記コマンドで接続
BFSESS applid
ここでは、
BFSESS TSO0001

↓
「APPLID=TSO0001に対して、SRCLU=TF01#000が設定された」というメッセージが出力

下記画面になれば、NetView-TSOのTAFセッション接続は成功!
⑤USERIDを指定してTAFのフルスクリーン・セッションで接続したTSOでのログイン

↓

↓
TAFのフルスクリーン・セッションで接続したTSOでのログイン、完了!

3.RMTCMD
3-1.RMTCMD(Remote Command)とは
RMTCMDは、システム・コマンド、サブシステム・コマンド、 およびネットワーク・コマンドを他のNetViewに送信し、その応答として生成されるメッセージを受信するために使用します。 (*8)
3-2.RMTCMDの定義
DSIPARMデータ・セット内のNetViewのスタイル定義ファイルであるCNMSTYLE やそのINCLUDEメンバー(※2)に、RMTCMDの設定が含まれています。
(※2)INCLUDEメンバー・・・
NetViewは起動時にCNMSTYLEを読み込み、そこからINCLUDE ステートメントで
他のメンバー(例:CNMSTGEN, CNMSTUSR)を順に読み込みます。
後から読み込まれた設定が前の設定を上書きします。
例)
CNMSTUSRを読んだ後にC&NV2I.STGENを読む

”&NV2I.”は初期値:NMであり、NetView始動プロシージャにて指定しています。

3-3.使用例
RMTCMDで別システムのNetViewの監視をしよう
RMTCMDを用いることで、NetViewから別システムのNetViewがACTIVEであるかを監視することができます。
RMTCMDコマンドを用いて、別システムのNetViewとリモート・セッションを確立し、様々なコマンドを別システムのNetViewへ送信することができます。RMTCMDコマンドが失敗し、リモート・セッションが確立できずコマンドが送信できなかった場合、NetViewは下記メッセージを出力します。
DWO570I(*8)
・・・システムがターゲットNetViewシステムとのリモート・セッションを確立できません。
今回は、リモート・セッションが確立できないということはターゲットNetViewシステムが落ちていると判断することで監視を行います。
※注:DWO570IはターゲットNetViewシステムが落ちている場合以外(例:誤ったlunameの指定、セッション障害等)でも出力の可能性があるため、あくまで今回の使用例での考え方となります。
監視の例として1つ紹介します。
<資材>
NetView1:CNM01
NetView1内のCLIST(※3):CLIST01
NetView2:CNM02
NetView2内のCLIST(※3):CLIST02
(※3)CLIST・・・コマンドを連続して実行するスクリプト
IF文での条件分岐や、WAITを使用した待機が可能
<監視の流れ>
①CNM01に、「RMTCMDコマンドでCNM02に対してCLIST02実行コマンドを送信し、その応答メッセージをTRAPする」内容のCLIST01を作成する
②CNM01で、CLIST01を定期的に実行するようタイマーを設定する
③CLIST01がタイマーによって自動実行されると、RMTCMDコマンドでCNM01からCNM02に対してCLIST02実行コマンドを送信する
④CNM01は応答メッセージを待ち、CNM02が落ちていてリモート・セッションを確立できなかった場合、DWO570Iが返される
⑤DWO570Iが返ってきた場合、「CLIST01E CNM02 INACTIVE」とメッセージが出力し、CNM02が落ちていることを検知する
⑥’④’でDWO570Iが返ってこなかった場合、「CLIST01I CNM02 ACTIVE」とメッセージが出力し、CNM02が上がっていることを示す

※注:上記の図内のCLISTスクリプトは説明のために簡略化した例であり、実装時には調整が必要となります。
このようなロジックでRMTCMDを使用することで、別システムのNetViewにコマンドやメッセージを送信するだけでなく、監視をすることも可能です。
参考文献
*1:IBM Z NetView バージョン 6.4.0/自動操作ガイド/選択環境における自動操作の計画/
自動化のための NetView プログラム情報経路指定/NetView プログラム・インターフェース
NetView プログラム・インターフェース
*2:IBM Z NetView バージョン 6.4.0/自動操作ガイド/その他の NetView® 自動化トピック/
端末アクセス機能を使用した自動操作
端末アクセス機能を使用した自動操作
*3:IBM Z NetView バージョン 6.4.0/自動操作ガイド/その他の NetView® 自動化トピック/
端末アクセス機能を使用した自動操作/概説
概説
*4:IBM Z NetView バージョン 6.4.0/インストール:追加コンポーネントの構成/操作の集中化/
NetView フォーカル・ポイント へのデータの転送/端末アクセス機能の定義
端末アクセス機能の定義
*5:IBM Z NetView バージョン 6.4.0/自動操作ガイド/その他の NetView® 自動化トピック/
端末アクセス機能を使用した自動操作/TAF のセットアップ/VTAMLST 定義の追加
VTAMLST 定義の追加
*6:IBM Z NetView バージョン 6.4.0/自動操作ガイド/その他の NetView® 自動化トピック/
端末アクセス機能を使用した自動操作/TAF のセットアップ/CICS 端末定義の追加
CICS 端末定義の追加
*7:IBM Z NetView バージョン 6.4.0/自動操作ガイド/その他の NetView® 自動化トピック/
端末アクセス機能を使用した自動操作/TAF のセットアップ/IMS 端末定義の追加
IMS 端末定義の追加
*8:IBM Z NetView バージョン 6.4.0/コマンド・リファレンス 第 2 巻 (O - Z)/
NetView コマンドとコマンドの説明/RMTCMD (NCCF)
RMTCMD (NCCF)
*9:IBM Z NetView バージョン 6.4.0/メッセージおよびコード 第 2 巻 (DUI-IHS)/
DWO を接頭部に持つメッセージ
DWO を接頭部に持つメッセージ
この記事は、IBM Community Japanの主催する2025年ナレッジモール研究における「メインフレーム若手技術者の広場」の成果物です。






