- 「メインフレーム・コンピューター」で遊ぼう - http://www.arteceed.net -

3270ラージスクリーンの利用

3270端末の画面サイズについて

TSOなどで利用する端末の画面サイズは多くのユーザーが80桁×24行としています。しかしTSOとISPFは画面サイズを固定しているわけではありません。端末側の画面サイズに合わせてスクリーン・パネルを編集してくれます。元々IBM社の3270ターミナルには以下のように異なる画面サイズのモデルが用意されていました。

  • Model1:  80桁×12行
  • Model2:  80桁×24行
  • Model3:  80桁×32行
  • Model4:  80桁×43行
  • Model5: 132桁×27行

モデル2以降はどのモデルも標準の画面サイズは80桁×24行のサイズですが、代替サイズとして上記のサイズを持っています。(モデル1では標準サイズが40桁×12行)
多くのユーザーが通常サイズとして使用しているのがモデル2の80桁×24行です。しかしソースプログラムやJCLなどを見たり編集したりするには縦のサイズが長い方が使いやすいですし、ジョブの実行結果などのリスト類を見るには横幅が長ければ左右のスクロールが不要になります。昔は端末機自体が機械でしたからハードウェアモデルでサイズが固定されていましたが、現在使われるソフトウェアによる3270エミュレーターの多くは画面サイズを簡単に設定変更できるようになっています。
TSOやISPFを利用するならModel4やModel5の縦長、横長のサイズも試してみてください。使い慣れると標準の80×24のサイズには戻れなくなります。


ログモードと画面サイズ

TSOなどのオンライン端末はVTAMによって接続されます。今はTN3270によるTCP接続が多いでしょうが、ホスト側ではTCPとTSO(あるいはCICS,IMS)の間にはVTAMが入ります。
VTAMは端末の基本的な情報をログモードと呼ばれるテーブル内に持っています。端末が繋がるとテーブル内のログモード情報をTSOなどのホスト側オンライン・プログラムに渡します。
TSOでは基本的な情報をこのログモードから得てどういう種類や属性の端末かを識別します。必要であれば更に詳細な事を直接端末に問い合わせます。例えば色は何色使えるか、罫線を引けるか、日本語処理できるのか、と言ったものがあります。端末の画面サイズは通常ログモードに定義されますが、省略されると画面サイズはホスト側プログラムが決めることになります。TSOの場合は端末に問い合わせて利用する画面サイズを決定します。ですから使用されるログモードを画面サイズを固定していないものにすればエミュレーター側で画面サイズを変更することができます。
どのユーザーでもVTAMは「ISTINCLM」という標準ログモード・テーブルを持っています。この中に「D4B32XX3」というエントリーがありますが、これは非SNA(Local Non-SNA)端末で画面サイズが固定されないものです。SNA(Local SNA)端末がいいなら「D4C32XX3」が利用できます。このログモードを使えば端末の画面サイズは接続時にTSOがエミュレーターと通信して決めることになるので、その大きさはエミュレーター側に設定したサイズになるわけです。こうしないと画面サイズ毎に異なるログモードを指定する必要があります。接続時にログモードを指定できないTN3270接続などではログモードで画面サイズを固定しない方が便利です。


TN3270プロファイルとログモード

使用するログモードが決まったらそれをTN3270のパラメーターに設定します。TCPIPのPROFILE内のTelnetParmsセクションで指定します。

    ; ---------------------------------------------------------------------
    ; Configure Telnet
    ; ---------------------------------------------------------------------
    ; TELNETPARMS: Configure the Telnet Server
    ; - TN3270(E) server port 23 options
    ;
    TelnetParms
      Port 1023                      ; Port number
      TELNETDEVICE 3278-2-E NSX32702 ; 24 line screen
                                     ; default of NSX32702 is 24
      TELNETDEVICE 3279-2-E NSX32702 ; 24 line screen
                                     ; default of NSX32702 is 24
      TELNETDEVICE 3278-3-E NSX32703 ; 32 line screen -
                                     ; default of NSX32702 is 24
      TELNETDEVICE 3279-3-E NSX32703 ; 32 line screen -
                                     ; default of NSX32702 is 24
      TELNETDEVICE 3278-4-E NSX32704 ; 48 line screen -
                                     ; default of NSX32702 is 24
      TELNETDEVICE 3279-4-E NSX32704 ; 48 line screen -
                                     ; default of NSX32702 is 24
      TELNETDEVICE 3278-5-E NSX32705 ; 132 column screen -
                                     ; default of NSX32702 is 80
      TELNETDEVICE 3279-5-E NSX32705 ; 132 column screen -
                                     ; default of NSX32702 is 80  
      TELNETDEVICE DYNAMIC  D4B32XX3 ; query screen size to terminal 
      LUSESSIONPEND     ; On termination of a Telnet server connection,
                        ; the user will revert to the DEFAULTAPPL
                        ; instead of having the connection dropped
    

