バージョン 4.2.5
 —  ステートメント  —

DEFINE PRINTER

DEFINE PRINTER ([logical-printer-name=]n)
    [OUTPUT operand1]        

PROFILE operand2
CODEPAGE operand2
FORMS operand2
NAMEoperand2
DISPoperand2
CLASSoperand2
COPIESoperand3
PRTYoperand4

7

このドキュメントでは、次のトピックについて説明します。

構文図で使用されている記号については、「構文記号」を参照してください。

関連ステートメント:AT END OF PAGE | AT TOP OF PAGE | CLOSE PRINTER | DISPLAY | EJECT | FORMAT | NEWPAGE | PRINT | SKIP | SUSPEND IDENTICAL SUPPRESS | WRITE | WRITE TITLE | WRITE TRAILER

関連機能グループ:「出力レポートの作成


機能

DEFINE PRINTER ステートメントは、記号名をレポート番号に割り当て、論理出力先へのレポートの割り当てを制御するために使用します。 これにより、さまざまな論理印刷キューへの出力をより柔軟に作成できます。

このステートメントの実行時に、指定したプリンタがすでに開いていた場合、プリンタはステートメントにより暗黙的に閉じられます。 ただし、プリンタを明示的に閉じる場合は、CLOSE PRINTER ステートメントを使用する必要があります。

DEFINE PRINTER ステートメントの詳細については、「Natural プログラミング言語での Unicode およびコードページのサポート」セクションの「ステートメント」を参照してください。

Top of page

構文説明

オペランド定義テーブル:

オペランド 構文要素 フォーマット オペランド参照 ダイナミック定義
operand1 C S       A U                       不可
operand2 C S       A U                       不可
operand3 C S           N                     不可
operand4 C S           N P I                 不可

構文要素の説明:

(n)
プリンタ番号:

セッションの間に使用するすべての出力ファイルは、プロファイルパラメータ PRINT のサブパラメータ AM(アクセスメソッドのタイプ)によってアクセスメソッドに事前に割り当てるか、または JCL での定義(AM=STD のみ)によって自動的に割り当てられます。

プリンタ番号 n は、0~31 の範囲にある値になります。 この番号は、DISPLAY/WRITE または CLOSE PRINTER ステートメントでも使用されます。

プリンタ番号 0 はハードコピープリンタを示します。 一部のアクセスメソッドでは、AM=PC などのハードコピープリンタはサポートされていません。

logical-printer-name
論理プリンタ名:

オプションで、論理名 logical-printer-name をプリンタ n に割り当てることができます。 この名前は、DISPLAY/WRITE ステートメントで rep 表記に使用できます。

logical-printer-name の命名規則はユーザー定義変数と同じです。 同じプリンタ番号に複数の論理名を割り当てることができます。 OUTPUT オペランド(下記参照)の値とは異なり、logical-printer-name はコンパイル時に評価されるので、プログラム制御フローから独立しています。

OUTPUT operand1
プリンタ名:

operand1 では、オンラインスプーリングシステム内でプリンタ名を指定したり、プリンタ番号に割り当てる出力ファイル名や追加プリンタの名前を指定したりすることができます。詳細については、下記の「追加レポートのプリンタ名」を参照してください。 プロファイルパラメータ PRINT のサブパラメータ DEST で、最初に 8 バイトの論理プリンタ名を定義できます。 そのデフォルト値はアクセスメソッドのタイプによって異なり、また operand1 で上書きされることもあります。

operand1 の長さは 1 ~ 253 文字です。 operand1 が変数の場合は、その長さを少なくとも 8 バイトにする必要があります。 名前には、プリンタまたは論理/物理データセット名のいずれかを指定できます。 可能なフォーマットは、オペレーティングシステム環境、およびこのプリンタ番号に対してプロファイルパラメータ PRINT のサブパラメータ AM で定義するアクセスメソッドによって異なります。

指定した名前がすでに別のプリンタ番号に対して定義されており、さらにこのプリンタが未使用(つまり閉じた状態)の場合、指定したプリンタ番号に対してプロファイルパラメータ PRINT のサブパラメータ ROUTE=ON を設定していると、出力はこのプリンタにルーティングされます。 operand1 と一致するプリンタ名がない場合は、最も大きな番号を持つ未使用のプリンタが使用され、またその名前は operand1 で上書きされます。 出力のルーティングは、SYSFILE コマンドを使用してユーザーに表示することはできません。

