11.EXCEL(vba)からTcplinkマクロを作成する

By 岡田 - Last updated: 火曜日, 8月 23, 2016
先日ご説明しましたTcplinkマクロ活用にて、Tcplinkマクロの特徴としては、、

・メモ帳などのテキストエディタで作成できる1行1命令のインタプリタである事
(中の文法のシンタックスチェックは実行時に行われる)
・拡張子を”.mac”にする事で当該ファイルをダブルクリックした時にマクロが実行できる

とご説明しました。これをEXCEL(vba)で書かせようというのが今回の趣旨です。

Tcplink STANDARDに限らず、テキストベースで書けるプログラムについては同様の手法で作成できます。
一例として、、
・TSO(TSS)で実行させたいCLISTをテキストファイルで作成、アップロードして実行する
・CSV形式のファイルを作成、別のアプリの入力にする です

また、秀丸マクロを作ることも上の手法で可能になりますので、応用範囲は広いです

ここでは以下の手順で”.mac”ファイルを作成します
(1)EXCEL(vba)内でマクロ命令を1行ずつ作成する
(2)(1)で作成した内容をクリップボードにコピーする
(3)EXCEL(vba)からメモ帳(notepad.exe)を起動(※)し、クリップボードの内容をペースト、保存する

(※)”.mac”の拡張子がついたファイル名を指定する

マクロ命令を作る

EXCEL(vba)は新しいEXCELに作成します。ALT+PF11でvbaの入力できる画面が開きますので、「標準モジュール」で作成します。

簡単なTcplinkマクロを生成するvbaです
===
01|Sub tcplink生成サンプル()
02|Dim buf2 As String
03|’マクロ命令生成
04| buf2 = “;コメント1” & vbNewLine
05| bun2 = buf2 & “;コメント2” & vbNewLine
06| buf2 = buf2 & “change session TCP3270-Ses01” & vbNewLine
07|
08| buf2 = buf2 & “message “”データセット名” & ActiveSheet.Range(“A1”).Value & “で実行します。よろしければOKして下さい””” & vbNewLine
09| buf2 = buf2 & “UNTIL STRING (01,4) “”待ちメッセージ””” & vbNewLine
10| buf2 = buf2 & “message “”後続処理を実行します。よろしければOKして下さい””” & vbNewLine
11|’クリップボード
12|With CB
13| .SetText buf2
14| .PutInClipboard
15|End With
16|’マクロ登録
17| rc = Shell(“notepad.exe C:\TcpLinktest.mac”, vbNormalFocus)
18| If rc <> 0 Then
19| Application.SendKeys “%EA”, True
20| Application.SendKeys “%EP”, True
21| Application.SendKeys “%FS”, True
22| Application.SendKeys “%FX”, True
23| Else
24| MsgBox “起動に失敗しました”
25| End If
26|
27|MsgBox “tcplinkマクロを起動します”
28|’マクロ実行
29| With CreateObject(“Wscript.Shell”)
30| .Run “C:\TcpLinktest.mac”, 5
31| End With

上のvbaを実行すると、c:\TcpLinktest.macに以下のテキストが作成されます
01|;コメント1
02|;コメント2
03|change session TCP3270-Ses01
04|message “データセット名 EXCELのA1セルの内容 で実行します。よろしければOKして下さい”
05|UNTIL STRING (01,4) “待ちメッセージ”
06|message “後続処理を実行します。よろしければOKして下さい”

マクロの処理内容ですが、、
03行目でTCP3270-Ses01のセッション画面に切り替える
04行目でメッセージを出力し、OKがクリックされるまで待ち状態となる
05行目で画面の1行目4桁目に”待ちメッセージ”が出るのを待つ
06行目でメッセージを出力し、OKがクリックされるまで待ち状態となる

です。01,02行目はコメント欄です

vbaとTcpLinktest.macのテキストを比較すると、違いが見えてきて今後の参考になるかと、思います。

いくつかポイントを、、

(01)・・・EXCELのセルの内容を取り込む

08| buf2 = buf2 & “message “”データセット名”” & ActiveSheet.Range(“A1”).Value & “”で実行します。よろしければOKして下さい””” & vbNewLine

ActiveSheet.Range(“A1”).Value
→この命令で、vbaを実行した時に画面に表示しているシート(アクティブシート)のA1セル(一番左上)の値を代入します。
A1セルにSYS1.PARMLIBを入れておくと、TcpLinktest.macの4行目は以下のようになります

04|message “データセット名SYS1.PARMLIBで実行します。よろしければOKして下さい”
となります。ダブルクォーテーションの数に注意してください

(02)・・・vba内で作成したテキストをTcpLinktest.macとして書き出す(外部起動)

外部起動する際に重宝するのがクリップボードです。
クリップボードと外部起動の機能を使って、他のアプリケーションを起動。クリップボードの内容を移します
16|’マクロ登録
17| rc = Shell(“notepad.exe C:\TcpLinktest.mac”, vbNormalFocus)
18| If rc <> 0 Then
19| Application.SendKeys “%EA”, True
20| Application.SendKeys “%EP”, True
21| Application.SendKeys “%FS”, True
22| Application.SendKeys “%FX”, True
23| Else
24| MsgBox “起動に失敗しました”
25| End If
26|

ここでのポイントは以下4行です
19| Application.SendKeys “%EA”, True
20| Application.SendKeys “%EP”, True
21| Application.SendKeys “%FS”, True
22| Application.SendKeys “%FX”, True
notepad.exe(メモ帳)を起動したあと、クリップボードの中をメモ帳に書き出すのですが、19行目から22行目で以下の事を行います。

上の%Eとか%Fの”%”はALTボタンを意味しています
ALT+E→A・・・全てを選択
ALT+E→P・・・貼り付け
ALT+F→S・・・上書き保存
ALT+F→X・・・メモ帳の終了

常に新しいファイルにクリップボードの内容を書き出すのであれば、貼り付け→保存で問題ないですが、同じファイルを繰り返し用いる場合、すでに書かれている内容を”全て書き換える”必要があるため、貼り付けの前に全てを選択を入れています


次回は、書き出したマクロの実行です
Filed in Tcplinkマクロ活用(拡張編)

現代の「メインフレームコンピュータ」を支えるエミュレータ(2)「磁気ディスク装置」

By 岡田 - Last updated: 土曜日, 8月 13, 2016
第二回目は「磁気ディスク装置」のエミュレータについて説明します

メインフレームコンピュータシステムにおける「磁気ディスク装置」の位置づけ

ストレージ三階層
上の図はコンピュータシステムによく用いられる「記憶装置の三階層」にメインフレームの記憶装置を当てはめたものです。
一番上の階層(第一階層)は記憶容量が少ない反面高速で処理できます。(マイクロ秒オーダー)主に、CPU(MPU)のメインメモリとして使われます

逆に一番下の階層(第三階層)は可搬媒体としての位置づけのため、保管場所がある限り記憶容量が無限大になります。但し、記録されたデータを取り出す済、(駆動装置へのマウント操作等)時間を要します。
また、第三階層の特徴としては記録しているデータを保持する済、電力を消費しないため、重要データの最終バックアップとして今も使われています。
第三階層の記録媒体は”磁気テープ”が現在の主流ですが、昔は磁気ディスク内の円盤を直接取り出して保管できるもの(IBM3330、日立のH-8589-11″通称イレブンパック”)などもありました

磁気ディスク装置は中央、第二階層(補助記憶装置)の下に当たります。(半導体記憶装置(SSU)の説明は割愛します)
磁気ディスク装置の特徴は性能自体第一階層に劣る(ミリ秒オーダー)ものの、日々のコンピュータシステムを支える重要な記憶装置です。


磁気ディスクエミュレータが必要となる背景・・・”トラックサイズの変更”と”データ移行”の戦い

私が始めて日立のエンジニアとしてメインフレームコンピュータシステムの運用に関わった済、担当したコンピュータシステムは3380互換のH-8598(トラックサイズ47968byte)でした。途中、同じ3380互換のH-6586-Kへの移行を済ませ、3年後に3390互換(完全互換ではありません)のH-6587と関わりました。H-6586-Kに比べて設置面積辺りの記憶容量が2倍、消費電力が1/2という特徴でしたが、問題はトラックサイズが58786byteとなった事です。「ディスク装置の特性」参照
顧客がH-6587への切替を決定した結果、DISK交換に伴うデータ移行作業が必要となりました