TELNETDEVICEパラメーターを追加します。device typeに「DYNAMIC」、対応するログモードに「D4B32XX3」を指定します。TN3270E(SNAターミナル)であれば、「D4B32XX3,D4C32XX3」とカンマで区切ってSNA端末用のログモードを指定します。
VTAM端末の場合は、端末の定義文(LOCALやLU)で指定するMODETABとDLOGMODパラメーターを変更します。例えばMODETAB=ISTINCLM,DLOGMOD=D4B32XX3のようにです。

    LOCAL   LBUILD
    LOC0    LOCAL  CUADDR=0C0,             CU ADDRESS           PORT 0C0   X
                   DLOGMOD=D4B32XX3,       USE LARGE ALTER SIZE TERMINAL   X
                   MODETAB=ISTINCLM,       USE IBM STD MODETAB             X
                   ISTATUS=ACTIVE,         INITIAL ACTIVE                  X
                   TERM=3277,              3270 DISPLAY TERMINAL           X
                   FEATUR2=(MODEL2,EDATS), DEFAULT SCREEN SIZE             X
                   USSTAB=USRINCDT
    LOC1    LOCAL  CUADDR=0C1,             CU ADDRESS           PORT 0C1   X
                   DLOGMOD=D4B32XX3,       USE LARGE ALTER SIZE TERMINAL   X
                   MODETAB=ISTINCLM,       USE IBM STD MODETAB             X
                   ISTATUS=ACTIVE,         INITIAL ACTIVE                  X
                   TERM=3277,              3270 DISPLAY TERMINAL           X
                   FEATUR2=(MODEL2,EDATS), DEFAULT SCREEN SIZE             X
                   USSTAB=USRINCDT
    

3270エミュレーター側でのデバイスタイプ設定

IBMのPcomm win(パーソナル・コミュニケーションズ)であれば、セッション・プロファイルの[Telnet3270]セクションにTerminalTypeStringパラメーターを追加します。これはPcomm winのヘルプに記載されていることです。

    [Telnet3270]
             :
             :
    TerminalTypeString=IBM-DYNAMIC
             :
    

他のエミュレーターの場合は、マニュアルを見るか、ベンダーに問い合わせてみて下さい。


ISPFのスクリーンサイズ設定

ISPFをラージスクリーンで利用するなら、ISPFオプション0でScreen formatを3のMaxに設定します。


標準外サイズのラージスクリーン・サイズ

エミュレーターによっては規定された、Model2,4,5以外の任意のサイズに設定できるものもあります。例えば132桁×61行とかにできれば、印刷リストの1ページ分をまるまる表示できる大きさです。ISPFはこのような場合であっても画面に合わせてパネルを構成してくれます。

132桁×61行の端末画面例 [1]

132桁×61行の端末画面例


IBMのPcomm win(パーソナル・コミュニケーションズ)の場合は、セッション・プロファイルの[3270]セクションにあるScreenSizeパラメーターを直接修正します。

    [3270]
    ScreenSize=41x132
             :
             :
    

指定した行数と桁数によっては、ISPF実行時にスクリーンエラーになる場合があります。エミュレーターのバージョンなどでも違いがあるかも知れませんが、過去に試してみた経験では桁数を132にした場合、行数は41までが正しく動作できました。それでも24×80の小さなスクリーンに比べれば作業の効率は格段に向上します。