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

DEFINE PRINTER

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

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

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

関連ステートメント: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 ステートメントを使用する必要があります。

Top of page

構文説明

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

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

構文要素の説明:

(n)
プリンタ番号(レポート番号):

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

レポート番号 0 は、メインレポートの出力チャネルを示します。 PRINTWRITE、または DISPLAY などの出力ステートメントのみが影響を受けます。 INPUT ステートメントは影響を受けません。

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

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

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

OUTPUT operand1
プリンタ名:

operand1 が使用できる場合は、そのフォーマット/長さを A8 または以下のいずれかにする必要があります。 名前は LPTnn として指定する必要があり、nn は 1~31 になります。 「例 1」も参照してください。

追加レポートには、次の名前を割り当てることができます。

レポート 機能
DUMMY 削除する出力。
INFOLINE Natural 情報行への出力。 情報行の詳細については、Natural 端末コマンド %X端末コマンド」ドキュメント)を参照してください。 「例 2」も参照してください。
SOURCE Natural ソースエリアへの出力。
PROFILE operand2
プリンタ制御文字テーブルの名前:

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

このようなテーブルは、グローバルコンフィグレーションファイルで定義します。 プリンタプロファイルを設定する方法の詳細については、「プリンタプロファイル」(『コンフィグレーションユーティリティ』ドキュメント)を参照してください。

Top of page

例 1 - プリンタ名の定義

/* PRINTER NAME DEFINED FOR WINDOWS
*
DEFINE PRINTER (REPORT1 = 1) OUTPUT 'LPT1'
WRITE (REPORT1) 'REPORT 1 PRINTED ON PRINTER LPT1'
END

例 2 - 情報行への出力

** 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                                                                   

Top of page