データ移行といってもH-8598からH-6586-Kの移行の際に実施したボリューム単位(トラック単位)でのバックアップ・リストアは出来ません。1トラックあたりの容量が変っているため、データ移行専用のソフトウェアを使ってレコード単位でのバックアップ・リストアが必要となりました。
3390ベースのOS生成、新DISKの容量計算等の準備に1年、データ移行に(ハード作業含め)丸3日は要したと記憶しています
(移行対象ディスクはH-6586-Kボリュームで200弱だったと思います)
当時、VOS3にはDMFVSSが無かったため、DMF/DSMとJSFMOVE(IEHMOVE)を使い移行しました。

トラックサイズが変ると、データ移行という大きなリスクを背負う事になるという経験をここで得ました


SLEDディスクの終焉とRAID(磁気ディスクエミュレータ)の登場

SLEDディスクを使う時代に終止符が打たれました。ディスク障害が発生すると、最悪の場合コンピュータシステムが完全に停止してしまうリスクをSLEDディスは持っていたためです。BCP(事業継続計画)に重点を置いているサイトではもうSLEDディスクは論外と思います。
私が初めて磁気ディスクエミュレータに触れたのは日立のRAIDディスク「SANRIZE」(以下、”サンライズ”と略します)シリーズでした。
“サンライズ”には物理的に3.5インチのHDDをRAID0やRAID5などのRAID種別に応じて搭載させ、「設定指示書」にてホスト側に認識させるエミュレーション情報を決定します。

設定指示書で与える内容は、、
・RAID種別(RAID1,RAID5など)
・DISK装置タイプ(8598、6586-K、6587,6588など)
・ボリュームのデバイスアドレス(DEVA)
・キャッシュ容量 などです

ここで、DISK装置タイプを8598(3380相当)や6588(3390相当)など、サイトの要望に応じ(物理HDD数の範囲内で)設定が可能になりました。
ディスク装置の交換(トラックサイズの変更)に伴うデータ移行の戦いは、過去の遺物となりました


次回は磁気テープエミュレータ(仮想テープ)について説明します
Filed in メインフレーム・ハードウェア

割り振り済みデータセットの一覧リストを表示する

By 神居 - Last updated: 金曜日, 8月 12, 2016

割り振り済みデータセットの一覧リストを表示する

ISPFセッションでは、要求された処理を行うためとISPFセッション自体の制御のためにさまざまなデータセットが割り振られます。DDLISTコマンド(ISRDDNユーティリティー)によって、どのようなデータセットが自分のTSOユーザー空間内で割り振られているかをパネル表示で確認することができます。
割り振り済みデータセットはTSOのLISTALCコマンドでもリスト表示することができますが、DDLISTコマンドの方がはるかに見やすくてわかりやすい表示がされます。
ISRDDNユーティリティーは、ユーザー空間内で割り振られているファイル(データセット)をリスト形式で表示し、それらのデータセットに対する各種の処理(表示、編集、圧縮、解放、メンバーの探索など)、自分が保持しているENQと競合しているENQの表示、アドレスで指定した仮想記憶域やロードされたロード・モジュールの表示、などを行う診断ユーティリティーです。


DDLISTコマンド(ISRDDNユーティリティーの起動)

任意のパネルのコマンド・フィールドで「DDLIST」と入力すればISRDDNユーティリティーが起動します。




ISRDDNユーティリティーを使いこなすには、MVSのオペレーティング・システムに対する知識が必要です。一般のユーザーが日常の作業で使う必要はありませんが、このようなものがあるということは知っておくといいでしょう。ISRDDNユーティリティーの詳細は、マニュアル「対話式システム生産性向上機能(ISPF)ユーザーズ・ガイド第1巻」の「付録G. ISRDDN 診断ユーティリティー」に解説されています。

Filed in 書籍TSO/ISPF逆引きリファレンス・番外編

10.EXCEL(vba)からTcplinkマクロを制御する

By 岡田 - Last updated: 水曜日, 8月 10, 2016

(拡張編)の開始にあたり

2016年4月末から6月初めにかけてご説明しました「Tcplinkマクロ活用」にて、端末エミュレータ”Tcplink STANDARD”を用いてTSO(TSS)作業の効率を上げるためのTcplinkマクロの利用方法についてご説明しました。
同時にTcplinkマクロにはマクロ内で四則演算が出来なかったり、クリップボードの中を直接判定できなかったりと言った制約があることもご説明しました。

Tcplinkマクロの中で出来ないことを他のアプリで補い、作業者が実際に実施したいことを一連の流れとして処理させる事が拡張編の目的です

EXCELは日本で働くビジネスマンにとって必須のアプリと思っています。
職場には多くの資料があり、その多くの資料がEXCELで管理されていると言っても過言ではないと思います。
長年ビジネスマンとして働き、職場を転々としましたがWORDを使わなかった時期はあったものの、EXCELを使わなかった時期はありませんでした

拡張編の流れは以下の予定です
・EXCELデータから必要な情報を抽出し、Tcplinkマクロを生成する。
・生成したTcplinkマクロをEXCEL(vba)から直接起動する。
・Tcplinkマクロで処理した結果を再びPCに持ってきて後処理する。


注意事項

なお、EXCEL(vba)の詳細の使い方については説明を割愛します。インターネットで検索すれば、EXCEL(vba)についての情報が山のようにありますので、各自で必要な情報を取得・活用して下さい



Filed in Tcplinkマクロ活用(拡張編)

現代の「メインフレームコンピュータ」を支えるエミュレータ(1)「資源論理分割」

By 岡田 - Last updated: 土曜日, 8月 6, 2016
メインフレームコンピュータが生活を支えるようになってから長い時間が経ちました。
それと同時にハードウェアの進化が進んでいます。

CPU,DISK,コンソール装置,磁気テープなどなど

ハードウェアの進化にソフトウェア環境(OS,アプリケーション、業務プログラム)への影響を極力与えないようにするため、数々のエミュレータが現在のメインフレームコンピュータシステムを支えています

ソフトウェア環境に極力影響を与えない理由は「切替のしやすさ」と「切替作業量の削減」です
新しいハードウェアが発売されても、切替に(ソフトウェア環境の変更のため)多くの時間と労力が必要であれば、その時間と費用も考慮して費用対効果を考えなければなりません
しかし、エミュレータを使う事で、ソフトウェア環境への影響を極小化する事ができます

今回から、数回に渡り「メインフレームコンピュータを支えるエミュレータ」を説明していきます

第1回目はCPUのエミュレータ「資源論理分割」です

「資源論理分割」とは

1990年代に開発された資源論理分割(PR/SM、PRMF)は一つの物理コンピュータシステムで同時に稼動できるOSの数を
増やせる機能です
資源論理分割図

資源論理分割が出来る前までは、図中の上の物理コンピュータシステムで同時に稼動できるOSは一つだけでした
CPUに「資源論理分割機構」(日立での名称)なるハード装置と「PRMFゼネレーション」(日立での名称)を行う事により、一つの物理コンピュータシステム上で複数のOS(ゲストOS)が同時稼動する事が可能になります(LPAR1,LPAR2,LPAR3)

「資源論理分割機構」がハイパバイザの役目を果たします。

資源論理分割のメリット

資源論理分割を導入する事で、以下のメリットが考えられます
・コンピュータ設備の設置スペース削減・・・CPUの設置スペースが区画の数に比例して削減する事が可能になります
・費用・・・コンピュータシステムがメーカーからのレンタル契約で使用している場合、CPUの削減に応じて費用が減ると同時に、(日立の場合)ソフトウェアのレンタル料も削減する効果があります。
・システムの集約による運用コスト削減・・・資源論理分割を導入する事で、今まで異なる場所で運用していたコンピュータシステムを一箇所に集約できるようになります。この場合、運用コストが削減できます。コンピュータシステムを集約する際、一時的にデータ移行や設備の移設等作業費用は増えますが、、


資源論理分割を導入する際に行う事

資源論理分割を導入する際、重要になってくるのが物理コンピュータが持っている資源(下記参照)をどのLPARに与えるか、与える方法(占有、共有)を検討する事です。検討した結果をPRMFゼネレーションという形でハイパバイザに認識させます
・CPUが持つ資源(CPUのサービス比率、メインメモリの容量)
・周辺機器資源(磁気ディスク、コンソール、磁気テープなど)

