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

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

よく使うマニュアルです

Wiki

updated on 2004.06.23

17.31.実習の始まり

[ Previous ] [ HOME ] [ Upper ] [ Next ]


PC5250(パーソナルコミュニケーションズ5250)を起動

PC5250と言うのは、5250エミュレーションソフトの1つです。ちょっと前までの省略時の導入ディレクトリ名に由来(しているんだろうなぁ)でPCOM(ピーコム)と呼ぶこともあります。これはWindows用なのですがずっと昔は、PCのOSは、DOSが主流でした。10年くらい前かな?

DOSでの5250ソフト

5250PC

名前は「PC」が後ろについていました。起動コマンドが、EM5250だったので、EM5250と呼ばれることもありました。emconfigjで、アドレスの設定をしました。DOSVではなく、IBM DOS J xxで動かしていました。芯同軸で使っていました。DOSVでも動きましたが、なんだか正式サポートなんだか、サポート外なんだか分かりませんでした。確か、バージョン5Jまででした。

5250WS

これも、DOSで動いていましたが、DOSVでした。セッションを複数作れて、DOSVの高品位文字を出すことができました。5250PCでは、DOSVの16ドット文字だったので、うんざりしているところで助かりました。また、画面の文字コピーもできました。しかしながら、Windowsでは動きませんでした。

Windows3.1

IBMマシンで、W31でネイティブで動く5250は当初無かったと思います。あるときは、WINで起動して、EXCELを使い、あるときは、DOSVから5250pcや5250wsを、DOSSHELLから起動していました。

やがて、WINDOWSでネイティブで動く、pc5250が出てきました。この他にも、RUMBAもありましたが、あまり気に入らず(フォントが汚かった)、買っても使いませんでした。この後、WINDOWS95, WINDOWS98、WINDOWS2000とPCのDOSは変遷して、PC5250もバージョンアップを繰り返しています。

昔のDOSの頃の5250エミュレーションは、地味ながらも、おかしな動きなんて、まったくしないで、作った画面や帳票プログラムも予想したとおりに動きました。でも、PC5250は、どうも、印刷がおかしいです。多分、WINDOWSがあらゆるマシンとの接続をサポートしようとしているのに、PC5250はついていってないのだと思います。

まあ、この他にも、様々な5250ソフトがあります。なんにしろ、最終的には、AS/400のサインオン画面を出してくれるはずです。

サインオンしよう

これが、工場出荷時のサインオン画面のレイアウトです。(右上のシステム、サブシステム、表示装置は、これとは異なると思います。)サインオン画面は、ユーザーがカスタマイズできるので、これ以外のデザインもありえますが、必ず、ユーザー名とパスワードを入れるフィールドは、存在しているはずです。

これは、SDA(Screen Design Aid)でサインオン画面を表示したところです。

                 サイン・オン                                    
                                                システム . . . . :   OOOOOOOO   
                                                サブシステム . . :   OOOOOOOOOO 
                                                表示装置 . . . . :   OOOOOOOOOO 
                                                                                
                 ユーザー . . . . . . . . . . . .   BBBBBBBBBB                  
                 パスワード . . . . . . . . . . .                               
                 プログラム/プロシージャー . . .   BBBBBBBBBB                  
                 メニュー . . . . . . . . . . . .   BBBBBBBBBB                  
                 現行ライブラリー . . . . . . . .   BBBBBBBBBB                  
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

ユーザー名とは、オブジェクト*USRPRF(ユーザープロファイル)でつけた名前がそのままユーザー名になり、パスワードはその中に指定した文言を入力します。このサインオン(別のマシンだとログオンとか、サインインとか、いろいろありますが、AS/400ではサインオンと言います)をすることは、AS/400に対して、自分は、「誰誰」だよ、と知らせていることになります。

尚、サインオン画面に戻ることを、「サインオフ」と言います。SIGNOFFというコマンドがあります。

コラム

よくたとえられるのは、ユーザープロファイルは、日本社会で言うところの「戸籍」と同じ、と言うものです。出生と同時に戸籍を作成し、以後、本人の戸籍が、その人が誰なのかを、把握する手段となっているのと同じです。誰だか分からない人は、社会で生きてはいけないのです。それと同じで、ある人をユーザーとする必要が出てきたら、ユーザープロファイルを作成して、予め、どのような権限を持つ人か、登録しておき、入力されたユーザー名とそのパスワードで認証をすると言うものです。世の中のネット犯罪の多くは、このパスワードを盗む(パスワードを盗み見て、イタズラする、恥知らずな人も居るようです。特にパーティションが無く、モラルも低いオフィスでは、注意しましょう。)ことで、「成りすまし」をする場合が多いようです。このページを見ている技術者の方は、間違っても、このような行為はおやめください。愚劣です。

「ユーザ名が存在していない」、というエラーは、事前にそのユーザーがAS/400に登録されていない(ユーザープロファイルが作成されていない)ことになります。

「パスワードが正しくない」、というエラーは、ユーザー登録はしているが、そのパスワードが違う、という意味です。

