自分が今使っているワークステーション名(ステーション番号)を取得する
- 「ステーション番号の通知」システムサブルーチンとは
-
COBOLシステムサブルーチンの「ステーション番号の通知」を使ってみます。
このCOBOLシステムサブルーチンを使うと、自分が今使っているステーション(端末、最近だとパソコンかな?)の名前をもらうことができます。
NECのオフコンは、1つのサーバに端末をつなげて、端末上からサーバのプログラムを操作する仕組みです。1つのサーバにたくさんの端末をつなげて業務を行うこともできるので、どの端末なのか識別する為に、端末毎に識別名が付いています。
この名前は、パソコンのコンピュータ名とかIPアドレスとかではなく、オフコン独自で付けている名前です。
- ◆ステーション番号の通知
-
説明書から概要を下に抜き出します。
詳細は「COBOL85システムサブルーチン説明書」を参照してください。
機能
プログラムが動作しているワークステーションの、ワークステーション名を通知します。
一般形式
CALL "CBLSTNNO" USING データ名
データ1:ワークステーション名
ファイル節、作業場所節または連絡節の中で、レベル番号01または77の6桁の英数字項目として定義します。
CALL命令を実行すると"STNnnn"の形式で通知されます。
- サンプルプログラム9
-
000010 IDENTIFICATION DIVISION. 000020 PROGRAM-ID. SAM009. 000030 ENVIRONMENT DIVISION. 000040 DATA DIVISION. 000050 WORKING-STORAGE SECTION. 000060*--- CBLSTNNO PARAMETER ---* 000070 01 STN-NO PIC X(06). 000080*--------------------------* 000090 01 KEYIN PIC X(01). 000100 01 DSP-A. 000110 05 FILLER PIC N(07) VALUE NC"あなたの端末は". 000120 05 DSP-STN PIC X(06). 000130 PROCEDURE DIVISION. 000140 MPRG. 000150 INITIALIZE STN-NO 000160 CALL "CBLSTNNO" USING STN-NO 000170 MOVE STN-NO TO DSP-STN 000180 DISPLAY DSP-A 000190 ACCEPT KEYIN 000200 STOP RUN.
実行すると下のような感じになります。
- ステーション番号の決まり方
-
このワークステーション名(ステーション番号)ですが、システム生成で決めています。
#SGLSTでシステム生成情報を見ると、システムコンソールグループやワークステーショングループ1の辺りで下のような情報を見ることができます。
この場合は、このサーバにはSTN000(DAD=80)、STN001(DAD=81)、STN002(DAD=82)、STN003(DAD=86)の4つの端末(ステーション)をつなぐことができます。
で、4つ設定のうち、どれとしてサーバと接続するかを端末側で設定します。
例えば、WSエミュレータのときは、通信タブにある通信ポート番号とWS番号を何にするかによって、どのSTNnnnなのかが決まります。
あくまで私の環境の場合ですが、通信ポート番号を16384、WS番号を1にすると、DADが81と紐付けられているSTN001としてサーバに接続することになります。WSを6にするとSTN003としてサーバに接続します。
たぶん総務部からはSTN000で、開発部からはSTN001で・・・と決まっているときに、ワークステーション名を見て表示される内容を変えたり、読み込むファイルを変えたりするようなときに使うのでしょう。ファイルを変えたりするのはOCF機能を使った方が簡単に実現できますが・・・。