日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V7.3-2
ライブラリ

タイトルページ
目次
まえがき
リファレンス・セクション
付録 A:廃止されたコマンド
索引
PDF    Vol.1   Vol.2
OpenVMS ホーム
OpenVMS | HPE 日本

OpenVMS
DCL ディクショナリ


目次 索引

/FDL 修飾子を使用すると,転送モードを暗黙のうちにブロック単位にします。ただし,/TRANSFER_MODE 修飾子で指定した転送モードが優先します。

/LOG



/NOLOG (省略時の設定)

EXCHANGE/NETWORK コマンドが,コピーされる各ファイルのファイル指定を表示するかどうかを制御します。

/LOG 修飾子を使用すると, EXCHANGE/NETWORK コマンドは各コピー操作について次の項目を表示します。

  • 入力ファイルと出力ファイルのファイル指定

  • コピーされるブロック数またはレコード数 ( ファイルがブロック単位または逐次アクセスのいずれでコピーされるかにより異なる )



/MODIFIED

/BEFORE または /SINCE 修飾子を適用する時刻属性を指定します。この修飾子を指定すると,最新の変更日時をもとにファイルを選択します。この修飾子は他の時刻属性を指定する修飾子,/BACKUP,/CREATED,および /EXPIRED 修飾子とは同時に指定できません。これら 4 つの修飾子のいずれも指定しない場合には,省略時の設定として /CREATED 修飾子が使用されます。

/SINCE[=時刻]

指定された時刻以降の時刻属性をもつファイルを選択します。絶対時刻,または絶対時刻とデルタ時間の組み合わせを指定します。また,BOOT,LOGIN,TODAY( 省略時の設定 ),TOMORROW,および YESTERDAY というキーワードも指定できます。適用する時刻属性は,/BACKUP,/CREATED( 省略時の設定 ),/EXPIRED,または /MODIFIED 修飾子のいずれかで指定します。

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

/STYLE=キーワード

表示するファイル名の書式を指定します。

この修飾子のキーワードは CONDENSED および EXPANDED です。意味は次の表のとおりです。

キーワード 説明
CONDENSED
(省略時の設定)
ファイル名を 255 文字長の文字列に適合するように表示します。このファイル名の場合,ファイル指定に DID あるいは FID 短縮形を含むことが可能です。
EXPANDED ファイル名をディスクに格納されているとおりに表示します。このファイル名の場合,ファイル指定に DID あるいは FID 短縮形は含みません。

キーワード CONDENSED と EXPANDED を同時に指定することはできません。この修飾子は,確認が要求された場合に,出力メッセージに表示されるファイル名の書式を指定します。

EXPANDED キーワードが指定されていない場合,ファイル・エラーは CONDENSED ファイル指定で表示されます。

詳細は『OpenVMS システム管理者マニュアル (上巻)』を参照してください。

/TRANSFER_MODE=オプション

転送に使用する入出力方式を指定します。この修飾子は,すべてのファイル形式で使用できます。次のオプションのいずれかを指定できます。

オプション 機能
AUTOMATIC EXCHANGE/NETWORKコマンドが,適切な転送モードを選択します。これが省略時の設定の転送モードです。
BLOCK ブロック入出力用に入力ファイルと出力ファイルの両方をオープンし,ファイルをブロック単位で転送します。
CONVERT[=オプション[,...]] 入力ファイルからレコードを読み込み,ブロックにパックして,ブロック・モードで出力ファイルに書き込みます。次の表にリストしたオプションによって,転送時にどのような付加情報が挿入されるかが決まります。
RECORD レコード入出力用に入力ファイルと出力ファイルをオープンして,ファイルを逐次アクセスで転送します。ターゲット・システムは,レコード操作をサポートしていなければなりません。また,入力ファイルは,レコード入出力アクセスでオープンしなければなりません。

CONVERT 転送モードでは,次の 4 つのオプションを使用して,レコードへの特別な文字の挿入を制御できます。