画面に出るメッセージをよく見て、判断しましょう。

パスワードを忘れたら

パスワードは、AS/400では暗号化されるため、忘れてしまっても、パスワードを教えてくれる人は居ません。したがって、その場合は、リセットして、また、そのユーザーにパスワードをセットしてもらうことになります。

つまり、「パスワード忘れました」と、AS/400の管理者の人に言えば、

「仕方ないので、あなたのパスワードをリセットします。まずは、ABCDというパスワードでサインオンしてください。そのサインオンをした直後に、パスワードの変更要求(下図)がでますので、そこで、新たにパスワードを考えてください。今度は忘れないでくださいね」

となります。

一般的な初期画面

この画面は、サインオンして、出てくる最初の画面です。この初期画面は、ユーザープロファイルに指定しているメニューで「MAIN」というものです。場合によっては、違うメニューが出ることも、ユーザー作成のメニューが出ることもあります。あくまで、上の画面は、ディフォルトの「初期メニュー」です。この状態から、先ほどのサインオン画面に戻るには、SIGNOFFと入力して実行キーを押すか、90番を入力します。プログラマーになるつもりなら、数字ではなく、コマンドSIGNOFFを覚えて下さい。

下図を見てみてください。これはユーザープロファイルを作成するコマンドをプロンプト(コマンドのパラメータの入力支援)画面です。初期メニューが、「MAIN」になっていますね(ディフォルト)。このMAINというメニューが、上の画面(AS/400 メイン・メニュー )なのです。

コラム

ディフォルトとは、英語でDefault「初期設定」「初期値」「既定値」「省略時」「欠席」「怠慢」を意味します。IBMでは、「省略値」と訳しています。また、その他の本では「既定値」とも出ています。ご自分でコマンドやらシステムを作り始めると分かることですが、様々な作業には「目的」があります。コマンドならコマンドの目的があり、そのコマンドを作成した開発者が、想定している値があります。ディフォルトとは、開発者が、「まあ、このパラメータは標準的には、これがいいだろうから、ユーザーは何も指定しない場合は、この値にしよう」というものです。もし、このディフォルトが無かったら、ユーザーは、むちゃくちゃたくさんの値を入力しなくてはならないので、多分、使いこなせることは無かったでしょう。最初は省略値のままで、やがて、そのパラメータの値をひとつひとつ調べていくことで、次第に詳しくなっていきます。

対話型ジョブとバッチジョブ

まず、ジョブとは何か、を定義しておきましょう。

「ジョブ=サブシステムという環境内で動く作業環境全体」

と思えばいいでしょう。「サブシステム」と言うのは、先ほどのサインオン画面の右上に出ていましたね。

AS/400 用語集より引用

ジョブ (job) 

(1) コンピューターによって別々に実行される作業単位。 プロセス (process) とも呼ばれる。 

(2) AS/400 システムの作業単位。ジョブは、サブシステム内で 実行され、システム資源 (メモリー、ディスク、プロセッサー・サイクルなど) を 使用してタスクを実行する。 ジョブには優先順位を割り振ることができ、また 対話式に実行することもバッチ形式で実行することもできる。 

(3) 統合言語環境 (ILE) モデル において、1 つまたは複数の活動化グループで構成される資源とデータの 集まり。活動化グループ (activation group) も参照。 

(4) OfficeVision カレンダー機能に おいて、制御言語 (CL) コマンドを任意の日時に実行するようにスケジュールする項目。 

ここで覚えてほしいのは、「対話型ジョブ」と「バッチジョブ」です。この2つは、早い話、「オペレータ(たとえば貴方)の介入を必要とする作業なのか、否か」で分かれます。画面の前で、誰かメッセージを読んで、打鍵なり、作業なりをするのが、「対話型」ジョブで、予め、あらゆる情報のすべてを開始時点で与えると、よっぽどエラーでもない限り、画面を使わずに、作業を処理して、終結するジョブを、「バッチ」ジョブといいます。

  • サインオンからサインオフまでが、1つの対話型のジョブの単位です。

  • SBMJOBというコマンドで、バッチジョブが開始して、作業して、終了する場合、それが、1つのジョブの単位です。

1つのジョブには識別子がつきます。DSPJOBを実行したり、WRKACTJOBなどでも見れます。下図の「ジョブ」+「ユーザー」+「番号(ジョブ番号)」が、その識別子です。ちょっと、覚えておく後で役立つでしょう。
ジョブの表示                                   
                                                          システム :   COLOSSUS 
 ジョブ :   IEEE802        ユーザー :   KAKEFUDA       番号 :   042720          
                                                                                
 次の中から1つを選んでください。                                               
                                                                                
      1. ジョブ状況属性の表示                                                   
      2. ジョブ定義属性の表示                                                   
      3. ジョブ実行属性の表示(活動状態の場合)                                 
      4. スプール・ファイルの表示                                               
                                                                                
     10. ジョブ・ログの表示(活動状態またはジョブ待ち行列上の場合)             
     11. 呼出しスタックの表示(活動状態の場合)                                 
     12. ロックの表示(活動状態の場合)                                         
     13. ライブラリー・リストの表示(活動状態の場合)                           
     14. オープンされたファイルの表示(活動状態の場合)                         
     15. ファイル一時変更の表示(活動状態の場合)                               
     16. コミットメント制御状況の表示(活動状態の場合)                         
                                                                       続く ... 
 選択項目                                                                       
                                                                                
                                                                                
 F3= 終了   F12= 取消し                                                         
                                                                                

