# Compaq OpenVMS
システム管理者マニュアル

前へ | 次へ | 目次 | 索引

### 14.6.7.9 初期改ページの抑制

プリント・キューを開始すると，改ページが出力装置に送られて，印刷が始まる前に，用紙がページの一番先頭にくるように設定されます。初期改ページのために，キュー開始時に，空白のページが印刷されます。

初期改ページを実行しないようにするには，INITIALIZE/QUEUE， SET QUEUE，START/QUEUE コマンドのいずれかに /NO_INITIAL_FF 修飾子を指定します。

## 14.6.8 装置制御ライブラリ

装置制御ライブラリは，ユーザが作成したテキスト，またはエスケープ・シーケンスのモジュールから構成されるテキスト形式のライブラリです。 装置制御ライブラリ・モジュールを使用すると，次の操作を実行できます。

- ポイント・サイズ，文字セット，太字やイタリック体プリントなどのプリント・オプションを設定する装置独立型エスケープ・シーケンスの挿入 (プログラミング可能なプリンタのみ)

- プリント・ジョブ処理時の特定ポイントへのテキスト挿入 (プログラミング可能なプリンタとプログラミング不可能なプリンタの両方)

装置制御モジュールは次の 3 種類あり，それぞれプリント・ジョブ内での位置によって区別されます。

モジュール・タイプ | 説明
--- | ---
SETUP モジュール | ファイルの先頭に挿入。
PAGE_SETUP モジュール | 各ページの先頭に挿入。
RESET モジュール | 各ジョブの終わりに挿入。ジョブの最後でプリンタを既知状態に再設定するときに使用する。

作業方法

装置制御ライブラリ・オプションを使用する手順は次のとおりです。

1. ライブラリを作成して，モジュールを登録する。

2. キューに装置制御ライブラリを割り当てる。省略時のライブラリ名 SYSDEVCTL.TLB を使用する場合，このステップは必要ない。

3. 設定またはページ設定モジュールを指定して，フォームを作成する。

4. キューに再設定モジュールを割り当てる。

プリント・ジョブを処理するためのコマンド

プリント・ジョブを処理するために，装置制御ライブラリ・モジュールをセットアップするコマンドを次に示します。

コマンド | 説明
--- | ---
DEFINE/FORM/SETUP | ジョブの各ファイルの先頭に，装置を設定する 1 つ以上のモジュールを指定する。
DEFINE/FORM/[NO]PAGE_SETUP | ジョブの各ページの先頭に，装置を設定する 1 つ以上のモジュールを指定する。
INITIALIZE/QUEUE/LIBRARY START/QUEUE/LIBRARY | 装置制御ライブラリのファイル名を指定する。
INITIALIZE/QUEUE/SEPARATE=[NO]RESET START/QUEUE/SEPARATE=[NO]RESET SET QUEUE/SEPARATE=[NO]RESET | キューのジョブ・リセット・シーケンスを格納した 1 つ以上の装置制御ライブラリ・モジュールを指定する。
PRINT/FORM | プリント・ジョブに関連付けたフォームの名前または番号を指定する。

### 14.6.8.1 装置制御モジュールの出力順序

装置制御モジュールは，次の順序でプリンタに送られます。

1. キューに割り当てられた再設定モジュール (再設定モジュールは，キュー起動後に最初のジョブをプリントしたこの時点で初めて使用される。)

2. フォーム定義に指定された設定モジュール

3. フォーム定義に指定されたページ設定モジュール

4. PRINT コマンドで指定された設定モジュール

5. ファイル 1 の 1 ページ目

6. フォーム定義に指定されたページ設定モジュール

7. ファイル 1 の 2 ページ目以降

8. フォーム定義に指定されたページ設定モジュール

9. ファイル 1 の最終ページ

10. フォーム定義に指定された設定モジュール

11. フォーム定義に指定されたページ設定モジュール

12. PRINT コマンドで指定された設定モジュール

13. ファイル 2 の 1 ページ目

14. フォーム定義に指定されたページ設定モジュール

15. ファイル 2 の 2 ページ目以降

16. フォーム定義に指定されたページ設定モジュール

17. ファイル 2 の最終ページ

18. キューに割り当てられた再設定モジュール

以降の節では，装置制御ライブラリの管理方法を説明します。

### 14.6.8.2 装置制御ライブラリの作成とモジュールの登録