オプション 機能
CARRIAGE_CONTROL 入力ファイルのキャリッジ制御情報が解釈され,実際の文字に展開されて各レコードに書き込まれます。
COUNTED 各レコードのバイト長がレコードの先頭に書き込まれます。この長さには,各レコードの FIXED_CONTROL,CARRIAGE_CONTROL,および RECORD_SEPARATOR の情報のすべてが含まれます。
FIXED_CONTROL 固定長制御部レコード (VFC) 情報を持つすべての可変長が,データの一部として出力ファイルに書き込まれます。 COUNTED オプションが指定されている場合には,この情報の前にレコード長情報が書き込まれます。
RECORD_SEPARATOR= 区切り文字 各レコードに 1 バイトまたは 2 バイトのレコード区切り文字が挿入されます。レコード区切り文字は,レコード内の最後の文字です。区切り文字には,次の3つのいずれかを指定できます。

  • CR: キャリッジ・リターンだけを指定します。

  • LF: 行送りだけを指定します。

  • CRLF: キャリッジ・リターンと行送りを指定します。


#1

$ EXCHANGE/NETWORK VMS_FILE.DAT KUDOS::FOREIGN_SYS.DAT

この例で EXCHANGE/NETWORK コマンドは,現在の省略時の設定の装置およびディレクトリにある VMS_FILE.DAT ファイルを, OpenVMS 以外のノード KUDOS 上の FOREIGN_SYS.DAT ファイルに転送します。 /TRANSFER_MODE 修飾子が明示的に指定されなかったため, EXCHANGE/NETWORK コマンドは自動的に,転送モードをブロック入出力またはレコード入出力のいずれかに決めます。

#2

$EXCHANGE/NETWORK/TRANSFER_MODE=BLOCK-
_$:KUDOS:FOREIGN_SYS.DAT VMS_FILE.DAT

この例で EXCHANGE/NETWORK コマンドは, OpenVMS 以外のノード KUDOS にある FOREIGN_SYS.DAT ファイルを,現在の省略時の設定の装置およびディレクトリにある VMS_FILE.DAT ファイルに転送します。転送モードとして,ブロック入出力を指定します。

#3

$ EXCHANGE/NETWORK/FDL=VMS_FILE_DEFINITION.FDL-
_$:KUDOS:REMOTE_FILE.TXT VMS_FILE.DAT

この例で EXCHANGE/NETWORK コマンドは,ノード KUDOS の REMOTE_FILE.TXT ファイルを VMS_FILE.DAT ファイルに転送します。出力ファイル VMS_FILE.DAT のファイル属性は,ファイル定義言語 (FDL) ソース・ファイルの VMS_FILE_DEFINITION.FDL から取得されます。 /FDL 修飾子が指定され /TRANSFER_MODE 修飾子が省略されているので,転送モードには,省略時の設定であるブロック入出力を使用します。

FDL ファイルの作成についての詳細は,『OpenVMS Record Management Utilities Reference Manual』を参照してください。

#4

$ EXCHANGE/NETWORK -
_$ /TRANSFER_MODE=CONVERT=(CARRIAGE_CONTROL,COUNTED, -
_$ RECORD_SEPARATOR=CRLF,FIXED_CONTROL) -
_$ PRINT_FILE.TXT  KUDOS::*

この例で EXCHANGE/NETWORK コマンドは,現在の省略時の設定の装置およびディレクトリにある PRINT_FILE.TXT ファイルを, OpenVMS 以外のノード KUDOS の PRINT_FILE.TXT ファイルに転送します。 /TRANSFER_MODE 修飾子に CONVERT オプションが指定されているため,入力ファイルは逐次アクセスで読み込まれ,その後の CONVERT オプションで指定されたように変更されて,ブロック単位で出力ファイルに書き込まれます。出力ブロックとして,収容できるだけの数のレコードがパックされます。

CONVERT オプション CARRIAGE_CONTROL が指定されているので,キャリッジ制御情報は ASCII 文字へ変換されます。また,接頭辞制御と接尾辞制御の使用状況に応じて,キャリッジ制御情報をレコードの前に挿入するか,レコードの後に追加するかを指定します。