ハイパバイザの管理下で稼動するゲストOSにはそれぞれLPAR番号というユニークな番号をを決める必要があります。
日立の場合、1から15までの数字です(4ビット管理。0は物理コンピュータ自身を意味しているため、使えません)

各ゲストOSには個別に「入出力ゼネレーション」を行いますが、そのゼネレーションパラメタはPRMFゼネレーションパラメタと装置アドレス・チャネルパス情報等が一致している必要があります。
一致していないとゲストOSからのハード指示に対して、受け取ったハイパバイザが管理しているパラメタ(PRMFゼネレーションパラメタ)と違うため、動作できません。
システム更改などの作業の際、物理コンピュータシステムに変更があった場合、最初にPRMFゼネレーションパラメタを作成し、各ゲストOSの入出力ゼネレーションパラメタを作成していく方法を取ります。

今までスタンドアロンコンピュータシステムとして稼動していたコンピュータシステムが資源論理分割の配下で稼動するには、LPAR番号を決める事とPRMFゼネレーションパラメタに合った入出力ゼネレーションが最低限必要なのです


次回以降で説明しますが、「磁気テープ」エミュレータ(仮想テープ)でゲストOSに認識させるための磁気テープ装置・磁気テープライブラリ装置はダミー定義のため、PRMFゼネレーションパラメタに存在する必要はありません


資源論理分割の弱点

これは日立でシステム管理をしていた時の記憶なのですが、物理コンピュータを丸ごと停止させるコマンドがあります。このコマンドをメインコンソールから投入すると、現在稼動している全てのゲストOSを停止させてしまうので、誤作動させるととても厄介なコマンドです。

コマンドが何であったかは忘れましたが、当該コマンドはハイパバイザが障害となった際、空間ダンプを取得するために必要な操作であるため、現在も残っていると思います。
各サイトごとに誤作動対策はしていると思いますが、、

次回は「磁気ディスク装置」のエミュレーションについて取り上げます
Filed in メインフレーム・ハードウェア

英語パネルの文字化けを解消する(英小文字を英大文字で表示する)

By 神居 - Last updated: 木曜日, 8月 4, 2016

英語パネルの文字化けを解消する(英小文字を英大文字で表示する)

z/OSを使用する日本国内の多くの企業では日本語3270エミュレーターを使い、ISPFでは日本語パネルを表示させています。日本語3270エミュレーターでは、カタカナを基本にしたコード・ページが使われることが多いので、あえて英語のパネルでISPFを利用する場合 、英語パネルを表示させると英小文字がカタカナ文字で表示され、意味不明なテキストに化けてしまいます。英語パネルでは、メニュー・ガイダンスは英文テキストなので英小文字が主体の文章となっているからです。このような場合は、英語パネルの英小文字を英大文字に変換すれば文字化けを解消することができます。

パネルの英語テキストを英大文字に変換するには、設定ユーティリティー(オプション番号0)で、「Terminal Type」を3.の3278ではなく8.の3278KNに設定します。

変換の対象になるのは、パネル内の固定テキストやエラーメッセージです。なお、英語パネルであってもデータセット内のレコードに含まれている日本語文字はエミュレーターが日本語に対応していれば正しく表示、編集することができます。


*1 日本語パネルを使うか英語パネルを使うかは、ISPFの起動用CLISTに定義されたパネル・ライブラリーの連結順序で決まるため、一般ユーザーの場合は個人レベルでのカスタマイズは難しい。センターによっては英文パネル用のISPF起動CLISTを用意しているところもあるので、システム管理者などに問い合わせてみるとよい。

Filed in 書籍TSO/ISPF逆引きリファレンス・番外編

現在の画面に状況表示ダイアログボックスを表示する

By 神居 - Last updated: 水曜日, 8月 3, 2016

現在の画面に状況表示ダイアログボックスを表示する

ISPF使用中、SAREAコマンドによって現在のパネル上に、POMパネル(最初のメニュー画面)の動的状況域に表示される内容をダイアログ・ボックスで表示することができます。
標準ではセッション状況が表示されますが、ダイアログ・ボックスの上部にあるアクション・バーの「状況(Status)」プルダウン・メニューから他の表示内容に変更することもできます。選択できる表示内容には、ファンクション・キー設定の要約(*1)、カレンダー、ユーザー独自の情報などがあります。

	SAREA

*1 使用するPFキーの数やキー・リストの種別などであって、PFキーに登録したコマンドの内容ではない。





SAREAによるポップアップ・ウインドウではなく、POM(基本オプション・メニュー)パネルの動的状況域の表示内容を変更するには、POMパネルのアクション・バーの「状況(Status)」プルダウン・メニューから変更したい表示内容を選択します。



Filed in 書籍TSO/ISPF逆引きリファレンス・番外編

画面の色設定などのカラー定義を変更する

By 神居 - Last updated: 水曜日, 8月 3, 2016

画面の色設定などのカラー定義を変更する

画面パネルの色や強調表示に関する設定は、個人単位に変更することができます。COLORまたはPSCOLORコマンドを実行することで、変更内容を入力するダイアログ・ボックスが表示されます。変更した内容はプロファイルに保存されます。

	COLOR
	PSCOLOR

COLORコマンドは、ISPFパネルを表示する際の色の設定を変更します。ISPFではフィールドの種類やテキストの内容に応じたカラー設定が行われますが、標準色に対して代替の色を設定することもできます。例えば、赤色が暗くて見にくいのであれば、より目立つ白色に変えることができます。この場合、パネル上で赤色に設定されたフィールドやテキストは、白色にて表示されることになります。
PSCOLORコマンドは、パネルを構成する要素に対しての色や強調表示の設定を変更します。例えば、エラー・メッセージは標準では黄色で表示されますが、より目立つ赤色の反転表示などに変えることができます。




画面のカラー設定の調整は、エミュレーター側の機能でも行うことができますが、エミュレーター側での調整だとTSO以外のIMSやCICSなどオンライン画面のすべてに対して変更されてしまいます。複数のカラー設定をセッション・プロファイルなどによって使い分けるような工夫もできますが、ISPF側にも画面カラーの設定機能があることは知っておいてもいいでしょう。


Filed in 書籍TSO/ISPF逆引きリファレンス・番外編

ヘルプとチュートリアルを表示する

By 神居 - Last updated: 火曜日, 8月 2, 2016

ヘルプとチュートリアルを表示する

ISPFには豊富なヘルプやチュートリアルが用意されています。マニュアルを開く前に、ヘルプやチュートリアルを参照してみてもいいでしょう。マニュアルほど詳細でなくても、実践には十分な内容が解説されているものも多いです。


HELPコマンド、TUTORコマンド(ヘルプ、チュートリアルを表示する)

	HELP
	TUTOR	[panelid]

HELPコマンドは、現在実行中のISPFダイアログ・プログラムの操作方法、表示されているパネルのフィールド説明、エラー・メッセージに対する追加の説明などを表示します。通常、このコマンドはPFキーに登録します(*1)。
ISPFでは、操作中に何らかのエラーが起きるとショート・メッセージ表示域にエラー・メッセージが表示されますが、その名の通りショート・メッセージなので、何が起きたのか、どうすればいいのか、がよくわからないかも知れません。そのような場合はエラー・メッセージが表示されている状態でPF1キーを押せば、ショート・メッセージに対する追加の解説をポップアップ・ウインドウで表示させることができます。

*1 標準ではPF1キーに登録されている。




TUTORコマンドは、ISPFのチュートリアル・パネルを表示します。前回のチュートリアル表示を途中で終えた場合、チュートリアルのパネルIDを指定することで再開したいチュートリアルの続きから見ることができます。パネルIDはPANELIDコマンドで表示させることができます。チュートリアル表示を中断して後日再開するような場合は、終了前にPANELIDコマンドを実行して終了時のパネルIDを控えておくことができます。





画面のパネル名を表示する

PANELIDコマンドは、表示パネルのパネルIDを表示する/しないを切り替えます。「PANELID△ON」を入力するか、パネルIDが非表示の状態でパラメーターなしのPANELIDコマンドを実行すると、画面上部のタイトル左側にパネルIDが表示されるようになります。再度、パラメーターなしのPANELIDコマンドを実行するか「PANELID△OFF」を入力すればパネルIDは表示されなくなります。

	PANELID	[ON|OFF]

