【2008/10/15 original author KAMII】
※オリジナルの記事は内容が古すぎるため、Pcomm V12以降およびz/OS V2以降に合わせて改訂しました。
3270端末の画面サイズについて
TSOなどで利用する端末の画面サイズは、多くのユーザーが80桁×24行としています。しかし、TSOとISPFは画面サイズを固定しているわけではありません。端末側の画面サイズに合わせてスクリーン・パネルを編集してくれます。元々IBM社の3270ターミナルには、以下のように異なる画面サイズのモデルが用意されていました。
- Model1: 12行×80桁
- Model2: 24行×80桁
- Model3: 32行×80桁
- Model4: 43行×80桁
- Model5: 27行×132桁
モデル2以降は、どのモデルも標準の画面サイズは80桁×24行のサイズですが、代替サイズとして上記のサイズを持っています(モデル1では標準サイズが40桁×12行)。
多くのユーザーが、通常サイズとして使用しているのがモデル2の80桁×24行です。しかしソース・プログラムやJCLなどを見たり編集したりするには縦のサイズが長い方が使いやすいですし、ジョブの実行結果などのリスト類を見るには横幅が長ければ左右のスクロールが不要になります。昔は、端末機自体が機械でしたからハードウェア・モデルでサイズが固定されていましたが、現在使われるソフトウェアによる3270エミュレーターの多くは画面サイズを簡単に設定変更できるようになっています。TSOやISPFを利用するなら、Model4やModel5の縦長、横長のサイズも試してみてください。使い慣れると標準の80×24のサイズには戻れなくなるかも知れません。
3270エミュレーターの画面サイズを変更する
IBM Pcomm(パーソナル・コミュニケーションズ)の場合(Model4またはModel5への変更)
IBMのPcommでは、「通信の構成」のセッション・パラメーターで画面サイズを変更することができます。標準の24行×80桁以外の選択肢は、32行×80桁、43行×80桁、27行×132桁および62行×160桁です。
※画像をクリックすると拡大され、画像中の文字も鮮明に表示できます。
変更後の画面サイズでログオンし直したら、ISPF側での設定を変更します。
※画像をクリックすると拡大され、画像中の文字も鮮明に表示できます。
IBM Pcomm(パーソナル・コミュニケーションズ)の場合(規定外サイズへの変更)
エミュレーターによっては、規定されたModel2、3、4、5以外の任意のサイズに設定できるものもあります。例えば、60行×132桁とかにできれば、印刷リストの1ページ分をまるまる表示できる大きさです。ISPFはこのような場合であっても画面に合わせてパネルを構成してくれます。
現在のPcommでは、62行×160桁という大きな画面サイズが設定できるようになっていますが、このサイズになるとノート・パソコンではフォントが小さくて目が疲れるでしょう。デスクトップ・パソコンでも27インチ等の大きなディスプレイでないと長時間の使用は厳しいでしょう。それに、一般的なz/OSの業務であれば、ほとんどの出力リストや帳票類は120桁から132桁でデザインされています。160桁もの横幅が必要になることはほとんどありません。Model4と5を組み合わせた位の40行×132桁であれば、15インチ・サイズの液晶パネルを持つノート・パソコンでも実用的なフォントサイズで表示できますし、デスクトップ・パソコンと23ないしは24インチのディスプレイなら50~60行×132桁位の大きさにしても長時間の作業が可能でしょう。
規定サイズ以外のラージスクリーン・サイズは、セッション・パラメーターのダイアログ・ボックスでは設定できませんが、セッション・プロファイル(WSファイル)の[3270]セクションにあるScreenSizeパラメーターを直接修正すれば(*1)、任意のサイズに設定することができます。
*1 セッション・パラメーターの拡張子はwsだが、中身はテキストファイルなのでメモ帳などのテキストエディターで編集できる。
1 2 3 4 |
[3270] ScreenSize=40x132 : : |
大きすぎる行数と桁数にすると、ISPF実行時にスクリーン・エラーになる場合があります。エミュレーターのバージョンなどでも違いがあるでしょうが、Pcommの標準機能で設定できる最大サイズ(現在は62行×160桁)内であれば問題ないでしょう。40行~60行×132桁ならその範囲内です。24×80の小さなスクリーンに比べれば、ラージ・スクリーンでは作業効率が格段に向上します。
セッション・プロファイル(WSファイル)を修正したら、エミュレーター・セッションを再起動します。Pcommのバージョン6.0以降であれば、TN3270の装置タイプは自動的に調整(画面サイズが27×132より大きい場合はTerminalTypeStringにIBM-DYNAMICが設定)されます。
新しい画面サイズで接続し直してTSOにログオンしたら、ISPFのオプション0(SETTINGS:設定)でScreen format(画面形式)に「3」(MAX)を設定すれば、ISPFは指定した画面サイズに調整します。なお、規定外の画面サイズはCICSやIMSではサポートされない可能性があります。CICSやIMSも使用する場合は、TSO用のセッション・プロファイル(WSファイル)を別に作りそちらで設定する方がいいでしょう。SMCSコンソールは、規定外のサイズでもエミュレーター側の画面サイズに合わせてコンソール画面サイズを決定します。
ラージスクリーン・サイズの画面例
※画像をクリックすると拡大され、画像中の文字も鮮明に表示できます。
※画像をクリックすると拡大され、画像中の文字も鮮明に表示できます。
以上が3270エミュレーターでラージスクリーンを利用する方法です(*2)。現在のz/OSであれば、ISPFのプロファイル設定で画面形式をMaxにしておけば、後はPcomm側で設定した画面サイズでISPFを利用することができます。ほとんどの場合、z/OS側のTCP/IPやTN3270サーバーの定義を変更する必要はありません。
*2 IBMのPcomm以外のエミュレーターの方法は、マニュアルを見るかベンダーに問い合わせてみて下さい。
以下の解説は、旧記事の内容を基にした関連知識の追記です。
ログモードと画面サイズ
TSOなどのオンライン端末は、VTAMによって接続されます。今日では、TN3270によるTCP/IP接続がほとんどですが、ホスト側ではTCPIPとTSO(あるいはCICSやIMS)の間にはVTAMが入ります。
VTAMは端末の基本的な情報をログモードと呼ばれるテーブル内に持っています。TCP/IPを経由して(あるいはチャネルを介して)端末がVTAMに繋がると、VTAMはログモード・テーブル内のログモード情報を、TSOなどのホスト側オンライン・プログラムに渡します。TSOは、端末に関する基本的な属性情報をこのログモードから得てどういう種類や属性の端末かを識別します。端末の画面サイズもログモードに定義される情報です。必要であれば更に詳細な事を直接端末に問い合わせます。例えば、色は何色使えるか、罫線を引けるか、日本語処理できるのか、と言ったものがあります。
端末がどのログモードを使うかは、端末がVTAM接続時に情報として渡します(省略された場合はVTAM側に定義されたものを使う)。TCP/IPのTN3270接続の場合、3270エミュレーターから通知されるTelnet装置タイプ(IBM-3278-2-E等)に基づき、z/OS側のTN3270サーバーが決定します。
TSOログオン時に省略時ログモードを変更する
通常は、3270エミュレーターから通知されるTelnet装置タイプに基づいた省略時ログモードが使用されますが、端末利用者が接続時に使用するログモードを明示することもできます。TN3270接続時に、3270エミュレーター側にVTAMのUSSスクリーンが表示されるようにカスタマイズされていれば、USSスクリーン上でVTAM USS(*3)のLOGONコマンドを実行することで、TSO接続時の省略時ログモードを変更することができます。
LOGON△APPLID(TSO)△LOGMODE(D4C32XX3)
LOGON△APPLID(TSO)△DATA(userid)△LOGMODE(D4C32XX3)
*3 Unformatted System Services. 非定型式(不定様式)システム・サービスと呼ばれる、端末接続時の初期画面表示、接続コマンドの入力とエラーメッセージ出力などの処理を行うVTAMの機能。z/OSのTN3270サーバーは、端末セッションの接続時にVTAM端末と同様の操作ができるようVTAMのUSS機能をサポートしている。
※画像をクリックすると拡大され、画像中の文字も鮮明に表示できます。
上記の画面は、TN3270のサンプルUSSスクリーン(TCPIP.SEZAINST(EZBTPUST))の例です。TN3270のプロファイルでUSSテーブルを使用することが定義されていない場合は、USS画面ではなくTN3270デフォルトのTelnetソリシター(solicitor)画面が使用されます。デフォルトのソリシター画面では、TSOやCICSなどの接続先アプリケーションの指定はできますが、接続時に使用するログモードの指定はできません。
※画像をクリックすると拡大され、画像中の文字も鮮明に表示できます。
TN3270プロファイルとログモード
3270エミュレーターから通知されるTelnet装置タイプ(IBM-3278-2-E等)に基づいて選択されるログモードの関係は、TN3270サーバーが使用するプロファイル・メンバー(TN3270E Telnetサーバー構成データ・セット)内のTELNETDEVICEステートメントで定義されます。下記の定義は、TCPIP.SEZAINST(EZBTNPRF)で提供されるTN3270サーバーのサンプル定義メンバーの内容です。ステートメント名、Telnet装置タイプ、ログモード名の順で定義されています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
TelnetGlobals : ; Define logon mode tables to be the defaults shipped with the ; latest level of VTAM 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 : EndTelnetGlobals |
実際にTELNETDEVICEステートメントが定義されていなくても、TN3270サーバーの省略時解釈によって適切なログモードが選択されます。しかし、TN3270E(enhance)ではなくTN3270接続の場合、省略時解釈では画面サイズ別のログモードが選択されず全てNSX32702という24行×80桁サイズのログモードになってしまうため、提供されているサンプルのように非TN3270E接続時のログモードが画面サイズ別のログモードになるよう明示します。ただし、今日ではTN3270Eで利用することがほとんどです(*4)。
なお、日本ではISPFを日本語パネルで使用するユーザーも多く、その場合、日本語が含まれるTSOのテキスト・メッセージが文字化けしないようLANGパラメーターが追加されたログモードが選択されるようにカスタマイズされている場合もあります。
1 2 3 4 5 6 7 8 9 10 |
TelnetGlobals : ; Define logon mode tables to be the defaults shipped with the ; latest level of VTAM TELNETDEVICE 3278-2-E NSX32702,SKD32702 ; 24line*080col DBCS Terminal TELNETDEVICE 3278-3-E NSX32703,SKD32703 ; 32line*080col DBCS Terminal TELNETDEVICE 3278-4-E NSX32704,SKD32704 ; 43line*080col DBCS Terminal TELNETDEVICE 3278-5-E NSX32705,SKD32705 ; 27line*132col DBCS Terminal : EndTelnetGlobals |
*4 当初制定されたTN3270に比べ、TN3270Eの方がより忠実にSNAプロトコルを再現できる。
今日では一般の利用者が使うことは少なくなりましたが、チャネルを介して接続されるローカル端末はVTAM側に直接定義されます。TN3270のプロファイル同様に、省略時のログモードも端末定義に含まれます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
LOCAL LBUILD LOC0 LOCAL CUADDR=0710, CU ADDRESS 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=0711, CU ADDRESS 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 : |
【2008/10/15 original author KAMII】