最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

4.7.新旧サブシステムを比較してみる

[ Previous ] [ HOME ] [ Upper ]


SYSTEM38のセットアップ

今回は、システム38のころのサブシステムと、現在のAS/400を比較して、さらに、2次言語専用のサブシステムを作ってみようと思います。

まずは、参考資料の紹介から。

BXDJ53-0「ブリッジ・セッション CPF導入手順」日本アイビーエム株式会社 システム・サービス・センター(SSC)

なっつかしい、SSCだって。これは、System38(リリース6)の導入手順がまとまっています。たしか、リリースアップの時に参考にしたドキュメントでした。

目次を見ると、

Tシステム38の導入計画

Uシステム導入の手順

  1. CPFの導入

  2. QGPLの導入

  3. プログラムプロダクトの導入

  4. 漢字用ソフトウェアの導入

  5. 入出力装置構成の生成

  6. IBM提供オブジェクトの変更

  7. 当リリースにおける考慮点

  8. 保管

付録A 印刷イメージの作成

付録B QMCHPOOL及びQBASACTLVLの計算方法

付録C ワークステーションアドレス及びターミネータスイッチの設定

付録D 通信制御装置(5251-12,5294)の設置手順

付録E S/38装置変更の手引き

付録F 代替コンソールの割り当て

さてこの中で、サブシステムが出てくる部分は、「7.当リリース(REL6.0)における考慮点」の中の「QKJPGMの作成(漢字システムの為の環境設定)」に出ています。

7-3 QKJPGMの作成(漢字システムの為の環境設定)

QINTER, QPGMR、ユーザー作成の対話型サブシステムに対して下記の手順が必要となります。

  1. ADDRTGE SBSD(QINTER) SEQNBR(15) CMPVAL(QIGC) PGM(QKJPGM.QGPL)

  2. ADDRTGE SBSD(QPGMR) SEQNBR(15) CMPVAL(QIGC) PGM(QKJPGM.QGPL)

  3. CHGWSE SBSD(QINTER) WRKSTNTYPE(5555) JOBD(QINTIJBD)

  4. CHGWSE SBSD(QPGMR) WRKSTNTYPE(5555) JOBD(QINTIJBD)

  5. QKJPGMの下記ソースをSEUで登録する。

     

/* QKJPGM */
PGM                       
MONMSG CPF0000                       
CHGSYSLIBL QSYSIGC                       
OVRMSGF QCPFMSG TOMSGF(QCPFMSG.QSYSIGC)                       
TFRCTL PGM(QCL.QSYS)                       
ENDPGM                      

ここで、QINTIJOBDって、経路指定データが、QIGCになっていました。ワークステーションタイプが5555だと、そこからサインオンすると、どんなときもジョブ記述は、QINTIJBDになるわけです。※あの当時は気が付かなかったけど、OVRMSGFは不要ですね。SYSLIBLに、追加でQSYSIGC入れているんだからQSYSの前に、QSYSIGCが参照されるはずですよね。

ちなみにQSYSIGCは、2次言語で漢字環境です(AS/400で言うところのQSYS2962のことです)。システム38では、コンソールがビルトインされていて、それがSBCSしか表示できませんので、一次言語は必ず、半角のカナか、英語でした。ところが、端末は漢字端末なので、その表示を何とか漢字にしようということで、上記の様な作業があるのです。

さて、QKJPGMは、CLP38ですけど、理解できますか?すべて、CLP(ネイティブ)でも、存在するコマンドです。それどころか、ADDRTGEやCHGWSEだって、今でもあるのですよ。S38のリリース6ですよ。如何に古くから、使われてきたOSか分かりますか?

おまけ。懐かしいと思う方は、いませんか。今のAS/400のIPL画面とは全然違いますね。うっかり、SYSLIBLにQSYSIGCを追加したら、コンソールが使えなくなって、S38がIPL出来なくなって、本当に困ったのですが、構成メニューのおかげで、助かったのも良い思い出になりました。(客先での出来事...)

セイギョ プログラム キノウ (CPF) ノ カイシ プロンプト                
ツギ ヲ ニュウリョクシナサイ:  
 システム ノ ヒヅケ(MDY): 			  /  /           
 システム ノ ジコク:				  :  :  
 ジョブ マチギョウレツ (*KEEP *CLEAR):		*CLEAR
 シュツリョク マチギョウレツ (*KEEP *CLEAR): 	*CLEAR
 ミカンリョウ ノ ジョブ ログ(*KEEP *CLEAR):	*CLEAR
 コウセイ メニュウ (*NO *YES):			*NO 

 