通常はパネルIDを表示する必要はありませんが、TUTORコマンドでISPFチュートリアルを表示中に、途中で止めて後日再開するような場合は中断時のパネルIDが必要となります。また、ユーザー独自のダイアログ・プログラムを開発する場合などに、表示されるパネルを確認するために使用されることもあります。
なお、パネルIDはSCRNAMEコマンドで割り当てる論理画面のスクリーン名とは違います。ISPFのダイアログ・プログラムが使用する表示パネルの識別名で、プログラム上必要なものです。具体的な違いは「SWAP△LIST」コマンドでタスク・リストを表示すれば簡単にわかります。予めSCRNAMEコマンドで表示中の画面に適当な名前を付けておくと、よりわかりやすいでしょう。



Filed in 書籍TSO/ISPF逆引きリファレンス・番外編

区分データセットのメンバー統計を修正する

By 神居 - Last updated: 月曜日, 8月 1, 2016

区分データセットのメンバー統計を修正する


ISPFエディターで作成・編集した区分データセットのメンバーには、最後にメンバーを更新した日付けやユーザーのID、修正履歴を示すバージョン番号、修正レベル番号などが記録されます。これらのメンバー統計データの一部はDSLISTユーティリティーのデータセット・リスト・パネルからRSコマンドを入力することによって内容を書き換えることができます。




メンバーリスト・パネルが表示されたら、メンバー統計を修正するメンバーを行コマンドSで選択します。複数のメンバーを選択できます。同じ画面内に修正したいメンバーが見つからない場合は、PF7/PF8キーでスクロールするか、FINDコマンドなどで目的のメンバーを検索します。メンバーを選択し終えたら実行キーを押せば、続けて修正後のメンバー統計の内容入力するダイアログ・ボックスが表示されます。




このダイアログ・ボックスで修正できる統計項目は、ユーザーID(最終更新者)およびバージョン番号と修正レベルの3項目(*1)です。もしくはメンバー統計の削除です。ただし、メンバー統計を削除してもその後にそのメンバーをISPFエディターで編集すると、改めてメンバー統計が書き出されてしまいます。そのメンバーに統計自体を付けないようにするには、メンバーを編集で開き、エディターの基本コマンド「STATS△OFF」を使用します(*2)。
オプションに、リセット(内容の修正)または削除を番号で指定し、リセットの場合は修正後の項目内容を指定して実行キーを押します。PF3あるいはPF12キーを押せば、リセット処理は取り消されメンバー・リスト・パネルに戻ります。

複数のメンバーを選択した場合は、最初のメンバーの処理時にダイアログ・ボックスが表示され、残りのメンバーも同じ内容に修正されます。それぞれのメンバーを異なる内容で修正したい場合は、メンバーを選択する際にPROMPTフィールドに「/」記号を入力します(*3)。直前のメンバーと同じ内容でもよいメンバーはPROMPTフィールドに「/」記号を入力する必要ありません。




なお、メンバー統計の修正(リセット)は、データセット・リストでの行コマンドRS以外にも、編集やビュー、ブラウズなどのメンバー・リストでメンバーに対する行コマンドGでも行うことができます。また、メンバー編集中にエディターの基本コマンドLEVELやVERSIONを使用することもできます(*4)。
修正後のメンバー統計項目のデータは、再表示されたメンバー・リスト・パネルで確認できます。修正した項目がパネルに表示されていない場合は、PF10またはPF11キーを押してリストの表示項目を左右にスクロールします。


メンバー統計データの修正は、主に開発プロジェクトやシステム運用の管理者などが、プログラムや運用JCLなどの最終テストが終わって業務運用に移行する際などにプログラムやJCLなどのソース・メンバーのバージョンや修正番号などを「01.00」のようにリセットしておく、と言った目的で利用することができます。一般の利用者が使用することはほとんどないでしょうが、そういう機能もあるということは知っておいて損はありません。




*1 ISPF統計リセット・ユーティリティー(オプション番号3.5)を使用すれば、日付/時刻、行数などもリセットすることができる。
*2 STATSコマンドの詳細は、この章の「データセットとメンバーの編集」の「メンバー統計データを付けないようにする」を参照。
*3 複数メンバーを効率良く処理できるよう最初のメンバーにしか統計データの修正内容を入力するダイアログ・ボックスは表示されない。ただし、PROMPTフィールドに「/」記号が指定されているメンバーには処理内容を入力するダイアログ・ボックスが表示される。これは覚えておくと便利である。
*4 LEVEL、VERSIONコマンドの詳細は、マニュアルやヘルプ画面などを参照。

Filed in 書籍TSO/ISPF逆引きリファレンス・番外編

「定年」から「棺おけ」までの時間を有意義に過ごすための”種まき”

By 岡田 - Last updated: 土曜日, 7月 30, 2016
今月、昔勤めていた会社(コンピュータ業界の人ではありません)の先輩が65歳のため定年退職する事が判りました。
自分が同じ立場にたったときを想像したら、今後どのようにすごしていくか、とても不安になりました。

ここのところ「昭和」の時代を明るくするために尽力してくださった方々の訃報が続いた事もあり、本件について考える必要性を感じました

第二の人生は平均15年から20年

先日、厚生労働省が日本人の平均寿命を発表しました

女性が86.8歳、男性が80.5歳 です。

65歳定年を考えると、いわゆる「第二の人生」として15年から20年を何らかの形で生活していかなかればならないです

第二の人生で「社会とのつながり」を保つための2つの事

第二の人生で最も重要なのが「社会とのつながり」をどう維持するかだと言われています

冒頭でお話した先輩ですが、一人暮らし(離婚歴あり)自宅で愛犬とすごしていて、町内会の少年達が野球やお祭りをするとき、支援をしていると聞いています

人は「労働」という作業を行うことで「社会とのつながり」を自然と持たされてきました
私も自分を「歯車の1ピース」と思いながら仕事をした時期もありました

でも、サラリーマンには「定年」という文字が待ち構えています

メインフレームコンピュータの仕事に関わる私を含めた多くの労働者は、定年を迎えたらメインフレームに「別れ」をしなければならないと思います。
定年後、同じ職場に残れるか否かは「定年時」にならないと判らないですが、残られたとしても賃金が少なくなったり、いろいろ制約が生まれ、継続してモチベーションを保てるか判りません。

そして認識しておきたいのは「メインフレームコンピュータに関わる仕事」は”大都市圏の専門職”です。私の故郷には「メインフレームコンピュータ」がありませんし、求人も無いので、、

メインフレームコンピュータに関わり、多くの知識と経験を定年後も使い続けるのは難しく、第二の人生を迎えた時の自分を想像しながら、”種まき”をしなければならないと考えます

もう1つ大事なことは「労働者」としての健康体を維持している事です。
コンピュータの仕事は「目」と「脳」を酷使する仕事です。
定年年齢を70歳まで引き上げる会社も出ているようですが、高年齢になったとき、「目」と「脳」は健康であり続ける事が必要と思います。

”種まき”は自分で、、

定年後、棺おけに行くまでの数十年もの間、社会とのつながりを維持するための”種まき”を若い間から行う事が必要な時代になりました
こんな事、会社で教えてくれないと思うのです。
定年を過ぎたら会社は無関係になりますし、日本人の寿命が急速に伸びたことで、そのようなことを教える必要がある事を社会自体がしてこなかった。未経験だからです。教える側が未経験なので、教えようにも自身がないのでは、、と

未来は誰だって(何らかの理由によって)不安なので、事前の準備をしておきたいです。”定年後”であっても然りです。

私が考えている「社会とのつながり」としての仕事は、「衣料」「食料」「住居」(衣食住)の仕事に関わるための能力を身に着けておく事です

今後も必須と思われる能力

その中、一つ着目しているのが「パソコンが出来る能力」です。
スマートフォン、タブレットの普及で「パソコン」が操作できない若年層が増えているそうです。

コンピュータシステム自体、これからの若年層の操作慣れを考えると入力媒体をパソコンからスマートフォン・タブレットにシフトしていきたいというのが利用者側の思惑としてあります。
しかし、企業側にすれば何らかの設備投資が必要になりますし、最も懸念するのがコンピュータシステムを提供している人たちでしょう。
そう簡単に入力媒体のシフトが進まないというのが私の考えです。 本件、詳細は割愛します

コンピュータに関わる仕事をする上で「パソコン操作」は今後も必須である状態が続きます。高年齢でも「パソコン熟練者」であれば「社会とのつながり」を維持できる一つの方法になるかもしれません

