バージョン 4.2.5
 —  オペレーション  —

入力/出力デバイス

このドキュメントでは、Natural でサポートされる入力/出力デバイスに関する追加情報を示します。

以下のトピックについて説明します。


端末サポート

Natural は、IBM および Siemens メインフレームコンピュータで使用できるように多種多様の端末タイプをサポートします。 TP モニタ環境では端末タイプ情報が自動的には Natural に提供されないので、Natural プロファイルパラメータ TTYPE を使用して、Natural が適切な変換ルーチンをアクティブにして特定のタイプの端末を操作できるようにします。

関連トピック:

Top of page

ライトペンサポート

ライトペンのサポートは、端末コマンド %RM によって拡張されています。 このコマンドは、画面のすべてのライトペン対応フィールドを書き込み禁止にします。ユーザーはライトペンでフィールドを選択できますが、フィールドの内容を上書きすることはできません。

ライトペン対応のフィールドは、強調表示(セッションパラメータ AD=I)または点滅表示(AD=B)され、フィールドの先頭文字がライトペン指示文字(下記参照)である必要があります。 フィールドをライトペンで選択すると指示文字が変わるので、ライトペンで選択したフィールドの処理を指示文字の値に基づいて行うことができます。

以下の指示文字を使用できます。

文字 意味
? Enter キーを押す前に複数のフィールドを選択できます。
> 選択したフィールドをもう一度選択すると、この文字は疑問符 ? に変わります。?> は相互に切り替わります。
& 1 つのフィールドのみ選択でき、Enter キーはフィールドと MDT(変更可能データタグ)の両方に適用されます。
' '(空白) 1 つのフィールドのみ選択でき、MDT のみが表示されます。

指示文字で、選択フィールド(?>)とアテンションフィールド(&、空白または空)を区別する必要があります。 選択フィールドでは、データ転送はすぐに行われないので、複数のフィールドを選択できます。 アテンションフィールドでは、直ちに処理が行われます。

SELECT CURSOR キーは、ライトペン選択をエミュレートします。 選択するフィールドにカーソルを移動し、SELECT CURSOR を押すと、そのフィールドが選択されます。

ライトペン使用のサンプル Natural プログラム

RESET #FIELD-1 (A8)
  #FIELD-2 (A8) #FIELD-3 (A8) #CV-1 (C) #CV-2 (C) #CV-3 (C)