各オペレーティングシステムまたは各 TP モニタにおけるプリンタの命名規則については、次のセクションを参照してください。

下記の節を使用すると、TP モニタまたはオペレーティングシステムのスプーリングシステムによって解釈される印刷制御情報を提供できます。 これらの節を 1 つまたは複数指定することができますが、それぞれの節の指定は 1 回のみです。

PROFILE operand2
プリンタ制御文字テーブルの名前:

PROFILE 節では、operand2 としてプリンタ制御文字テーブルの名前を指定できます。 operand2 の最大長は 8 バイトです。

プリンタ制御文字テーブルは、プロファイルパラメータ CCTAB(プリンタエスケープシーケンス定義)で定義できます。

注意:
Natural Advanced Facilities を使用すると、プリンタ制御文字テーブルのメンテナンスをオンラインで行うことができます(『Natural Advanced Facilities』ドキュメントを参照)。

CODEPAGE operand2
コードページの名前:

CODEPAGE では、NATCONFG モジュールで指定されているコードページの名前(フォーマット/長さ:A64)を示します。

CODEPAGE を各 OUTPUT の出力先に適用しない場合、CODEPAGE は無視されます。

スプーリングシステムのパラメータ

下記の節を使用すると、TP モニタのスプーリングシステムのパラメータに値を指定できます。 これらの節のデフォルト値は、プロファイルパラメータ PRINT の対応するサブパラメータで設定できます(DEFINE PRINTER ステートメントのキーワードサブパラメータの説明を参照)。

プリンタを閉じると、すべてのオプションがデフォルト値にリセットされます。 Natural 環境での定義が不明な場合は、各モジュールで、DEFINE PRINTER ステートメントを使用して定義を設定することをお勧めします。

FORMS operand2
フォーム:

オペランドの最大長は 8 バイトです。 この節のデフォルト値は、プロファイルパラメータ PRINT のサブパラメータ FORMS で設定できます。

NAME operand2
リスト名:

オペランドの最大長は 8 バイトです。 この節のデフォルト値は、プロファイルパラメータ PRINT のサブパラメータ NAME で設定できます。

DISP operand2
出力先:

オペランドの最大長は 4 バイトです。

DISP 節で指定できる operand2 の値は、DELHOLDKEEP、および LEAV です。 この節のデフォルト値は、プロファイルパラメータ PRINT のサブパラメータ DISP で設定できます。 DISP 節を省略した場合(または指定が正しくない場合)は、デフォルトで DEL が適用されます。

CLASS operand2
スプールクラス:

オペランドの最大長は 1 バイトです。 この節のデフォルト値は、プロファイルパラメータ PRINT のサブパラメータ CLASS で設定できます。

COPIES operand3
コピー部数:

operand3 は整数値でなければなりません。 この節のデフォルト値は、プロファイルパラメータ PRINT のサブパラメータ COPIES で設定できます。

PRTY operand4
リスト表示のプロパティ:

設定可能値:1~255。 operand4 は整数値でなければなりません。 この節のデフォルト値は、プロファイルパラメータ PRINT のサブパラメータ PRTY で設定できます。

Top of page

z/OS バッチ、TSO、およびサーバーでのプリンタ名

このセクションでは、次のトピックについて説明します。

アクセスメソッド AM=STD を指定してプリンタ番号を定義する場合は、operand1 を使用して、そのプリンタ番号に割り当てられる論理または物理データセット名を指定できます。

operand1 は 1~253 文字で指定し、また次のいずれかになります。

論理データセット名

例:

DEFINE PRINTER (21) OUTPUT 'SYSPRINT'

DD 名 SYSPRINT で指定したデータセットは、DEFINE PRINTER ステートメントを実行する前に割り当てる必要があります。 詳細については、後述の「データセットの割り当てと割り当て解除」を参照してください。

割り当ては、JCL、CLIST(TSO)、またはダイナミックアロケーション(SVC 99)によって実行できます。 ダイナミックアロケーションには、ライブラリ SYSEXT にあるアプリケーションプログラミングインターフェイス USR2021N を使用できます。