ここで、わざわざS38の漢字制御の方法を書いているのは、懐かしむためではありません。仕組みを理解して欲しいからです。最も大事な基礎的な知識は、ライブラリーリストでしょう。QKJPGMの中核は、TFRCTL QCLよりも、CHGSYSLIBL QSYSIGCなのです。(勿論QCLを呼ばなきゃ始まらないのですが、漢字表示する仕組みは、CHGSYSLIBLが担っています。)

ライブラリーリスト

AS/400のお話に戻りましょう。オブジェクトの探索パスとしてライブラリーリストは機能するのですが、その順番は、

  1. QSYSLIBL (SYS)    最大15個ライブラリー
  2. CURLIB (CUR)        1個ライブラリー
  3. QUSRLIBL (USR)    最大25個ライブラリー

となっています。もしかりに、QSYS2962が1QSYSLIBL以外にあったら、たとえば、メッセージファイルや、画面の固定情報や、コマンドのプロンプトテキストやヘルプは、すべて、1次言語の物になってしまいます。

SYS QSYS
QSYS2
QHLPSYS
QUSRSYS
CUR TKLIB
USR QGPL
QTEMP
KTKUTL

この中に、2次言語を入れるとしたら、先頭のQSYSの前に無くてはいけません。もし、1次言語が日本語で、2次言語が英語(2984)ならば、

SYS QSYS2984
QSYS
QSYS2
QHLPSYS
QUSRSYS
CUR TKLIB
USR QGPL
QTEMP
KTKUTL

ここで、試しにSTRSEUというコマンドを探してみましょう。すると、QSYSとQSYS2984に有ることが分かりますね。

                           Work with Objects                        
                                                                       
Type options, press Enter.                                             
  2=Edit authority        3=Copy   4=Delete   5=Display authority   7=R
  8=Display description   13=Change description                        
                                                                       
Opt  Object      Type      Library     Attribute   Text                
     STRSEU      *CMD      QSYS2984                Start Source Entry U
     STRSEU      *CMD      QSYS                     SEU開始         
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
Parameters for options 5, 7 and 13 or command                          

もし、2次言語の環境ならば、以下のようになっていれば、良いわけです。コマンドに限らず、パネルやMSGQ、プリンターファイルなど、多くの「2次言語化」の為の部品がQSYS2984に詰まっています。

SYS QSYS2984 STRSEU
QSYS STRSEU
QSYS2
QHLPSYS
QUSRSYS
CUR TKLIB
USR QGPL
QTEMP
KTKUTL

念のため、言いますが、もし、QSYS2984を違う部分に入れてしまうと、(ここでは、ADDLIBLEをしている)いくらライブラリーリストにQSYS2984が入っていても、STRSEUは、あくまで1次言語のQSYSから参照されるわけで、期待に反したことになりますね。

SYS
QSYS STRSEU
QSYS2
QHLPSYS
QUSRSYS
CUR TKLIB
USR QSYS2984 STRSEU
QGPL
QTEMP
KTKUTL

QKJPGMのゆくえ

AS/400では、現在は、QKJPGMは必要有りません。サブシステムに、SYSLIBLがついたおかげで、QKJPGMを作る必要は無くなりました。QKJPGMの中核は、システムライブラリーリストへの2次言語の追加でした。この機能を代わりに行ってくれるのが、SYSLIBLです。また、サインオン画面も指定できますので、もし、外人さんがサインオン画面を見ても、またサインオンしても、違和感無くOSを利用できます。勿論、アプリケーションが漢字だけだったら、だめですよね。

環境の設定

では、実際に設定してみましょう。予め考えておくべき事は、端末の名前とそれが属するサブシステムです。ここでは、2次言語ライブラリーをQSYS2984と想定しています。

タイプ 端末名 サブシステム
漢字用(1次言語用) QP* INTERJPN
英語用(2次言語用) E* INTERENG

現行のQINTERから、CRTDUPOBJして以下を作成します。