また、小学校で「プログラミング教育」について議論されています。今後注視していきたいです
Filed in つぶやき・雑感

コンピュータシステムの消火設備と設備管理者へのお願い

By 岡田 - Last updated: 水曜日, 7月 20, 2016
ここ数日、関東地方は地震が多いです。
コンピュータシステムの災害対策。特に消火設備について書きたいと思います

コンピュータシステムの消火設備

はじめに、、俗に言う「防災設備」は大きく3つに分類されます
・消火設備・・・火が出たとき、火を消火する設備(消火器具、スプリンクラー設備、ハロゲン化物消火設備など)
・通報設備・・・火が出たことを、建物内の(防災センター等にある)受信機や建物内の人たちに非常ベル等で災害の発生を内外に知らせる設備
   (自動火災報知設備、消防機関へ通報する火災報知設備など)
・避難誘導設備・・・火が出たとき、建物内に居る人を避難誘導する設備(誘導灯、非常放送器具及び設備、避難器具など)


通報設備、避難誘導設備についてはコンピュータシステムでも他の箇所と違いはありませんので、ここからは
コンピュータシステムとして考慮すべき「消火設備」に特化して話を進めます

コンピュータシステムとして運用されている箇所には、なんらかの消火設備があります。
初期消火用として「消火器具」があり、広範囲の消火には「ハロゲン化物消火設備」などを設置します
この消火器具やハロゲン化物消火設備に注意が必要です

<消火器具>

コンピュータは電子機器の集合体です。水(導体)が大敵です。
水は電気を通す”導体(どうたい)”のため、コンピュータ基盤の中に水が入ったら、基盤回路の中で電気ショートをおこし、
基盤が損傷するからです。防水仕様のスマートフォンが増えているのはそういう理由です。

そのため、強化液(蓄圧)消火器具の使用は注意したいです。消火の際、コンピュータ設備が消火液で濡れたら後の運用に影響が懸念されます。
メーカーによってはコンピュータ設備でも使える「潤滑剤入り水消火器」を発売しているようですが、水=導体というイメージがある私は少し怖いです

また、粉末(加圧・蓄圧)消火器具にも注意が必要です。
火に対して細かい”粉”を大量に噴射して消火する器具ですが、この粉末がコンピュータを冷却するために設置されている空調設備に影響を与える可能性があるからです。
空調設備内のフィルターに大量の粉が付着するとフィルターの機能が低下し、空調機能が低下します。

上記の事を懸念されている箇所では「二酸化炭素消火器」を設置していることが多いようです。
二酸化炭素を噴射して、燃焼する元となる「酸素」濃度を一時的に低下させて火を消すものです


<ハロゲン化物消火設備>

大規模なコンピュータ設備を設置している箇所では、消火器具で記載したのと同様「スプリンクラー消火設備」「水噴霧消火設備」などではなく「ハロゲン化物消火設備」を設置されているようです。

ハロゲン化物・・・設備内を防火扉で密閉状態にし、ハロンや代替フロン(HFC)等を主体とするガスを放出、設備内の酸素濃度を低下させて広範囲の火を消します

ここで問題になるのが、ガスを放出する場合、設備内の人は避難しなければならないという事です。
広範囲にガスを放出するので、人間も息が出来なくなる可能性が高くなるため、多くの「ハロゲン化物消火設備」では設備内の人が避難するための時間として「遅延時間」が設定されています。
”遅延時間”は設備の大きさによって異なります。数十秒といったオーダーです。
ハロゲン化物消火設備の起動ボタンを押したあと、設備内には大音量で「火災発生、ガスが放出されます、危険ですから外に避難してください」という旨のメッセージが流れ続けます。そして遅延時間経過後ガスが設備内に放出されるというものです

コンピュータシステムに「ハロゲン化物消化設備」が用いられている場合、設備に以下の標識があります。ご確認下さい
ハロン標識

ハロゲン化物消火設備が設置されているコンピュータシステムに常勤者がいれば、それは消防上NGです。
上記の理由から「ハロゲン化物消火設備」を設置する箇所には人が常勤していない場所であることが求められるからです。
消防署の査察や定期的に提出が義務付けられている”消防設備点検結果報告書”を消防署に提出時に指摘を受ける可能性があります。

他に「ハロゲン化物消火設備」を設置する場所としては「(屋内型)機械式立体駐車場」などが挙げられます


設備管理者へのお願い

ここからは、コンピュータ設備などを管理されている設備管理されている方々へのお願い事項です

これは、先日私が勤務している職場での出来事です。

勤務中地震が発生しました。
その後の館内アナウンスに疑問を感じました。

アナウンスの内容です。
「こちらは防災センターです。ただいま地震が発生しました。建物の震度はnです。震源地はXXXです。」

防災センターとしての役目は建物内の状況を館内の人に知らせることです。
館内で働いている人は、携帯電話・スマートフォン・パソコンを使って外の情報は直ぐに入手します。
でも、館内の情報はかんたんに得ることはできません。
エレベータが稼働しているのか?電気・水・給湯・ガス等のライフラインは?揺れで避難階段前の防火戸ラッチが(誤動作をおこして)閉じていないか?

こういった情報を防災センターは直ぐに確認してアナウンスで知らせる義務があると思っています。

建物は中で働く人にとって一つのコミュニティー(町)なのです。
防災センターはコミュニティー(町)の警察署・消防署と思っていただきたいのです
防災センターに警備員として詰めておられる方々もいらっしゃるかと思いますが、警備員は私たち建物内で働く人たちの「毎日の暮らし」を支えていると考えると、大事な仕事と思います。

関係者の皆様、よろしくお願いします
Filed in メインフレーム・ハードウェア

人間の”毎日の暮らし”を支える「メインフレームコンピュータ」

By 岡田 - Last updated: 土曜日, 7月 16, 2016
今日、とてもこのタイトルの記事を書きたくなった出来事がありました

あるテレビドラマでのせりふです
「毎日の暮らしを犠牲にするものは何も無かった。毎日の暮らしこそ守るべきものであった。たとえ戦争があったとしても」・・
穴が開いたフライパンを見つめながら、、


この”毎日の暮らし”という言葉に私がずっと関わってきたメインフレームコンピュータとが結びついたと、、

メインフレームコンピュータは人間の暮らしを支えるための仕事をしています。
少なくとも私が関わったコンピュータシステムたちは、、
電力会社、通信会社、自治体(市役所)、学術(大学、予備校)、銀行、保険

私が主に関わったメインフレームコンピュータシステムは月に億単位のお金がかかっていました。
コンピュータ設備のレンタル料、電気料、通信料、運用に関わる人件費 などなど

億単位のお金を支払い続けるだけの仕事(業務)でなければ、メインフレームコンピュータを稼働させることができません
逆にコンピュータシステムには高いお金を掛けている分だけの結果が求められます

私はコンピュータシステムに関わっている人間として、これからも日々の暮らしの支えになっていることを心のよりどころとして
今まで以上に仕事に向き合います

ISPF(ASPEN)の画面に出てくる一つ一つの英数字の結果が、人々の暮らしの支えになっているのです


先日、ある方から教えていただきました。
その方はWEBの仕事をされていた方でしたが、メインフレームに関わる仕事がしたいとこの業界に飛び込んできました。
WEBの仕事は一人で完結できる事も可能だったとの事、メインフレームの仕事ならば多くの人と関りあって作業できると、、

メインフレームコンピュータはシステム規模が大きいため、一人で仕事をする事はできません。
業務によっては印刷物をお客様に郵送するために、毎日葉書を圧着しては郵便局に送る仕事をされている方もおられます
これらの仕事に従事されている方々はメインフレームに触れることはありません。
しかし、これらの方々があってこそのメインフレームコンピュータシステムである事を忘れないようにしたいです
Filed in つぶやき・雑感

「業務と関数精度」問題、「業務とrandom関数」問題 昔、あった本当の話。

By 岡田 - Last updated: 金曜日, 7月 8, 2016
もう、20年以上前の話です。

顧客で稼動していた業務で関数精度とrandom関数について対応した事を思い出しました

業務と関数精度問題

本件は先日書いた「GWX問題」で思い出しました。

私が担当していた、コンピュータシステム(計画技術計算システム)で発生した問題です。

VOS3のFORTRAN言語「OFORT77 E2」のバージョンアップで関数精度が向上されました。
(具体的なバージョンまでは忘れましたが、、)

