前へ | 次へ | 目次 | 索引 |
キューへのフォームのマウントは,INITIALIZE/QUEUE,START/QUEUE, SET QUEUE のいずれかのコマンドに,次の形式で /FORM_MOUNTED 修飾子を使用することによって行います。
INITIALIZE/QUEUE/FORM_MOUNTED= タイプ |
タイプはDEFINE/FORM コマンドで定義されるフォーム名または番号です。
ストックが一致しないためにプリント・ジョブが保留状態になっている場合には,プリンタのストックを要求されたストックに変更し,要求されたストックに関連付けられたフォームをキューにマウントするか,または 第 14.8.2.1 項 で説明している他のいずれかの処理を実行します。
14.6.7.7 フォームの削除
定義済みのフォームを削除する場合は,次の例に示すように DCL の DELETE/FORM コマンドを使用します。
$ DELETE/FORM MEMO |
DELETE/FORM コマンドには,フォーム番号ではなく,フォーム名を指定する必要があります。フォーム番号は分かっているが,フォーム名が分からないという場合は, SHOW QUEUE/FORM コマンドを使用して,システムに定義されているフォーム名とフォーム番号を調べることができます。
キューまたはジョブがフォームを参照している場合,システムからは次のメッセージが返されます。
%DELETE-E-NOTDELETED, error deleting form-name -JBC-E-REFERENCED, existing references prevent deletion |
フォームを削除するためには,フォームに対する参照をすべて削除しておく必要があります。フォームに対する参照の削除については, 第 14.8.5 項 を参照してください。
14.6.7.8 ページあふれ制御オプションと行あふれ制御
プリント・シンビオントが整形しても,行やページの長さがプリンタの行幅やページ長を超えることがあります。そうした場合は,キュー・オプションを使用して,行あふれやページあふれを制御することができます。
行あふれは,フォーム定義で制御することをおすすめします。このためには,物理的な装置幅の限界に達する前に行送りや行切り詰めを行わないよう,ターミナルとプリンタを設定する必要があります。
プリント・シンビオントはフォームに基づいて行幅を決定します。プリント・シンビオントがデータの書式整形を終えた後,行幅が装置の/WIDTH 設定より広い場合は, /TRUNCATE か /WRAP オプションが設定されていればその設定を使用して,デバイス・ドライバは行の切り詰めか行送りを行います。 |
左右と上下マージンの設定は,フォームごとに変えることができます。そしてユーザは,フォームを使ってページあふれと行あふれを制御することにより,別のフォームに切り換えることができます。このときオペレータがキューを停止させて,装置の設定を変更し,再度キューを起動させるという必要はありません。キュー・マネージャは,現在マウントされているフォームと同じストックを使って自動的に任意のフォームをマウントします。オペレータ支援が必要になるのは,現在マウントされているフォームのストックと,異なるストックのフォームをマウントする場合だけです。詳細は 第 14.8.2.1 項 を参照してください。
行あふれを制御したい場合は,DCL の DEFINE/FORM コマンドでフォームを作成するときに, 表 14-3 で説明されている /[NO]TRUNCATE と /[NO]WRAP の修飾子を指定します。
ページあふれを制御する場合は,INITIALIZE/QUEUE,START/QUEUE,または SET QUEUE コマンドで /DEFAULT=[NO]FEED 修飾子を使用します。この修飾子は,シンビオントがデータの下マージン部分へのあふれを検出したときに,改ページ文字を自動的に挿入するかどうかを制御します。ユーザは,PRINT/FEED または PRINT/NOFEED コマンドを使用して,キューに指定された改ページ・オプションの省略時の設定を変更できます。
ユーザはまた,PRINT コマンドに /PASSALL 修飾子を指定して,プリント・シンビオントが行うあらゆるフォーマッティング処理(改行を含む)をバイパスできます。省略時の設定は /NOPASSALL です。 /PASSALL 修飾子は,プリント・シンビオントによるフォーマッティングが希望するフォーマッティングと異なる場合に使用してください。 /PASSALL 修飾子を使用すると,すべてのフォーマッティングを上書きして,プリント・シンビオントはデバイス・ドライバに入出力を送ります。
14.6.7.9 初期改ページの抑制
プリント・キューを開始すると,改ページが出力装置に送られて,印刷が始まる前に,用紙がページの一番先頭にくるように設定されます。初期改ページのために,キュー開始時に,空白のページが印刷されます。
初期改ページを実行しないようにするには,INITIALIZE/QUEUE, SET QUEUE,START/QUEUE コマンドのいずれかに /NO_INITIAL_FF 修飾子を指定します。
14.6.8 装置制御ライブラリ
装置制御ライブラリは,ユーザが作成したテキスト,またはエスケープ・シーケンスのモジュールから構成されるテキスト形式のライブラリです。 装置制御ライブラリ・モジュールを使用すると,次の操作を実行できます。
装置制御モジュールは次の 3 種類あり,それぞれプリント・ジョブ内での位置によって区別されます。
モジュール・タイプ | 説明 |
---|---|
SETUP モジュール | ファイルの先頭に挿入。 |
PAGE_SETUP モジュール | 各ページの先頭に挿入。 |
RESET モジュール | 各ジョブの終わりに挿入。ジョブの最後でプリンタを既知状態に再設定するときに使用する。 |
装置制御ライブラリ・オプションを使用する手順は次のとおりです。
プリント・ジョブを処理するために,装置制御ライブラリ・モジュールをセットアップするコマンドを次に示します。
コマンド | 説明 |
---|---|
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.2 装置制御ライブラリの作成とモジュールの登録
装置制御ライブラリの作成とモジュールの登録は,次の手順で行います。
LIBRARY/CREATE/TEXT SYS$COMMON:[SYSLIB] ファイル名.TLB |
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 であると見なします。別のノードのライブラリ・ファイルをコピーして使用する場合は,必ず一意のファイル名を付けてください。 |
特定の装置制御ライブラリ・モジュールが必要な操作では,キューに指定されたライブラリの該当するモジュールが使用されます。ライブラリを使用する場合には,次のガイドラインに従ってください。
3 つのライブラリに横長方向にプリンタを設定するモジュールが格納されている場合,これらのモジュールには 3 つのすべてのライブラリで LANDSCAPE という名前を付けます。このようにしておくと,それぞれのモジュールには異なる装置固有のシーケンスが格納されますが,ライブラリに指定した名前のモジュールが格納されているどのキューに対しても,同じフォームを使用できます。
特定のライブラリに格納されているすべてのモジュールを表示するには,次のコマンドを使用します。
LIBRARY/LIST/FULL SYS$LIBRARY: ライブラリ名 .TLB |
14.6.8.4 設定モジュールとページ設定モジュールを使用したフォームの定義
キューに対して設定モジュールまたはページ・セットアップ・モジュールを指定するためには,DEFINE/FORM コマンドに /SETUP=モジュール修飾子,または/PAGE_SETUP=モジュール修飾子を指定します。 /SETUP 修飾子に指定したモジュールは,ジョブの各ファイルのプリント前,フォームがマウントされたときにプリンタに送られます。同様に,/PAGE_SETUP 修飾子に指定したモジュールは,ジョブの各ページのプリント前にプリンタに送られます。
ユーザは,PRINT コマンドに次のいずれかの修飾子を指定することにより,モジュールを要求できます。
PRINT/FORM=フォーム /QUEUE=キュー名 ファイル指定 |
PRINT/SETUP=モジュール ファイル指定 |
ユーザが PRINT/SETUP コマンドを入力すると,ジョブが印刷されるまで,モジュール名は確認されない。モジュール名に誤りがある場合には,ジョブは印刷されず,/NOTIFY 修飾子を指定した場合を除き,そのことはユーザに通知されない。
出力実行キューにモジュールを割り当て,各ジョブの最後にプリンタを既知状態に再設定したい場合は,次の例に示すように, 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 |
前へ | 次へ | 目次 | 索引 |