CONVERT オプション FIXED_CONTROL は,任意の固定長制御部情報を, ASCII 文字に変換してレコードの先頭に挿入するように指定します。

CONVERT オプション RECORD_SEPARATOR=CRLF は,指定した 2 文字のキャリッジ・リターンおよび行送りをレコードの終端に追加します。

CONVERT オプション COUNTED は,レコードの全体の長さ ( 前の CONVERT オプションのすべての実行結果が追加された後の長さ ) をカウントしたり,結果をレコードの先頭の 2 バイトに挿入したりすることを指定します。




コマンド・プロシージャ,またはサブルーチンの処理を終了し,呼び出したコマンド・レベル ( コマンド・プロシージャまたは会話型 DCL ) に制御を戻します。また,ユーザが Ctrl/Y を入力した後,イメージを正常終了させます。

形式

EXIT [状態コード]


パラメータ



状態コード

すでに用意されているグローバル・シンボル $STATUS に与える数値を定義します。状態コードには整数,または整数値が求められる式を指定できます。この値は,外側のコマンド・レベルからテストできます。ロングワード整数値の下位 3 ビットは,予約されているグローバル・シンボル $SEVERITY の値を変更します。

状態コードを指定する場合,DCL はコンディション・コードとして解釈します。値が偶数の場合には,警告メッセージ,エラー・メッセージおよび重大なエラー・メッセージが作成されます。値が奇数の場合には,正常終了メッセージまたは情報メッセージが作成されます。

状態コードを指定しない場合には,$STATUS の現在の値が保存されます。制御が外側のコマンド・レベルに渡される場合には, $STATUS には最後に実行されたコマンドまたはプログラムの状態が設定されます。


説明

EXIT および STOP コマンドは,ともにプロシージャの実行を終了させる方法を提供します。 EXIT コマンドは,現在のコマンド・プロシージャの実行を終了させ,呼び出し側のコマンド・レベルに制御を戻します。 EXIT コマンドをコマンド・レベル 0 で非会話型プロセス ( バッチ・ジョブなど ) から入力すると,プロセスは終了します。

STOP コマンドは,現在のコマンド・レベルにかかわらず,制御をコマンド・レベル 0 に戻します。 STOP コマンドをコマンド・プロシージャまたは非会話型プロセス ( バッチ・ジョブなど ) から実行すると,プロセスは終了します。

DCL コマンド,ユーザ・プログラム,またはコマンド・プロシージャが終了する場合と,コマンド・インタプリタは条件コード値をグローバル・シンボル $STATUS に保存します。EXIT コマンドで明示的に $STATUS の値を設定しないと,コマンド・インタプリタは $STATUS の現在の値を使用してエラー状態を決定します。

$STATUS に含まれる状態値の下位3ビットが,条件の重大度を表します。予約されているグローバル・シンボル $SEVERITY には,条件コードのこの部分が入ります。重大度の値の範囲は,次のように 0 〜 4 です。

重大度
0 警告
1 正常終了
2 エラー
3 情報
4 重大な(致命的な)エラー

正常終了および情報のコードは奇数の値,警告およびエラーのコードは偶数の値であることに注意してください。

コマンド・プロシージャが終了し,制御が別のレベルに戻る場合には,コマンド・インタプリタが $STATUS の現在の値をテストします。 $STATUS の値が偶数で,その高位ビットが 0 の場合は,コマンド・インタプリタは, (存在する場合は) その状態コードに対応するシステム・メッセージを表示します。メッセージが存在しない場合は,NOMSG メッセージが表示されます。高位ビットが1の場合,メッセージは表示されません。

DCL コマンドですでに表示された警告またはエラー状態の後でコマンド・プロシージャが終了すると,コマンド・インタプリタは,$STATUS の高位ビットを1にセットします。残りのビットは変更されません。これによって,エラーの原因になったコマンドも,コマンド・プロシージャも,エラー・メッセージを表示しなくなります。