下図は、WRAKACTJOBでF11を2回押した画面です。上記と同じジョブ識別子が見えますね。

活動ジョブの処理                        COLOSSUS 
                                                             01/07/08  13:52:55 
 CPU %:   44.3     経過時間 :   00:00:00     活動ジョブ数 :   118               
                                                                                
 オプションを入力して,実行キーを押してください。                               
   2= 変更   3= 保留     4= 終了   5= 処理   6= 解放   7=メッセージ の表示          
   8=スプール・ファイル の処理   13= 切断 ...                                           
                                                                                
 OPT  サブシステム/ジョブ  ユーザー        番号   タイプ  CPU %   スレッド                    
      INTERENG       QSYS        042701  SBS      .0       1                    
      INTERENG2      QSYS        042702  SBS      .0       1                    
      INTERJPN       QSYS        042700  SBS      .0       1                    
        IEEE802      KAKEFUDA    042720  INT    37.8       1                    
      QBATCH         QSYS        042703  SBS      .0       1                    
      QCMN           QSYS        042704  SBS      .0       1                    
      QCTL           QSYS        042612  SBS      .0       1                    
        QSYSSCD      QPGMR       042630  BCH      .0       1                    
      QHTTPSVR       QSYS        042659  SBS      .0       1                    
                                                                       続く ... 
 パラメーターまたはコマンド                                                     
 ===>                                                                           
 F3= 終了      F5= 最新表示   F7= 検索      F10= 統計の再始動   F11= 状況表示   
 F12= 取消し   F17= 最上部    F18= 最下部   F23=オプション の続き   F24=キー の続き   
                                                                                

メッセージを見よう

対話型ジョブの端末やユーザーに対してメッセージを送ることができます。勿論、送られたメッセージを表示できます。

DSPMSGで実行キーでメッセージ表示します。送信ならば、SNDMSGが一般的です。これで特定のユーザーにメッセージを送ることができます。また、端末へメッセージを送るときは、SNDBRKMSGが便利です。このメッセージは、ブレイクモードでメッセージを送信します。ユーザーへのブレイクモードメッセージ送信は準備されていませんが、APIを使って自分で作成することは可能です。まあ、将来考えてください。今は、先に進みましょう。

DSPMSGの実行画面

もし自分当てに送られたメッセージを、ブレイクモード(画面に割り込みでメッセージを表示する)にしたい場合、

CHGMSGQ XXXXXXXX *BREAK 実行キー

と入力すれば、ブレイクモードになります。XXXXXXはユーザー名です。上図の右上に、「転送」とあり、それが*BREAKになっていますよね。

但し、ひとつのユーザーを共有している場合、最初に割り振った人がそのメッセージ待ち行列を獲得してしまうので、後からいくらCHGMSGQしても、失敗に終わります。

印刷物はどこに出るのか

まず、印刷物は、OUTQから出て行きます。OUTQとは、Output Queue(出力待ち行列)のことです。たいてい、プリンターと同じ名前になっています。では、どうしたら、印刷データ(スプールファイル、と呼びます。重要な名前ですので、覚えましょう。)を、特定の目指す、OUTQにするのでしょうか?簡単です。もし、OUTQの名前を、PRT01ならば、

CHGJOB OUTQ(PRT01)

とするだけです。よく見ると、CHGJOB(ジョブ属性を変更するコマンド)を使っていますね。そうです、このジョブの環境の中に、OUTQはどこかを、指定するところがあるのです。このように、ジョブは、プログラムなどを実行する環境を保持しています。いくら、プログラマーになっても、実行環境を正しく理解できなければ、「木を見て森を見ず」になってしまいます。

スプールデータ(印刷データ)が、OUTQからプリンターに印刷される過程を書いておきました。よく見てください。Printer Writerというのがありますね。これが、OUTQと印刷装置を結び付けているシステムのプログラムです。これが動いていないと、印刷装置から印刷物が出てこないことになります。

PC5250では、印刷セッションを起動すると、自動的に、プリンターライターが起動されます。それ例外のプリンターライターは、どこかのタイミングで、コマンドSTRPRTWTRを実行しなくてはいけません。

QSPLの下に見える、PRT01と言うのが、そのライタープログラムです。

今日はここまでにしましょう。次回はライブラリーリストのお話です。きわめて重要な話題です。

起立、礼、着席。

2001-7-8


[ Previous ] [ HOME ] [ Upper ] [ Next ]

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

 

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