DEFINE PRINTER ステートメントで定義したデータセット名は、プロファイルパラメータ PRINT のサブパラメータ DEST で指定した名前よりも優先されます。

オプションで、データセット名に接頭辞 DDN= を付けて、それが DD 名であることを示すことができ、また追加レポートを使用して名前の競合を回避することもできます。 次に例を示します。

DEFINE PRINTER (22) OUTPUT 'DDN=SOURCE'

物理データセット名

例:

DEFINE PRINTER (23) OUTPUT 'TEST.PRINT.FILE'

指定したデータセットが、カタログフォーム内に存在している必要があります。 DEFINE PRINTER ステートメントを実行すると、現在の DD 名とオプション DISP=SHR を含む SVC 99 によって、データセットはダイナミックに割り当てられます。 詳細については、後述の「データセットの割り当てと割り当て解除」を参照してください。

データセット名が 8 文字以下でピリオド(.)を含んでいない場合は、誤って DD 名と解釈されている可能性があります。 これを回避するには、名前の先頭に DSN= を付けます。 次に例を示します。

DEFINE PRINTER (22) OUTPUT 'DSN=PRINTXYZ'

データセットが PDS メンバの場合は、データセット名(1~44 文字)の後に PDS メンバ名(1~8 文字)をカッコで囲んで指定します。 次に例を示します。

DEFINE PRINTER (4) OUTPUT 'TEST.PRINT.PDS(TEST1)'

指定したメンバが存在しない場合は、指定した名前の新しいメンバが作成されます。

HFS ファイル

例:

DEFINE PRINTER (14) OUTPUT '/u/nat/rec/test.txt'

指定したパス名が存在する必要があります。 DEFINE PRINTER ステートメントを実行すると、HFS ファイルがダイナミックに割り当てられます。 指定したメンバが存在しない場合は、指定した名前の新しいメンバが作成されます。

データセットのダイナミックアロケーションでは、次の z/OS パスオプションを使用します。

PATHOPTS=(OCREAT,OTRUNC,ORDWR)
PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
FILEDATA=TEXT

HFS ファイルを閉じると、z/OS によってそのファイルの割り当てが自動的に解除されます(プロファイルパラメータ PRINT のサブパラメータ FREE の設定に関係なく)。

JES スプールファイルクラス

JES スプールデータセットを作成するには、SYSOUT=xx は目的のスプールファイルクラス)を指定します。 デフォルトスプールファイルクラスの場合は、SYSOUT=* を指定します。

例:

DEFINE PRINTER (10) OUTPUT 'SYSOUT=A'
DEFINE PRINTER (12) OUTPUT 'SYSOUT=*'

ダイナミックアロケーションの追加パラメータを指定するには、DEFINE PRINTER ステートメントの代わりに、ライブラリ SYSEXT にあるアプリケーションプログラミングインターフェイス USR2021N を使用します。

NULLFILE

ダミーのデータセットを割り当てるには、 operand1 として NULLFILE を指定します。

DEFINE PRINTER (n) OUTPUT 'NULLFILE

これは、次の JCL 定義に対応しています。

// DD-name DD DUMMY

データセットの割り当てと割り当て解除

DEFINE PRINTER ステートメントを実行するときに、物理データセット名、HFS ファイル、スプールファイルクラス、またはダミーデータセットがすでに指定してある場合、対応するデータセットはダイナミックに割り当てられます。 論理出力ファイルがすでに開いていると、その論理出力ファイルは自動的に閉じられます。ただし、プロファイルパラメータ PRINT のサブパラメータ CLOSE=FIN(閉じるタイミング)が指定してある場合は、エラーが発行されます。 さらに、新しいデータセットを割り当てる前に、同じ現在の DD 名で割り当てられている既存のデータセットは、自動的に割り当てが解除されます。

プログラムの開始時にまだ割り当てられていない出力ファイルのオープンに失敗して不要なオーバーヘッドが発生するのを防止するために、プロファイルパラメータ PRINT のサブパラメータ OPEN=ACC(最初のアクセス時に開く)を指定して出力ファイルを定義する必要があります。

HFS ファイルの場合、またはプロファイルパラメータ PRINT のサブパラメータ FREE=ON を指定して出力ファイルを定義した場合は、これらのファイルを閉じると、直ちに出力ファイルの割り当てが自動的に解除されます。

