OpenVMS
DCL ディクショナリ


前へ 次へ 目次 索引



VIEW

CDA Viewer を起動します。CDA Viewer は,テキスト・ファイルを表示するためのキャラクタ・セル・インタフェース,ならびにグラフィックス,イメージ,表データを含む複合ドキュメントおよびファイルを表示するための DECwindows Motif for OpenVMS インタフェースを持っています。

VIEW コマンドの詳細については,オンライン・ヘルプを参照してください。

注意

CDA Viewer の新しいバージョンおよび DEC CDA ベース・サービス・コンバータを使用する場合は,DECwindows Motif for OpenVMS 用の DEC CDA ベース・サービスをインストールしなければなりません。


形式

VIEW [入力ファイル]

WAIT

指定した時間が過ぎるまで,現在のプロセスを待ち状態にします。 WAIT コマンドは,コマンド・プロシージャの中でプロシージャ自体の処理を遅らせるため,またはプロシージャに含まれるいくつかのコマンドの処理を遅らせるために使用します。

形式

WAIT デルタ時間

パラメータ

デルタ時間

待機する時間を指定します。デルタ時間は,現在の時刻から未来へのオフセット値です。次の形式で指定します。


時:分:秒.ミリ秒 

各フィールドと,指定できる範囲を示します。

0 から 23 までの整数
0 から 59 までの整数
0 から 59 までの整数
ミリ秒 0 から 99 までの整数

コロン(:) およびピリオド(.) は,区切り文字として必要です。また時間のフィールドが 0 の場合でも,デルタ時間はコロンからではなく,時から指定しなければなりません。デルタ時間には,通常は日フィールドが含まれますが,このコマンドでは指定してはいけません。

デルタ時間の指定についての詳細は,『OpenVMS ユーザーズ・マニュアル』またはオンライン・ヘルプの DCL_Tips トピック (Date_Time サブトピック) を参照してください。

WAIT コマンドを会話型モードで実行した場合でも,時間の入力を要求するプロンプトは表示されません。しかし,時間を指定しなかった場合はこのコマンドは無効です。


説明

会話型モードで WAIT コマンドを実行すると,現在のプロセスは待ち状態になり,指定した時間が過ぎるまで他のコマンドを実行することはできません。ただし,他のプロセスからの (処理を要求しない) メッセージのみは受け取ります。 Ctrl/C または Ctrl/Y を押すと,通常の状態に戻ります。

#1

$ LOOP:
$ RUN KUDOS
$ WAIT 00:10
$ GOTO LOOP

このコマンド・プロシージャは,KUDOS というプログラム・イメージを実行します。 RUN コマンドを使用してプログラムを実行した後,WAIT コマンドは, GOTO コマンドの実行を 10 分だけ遅らせます。時間フィールドに対して,00 が指定されている点に注意してください。これは,時間指定をコロンで開始することはできないためです。 10 分後に GOTO コマンドは実行され,プロシージャは LOOP というラベルに制御を渡し, KUDOS プログラムがもう一度実行されます。このプロシージャは割り込みがかけられるまで,または終了されるまで繰り返します。

このプロシージャを会話型モードで実行している場合には, Ctrl/C または Ctrl/Y を押し, STOP コマンドまたは新しいイメージをプロセスの中で実行する他の DCL コマンドを実行すると,このプロシージャは終了します。このプロシージャがバッチ・ジョブで実行されている場合には, DELETE/ENTRY コマンドを使用して終了します。


WRITE

論理名によって指定されたオープンされたファイルに,指定したデータを書き込みます。データは,オープンされたファイルに 1 レコードとして書き込まれます。

修飾子はすべて,式に先行して指定しなければなりません。


形式

WRITE 論理名式[,...]

パラメータ

論理名

出力ファイルに割り当てられている論理名を指定します。ここには,OPEN コマンドにより割り当てられた論理名を指定します。会話型モードでは,論理名 SYS$INPUT,SYS$OUTOUT,SYS$ERROR,および SYS$COMMAND により識別される,プロセス・パーマネント・ファイルを指定します。 OPEN コマンドはファイルに論理名を割り当て,論理名を論理名テーブルに登録します。

式[,...]

出力ファイルに 1 レコードとして書き込むデータを指定します。データ項目はシンボル名,二重引用符で囲まれた文字列,リテラル値,レキシカル関数などの文字列式を使用して指定します。文字列式についての詳細は,『OpenVMS ユーザーズ・マニュアル』を参照してください。

コンマ(,)で区切ることにより複数の式を指定できます。コマンド・インタプリタは,各項目を 1 つのレコードに連結し,そのレコードを出力ファイルに書き込みます。

書き込むことができるレコードの最大サイズは,1024 バイトです。またレコードの一部として指定される,あらゆるシンボルの値は 255 を越えてはなりません。ただし /SYMBOL 修飾子を指定している場合は例外となり,この場合の最大サイズは 2048 バイトであり,シンボルの値は 255 文字を越えることができます。


説明

WRITE コマンドは,書き込みに対してオープンされている順編成ファイル,相対編成ファイル,または索引ファイルに,レコードを書き込むことができます。 WRITE コマンドを使用してレコードを書き込む場合,レコードを書き込んだ直後にレコード・ポインタを常に設定します。