SET KEY ALL
/* SET CONTROL 'RM' IS A TOGGLE. AFTER IT IS EXECUTED ONCE MAKE IT A
/* COMMENT, SO THAT YOU DO NOT TOGGLE IT 'OFF'.
**SET CONTROL 'RM'
REPEAT
  IF *PF-KEY NOT = 'ENTR' AND *PF-KEY NOT = 'PEN' ESCAPE BOTTOM
  MOVE (AD=I CD=YE) TO #CV-1
  MOVE (AD=I CD=RE) TO #CV-2
  MOVE (AD=I CD=BL) TO #CV-3
  MOVE ' FIELD-1' TO #FIELD-1
  MOVE '&FIELD-2' TO #FIELD-2
  MOVE '?FIELD-3' TO #FIELD-3
  INPUT (SG=OFF IP=OFF)
    01/01 #FIELD-1 (CV=#CV-1 AD=M)
    03/01 #FIELD-2 (CV=#CV-2 AD=M)
    05/01 #FIELD-3 (CV=#CV-3 AD=M)
  WRITE 'PF-KEY =' *PF-KEY
  IF #CV-1 MODIFIED WRITE '#CV-1 MODIFIED' #FIELD-1
  IF #CV-2 MODIFIED WRITE '#CV-2 MODIFIED' #FIELD-2
  IF #CV-3 MODIFIED WRITE '#CV-3 MODIFIED' #FIELD-3
LOOP
END

Top of page

プリンタのサポート

以下のトピックについて説明します。

プリンタ送り制御文字

プリンタ送り制御文字は、DEFINE PRINTER ステートメントを以下のように使用して、Natural プログラム内で生成できます。

.... 
DEFINE PRINTER (n) OUTPUT 'name' 
DEFINE PRINTER (n+1) OUTPUT 'CCONTROL' 
....

プリンタ(n)のすべての Natural 出力が通常の Natural レポート出力ルールに従い、プリンタ(n+1)のすべての Natural 出力もプリンタ(n)に出力されるように、両方の DEFINE PRINTER ステートメントがともに動作します。 Natural は、このレポート用のプリンタ送り制御文字は生成しません。 したがって、出力変数の最初の文字は制御文字です。

このメソッドを使用すると、レーザープリンタシステムの制御文字とラインプリンタのチャネル送り文字を通常の Natural 出力レポートでマージすることができます。

プリンタ送り制御文字のサンプル Natural プログラム

....
DEFINE PRINTER (1) OUTPUT 'CMPRT01'
DEFINE PRINTER (2) OUTPUT 'CCONTROL'
WRITE (1) 'TEST '
WRITE (2) NOTITLE '+TEST'
MOVE H'5A' TO A(A1) WRITE (2) A (PM=C) '....'
....

列 0 から始まるスプールファイル内の対応する 16 進数データは、以下のとおりです。

I..I..I..I..I..I..I..I..I..I..I..I..I..I..I
F1 E3 C5 E2 E3
1 T E S T
4E E3 C5 E2 E3
+ T E S T 5A .. ..
..
ܜ . . .

CCONTROL は、プリンタ n-1 に関連付けられた特殊なプリンタ制御テーブルの名前です。これは変更できません。

Natural によるレーザープリンタのサポート

Natural では IBM 3800 レーザープリンタシステムがサポートされます。

3800 プリンタシステム用のレポートの制御と割り当てには、DEFINE PRINTER ステートメントを使用します。 このステートメントを使用して、レポート 1 の Natural 出力が 3800 プリンタシステムにルーティングされるように指定できます。

DEFINE PRINTER (1) OUTPUT 'LAS3800'                
 I I => 1-31 for CMPRT01 to CMPRT31
 ....

INTENS パラメータの設定に基づいて、Natural は各行を最大 4 回繰り返し、Natural 属性 AD=DAD=IAD=C、および AD=V を認識します(セッションパラメータ AD を参照)。

1 行目の最初の列には ASA 制御コードが含まれ、2 番目の列には最初のフォントの 3800 フォント制御文字(16 進数の F0)が含まれます。 2 から nnn までの列には、属性 AD=IAD=C、または AD=V のフラグが設定されていない出力データが含まれます。

2 行目の最初の列には ASA 制御コード +(行送りなしの出力)が含まれ、2 番目の列には 2 番目のフォントの 3800 フォント制御文字(16 進数の F1)が含まれます。 2 から nnn までの列には、AD=I のフラグが設定された出力データが含まれます。

3 行目の最初の列には ASA 制御コード +(行送りなしの出力)が含まれ、2 番目の列には 3 番目のフォントの 3800 フォント制御文字(16 進数の F2)が含まれます。 2 から nnn までの列には、AD=C のフラグが設定された出力データが含まれます。

4 行目の最初の列には ASA 制御コード +(行送りなしの出力)が含まれ、2 番目の列には 4 番目のフォントの 3800 フォント制御文字(16 進数の F3)が含まれます。 2 から nnn までの列には、AD=V のフラグが設定された出力データが含まれます。

4 未満の値で INTENS を指定している場合は、サポートされていないすべてのフォントは 16 進数の F0 で出力されます。

レーザープリンタ使用のサンプル Natural プログラム

....
DEFINE PRINTER (1) OUTPUT 'LAS3800'
WRITE (1) 'FIRST' 'SECOND' (AD=I) 'THIRD' (AD=C) 'FOURTH' (AD=V)
....

列 0 から始まるスプールファイル内の対応する 16 進数データは、以下のとおりです。

I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I..I
40 F0 C6 C9 D9 E2 E3 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 (hex)
    0  F I R S T
4E F1 40 40 40 40 40 40 E2 C5 C3 E4 D5 C4 C4 40 40 40 40 40 40 40 (hex)
+ 1                      S E C O N D
4E F2 40 40 40 40 40 40 40 40 40 40 40 40 40 E3 C8 C9 D9 D4 40 40 (hex)
+ 2                                           T H I R D
4E F3 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 C5 (hex)
+ 3                                                             F

レーザープリンタ使用のサンプル JCL

....
//xxxx JOB xxxxx,....
.
//xxxxx EXEC PGM= XXXXXX;......
.
// PARM='INTENS=4,XXXX,.......
.
.
//OUT1 OUTPUT PAGEDEF=XXXX,FORMDEF=XXXX,TRC=ON
.                      I             I
.                      I             I => 3800 form definition
.                      I         
.                      I => 3800 page definition .
//CMPRT01 DD SYSOUT=Y
//        DCB=(RECFM=FBA,LRECL=133),OUTPUT=*,OUT1
//        CHARS=(WWWW,XXXX,YYYY, ZZZZ)
                  I
                  I => IBM font names
...

Top of page