装置制御ライブラリの作成とモジュールの登録は，次の手順で行います。

1. 次の形式で LIBRARY/CREATE コマンドを入力して，装置制御ライブラリを作成する。

       LIBRARY/CREATE/TEXT    SYS$COMMON:[SYSLIB]   ファイル名.TLB

2. モジュールの内容，すなわち，登録するテキスト，または目的のプリンタの設定に必要なエスケープ・シーケンスを決定する。プリンタ・オプションの正しいエスケープ・シーケンスを確認したい場合は，目的のプリンタの操作手引書を参照すること。

3. モジュール・ファイルを作成して，エスケープ・シーケンス，キャリッジ制御文字，テキストを入力する。モジュール・ファイルの作成および編集方法は，通常のテキスト・ファイルを作成および編集する方法と同じである。ファイルの最後にキャリッジ・リターンや行送りが入らないようにすること。そうした文字が入ると，プリンタの出力に影響する。

4. 次の形式の LIBRARY/INSERT コマンドを入力して，装置制御ライブラリに作成したモジュールを登録する。

       LIBRARY/INSERT/TEXT   ライブラリ・ファイル   モジュール・ファイル

注意 ライブラリに対するモジュールの登録または削除は，ライブラリに割り当てられているすべての出力キューを停止してから行う必要があります。

ライブラリの作成とモジュールの登録のさらに詳しい内容については，『OpenVMS Command Definition, Librarian, and Message Utilities Manual』を参照してください。

### 14.6.8.3 キューへのライブラリの割り当て

装置制御ライブラリをキューに割り当てるためには， INITIALIZE/QUEUE か START/QUEUE コマンドに，次の形式で /LIBRARY 修飾子を指定します。

    INITIALIZE/QUEUE/LIBRARY=ファイル名   キュー名

ファイル名は，使用したいモジュールが入っているライブラリ・ファイル名です。

ライブラリは SYS$LIBRARY に存在し，ファイル・タイプが .TLB である必要があります。/LIBRARY 修飾子が省略された場合は，省略時のライブラリのSYS$LIBRARY:SYSDEVCTL.TLB になります。これ以外の装置制御ライブラリを使用する場合は，次の例に示すように /LIBRARY 修飾子を使用してください。

    $ INITIALIZE/QUEUE/LIBRARY=LN03DEVCTL LN03_A_QUE

注意 /LIBRARY 修飾子を使用する場合，ディレクトリ，ファイル・タイプ，バージョン番号は指定しないでください。システムは，ファイルが SYS$LIBRARY に存在し，タイプが.TLB であると見なします。別のノードのライブラリ・ファイルをコピーして使用する場合は，必ず一意のファイル名を付けてください。

特定の装置制御ライブラリ・モジュールが必要な操作では，キューに指定されたライブラリの該当するモジュールが使用されます。ライブラリを使用する場合には，次のガイドラインに従ってください。

- プリンタの構成が小さく，通常はわずかな数のモジュールだけしか使用しない場合には，すべてのモジュールを 1 つのライブラリに格納し，各プリンタ・キューに対して同じライブラリを割り当てる。

- 1 つのライブラリを使用して異なるタイプのプリンタのモジュールを格納する場合には，各モジュールに一意な名前を付けなければならない。

- 異なる種類のプリンタを数多く使用しているサイトの場合は，各タイプのプリンタに対して別々に装置制御ライブラリを作成し，割り当てる。 この場合，各モジュールにはそれぞれのタイプのプリンタ固有のエスケープ・シーケンスが格納されるが，同じ機能を実行するモジュールには，すべてのライブラリで同じ名前を付けることが望ましい。

例

3 つのライブラリに横長方向にプリンタを設定するモジュールが格納されている場合，これらのモジュールには 3 つのすべてのライブラリで LANDSCAPE という名前を付けます。このようにしておくと，それぞれのモジュールには異なる装置固有のシーケンスが格納されますが，ライブラリに指定した名前のモジュールが格納されているどのキューに対しても，同じフォームを使用できます。

特定のライブラリに格納されているすべてのモジュールを表示するには，次のコマンドを使用します。

    LIBRARY/LIST/FULL SYS$LIBRARY: ライブラリ名 .TLB

### 14.6.8.4 設定モジュールとページ設定モジュールを使用したフォームの定義