タイプ 漢字(1次言語)用名称 英語(2次言語)用名称
SBSD INTERJPN  INTERENG 
CLS もしQINTERのままでよければ、そのままでもよいと思う。結局は、実行環境の問題だから、1次言語、2次言語で変更したければ、各々準備しなくてはいけない。その場合は、サブシステムと同じ名前にすれば良いと思う。
JOBQ INTERJPN INTERENG

ライブラリーは、オリジナルと同じところに作れば良いのではないかと思います。

サブシステムの設定

サブシステム名 SYSLIBL サインオン表示ファイル
INTERJPN *NONE QSYS/QDSIGNON
INTERENG QSYS2984 QSYS2984/QDSIGNON

CLSの設定

もし、QINTERのままなら、何もしないでいいです。変更するのならば、予め、サブシステムの経路指定項目のQCMDI(で良いと思う)の順序番号などを調べておいて、そして、その番号で、CHGRTGEで変更します。

(例) CHGRTGE SBSD(INTERJPN) SEQNBR(15) CLS(QGPL/INTERJPN)

JOBQの設定

対話型環境になんでJOBQがと思うでしょうが、まあ、TFRJOBで使うくらいでしょう。CRTDUPIBJで作成して、古いJOBQをサブシステムから外して(RMVJOBQE)、新しく作ったJOBQをサブシステムに追加します(ADDJOBQE)。

テスト    「今日はよせ」(自殺の名所の看板より)

PC5250なり、5250WSなりで、端末名を決める。上記の例では、QP*で始まれば、何でも、一次言語になるし、E*で始まれば、2次言語になるわけです。ただし、現行で、既に業務が動いているならば、止めておきましょう。多分、ほとんど全ての端末が、INTERJPNに繋がると思います。サインオン画面のサブシステム名で分かります。このとき誰かがサインオンしてしまうと、簡単に終わりに(ENDSBS)出来ません。だから、時期を考えた方がいいのです。それさえクリアできるなら、STRSBSしてみましょう。うまくいくとこんな画面が出てきます。

もし、最初のメニュー画面が漢字のままだとしたら、そのユーザープロファイルの「初期メニュー」のライブラリーがQSYSと固定になっていませんか?これを*LIBLにして下さい。

くれぐれも、業務にぶつからないように、気を付けて下さい。サブシステムって、間違えると「こわいですよぉー!」<g>

追加情報

  1. CRTDUPOBJで新しくサブシステム記述を作った場合、重複したジョブ待ち行列項目ができているはずです。そのまま、両方とも活動すると、後から活動化したサブシステムは、ジョブ待ち行列を獲得できない旨、エラーログを書き出します。まあ、それだけですけど、気になるようでしたら、RMVJOBQEで無駄なジョブ待ち行列をはずしてください。[2000-3-11]

  2. アメリカ製の5250 (Mohca5250)を動かしたら、装置タイプが5555ではなく、3179で作成されました。しかも端末名がQPA*だったので、INTERJPNにつながってしまい、エラー(CPF5511)で、つながりません。この場合には、以下のよう,もう一つサブシステム記述(INTERENG2)を作成しましょう。まあ装置名は、Mで始まることとして使います。(他とバッティングしなければ、何だっていいのですけど。)[2000-3-11]

サブシステム記述 ワークステーション名項目 ワークステーション・タイプ項目 SYSLIBL サインオン表示ファイル
INTERJPN QPA* 5555 *NONE QSYS/QDSIGNON
INTERENG E* 5555 QSYS2984 QSYS2984/QDSIGNON
INTERENG2 M* 3179 (24*80)

3477 (27*132)

QSYS2984 QSYS2984/QDSIGNON

たいしたことではないのですが、念のため、INTERENGとINTERENG2は一つに出来ます。以下のように、3179や3477の端末名を、E*にすれば、いいでしょう。でも、多分、サブシステムを別にしたほうが、管理しやすいかもしれません。[2000-3-25]

サブシステム記述 ワークステーション名項目 ワークステーション・タイプ項目 SYSLIBL サインオン表示ファイル
INTERJPN QPA* 5555 *NONE QSYS/QDSIGNON
INTERENG E* 5555

3179 (24*80)

3477 (27*132)

QSYS2984 QSYS2984/QDSIGNON

2000-3-1


[ Previous ] [ HOME ] [ Upper ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送