IT関連

AS400/IBMi ユーザーがバツで消して立ち上がらない件

投稿日:

ユーザーがエミュレーターを×で落としたり、本来閉じておくタイミングで閉じてないなどで異常終了してしまうことが多々あります。

 

そうなると端末が立ち上がらなくなるので、ユーザーからシステムへ電話がかかってくる。

正直面倒です。お互いに・・・。

 

そのとき我々システム管理者はACTJOBで確認して、立ち上がっていたらユーザーをENDJOBで落とす。

それでも端末が上がらないときはオンオフをする。

それはWRKDEVDからの「8=状況の処理」で、「2=オフに構成変更」をして、「1=オンに構成変更」をする。

それでダメなら再起動、これで100%元に戻る。

 

しかしその間数分間が非常に面倒だし、理由が停電だったとしても立ち上がらなくなるのさすがに理不尽。

なので、先日来られたIBMiの先生に何か手は無いものかお聞きしてみた。

 

結論はダメ。

×で消すのはルール違反なので、IBMiは想定していないそうです。

その際はやはりシステム管理者に連絡をさせ、システム管理者が直す必要があるみたい。

 

そのENDJOBやWRKDEVDをユーザーにやらせるのもダメ。

ユーザーに権限は無いし、それを与えるのもおかしな話だから。

 

やっぱりダメか。

その件、昔から悩んでいたので一応考えてはいる。

一応ウェブで管理画面を作っているので、そこで使っているSQL文だけ載せておきます。

 

一覧表を作るためACTJOBの情報を取得する

ACTJOBの情報を取得するSQL文

使うカラムはJOB_NAMEだけ。ジョブ番号、ユーザ名、ジョブ名が1カラムになっている。

サブストリングで抜き出せばWHEREだろうとORDERBYでも使えるので実質自由自在。

 

恐らくどの会社も端末情報をファイル管理しているはずなので、それを主に上記ACTJOBのテーブルをJOINすれば一覧表の出来上がり。

 

ENDJOBする

LaravelのDBクラスを使っています

$NUMBERはジョブ番号、$USERはユーザ名、$JNAMEはジョブ名。

これを指定すれば即時で落とすことができる。

もちろんtryでエラー処理を加えてできなかった場合の仕組みも考えておいた方が親切。

 

VRYCFG

WRKDEVDからオンオフというのは、実際にやっているのはVRYCFGという構成変更。

なのでこれもコマンド一発で出来る。

そしてオフるだけでOKみたい。

$NAMEはジョブ名(装置名)を指定。

 

スタック情報を取得する

ENDJOBをするといっても大事なプログラムの途中で止まっていたとしたら困る。

実際にはどうにもならないと思けど、一応何をして落ちたのかは確認するようにはしている。

そのためのスタック情報を取得する方法。

これで取得できる。

 

作った画面

作った画面はこんな感じ。本当はもっとあります。

 

モザイクの箇所は端末番号、VRYはVRYCFG、ENDはENDJOBのボタン。

 

ACTJOBに無い端末はVRYCFGだけ、ある端末はVRYCFGとENDJOBを表示。

押せばその処理が実行され、リダイレクトでこの画面に戻ってくる。

そのとき成功なら成功、失敗なら失敗にポップアップを出す。

 

一応はこれで使えている。

Ajaxを使ってほぼリアルタイムで表示してもいいのだが、負担をかけそうなので止めた。

 

これをユーザーに開示するのは危険なので、結局システム内で使って楽をする程度にすぎないのかな。

 

もしユーザーに開示するとしたら、自分の端末しか触れないようにすることと、落としてもいいプログラムなのかを判断することかな。

前者は作ったけど、後者は厳しそう・・・。

 

以上です。

スポンサーリンク




スポンサーリンク




-IT関連
-,

執筆者:


comment

Your email address will not be published. Required fields are marked *

関連記事

Laravel 生成読取更新削除 CRUD全手順 私の備忘録

事前注意事項 今回はXAMPPを使うので、インストールするパスはc:\xampp\htdocsとする。 ゆえに以下コードで>になっているものは、C:\xampp\htdocs>という意味。 …

AS400/IBMi STRSDAの備忘録

画面の表示 STRPDMの画面からOPTに17でSDA起動 ヘッダ・ボディ・フッター・サブファイルなどにレコードとして分かれているので、触るところのOPTに12を入れて実行。   基本操作 …

AS400/IBMi CREATE TABLEで作られるカラム

物理ファイルをDDSで作るのではなく、SQLのCREATE TABLEで作る。 ひたすら物理ファイル畑でやってきた人にとっては、なんとなく怪しい匂いが香る。   なので実験してみることにしま …

Laravel 値をViewテンプレートに渡す

MVCで値が渡っていく流れがよく解らなかったので忘備録。 モデルは含まれません。   コントローラーからViewに渡す アクセス [crayon-5f68814591aa8850161868 …

AS400/IBMi Laravel config設定のschemaについて

備忘録です。   Laravelのdatabase.phpにodbcの設定を入れるが、schemaって何なのか解らなかった。   今みたら設定はしていた。自社の主要なライブラリを指 …

Adsense広告




文字で検索

人気記事

なぜだか人気記事

読んでほしい順に