レコードをファイルに書き込む場合,そのファイルは, OPEN コマンドに /WRITE または /APPEND 修飾子を使用してオープンにしておかなければなりません。ただし論理名 SYS$INPUT,SYS$OUTPUT,SYS$ERROR,および SYS$COMMAND により識別されるプロセス・パーマネント・ファイルは,明示的にオープンにしておく必要はありません。

/SYMBOL 修飾子を指定しない場合は, DCL によりコマンドと完全な文字列式は 1024 バイトのバッファに記憶されます。 /SYMBOL 修飾子を指定すると,DCL により 1 つまたは複数のシンボルが解釈され,展開された文字列は別々の 2048 バイトのバッファに記憶されます。その後,書き込み操作が行われます。このため,レコードが 1000 バイト以上ある場合は, /SYMBOL 修飾子を指定してください。


修飾子

/ERROR=ラベル

入出力エラーが発生した場合は, (コマンド・プロシージャ内の) ラベルで指定される位置に,制御を移します。エラー・ルーチンが指定されていないときに,ファイルの書き込み中にエラーが発生すると,現在の ON 条件処理が実行されます。この修飾子に対して指定されているエラー処理ルーチンは, ON コマンドに指定されている処理よりも優先されます。エラーが発生し,行き先として指定したラベルに制御が正しく移ると, $STATUS という予約済みグローバル・シンボルに,そのエラーを示すコードが設定されます。

/SYMBOL

書き込み操作が実行される前に式が解釈され,展開された値が 2048 バイトのバッファに記憶されることを指定します。複数の式を指定した場合には,各式の値が連結され,2048 バイトのバッファに記憶されます。非常に大きなレコードを書き込む場合は,/SYMBOL 修飾子を使用します。

指定する各式はシンボルでなければなりません。/SYMBOL 修飾子を使用する場合には,文字列式(つまり引用符で囲まれた文字列)は指定できません。

/SYMBOL 修飾子を使用しない場合には,式を含めたコマンド全体が 1024 バイトのバッファに記憶されます。

/UPDATE

既存のレコードを,指定したレコードを使用して更新することを指定します。 /UPDATE 修飾子を使用するためには,ファイルの読み込みと書き込みができなければなりません。 WRITE/UPDATE コマンドを使用できるのは,READ コマンドを実行したあとのみです。 WRITE/UPDATE コマンドは,最後に読み込まれたレコードを変更します。

順編成ファイルに対して WRITE/UPDATE コマンドを使用する場合には,同じサイズのレコードと置き換えなければなりません。


#1

$ WRITE SYS$OUTPUT "Beginning second phase of tests"

この例で WRITE コマンドは,1 行のテキストを現在の出力装置に書き込みます。

#2

$ OPEN/APPEND OUTPUT_FILE TRNTO::DKA1:[PGM]PLAN.DAT 
$ WRITE OUTPUT_FILE "BEGINNING PHASE 3" 

この例で OPEN/APPEND コマンドは,遠隔ノード TRNTO でファイル PLAN.DAT をオープンし,ファイルの最後にポインタを設定します。 WRITE コマンドはファイル PLAN.DAT の最後にレコードを書き込みます。

#3

$ OPEN/WRITE OUTPUT_FILE TESTFILE.DAT 
$ INQUIRE ID "Assign Test-id Number" 
$ WRITE/ERROR=WRITE_ERROR  OUTPUT_FILE  "Test-id is ",ID 
$ WRITE/ERROR=WRITE_ERROR  OUTPUT_FILE  "" 
$ ! 
$ WRITE_LOOP: 
   . 
   . 
   . 
$ GOTO WRITE_LOOP 
$ END_LOOP: 
$ ! 
$ CLOSE OUTPUT_FILE 
$ PRINT TESTFILE.DAT 
$ EXIT 
$ ! 
$ WRITE_ERROR: 
$ WRITE SYS$OUTPUT "There was a WRITE error." 
$ CLOSE OUTPUT_FILE 
$ EXIT 

OPEN コマンドでファイル TESTFILE.DAT をオープンし, INQUIRE コマンドでシンボル ID に識別番号を割り当て, WRITE コマンドでシンボル ID と空行を書いています。

ラベル WRITE_LOOP と END_LOOP の間では,適当な処理を行って他の情報をファイルに書いています。処理が終了すると,制御はラベル END_LOOP に移り CLOSE コマンドでファイルをクローズし,PRINT コマンドでプリンタへ出力しています。

ラベル WRITE_ERROR は /ERROR 修飾子の対象として使用され, WRITE コマンド実行時にエラーが発生した場合は,ここへ制御が移ります。

#4

$ OPEN/APPEND MYFILE [LAMPERT]TESTING.DAT 
$ WRITE/SYMBOL MYFILE A,B,C 

この例ではシンボル A,B,C がすでに定義済みであると仮定されています。 OPEN/APPEND コマンドは [LAMPERT]TESTING.DAT というファイルをオープンし,ファイルの最後にポインタを設定します。 WRITE/SYMBOL コマンドはシンボル A,B,C の値を連結し,このデータをファイルの最後に新しいレコードとして書き込みます。


前へ 次へ 目次 索引