データセットのダイナミックな割り当てと割り当て解除の代わりとして、ライブラリ SYSEXT でアプリケーションプログラミングインターフェイス USR2021N が提供されています。 また、この API を使用すると、ダイナミックアロケーションの追加パラメータを指定することもできます。

サーバー環境での出力ファイル

サーバー環境では、複数の Natural セッションによって同じ DD 名でデータセットの割り当てまたはオープンが試みられると、エラーが発生することがあります。 これを回避するには、プロファイルパラメータ PRINT のサブパラメータ DEST=* で出力ファイルを指定するか、または DEFINE PRINTER ステートメントで OUTPUT '*' を指定して、その出力ファイルに対して最初の DEFINE PRINTER ステートメントを実行する際に、Natural が物理データセットの割り当てで一意な DD 名を生成するようにします。

DD 名が CM で始まるすべての出力ファイルは、サーバー環境内のすべてのセッションによって共有されます。 共有された出力ファイルは最初のセッションによって開かれ、サーバーを終了すると物理的に閉じられます。 詳細については、『オペレーション』ドキュメントの「サーバーとしての Natural」セクションを参照してください。

Top of page

z/VSE バッチ環境でのプリンタ名

アクセスメソッド AM=STD を指定してプリンタ番号を定義する場合、operand1 は次のようになります。

論理データセット名

例:

DEFINE PRINTER (2) OUTPUT 'SYSOUT1'

指定するデータセット SYSOUT1 は、JCL や、z/VSE の標準またはパーティションラベルで定義されている必要があります。

DEFINE PRINTER ステートメントで指定したデータセット名は、プロファイルパラメータ PRINT のサブパラメータ DEST で指定した名前よりも優先されます。

オプションで、データセット名に接頭辞 DDN= を付けて、それが DD 名であることを示すこともできます。 次に例を示します。

DEFINE PRINTER (5) OUTPUT 'DDN=MYPRINT'

NULLFILE

ダミーのデータセットを割り当てるには、operand1 として NULLFILE を指定します。

DEFINE PRINTER (n) OUTPUT 'NULLFILE

Top of page

VM/CMS 環境でのプリンタ名

アクセスメソッド AM=STD を指定してプリンタ番号を定義する場合は、operand1 を使用して、そのプリンタ番号に割り当てられる論理または物理データセット名を指定できます。

その際に、z/OS 環境と同じことが適用されますが(「z/OS バッチ、TSO、およびサーバーでのプリンタ名」を参照)、次の点で異なります。

Top of page

BS2000/OSD バッチおよび TIAM 環境でのプリンタ名

アクセスメソッド AM=STD を指定してプリンタ番号を定義する場合は、operand1 を使用して、そのプリンタ番号に割り当てられるファイル名、リンク名、またはシステムファイルを指定できます。

この場合、operand1 は長さが 1~253 文字になり、次のいずれかを表します。

次の規則が適用されます。

  1. ファイル名とリンク名は、位置指定パラメータとしてもキーワードパラメータとしても指定できます。 対応するキーワードは FILE=LINK= です。 位置指定パラメータとキーワードパラメータの混在は可能ですが、お勧めしません。

  2. コンマなしの 1~8 文字長の文字列はリンク名と解釈されます。 この表記は Natural の旧バージョンと互換性があります。 例:

    DEFINE PRINTER (1) OUTPUT 'P01'

    キーワードパラメータを使用した対応する定義は次のとおりです。

    DEFINE PRINTER (1) OUTPUT 'LINK=P01'
  3. コンマなしの 9~54 文字長の文字列はファイル名と解釈されます。 例:

    DEFINE PRINTER (2) OUTPUT 'NATURAL31.TEST.PRINTER02'

    キーワードパラメータを使用した対応する定義は次のとおりです。

    DEFINE PRINTER (2) OUTPUT 'FILE=NATURAL31.TEST.PRINTER02
  4. 次の入力は、長さを考慮せずに解釈されるので、ルール 2 と 3 の例外です。

    例:DEFINE PRINTER (7) OUTPUT 'FILE=Y' は文字列に含まれる文字数が 9 文字未満ですが、有効なファイル割り当てであり、リンク名ではありません。

  5. 一般的なファイル名の形式は次のとおりです。

    pnn.userid.tsn.date.time.number

    ここでは次の内容を表しています。

    nn レポート番号
    userid Natural ユーザー ID、8 文字
    tsn 現在のタスクの BS2000/OSD TSN、4 桁
    date DDMMYYYY
    time HHIISS
    number シーケンシャル番号、5 桁
  6. 一般的なリンク名の形式は次のとおりです。

    NPFnnnnn

    nnnnn は 5 桁の数字で、ダイナミックリンク名が生成されるたびに 1 ずつ増加します。

  7. プリンタ番号へのファイル割り当てを変更すると、割り当てられていた出力ファイルは CLOSE により暗黙的に閉じられます。