Ctrl/Y でイメージを中断してから EXIT コマンドを使用すると,現在実行中のイメージが正常終了します。イメージに終了処理ルーチンが宣言されていた場合,終了処理ルーチンに制御が移ります。これに対し,STOP コマンドは,終了処理ルーチンを実行しません。このため,通常は STOP コマンドではなく EXIT コマンドを使用してください。


#1

$ EXIT 1 

$STATUS と $SERVERITY に 1 を設定して, 1 つ外側のプロシージャ・レベルに抜けます。

#2

$ ON WARNING THEN EXIT 
$ FORTRAN 'P1' 
$ LINK 'P1' 
$ RUN 'P1' 

EXIT コマンドは,ON コマンドの条件成立時のコマンドとして使用されています。このステートメントは,警告またはエラーがプロシージャ内のコマンドから出されたときに,コマンド・プロシージャが必ず終了するようにします。

プロシージャは終了する前に,終了する原因となったコマンドまたはプログラムの状態コードを設定します。

#3

$ START: 
$        IF (P1 .EQS. "TAPE") .OR. (P1 .EQS. "DISK") THEN GOTO 'P1' 
$        INQUIRE P1 "Enter device (TAPE or DISK)" 
$        GOTO START 
$ TAPE: !  Process tape files 
   .
   .
   .
$        EXIT 
$ DISK:  ! Process disk files 
   .
   .
   .
$        EXIT 
 

この例では,コマンド・プロシージャ内で,異なったコマンド・パスを終了させる方法を示しています。このコマンド・プロシージャの実行時には,パラメータに TAPE または DISK を指定します。 IF コマンドは論理 OR を使用して,これらの文字列が入力されたかテストします。結果が真であれば GO TO コマンドは対応するラベルに分岐します。 P1 がTAPE でも DISK でもない場合は,正しいパラメータを入力するよう INQUIRE コマンドが要求します。

ラベル TAPE および DISK に続くコマンドは,パスが異なっています。ラベル DISK の前の EXIT コマンドは,プロシージャが明示的に DISK に分岐した時のみ,ラベル DISK 以降のコマンドが実行されることを保証しています。

プロシージャの終わりでは,自動適に EXIT コマンドが実行されるので,最後の EXIT コマンドは必要ありません。しかし,このように明示的に使用することをおすすめします。

#4

$ IF P1. EQS. "" THEN - 
     INQUIRE P1 "Enter filespec (null to exit)" 
$ IF P1 .EQS. "" THEN EXIT 
$ PRINT 'P1'/AFTER=20:00/COPIES=50/FORMS=6 

このコマンド・プロシージャは,パラメータがそのプロシージャに渡されたかどうかをテストします。パラメータが渡されていない場合には,プロシージャは必要なパラメータを要求するプロンプトを表示します。そのあと,パラメータ P1 を再びテストします。データを含まない行を指定するために,キャリッジ・リターンを入力し,パラメータとして空文字列が与えられた場合には,プロシージャは終了します。それ以外の場合には,入力パラメータとして P1 の現在の値を使用して, PRINT コマンドを実行します。

#5

$ IF P1 .EQS. "" THEN INQUIRE P1 "Code" 
$ CODE = %X'P1' 
$ EXIT CODE 

この例は,システム・ステータス・コードからシステム・メッセージを得る 1 つの方法を示しています。パラメータが 1つ必要で,入力しないと入力するよう要求します。基数演算子 %X を付けてシンボル CODE に代入しています。そして,EXIT コマンドを実行します。たとえば次のように使用します。


$ @E 1C
%SYSTEM-F-EXQUOTA, exceeded quota

プロシージャ終了時には,$STATUS には %X1C が代入され,この値は EXQUOTA メッセージに評価されます。または,レキシカル関数 F$MESSAGE を使用しても同様のことができます。

#6

$ RUN MYPROG
[Ctrl/Y]
$ EXIT

この RUN コマンドは,MYPROG.EXE というイメージの実行を開始します。そのあと,CTRL/Y を使用して実行に割り込みがかけられています。 EXIT コマンドは MYPROG.EXE を終了する前に,イメージによって宣言された終了ハンドラ・ルーチンを呼び出します。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項