しかし、これが担当顧客に指摘をされたのです。FORTRANのバージョンアップによって関数精度が向上された結果、計算結果が大きく変ってしまったと、、

顧客曰く、計算結果が大きく変ると、対応方法が今までと違う形となるため、困るのだそうです
(具体的な話は教えていただけませんでしたが、プリンタ用紙には計算結果と思われる数字(小数点第12位)がずらりと並んでいた記憶があります

FORTRANの開発部署は良かれと思って実行したことが、担当顧客には伝わらない結果となったのです。

開発部署を顧客先に呼び、顧客と自分たちを含めた会議が続きました。

結論として、今後OFORT77 E2を関数精度向上直前のバージョン(旧バージョン)と、関数精度向上後のバージョン(新バージョン)の2つのバージョンを同じコンピュータシステムで共存させていくという「2バージョン管理」になりました

実行時ライブラリ、コンパイル・リンケージ等のカタログドプロシジャ等ほぼ全てのデータセット・メンバを分けて管理する事になり、以後のOSバージョンアップ時にかかる労力が2倍に、SUT(PTF)も2つのバージョンについて調査・管理が必要となりました。管理側だった私たちは、異なる製品を管理している感覚に陥りました。

業務とrandom関数問題

私と同じ部署のメンバーが主担当だった顧客で発生した問題です
こちらの顧客は上記と異なり異業種ですが、業務とrandom関数という関係がユニークなので書きたいと思います。

始めに、、
random関数は乱数を発生させる関数で、ゲームに欠かせない関数です。
利用者が意図しない「想定外な結果」(プログラムで制御できる範囲で)が必要な時に用います。

当顧客ではあるデータを一覧にする際、公平性を保持するためプログラム内でrandom関数を発生させた結果で並び順を決め、一覧を作成する業務がありました。

ある時、random関数のアルゴリズムが「本当に公平性を持っているのか?」と顧客に問われた事がありました。
言語は「COBOL85」だったと思います

結果として顧客は日立が提供しているCOBOL85のrandom関数が公平性を持っている事を認めてくれました。


私は最初、上記の内容を知った時「random関数」(想定外の事をしたい)と「業務」(プログラム・JCLで記述した想定通りの事を処理したい)という言葉がまったく結びつかなかったので、20年以上経った今でも記憶していました。

当時まだ、random関数を「公平性」という視点から考えることができませんでした。
「random関数=ゲーム」という概念がずっと頭の中に染み付いているためです
コンピュータに関わって長いですが、(ゲームでない)仕事でrandom関数が議論されたのは本件だけです。
Filed in つぶやき・雑感

「GWX問題」に思う。OSのバージョンアップは誰のため?

By 岡田 - Last updated: 火曜日, 7月 5, 2016
私は日立のメーカーSEとしてVOS3のOSバージョンアップに関わってきました
VOS3/ES1から始まり、AS→FS→LS→USと、、

同じシステムに対して(多いときは)年に一回の頻度でバージョンアップを行いました
バージョンアップの目的は、主としてOSの新機能を使いたい場合、新しいコンピュータシステム(ハードウェア)を使いたく、やむを得ずサポートバージョンにアップするなどさまざまです
(時々、OSに近い基本ソフト(統合利用者管理機能:旧名TRUST,RACF)のセキュリティ強化という大仕事もありました


しかしOSバージョンアップで今まで出来ていた仕事(業務)が出来なくなるのでは困ります。事前に業務が動くことを利用者(顧客)側で確証するのがアップの最低条件です

段取りは以下の流れです
1)現行OSから新OSの違いをまとめ、顧客に事前説明・問い合わせに対応。新OSに対する不安を払拭する
2)業務確認が必要なものは事前に別のシステムでテストする
3)本番システムをOSバージョンアップする


問題はコンピュータの中の処理ではなくて、人間との接点(利用者側のインターフェイス)が変わる事だと思います
VOS3ではJCL,TSS(TSO),各種の出力メッセージ,コンソール画面など、、

利用者側のインターフェイスを変えないように、現代のメインフレームコンピュータシステムではさまざまなエミュレーション(擬似)環境が支えています

・CPUのエミュレーション:資源論理分割(PR/SM,PRMF)
・磁気ディスクのエミューレーション:装置タイプ互換機能
・磁気テープのエミュレーション:仮想テープライブラリ(VT、DMFVTLS)
・端末エミュレータ など


私は時々、コンピュータの接点(利用者インターフェイス)を”空港”としてイメージする事があります(家庭のパソコンは国際空港です)
人間がほしい情報を空港で依頼したり、受け取ったり、、
その先にあるのはコンピュータの”ゼロとイチ”の世界です。
人間が欲しい情報をコンピュータが人間の指示に従って、”ゼロとイチ”で組み立てて到着ロビーで利用者に渡すという感覚です。

空港から先、コンピュータがどのような方法でゼロとイチを得るかはコンピュータシステムにお任せです。


どのプラットフォームのオペレーティングシステムにおいても同じことと思います。利用者が人間である限り、、


今の時代、家庭にあるパソコンはインターネットに接続されているのがほぼ標準のためウィルス対策などの水際対策が必要になります。まるで入国管理のようです。
自宅にいながらインターネットを通じて様々な情報を得られるのです。ネットサーフィンという言葉もあながち間違いではありません


OSバージョンアップの際、利用者が新バージョンの確認を出来なかったり、利用者側のインターフェイスが変わったらどう思うでしょうか。利用者の承認が無いOSバージョンアップは正しいことではないと考えます。

新バージョンを作った側の思いが必ずしも利用者には伝わらない。
コンピュータの使い方が人によって違うから
特に、パソコンはPERSONAL COMPUTER(個人のコンピュータ)です。個人の利用なので、千差万別です


空港の受付カウンターや搭乗手続きが利用者に知らされずに変わったらどう思うでしょうか?
実際の空港でも緊急工事等で時々ありますが、その際は必ず「誘導員」や最低でも張り紙がされています

コンピュータシステムに関わる者としてこれからも利用者側の使いやすいシステムを追求していきたいです


最後に、、
上記の事はスマートフォン、タブレットも同じです。
私は水際対策を欠かさないようにしています
また、スマートフォン、タブレットはOSバージョンアップをしてしまうと後戻りできないことが多いので特に注意です
Filed in つぶやき・雑感

NLテープを最近利用されていますか?

By 岡田 - Last updated: 土曜日, 6月 18, 2016
NLテープ・・・LABEL(ラベル)がない(NO LABEL)テープの事です。

通常、磁気テープと言えばSL(STANDARD LABEL)ラベルなどLABELが付いているテープを指します。
メインフレーム環境におけるNLテープとNLテープが持つ特性(特殊性・独自性)についてお伝えします

1.メインフレーム環境における磁気テープ環境の変化

メインフレームのテープ環境の変化により、NLテープが使える場所が激減していると思われます。

メインフレームで磁気テープが使われてから、テープ(オープンリール、カートリッジ磁気テープ)のマウントは人による操作でした
その後、磁気テープ業務の迅速化、テープに書かれたデータセット管理を目的に磁気テープライブラリが登場しました
日立ではH-6951、H-6952(CTL)です。IBMでは3494と思われます

磁気テープは上記ハードウェア内に専用のコマンドで取り込まれ、本棚のように管理されます。
この済、一つ一つのテープをLABELで認識する事が大前提だったため、NLテープは除外されていきました
(日立では登録されている磁気テープをDMFLSSで管理していました)

特別な理由がない限り、NLテープを使う業務はSLテープやファイル転送などに置き換わっていきました

しかし、磁気テープライブラリは装置自体がとても大きい事(数千巻のカートリッジ磁気テープを筐体内に保管するため)、装置内のロボットアーム(テープが管理されている保管場所からテープドライブ装置に移動させる)を動かすレールが凸凹が無くまっすぐでならなければならないなど、ハードウェアメンテナンスにとても神経を使う装置だったために、登場してまもなく、現在主流になりつつある仮想テープ(VTS、VT)に変っていくようになりました
(日立ではDMFVTLSで管理します)

ここには、磁気DISK装置の進歩によりビット単価が下がり、大容量で安価なDISK装置が登場したことも仮想テープ環境へのシフトを加速させていったという背景があります