リンク名のみを指定する場合(例:P01)を除き、すべての場合においてキーワードパラメータを使用することをお勧めします。 これにより、追加レポートとの名前の競合を防ぐことができます。9 文字未満のファイル名を使用する場合には必須です。

例:

DEFINE PRINTER (1) OUTPUT 'LINK=SOURCE'
DEFINE PRINTER (1) OUTPUT 'FILE=SOURCE'
DEFINE PRINTER (1) OUTPUT 'SOURCE'

リンク名

例:

DEFINE PRINTER (1) OUTPUT 'LINKP01'

次の構文と同じ意味です。

DEFINE PRINTER (1) OUTPUT 'LINK=LINKP01'

LINK LINKP01 を含むファイルが、実行時に存在している必要があります。 これは、Natural を開始する前に JCL を使用するか、または現在のアプリケーションからダイナミックに割り当てることにより、作成することができます。 ダイナミックアロケーションには、ライブラリにあるアプリケーションプログラミングインターフェイス USR2029 を使用できます。 実行前に、リンクが別のファイルへの宛先として有効になっていた場合(例:P01)、プロファイルパラメータ PRINT のサブパラメータ FREE の値(指定可能な値は ON および OFF)に応じて、リンクは開放または保持されます。 解放は、BS2000/OSD コマンドプロセッサに対する明示的な RELEASE コールによって実行されます。

ファイル名

例:

DEFINE PRINTER (2) OUTPUT 'NATURAL31.TEST.PRINTER02'

次の構文と同じ意味です。

DEFINE PRINTER (2) OUTPUT 'FILE=NATURAL31.TEST.PRINTER02'

operand1 で指定したファイルは、FILE マクロコールを使用して設定され、また DEFINE PRINTER ステートメントの実行前に対応する出力ファイルに対して有効だったリンク名を継承します。

一般的なファイル名

例:

DEFINE PRINTER (21) OUTPUT '*'

次の構文と同じ意味です。

DEFINE PRINTER (21) OUTPUT 'FILE=*'

ルール 4 に従って作成した名前を持つファイルは、FILE マクロコールを使用して設定され、また DEFINE PRINTER ステートメントの実行前に対応する出力ファイルに対して有効だったリンク名を継承します。

DEFINE PRINTER (22) OUTPUT 'FILE=*,LINK=GENFLK22'

ルール 4 に従って作成した名前を持つファイルには、指定したリンク名が FILE マクロコールを使用して設定されます。

ファイル名とリンク名

例:

DEFINE PRINTER (11) OUTPUT 'NATURAL31.TEST.PRINTER11,LNKP11'

次の構文と同じ意味です。

DEFINE PRINTER (11) OUTPUT 'FILE=NATURAL31.TEST.PRINTER11,LINK=LNKP11'

次の構文も同じ意味です。

DEFINE PRINTER (11) OUTPUT 'FILE=NATURAL31.TEST.PRINTER11,LNKP11'

operand1 で指定したファイルには、指定したリンク名が FILE マクロコールを使用して設定されます。このファイルは、対応するプリンタ番号に割り当てられます。

一般的なファイル名とリンク名

例:

DEFINE PRINTER (27) OUTPUT '*,*'

次の構文と同じ意味です。

DEFINE PRINTER (27) OUTPUT 'FILE=*,LINK=*'

ルール 4 およびルール 5 に従って作成したファイル名を持つファイルは、FILE マクロコールを使用して設定され、指定したプリンタ番号(27)に割り当てられます。