キューに対して設定モジュールまたはページ・セットアップ・モジュールを指定するためには，DEFINE/FORM コマンドに /SETUP=モジュール 修飾子，または/PAGE_SETUP=モジュール 修飾子を指定します。 /SETUP 修飾子に指定したモジュールは，ジョブの各ファイルのプリント前，フォームがマウントされたときにプリンタに送られます。同様に，/PAGE_SETUP 修飾子に指定したモジュールは，ジョブの各ページのプリント前にプリンタに送られます。

ユーザは，PRINT コマンドに次のいずれかの修飾子を指定することにより，モジュールを要求できます。

- 次の形式の /FORM 修飾子。

      PRINT/FORM=フォーム /QUEUE=キュー名   ファイル指定

  ユーザが PRINT/FORM コマンドを入力すると，フォーム名が正しいかどうか確認される。

- 次の形式の /SETUP 修飾子。

      PRINT/SETUP=モジュール   ファイル指定

  ユーザが PRINT/SETUP コマンドを入力すると，ジョブが印刷されるまで，モジュール名は確認されない。モジュール名に誤りがある場合には，ジョブは印刷されず，/NOTIFY 修飾子を指定した場合を除き，そのことはユーザに通知されない。

### 14.6.8.5 キューへの再設定モジュールの割り当て

出力実行キューにモジュールを割り当て，各ジョブの最後にプリンタを既知状態に再設定したい場合は，次の例に示すように， INITIALIZE/QUEUE，START/QUEUE，SET QUEUE のいずれかのコマンドに， /SEPARATE=RESET=モジュール 修飾子を使用します。

/SEPARATE 修飾子は必須キュー・オプションを指定するため，指定された RESET モジュールは，あらゆるジョブの最後にキューに送られます。ユーザがこのオプションを変更することはできません。

例

次の例では，モジュールに含まれている再設定シーケンスにより，各ジョブの最後でプリンタは再設定されます。また，最初のジョブが正しくプリントされるよう，この再設定はキューの起動時にも行われます。

    $ INITIALIZE/QUEUE/LIBRARY=MYDEVCTL/SEPARATE=RESET=MODULE2 PDQ_QUE

次は，装置制御ライブラリ・モジュールを使用して，プリント・ジョブを処理している例です。この例では，MODULE1 と MODULE2 という 2 つの装置制御モジュールを作成して，それを MYDEVCTL.TLB ライブラリ・ファイルに登録しています。 MODULE1 設定モジュールのエスケープ・シーケンスまたはテキストは， REPORT.TXT のプリント前とMEMO.TXT のプリント前にプリンタに送られ，プリンタを設定します。また， MODULE2 設定モジュールのエスケープ・シーケンスまたはテキストは， REPORT ジョブの両方のファイルがプリントされた後の一度だけプリンタに送られます。

    $ LIBRARY/CREATE/TEXT SYS$LIBRARY:MYDEVCTL.TLB
    $ EDIT MODULE1.TXT
        !enter printer escape sequences or text for module1
    $ EDIT MODULE2.TXT
        !enter printer escape sequences or text for module2
    $ LIBRARY/INSERT SYS$LIBRARY:MYDEVCTL.TLB/TEXT MODULE1
    $ LIBRARY/INSERT SYS$LIBRARY:MYDEVCTL.TLB/TEXT MODULE2
    $ INITIALIZE/QUEUE/START/ON=TTA9:/LIBRARY=MYDEVCTL PDQ_QUE
    $ SET QUEUE/SEPARATE=RESET=MODULE2 PDQ_QUE
    $ SHOW QUEUE/FULL PDQ_QUE
    Terminal queue PDQ_QUE, idle on TOAD::TTA9, mounted form DEFAULT
       /BASE_PRIORITY=4/DEFAULT=(FEED,FORM=DEFAULT)/LIBRARY=MYDEVCTL
       /OWNER=[1,4]/PROTECTION=(S:M,O:D,G:R,W:R)/SEPARATE=(RESET=(MODULE2))
    $ DEFINE/FORM/SETUP=MODULE1/STOCK=DEFAULT FORM1 1

    $ PRINT/FORM=FORM1 REPORT.TXT,MEMO.TXT/QUEUE=PDQ_QUE

    Job REPORT (Queue PDQ_QUE, entry 619) started on PDQ_QUE

# 14.7 キューの管理

キューの設定を終えたら，キューを監視および制御し，必要ならば変更も行います。