メインフレームでは仮想テープを管理するため、以下の環境が別途必要になります
1)仮想テープのデータを保管するためのDISKボリューム群(日立ではDMFISMによる記憶プールで管理します)
2)OSからテープのマウント要求があった際(仮想テープへの要求時)テープのエミュレーションをするための常駐ジョブ(リージョン)

当然、ここでも仮想テープの管理はLABELです。NLテープは使えません

仮想テープの登場により、磁気テープへのマウント・書き込み・デマントが劇的に早くなりました

LTOもメインフレームで使えるようになり、1巻当たりの記憶容量がTBオーダーになり、テープ本数がとても少なくなったと思います。
日立ではDMFOPDSで制御します。DMFOPDSは昔、光ディスク装置を制御するソフトウェアとして登場したのですが、いつの間にかLTO制御ソフトに変ってしまいました。OPDSのOPは昔は光デバイス(OPTICAL)でしたが、現在はオープンデバイス(OPEN)に変っています


2.NLテープの特性(独自性・特殊性)と私が業務で関わったNLテープ


私が昔、VOS3のエンジニアをしていた時、色々なNLテープを使っていました

秘匿性

通常、磁気テープの中に書かれている情報はLABELに書き込まれます。
NLテープにはLABEL情報が無いため、TAPE PRINT(日立ではJSFTPRT,OPENMT)を使っても中の情報を見ることができません。秘匿性が持てます。

そのため、外部とのデータのやりとりをするとき、秘匿性が必要な業務についてはNLテープが用いられていました
テープが必要な相手には事前に書き込んでいる情報(データセット名等)を伝えておく事でデータを得られます

他ホストとのデータ連携

IBM、日立、MSPなどMVS互換の間でのデータ連携では問題ないようですが、日立→UNIVAC(現UNISYS)ホストとのデータ連携をする際、NLテープを使っていました。
日立とUNIVACではコード体系が違うため、日立で書いたテープLABELを認識できなかったと記憶しています。
そのため、UNIVACに渡すテープをNLテープに書き込む時コード変換プログラムを使っていました。

セルフ(独立ユティリティ)テープ

システムを最初に作る時・削除する時、本番システムがシステム障害等で稼動できなくなった場合の緊急時にセルフテープを使います
(パソコンで言う”起動ディスク”です)

システムを最初に作る際、磁気DISK上に何も書かれていません。OSすらありません。磁気DISKからIPLできません。

そのとき、NLテープの先頭にセルフプログラムを書いておき、そこからDISK初期化のプロラムと磁気DISKへのリストアのプロラムを起動し、初めて磁気DISKからIPLできるようになっていました。

日立のAP8800にはSOSがSVPに組み込まれたので、この作業は昔の話となりましたが、、

私が仕事を始めた時は初期化プログラムとリストアプログラム2本を書き込んでいましたが、その後JSJDADEの独立ユティリティが出来、一本化されました(プログラム名はうろ覚えです)

OSが不要なため、システムを削除する時にもセルフテープは活躍しました。
セルフテープからIPL後、本番稼動していたOSをDISK初期化プログラムで削除したのです。

現在、NLテープで運用されているとすれば、LTOでしょうか、、
Filed in つぶやき・雑感

4.端末エミュレータTcpLinkの問題点と要望事項

By 岡田 - Last updated: 日曜日, 6月 5, 2016
端末エミュレータTcpLinkのマクロ機能の説明を簡単ではありましたが、説明をしてきました。
この中でTcpLinkの問題点を見つけました。
最終回として端末エミュレータTcpLink(Windows版 V3.50)の問題点と今後のバージョンへの要望事項を記載します。
 

TcpLink(Windows版 v.3.50)の問題点

ここでの問題点はマクロ機能を有効に使いたいがための弊害として挙げた問題です。

1.クリップボードの判定・操作命令が無い

TcpLinkの命令一覧をヘルプで見ていただくとお分かりになりますが、画面から値を取得する、画面に値を書き出すのにクリップボード”のみ”使っています。しかし、クリップボードの中の文字列を判定・操作する命令がありません。
そのため、クリップボードに値をcopyする際、copyする文字列が作成される状況を十分把握しておく必要があります。
クリップボード内の文字列を判定するには、クリップボードの内容を一度別のファイル(ワークファイル)に貼り付け、別の命令で1文字ずつ判定するという手法を取る事で対応できますが、、

 

2.メッセージの命令に直接クリップボードの内容を付けられない

TcpLinkには”message”というとても有効な命令があります。
この命令はマクロの中で命令に書いた文章をポップアップとして画面に表示してくれると同時に、画面の”OK”がクリックされるまでマクロが待機されるという2つの機能を持っています。

私はこの機能を有効に使い、端末エミュレータに貼り付けしたいテキストをあらかじめメモ帳などで記載しておき、橋渡しをする手法をとっています

1)”message”命令でポップアップ画面を出す(マクロは待機状態)
2)メモ帳の内容をクリップボードにコピー
3)ポップアップの”ok”を押してマクロを進める(クリップボードの内容をマクロが使える)

ここで、問題になるのが”message”命令にクリップボードの中の内容を直接渡せないことです
今の環境で行うとすると、、、以下のような手間をかける事になります
1)特定のデータセットにmessage命令を書いておく
2)message命令の右にクリップボードの内容を貼り付ける
3)2)のデータセットをパソコンにダウンロードする(拡張子.mac)
4)3)のファイルを実行する

 

3.全画面のコピー&ペーストの際、2バイトコードが含まれているとペースト出来ない

TcpLinkではTSOのセション設定がされていない画面も端末設定をする事で画面を開く事ができます(通信チェックが出て送信キーは使えませんが、、)
このような一時画面を使う事で、複数画面(全画面)の比較をしたい場合があります。
画面を開く命令(個別のセション名を指定する)を使う事で一つのマクロの中から複数の画面を使う事が可能です。

ところが、コピー範囲の画面内に2バイト(漢字)コードがあると、コピーできてもペーストが出来ないのです。
(漢字コードの前までしかペーストが出来ずエラーになります)

コピーする範囲に1バイトコードしか無い場合は問題ありません。
2バイト開始コード、終了コードが入る事による影響とは思いますが、、

※全画面コピーでなくても、コピー元が長く、ペースト先で80バイトを超える場合はペースト出来ないようです

 

4.ファイル転送命令がメインフレーム側から実行できない

TcpLink(Z/os)ではメインフレームのデータセットをパソコンにファイル転送する場合、パソコン側から制御をする必要があります。
これはVOS3(CommuniNet)を操作した経験がある私にとって、とてももどかしい仕様です。

VOS3ではIFIT-TSS E2というPPが組み込まれており、端末エミュレータがCommuniNetの場合、特にパソコン側でファイル転送コマンドを準備しなくてもTSS画面からIFITと入力する事でファイル転送ガイダンスメニューが表示され、ファイル転送ができるようになっています。
ガイダンスメニューを出さなくても、IFITコマンドの後にメインフレームのデータセット名、パソコンのファイル名、転送方向を指定すれば、1コマンドで転送が出来てしまいます。区分データセットの全メンバの連続ダウンロードも可能です。

TcpLinkにはファイル転送コマンドとしてファイル送信、ファイル受信命令が用意されていますが、この命令はパソコンにあらかじめ作成しておき、マクロ実行もしくはファイル転送メニューから処理する必要があります。

固定化されているデータセット、ファイル名であれば問題ないですが、固定化されていないデータセット(ISPF上で一時的に作成されたテンポラリデータセットなど)をファイル転送するには不向きなのです。

現在、固定化されていないデータセットをファイル転送(パソコンへのダウンロード)を行う場合、以下のような対応が必要になります

1)ISPFで該当のデータセットを開き、データセット名を得る
2)メインフレーム上のワークファイルに ファイル受信(RECEIVE命令)コマンドを作成、1)のデータセットをクリップボードで貼り付ける
3)2)のワークファイル自体を固定の名前でダウンロードする(拡張子.mac)
4)3)のマクロを実行する

※ここで記載しているRECEIVE命令はTcpLinkのファイル受信専用命令であり、Z/OS(TSO)のRECEIVE命令ではありません
 

5.画面上の現在のカーソルの位置を知ることができません

マクロの中からISPFのFIND命令やCHANGE命令をした場合、変更箇所にカーソルが飛びますが、飛んだ時のカーソルの位置を取得する命令がありません。FIND命令やCHANGE命令の結果でカーソルをエミュレータ本体が飛ばしているので、容易に情報は得られると思います。

 