注意:
ファイル名とリンク名を指定した場合、プロファイルパラメータ PRINT のサブパラメータ FREE の値に関係なく、以前のリンク名は解放されません。

システムファイル SYSOUT

例:

DEFINE PRINTER (14) OUTPUT 'SYSOUT'

レポート 14 を SYSOUT に書き込みます。

TIAM 環境:デフォルトでは、SYSOUT は画面への出力です。

システムファイル SYSLST

例:

DEFINE PRINTER (15) OUTPUT 'SYSLST'

レポート 15 をシステムファイル SYSLST に書き込みます。

システムファイル SYSLSTnn - nn=01~99

例:

DEFINE PRINTER (16) OUTPUT 'SYSLST16'

レポート 16 をシステムファイル SYSLST16 に書き込みます。

システムファイル SYSLSTnn の暗黙的な割り当て

例:

DEFINE PRINTER (11) OUTPUT 'SYSLST=LST.PRINTER11'

システムファイル SYSLST をファイル LST.PRINTER11 に割り当て、レポート 11 をシステムファイル SYSLST に書き込みます。

DEFINE PRINTER (13) OUTPUT 'SYSLST13=LST.PRINTER13'

システムファイル SYSLST13 をファイル LST.PRINTER13 に割り当て、レポート 13 をシステムファイル SYSLST13 に書き込みます。

DEFINE PRINTER (19) OUTPUT 'SYSLST19=*'

システムファイル SYSLST19 をルール 4 に従って生成した名前のファイルに割り当て、レポート 19 をシステムファイル SYSLST19 に書き込みます。

Top of page

CICS 環境でのプリンタ名

アクセスメソッド AM=CICS を指定してプリンタ番号を定義する場合は、プリンタのプロファイルパラメータ PRINT のサブパラメータ TYPE に合わせて、operand1 を一時データまたは一時ストレージキューの名前(1~8 文字)にすることができます。 TYPE=TD(一時データ)では、operand1 の最初の 4 文字のみが保持されるため、事前に一時データの送り先として CICS を指定しておく必要があります。

詳細につては、「CICS 環境での Natural の出力ファイルおよびワークファイル」(『TP モニタインターフェイス』ドキュメント)も参照してください。

Top of page

Com-plete 環境でのプリンタ名

AM=COMP を指定すると、有効なプリンタ番号(TID)または論理プリンタ名を割り当てることができます。 次に例を示します。

DEFINE PRINTER (1) OUTPUT '11'
DEFINE PRINTER (2) OUTPUT 'P102'

Top of page

Com-plete/SMARTS 環境でのプリンタ名

AM=SMARTS を指定すると、任意のプリンタ名を割り当てることができます。 次に例を示します。

DEFINE PRINTER (14) OUTPUT '/nat/path/printer'
DEFINE PRINTER (14) OUTPUT '/nat/path/printer/file/'
DEFINE PRINTER (14) OUTPUT 'printer'

ファイルが SMARTS ポータブルファイルシステムまたはネイティブファイルシステムのどちらにあるかは、SMARTS の MOUNT_FS パラメータによって異なります。 パスの最初の要素(/nat/)により、ターゲットファイルシステムが決定されます。

文字列の最後がスラッシュ(/)の場合、最後の要素が出力ファイルの名前になります。 それ以外の場合は、ユーザー ID とシーケンス番号からファイルの名前が生成されます。 文字列の先頭がスラッシュでない場合は、ファイルのパスが環境変数 $NAT_PRINT_ROOT から取得されます。

指定したパス名が存在する必要があります。 DEFINE PRINTER ステートメントを実行すると、HFS ファイルがダイナミックに割り当てられます。 指定したメンバが存在しない場合は、指定した名前の新しいメンバが作成されます。

Top of page

Natural Advanced Facilities 環境でのプリンタ名

Natural Advanced Facilities ユーザーに対しては、事前に定義した任意の論理プリンタプロファイルの名前を指定することができます。 この論理プリンタプロファイルは、現在有効になっているユーザープロファイルに属している必要はありません。 論理プリンタプロファイルは、NATSPOOL ファイルで定義した論理プリンタプロファイルである場合もあります。 論理プリンタプロファイルは、DEFINE PRINTER ステートメントを含む Natural プログラムが実行されている間のみ有効になります。 詳細については、『Natural Advanced Facilities』ドキュメントを参照してください。