また，キューの設定はスタートアップ時に制限されません。通常の操作を行っている間，必要に応じてキューを作成し，起動することができます。後でキューを設定する場合には， 第 14.4 節 の説明を参照してください。

後で追加出力キューを作成する場合には，次のことを確実に行ってください。

- 装置が接続されているノードで，装置特性を設定するためのコマンドをスタートアップ・コマンド・プロシージャに追加する。

- LAT ポートに接続されている装置の場合には，その装置のキューがあるすべてのノードで，スタートアップ・プロシージャにコマンドを追加する。

- 追加の非自動起動キューに対して，キューが実行されるノードでスタートアップ・コマンド・プロシージャに適切な START/QUEUE コマンドを追加する。適切な START/QUEUE コマンドを追加しなかった場合には，システムが再ブートされるときにキューは起動されない。

## 14.7.1 キューの管理

キューの作成と制御に使用される基本的なコマンドを 表 14-4 に示します。自動起動型であるか非自動起動型であるかの区別によって効果が異なるかどうかも説明しています。

表 14-4 キュー・コマンドの効果
コマンド | 効果
--- | ---
| 自動起動キュー | 非自動起動キュー
ASSIGN/MERGE | ジョブを別のキューに移す。 | ジョブを別のキューに移す。
ASSIGN/QUEUE | 論理キューのジョブを実行キューに送る。 | 論理キューのジョブを実行キューに送る。
DELETE/QUEUE | キューを削除する。 | キューを削除する。
DISABLE AUTOSTART/QUEUES | ジョブの終了を待ってから，ノード・リストに登録されていて次に使用可能なノードに，各自動起動型キューをフェイルオーバさせる。リストが指定されていない場合，そのキューは停止させられる。 | なし
ENABLE AUTOSTART/QUEUES | ノードで動作可能な，アクティブな停止中の自動起動型キューをすべて起動する。 | なし
INITIALIZE/QUEUE | キューを作成する。 /AUTOSTART_ON 修飾子は，キューを実行できるノード(1 または複数) および装置を指定する。 | キューを作成する。キューを動作させるノード，またはノードと装置の指定には，/ON 修飾子を使用する。
INITIALIZE/QUEUE/START | キューを作成して，その自動起動機能をアクティブにする。 /AUTOSTART_ON 修飾子はキューを実行できるノード (1 または複数) および装置を指定する。 | キューを作成して，起動する。キューを動作させるノード，またはノードと装置の指定には，/ON 修飾子を使用する。
SET QUEUE | キューを変更する。 | キューを変更する。
SHOW QUEUE | キュー情報を表示する。 | キュー情報を表示する。
START/QUEUE | キューの自動起動機能をアクティブにする。 | キューを起動する。
STOP/QUEUE | キューを一時停止させる。 | キューを一時停止させる。
STOP/QUEUES/ON_NODE | キュー・マネージャを停止させることなく，ノードの現在のジョブを終了させ，すべてのキューを停止させる。 | キュー・マネージャを停止させることなく，ノードの現在のジョブを終了させ，すべてのキューを停止させる。
STOP/QUEUE/NEXT | 現在のジョブの終了を待ってから，キューを停止させ，その自動起動機能を非アクティブする。 | 現在のジョブの終了を待ってから，キューを停止させる。
STOP/QUEUE/RESET | ただちにキューを停止させ，その自動起動機能を非アクティブにする。 | ただちにキューを停止させる。

以降の節では，キューの管理におけるこれらの作業について説明しています。

作業 | 参照箇所
--- | ---
キューの監視 | 第 14.7.1.1 項
キューの変更 | 第 14.7.1.2 項
キューの一時停止 | 第 14.7.1.3 項
キューのクローズ | 第 14.7.1.4 項
キューの停止 | 第 14.7.1.5 項
自動起動型キューの起動禁止 | 第 14.7.1.6 項
ノード上の自動起動の禁止 | 第 14.7.1.7 項
ノード上のすべてのキューの停止 | 第 14.7.1.8 項
システムのシャットダウン前のキューの停止 | 第 14.7.1.9 項
論理キューの割り当て | 第 14.7.1.10 項
別のキューへのすべてのジョブの移動 | 第 14.7.1.11 項
キューの削除 | 第 14.7.1.12 項

前へ | 次へ | 目次 | 索引