6.マクロ内で四則演算できない(命令がない)


 

7.日付、時刻、ユーザIDなどを差し込む命令がない

これは、OSがもっている予約記号で対応するか、日付、時刻、ユーザIDが表示されている画面を持ってくる事で対応できます

上記7点の改良を要望したいです。
Filed in Tcplinkマクロ活用

3.TSO(TSS)が提供する環境とTcpLink等端末エミュレータマクロとの違い

By 岡田 - Last updated: 日曜日, 6月 5, 2016

ここまでTcpLinkのマクロでどのような事が出来るのかを簡単な例を用いて説明してきましたが、そもそも端末エミュレータのマクロを使う意味があるのかという疑問があると思われます。今までの環境から新しい事にシフトするにはリスクが付きまといます。
そこで、Z/OSやVOS3等OSが提供している環境(ISPFライブラリやMODE/PNL・CLIST)と端末エミュレータが持つマクロとの違いを纏めました

ここでは、TSO(TSS)での自動化(効率向上・品質向上)を前提として記載しています。

TSO(TSS)が提供する自動化環境とTcpLink等の端末エミュレータマクロとの違い

項目 ISPF(Z/OS)、MODE/PNL・CLIST(VOS3) TcpLinkマクロ(V3.50)
ISPF等、マクロの動作範囲 TSO(TSS)セション内 パソコンのユーザ内
異なるLPAR(区画)へのデータ渡し JOB転送、SYSOUT転送、共用データセットへの書き込み等
(通信やDISKの共有環境が必要)
同一パソコンユーザ内で異なるLPARのTSOにログインできれば可(クリップボード)
内部で使う変数の有効範囲 ISPFを抜けるまで(ISPFライブラリ)、
TSSセション内(VOS3CLIST)
パソコン内(クリップボード等)
自動実行(※) ISPF,CLIST単独での実行は困難(セションを起動し続けている必要がある) 可能(macctl32.exeが提供されている)
※ここでの自動実行とは作業者が不在でも事前に特定の日時に特定の処理を登録した処理が実行できる事を指します
macctl32.exeを使ったTcpLinkマクロの自動実行については、TcpLinkの「マクロ編集ツール」のヘルプを参照して下さい

近年、LPAR(区画)が増えた事で、一つのLPARで処理が出来ない業務が増えていると思われます。
本番区画と開発区画とか、同じコマンドを異なる区画で実行し、その結果を比較したいなど、、
そういった複数LPARでの連携には端末エミュレータのマクロが有効であると考えます

また、ISPFやCLISTでは日付やユーザIDを予約記号で差し込む場合、展開するJCLを加工しておく(加工する)必要がありますが、TcpLinkマクロは差し込む方法と結果が確定している場合、展開JCLを加工する必要がありません。

時代とともにメインフレーム、パソコンと言ったハードウェアは高速化し、社会の流れも速さが求められる時代です(昔とする定義を示すことわざとして”十年ひとむかし(一昔)”と言いますが、今は社会の流れの早さに”五年ひとむかし(一昔)”が合っているような気がします)

仕事に対するレスポンス(ターンアラウンドタイム)の早さも要求されいていると思います。
端末エミュレータのマクロを有効活用して、突発的な業務でマクロを作って作業時間を短縮したり、同じ業務をマクロ化して作業品質の向上につかってみてください

次回は、最終回としてTcpLink(マクロが全般)に対する問題点と要望事項を書きます。
Filed in Tcplinkマクロ活用

端末エミュレータで開花した「右CTRL」キーと現代の職場環境

By 岡田 - Last updated: 土曜日, 5月 28, 2016
 

メインフレームのデータ編集やJCL操作を行うのに不可欠な端末エミュレータで「右CTRL」キーは重要な役割を果たします
この「右CTRL」キーはメインフレーム作業効率や右手の健康問題にも発展します。コンピュータ作業に従事されている方々は長時間ディスプレイ画面を見続ける事で発症する「VDT症候群」が昔から言われていますが、ノートパソコンの普及により入力する手(特にENTERを入力する右手)に対する健康も無視できないと考えます

 

メインフレーム作業環境における右「CTRL」キーの役割

端末エミュレータが無かったダム端末の時代、端末のENTERキーはメインフレームへの送信という役割一つでした

パソコンの登場・進化と共に、ダム端末がパソコン+端末エミュレータに置き換わり、端末エミュレータにはダム端末のENTERに代わるキーを割り当てる必要がありました
端末エミュレータを動作させている時、キーボードからは2つのENTERが存在することになるからです。それは
です。
そこで、多くの端末エミュレータはダム端末のENTERキーの代用として「右CTRL」キーを割り当てています

 

右「CTRL」キーが抱える現代の仕事環境

近年、ノートパソコンの進化(高性能・省力化)により、IT業界の職場環境は大きく変わりました。職場(会社)としても同じ仕事をする上で、消費電力量が少なく、停電の済にも(バッテリーがあるため)データ損失のリスクが少ないノートパソコンの利用はこれからも続くと思います

ダム端末がパソコン+端末エミュレータに置き換わった直後はデスクトップパソコン+端末エミュレータという構図でしたが、後にノートパソコン+端末エミュレータという構図に変わっていきました

ノートパソコンとデスクトップパソコンの大きな違いとして、「キーボード」に着目します
画像のキーボードはIBMのキーボードです

IBMの101キーボード(英文)

IBMの101キーボード(英文)



下の赤い四角が右CTRLキーです。他のキーとの間隔があり(特に右側の矢印キー)メインフレームの作業にはストレスなく作業ができると思います。

次の画像はノートパソコンのキーボードです

ノートパソコンのキーボード

ノートパソコンのキーボード



下の赤い四角が右CTRLキーです。IBMの101キーボードのCTRLキーと比べて小さい事、隣が左矢印キーのため干渉も考えられるのでメインフレームの作業には若干不向き(不利)と思います。

対策としては、、
メインフレームの作業をする頻度、要求される時間の納期(急ぎの作業などは入力速度が求められます)などを考えてより良い作業環境にしていきたいものです。
Filed in つぶやき・雑感

日立の大型汎用コンピュータAP8000にIBMあり

By 岡田 - Last updated: 日曜日, 5月 22, 2016
日立が提供している大型汎用コンピュータ(AP8000)シリーズは2003年第4四半期より出荷開始しました。
AP8000シリーズはAP8000E→AP88000→AP8800Eと進化していくのですが、ここにIBMが関わっていた事はあまりしられていません。


2001年3月13日 日立製作所と米IBMが戦略的提携について発表しています。
この中ではメインフレームとUNIXサーバの分野で技術提携をするとしており、メインフレームの分野については

・両社で日立のメインフレーム用OS「VOS3」が稼動するメインフレーム用MCM(マルチプロセッサモジュール)を共同開発・製造する。
・IBMがIBMメインフレーム用CMOSプロセッサ・コアにVOS3固有の命令セットを追加、日立に提供。
・日立はこのプロセッサを組み込んだMCMを製造する。

という内容です。


この日立とIBMの共同開発により、以下の変化もありました
・日立が初めてメインフレームコンピュータで稼動するLinuxとして「Linux for AP8000」を出荷した
・メインフレームのコンソール装置や最大16個のコンソール画面を1台の装置で対応できるコンソールデバイスサーバ(CDSV)にIBMのOS/2が導入された

「Linux for AP8000」

Linuxの供給元はTURBOLINUX社でしたが、その後出荷を停止しています。
当時メーカーに居た私は、”大型汎用コンピュータでLinuxが稼動できる”とメインフレームの将来性に明るい展望を見た時期でありました。
しかし、結果としてマニュアルが難しかった(メインフレームのマニュアルに慣れている人間に対して)点、システムを構築する上でのサポート体制が少なかった(個人的印象です)などがあり「Linux for AP8000」を導入したという情報はついに聞くことがありませんでした
本件については、こちらでも記載していますので、お時間がある際に観て下さい。「メインフレームのこれから(二極化)」

コンソールデバイスサーバ(CDSV)

本装置の登場は1つの物理コンピュータで複数のOS(LPAR)が稼動できる資源論理分割PRSM(PRMF)のリリースによるものです
2003年からしばらくはOS/2ベースの装置が提供されていましたが、2012年頃にはWindowsベースに変っていたと記憶しています
Filed in メインフレーム・ハードウェア