Top of page

追加レポートのプリンタ名

追加レポートには、デフォルトで次の名前が割り当てられます。

レポート 機能
BROADCST TP モニタ端末へのメッセージ行出力。 Com-plete 環境以外では、MESSAGE(下記を参照)と同じ機能です。目的の端末ユニット上でアクティブになっているトランザクションがなくなるまで、メッセージはその端末に送信されません。
CCONTROL CCONTROLn-1 に関連付けられている特別なプリンタ制御テーブルの名前であり、変更はできません。 詳細については、「Printer-Advance 制御文字」(『オペレーション』ドキュメント)を参照してください。
CONNECT Con-nect フォルダ内への出力。

Natural のインストールに関する注意:Natural の NATPCNT モジュールを、Natural ニュークリアスにリンクする必要があります。

DUMMY 削除する出力。
HARDCOPY 現在のハードコピーデバイスへの出力。
INCORE NSPF インコアデータベース内への出力。
INFOLINE Natural 情報行への出力。 情報行の詳細については、Natural 端末コマンド %X を参照してください。
MESSAGE TP モニタ端末へのメッセージ行出力。 メッセージの先頭の 8 バイトには、対象の端末 ID を格納する必要があります。 TSO および CMS では、端末 ID の代わりに ユーザー ID が必要になります。 ライブラリ SYSEXTP では、例としてプログラム MSGSW が提供されています。
SOURCE Natural ソースエリアへの出力。
WORKPOOL Natural ISPF ワークプール内への出力。

Top of page

例 1 - Com-plete でのプリンタ名の定義

/* PRINTER NAME DEFINITION FOR COM-PLETE
*
DEFINE PRINTER (1) OUTPUT 'TID100'
WRITE (1) 'PRINTED ON PRINTER TID100'  
END

例 2 - バッチ環境でのプリンタ名の定義

/* OUTPUT ON 'SYSPRINT' (FOR BATCH ENVIRONMENTS)
*
DEFINE PRINTER (REPORT1 = 1) OUTPUT 'SYSPRINT'
WRITE (REPORT1) 'REPORT 1 PRINTED ON PRINTER SYSPRINT'  
*
/* OUTPUT TO DEFAULT PRINTER DESTINATION
/* DEFINED WITH PROFILE PARAMETER 'PRINT', SUBPARAMETER 'DEST'
*
DEFINE PRINTER (REPORT2 = 2)
WRITE (REPORT2) 'REPORT PRINTED TO DESTINATION'

例 3 - 情報行への出力

** Example 'DPIEX1': DEFINE PRINTER                                     
************************************************************************
*                                                                       
SET CONTROL 'XI+'        /* SWITCH INFOLINE MODE ON                     
SET CONTROL 'XT'         /* INFOLINE TOP                                
*                                                                       
DEFINE PRINTER (1) OUTPUT 'INFOLINE'                                   
WRITE (1) 'EXECUTING' *PROGRAM 'BY' *INIT-USER                          
WRITE 'TEST OUTPUT'                                                     
EJECT                    /* FORCE PHYSICAL I/O                          
*                                                                       
SET CONTROL 'X'          /* SWITCH BACK TO NORMAL                       
*                                                                       
END

プログラム DPIEX1 の出力:

EXECUTING DPIEX1   BY HTR                                                      
Page      1                                                  05-01-13  14:54:33                                                                           
TEST OUTPUT                                                                   

例 4 - 事前に定義されたプリンタを含むセッションの使用

** Example 'DPREX1': DEFINE PRINTER                                     
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPL-VIEW VIEW OF EMPLOYEES                                           
  2 NAME                                                                
END-DEFINE                                                              
*                                                                       
*  USE SESSION WITH DEFINED PRINTER 1                                   
*                                                                       
DEFINE PRINTER (INVOICE-LIST=1) OUTPUT 'OUTQ1'                         
LIMIT 5                                                                 
READ EMPL-VIEW BY NAME                                                  
  WRITE (INVOICE-LIST) NAME                                             
END-READ                                                                
*                                                                       
END                                                                    

Top of page