library home hp.com home products and services support and drivers solutions
cd-rom home
End of Jump to page title
HP OpenVMS Systems
Documentation

Jump to content


HP OpenVMS

HP OpenVMS
DCL ディクショナリ


前へ 次へ 目次 索引



SET SYMBOL

コマンド・プロシージャ内で,ローカル・シンボルあるいはグローバル・シンボルへのアクセスを制御します。

形式

SET SYMBOL


説明

SET SYMBOL コマンドは,シンボルを未定義と見なして,コマンド・プロシージャでのローカル・シンボルとグローバル・シンボルのアクセスを制御します。外側のプロシージャ・レベルで定義されたすべてのグローバル・シンボルとローカル・シンボルは,内部のプロシージャ・レベルでアクセスできるため,通常,これらのシンボルを削除しないでマスクする必要があります。

SET SYMBOL コマンドは,DCL がコマンド行を処理する前に,動詞文字列 (コマンド行上の最初のトークン) をシンボルとして変換するかどうかも制御します。省略時の設定では,変換が試みられます。この動作を変更すると,コマンドを起動したときに,コマンド・プロシージャが外側のプロシージャ・レベル環境から影響されないという利点があります。

シンボルの有効範囲コンテキストは,ローカル・シンボルとグローバル・シンボルとで異なります。ローカル・シンボルは,プロシージャ・レベルで独立です。外側のサブルーチン・レベルで定義されたローカル・シンボルは,内側のどのサブルーチン・レベルでも読み込めますが,書き込めません。外側のサブルーチン・レベルでローカル・シンボルに値を割り当てると,現在のサブルーチン・レベルで新しいシンボルが作成されます。ただし,外部のプロシージャ・レベルのシンボルは,変更されません。

つまり,SET SYMBOL/SCOPE=NOLOCAL コマンドは,外側のプロシージャ・レベルで定義されたすべてのローカル・シンボルを,現在のプロシージャ・レベル,および任意の内側のレベルからアクセスできないようにします。たとえば,SET SYMBOL/SCOPE=NOLOCAL コマンドをプロシージャ・レベル 2 および 4 で指定すると,プロシージャ・レベル 2 では,レベル 2 のローカル・シンボルだけを読み込み / 書き込みできます。レベル 3 では,レベル 2 のローカル・シンボルを読み込むことができ ( 書き込みはできません ),レベル 3 のローカル・シンボルを読み込み / 書き込みできます。レベル 4 では,レベル4のローカル・シンボルだけを読み込み / 書き込みできます。

グローバル・シンボルは,プロシージャ・レベルで独立しています。現在のグローバル・シンボルの有効範囲コンテキストは,以後すべてのプロシージャ・レベルに適用されます。/SCOPE=NOGLOBAL 修飾子を指定すると, /SCOPE=GLOBAL 修飾子を指定するか,プロシージャが終了してグローバル・シンボルをアクセスできる前のレベルに戻るまで,すべてのグローバル・シンボルは以後のすべてのコマンドからアクセスできなくなります。また,/SCOPE=NOGLOBAL 修飾子を指定すると, /SCOPE=GLOBAL 修飾子を指定するまで,新しいグローバル・シンボルを作成できなくなります。

あるプロシージャ・レベルを終了して前のプロシージャに戻ると,ローカル・シンボルとグローバル・シンボルの両方に対して,前のレベルからの有効範囲コンテキストが回復されます。

現在のシンボルの有効範囲状態を表示するには,レキシカル関数 F$ENVIRONMENT("SYMBOL_SCOPE") を使用します。


修飾子

/ALL (省略時の設定)

/SCOPE 修飾子で指定した値が,コマンド行の最初のトークンの変換と,シンボル置換全般に適用されます。

/ALL 修飾子は,/GENERAL や /VERB 修飾子と同時に指定できません。

/GENERAL

/SCOPE 修飾子で指定した値が,コマンド行の最初のトークンの展開を除いたシンボル置換全般に適用されます。

/GENERAL 修飾子は,/ALL や /VERB 修飾子と同時に指定できません。

/SCOPE=(キーワード,...)

ローカルおよびグローバル・シンボルへのアクセスを制御します。未定義のシンボルとして扱います。指定できるキーワードを次に示します。

NOLOCAL 外側のプロシージャ・レベルで定義されたすべてのローカル・シンボルが,現在のプロシージャと内側のすべてのプロシージャ・レベルで未定義であるものとして扱われます。
LOCAL 現在のプロシージャ・レベルで設定された任意のシンボル変換制限を解除します。
NOGLOBAL 変更されるまで,すべてのグローバル・シンボルが,現在のプロシージャ・レベルと内側のすべてのプロシージャ・レベルでアクセスできないようにします。
GLOBAL すべてのグローバル・シンボルへのアクセスを元に戻します。

/VERB

/SCOPE 修飾子で指定した値が,コマンド行の最初のトークンの変換にのみ適用されることを指定します。シンボル置換全般には適用されません。

注意

1 つのコマンド・プロシージャ内で SET SYMBOL/VERB/SCOPE コマンドが 2 度以上使用されると警告が発せられます。DCL がラベルやサブルーチンの検索に変換動作を使用しているので,これがモードごとに変わってしまう可能性があるからです。 SET SYMBOL/VERB/SCOPE コマンドは,プロシージャのセットアップ時の一回だけにして,プロシージャ内ではそのモードを変更しないことをおすすめします。

/VERB 修飾子は,/ALL や /GENERAL 修飾子と同時に指定できません。


#1

$ SET SYMBOL/SCOPE=NOLOCAL
 

外側のプロシージャ・レベルで定義されたローカル・シンボルはすべて,現在のプロシージャとすべての内側のプロシージャ・レベルでは,未定義となります。

#2

$ SET SYMBOL/SCOPE=NOGLOBAL
 

もし他の方法で変更されなかったならば,すべてのグローバル・シンボルは,現在のプロシージャ・レベルとすべての内側のプロシージャ・レベルではアクセスできません。

#3

$ NOW :== SHOW TIME
$ !
$ NOW
   3-NOV-2001 11:48:58
$ !
$ SET SYMBOL /VERB /SCOPE=NOGLOBAL
$ NOW
%DCL-W-IVVERB, unrecognized command verb-check validity and spelling
 \NOW\
$ !
$ SHOW SYMBOL NOW
  NOW == "SHOW TIME"

この例は,/VERB 修飾子の使用方法を説明します。

シンボル NOW に SHOW TIME が代入され,次の行で省略時設定の動作が示されています。ここでは DCL は,コマンド行の最初の文字列 (NOW) を置換して, SHOW TIME コマンドを実行しています。

次の SET SYMBOL コマンドで,DCL がシンボル置換しないように指定します。そのため,文字列 NOW が動詞として評価され,コマンド・テーブルにないためエラー・メッセージが返されます。

次の SHOW SYMBOL コマンドで示されるように, /VERB 修飾子による動詞変換は,シンボル置換全般には影響しません。


SET TERMINAL

ターミナルの属性を設定します。指定した修飾子に対応する属性のみ変更され,指定されないものは変更されません。

形式

SET TERMINAL [装置名[:]]


パラメータ

装置名[:]

属性を変更するターミナルの名前を指定します。装置名を指定しない場合,この修飾子は,現在の SYS$COMMAND 装置がターミナルの場合には,その装置の属性を変更します。現在の SYS$COMMAND 装置がターミナルではない場合には,システムはエラー・メッセージを表示します。

説明

SET TERMINAL コマンドは,特定のアプリケーションの特定のターミナル属性を修正したり,またはシステムの省略時属性を上書きしたりします。これらの省略時の設定は,使用される端末の最も共通するタイプに基づいて,システムごとに定義されます。省略時のターミナル属性を, 図 DCLII-2 に示します。表は 2 ページにわたっており,各ターミナルについて記載されています。

ローカルまたはリモートのターミナル属性は,モデム属性が許可されている端末のターミナル・ドライバによって,自動的に判定されます。これらの属性は, SET TERMINAL コマンドの影響を受けません。たとえば,OpenVMS システム・プロセッサに正常にダイアル・インすると,端末がリモートとして設定されます。ハングアップすると,ターミナル属性はローカルに再設定されます。

OpenVMS システムによってサポートされる端末には,特殊な DEC ANSI 属性とエスケープ・シーケンスをサポートする VT100 ファミリー端末があります。これらの特殊な属性とエスケープ・シーケンスの説明については,『OpenVMS I/O User's Reference Manual』を参照してください。

図 DCLII-2 省略時のターミナル属性




修飾子

/ADVANCED_VIDEO

/NOADVANCED_VIDEO

ターミナルが拡張ビデオ属性を持つかどうかを制御し,また 132 桁表示が可能かどうかを指定します。ターミナルの幅が 132 桁に設定され, /ADVANCED_VIDEO 修飾子が指定されている場合には,ターミナルのページ・リミットは 24 行に設定されます。 /NOADVANCED_VIDEO 修飾子が指定されている場合には,ターミナルのページ・リミットは 14 行に設定されます。

/ALTYPEAHD

ターミナル・ドライバに永久的な,代替の先読みバッファを作成させます。システムパラメータ TTY_ALTYPAHD が,この先読みバッファのサイズを決定します。この設定は,次にログインするときにも有効ですが,システムがリブートされると無効になります。

/ALTYPEAHD 修飾子を有効にするには, /TYPE_AHEAD も同時に指定しなければなりません。

この機能を必要とする通信回線の場合, SYS$SYSTEM:SYSTARTUP_VMS.COM にSET TERMINAL/PERMANENT/ALTYPEAHD を指定します。

この機能を会話型モードで使用するためには, SET TERMINAL/PERMANENT/ALTYPEAHD を指定します。このように指定すると,次にログインする際に有効になります。

/ANSI_CRT (省略時の設定)

/NOANSI_CRT

ターミナルが,ANSI CRT プログラミング標準規格に準拠するかどうかを指定します。 ANSI 標準規格は,DEC_CRT 属性の一部であり, VT100 ファミリのすべてのターミナルの省略時の値は,/ANSI_CRT です。

/APPLICATION_KEYPAD

キーパットが,アプリケーション・キーパッド・モードに設定されます。このモードでは,DEFINE/KEY コマンドで定義した DCL コマンドを使用できます。省略時の状態では,ターミナルは数値キーパッド・モードに設定されています。

/AUTOBAUD

/NOAUTOBAUD

ログイン時に,ターミナルのボー・レートを 9600 ボーに設定するかどうかを制御します。ログイン時にボー・レートを正しく設定するためには,少なくとも 1 秒間隔で,2 回以上 Return を押します。 Return 以外のキーを押すと, /AUTOBAUD 修飾子は誤ったボー・レートを検出する可能性があります。この場合には,ログイン手順を継続せずに,タイム・アウト (時間切れ) になるのを待ちます。 /AUTOBAUD 修飾子は,/PERMANENT 修飾子とともに使用します。

設定できるボー・レートは次のとおりです。


 50       150       1800       4800       38400 
 75       300       2000       7200       57600 
110       600       2400       9600       76800 
134      1200       3600      19200      115200 

/BACKSPACE=キーワード

行モードでシステムがバックスペース・キー (Ctrl/H) に対してどのように反応するかを制御します。キーワードとしては次の 2 つが指定できます。

システム・パラメータ TTY_DEFCHAR3 に 16 を設定することで, SYSGEN を使用して,すべてのターミナルに対して /BACKSPACE=DELETE を省略時の設定にすることができます。

省略時の設定を DELETE に設定しても,F12 キーを押すか Ctrl/V Ctrl/H Ctrl/H の順に入力することで,行の先頭に移動することができます。

SET HOST を使用する場合は,ローカル・ノードとリモート・ノードの両方が BACKSPACE キーの定義に応答できなければなりません。

/BLOCK_MODE

/NOBLOCK_MODE

ターミナルが,ブロック・モード転送,ローカル編集,およびフィールド保護を実行するかどうかを指定します。

/BRDCSTMBX

/NOBRDCSTMBX

対応するメールボックスがある場合に,ブロードキャスト・メッセージを,そこに送るかどうかを指定します。

/BROADCAST (省略時の設定)

/NOBROADCAST

ターミナルが,MAIL 通知や REPLY メッセージなどのブロードキャスト・メッセージを受信できるかどうかを指定します。ターミナルを非会話型モードで使用している場合や,特別な出力がメッセージによって割り込まれとことのないようにする場合には, /NOBROADCAST 修飾子を使用します。また,すべてのメッセージを受信しないようにするのではなく,特定のメッセージだけをターミナルに送信されないようにする場合には, SET BROADCAST コマンドを使用します。

/COLOR

ターミナルが ANSI カラーエスケープシーケンスをサポートする場合, ANSI_COLOR ターミナル属性を設定します。

/COMMSYNC

/NOCOMMSYNC (省略時の設定)

標準モデム制御信号をフロー制御に使用して,非同期型のプリンタやその他の装置をターミナル・ポートに接続します。装置への送信は,DSR (data set ready) か CTS (clear to send) の EIA モデム制御信号のどちらかが OFF になると止まります。両方の信号が ON になると送信は再開します。

/COMMSYNC 修飾子と /MODEM 修飾子は,同時に使用することはできません。

COMMSYNC 機能には,以下の制限があります。

重要

会話型に使用するモデム接続の回線では,使用しないでください。モデム回線障害時にユーザ・プロセスをターミナル回線から切断するモデム・ターミナル属性が,/COMMSYNC 修飾子を指定した場合には無効になるためです。 /COMMSYNC 修飾子を指定した場合,次の呼び出しでターミナル回線は前のユーザ・プロセスに割り当てられます。機密管理者は,この属性が会話型のターミナル・ポートに使用されないように注意してください。また,/COMMSYNC 修飾子は LAT 回線に接続されたポートではサポートされません。

/CRFILL[=フィル・カウント]

Return キーを押した後で次に意味ある文字を送信する前に,指定数の空文字を生成します。ターミナルが受信状態になるのを確実にするために用います。指定できる値は,0 〜 9 の整数です。省略時の値は 0 です。

/DEC_CRT[=(値1,値2,値3)]

/NODEC_CRT[=(値1,値2,値3)]

ターミナルが, DEC VT100, VT200, VT300, VT400, VT500 ファミリの標準規格に従うかどうか,また,DEC エスケープ・シーケンスを含む最低限の標準規格をサポートするかどうかを指定します。

オプションとして,次の値を指定できます。

1 (省略時の設定) DEC_CRT ターミナル属性に設定することを要求します。これは省略時の値です。
2 DEC_CRT2 ターミナル属性に設定することを要求します。
3 DEC_CRT3 ターミナル属性に設定することを要求します。レベル 3 のターミナルは,以下の機能をサポートします。

  • ステータス・ライン(25 行目,画面の最下部)

  • ISO Latin-1 文字セット

  • ターミナル状態問い合せ機能

4 DEC_CRT4 ターミナル属性に設定することを要求します。レベル 4 のターミナルは,以下の機能をサポートします。

  • 拡張キーボード

  • キー・ポジション・モード

  • 保護リセット

  • 初心者モード

  • 選択消去

  • オンライン・トランザクション処理機能 (OLTP)

    • ページメモリ

    • 長方形編集

    • テキスト・マクロ

    • データ集約レポート

DEC_CRT2 および DEC_CRT3,DEC_CRT4 は,DEC_CRT を含みます。 DEC_CRTをクリアすると,DEC_CRT2 および DEC_CRT3,DEC_CRT4 もクリアされます。同様に DEC_CRT4 を設定する場合, DEC_CRT,DEC_CRT2 と DEC_CRT3(および ANSI_CRT)も設定されます。

/DEVICE_TYPE=ターミナル・タイプ

ターミナル・タイプを指定し,指定された装置タイプに従ってターミナルの属性を設定します。以下のターミナル・タイプを指定できます。

UNKNOWN
FT1--FT8
LA12
LA34
LA36
LA38
LA100
LA120
LA210
LN01K
LN03
LQP02
PRO_SERIES
VT05
VT52
VT55
VT100
VT101
VT102
VT105
VT125
VT131
VT132
VT173
VT200
VT300
VT400
VT500

VT100, VT102, VT125 シリーズ・ターミナルの省略時設定の属性は,次のようになります。

/ADVANCEDVIDEO /NOALTYPEAHD 1 /ANSI_CRT
/NOAUTOBAUD /NOBLOCK_MODE /NOBRDCSTMBX
/BROADCAST /CRFILL=0 /ECHO
/NOEIGHT_BIT /NOESCAPE /NOFORM
/FULLDUP /NOHOSTSYNC /LFFILL=0
/LOWERCASE /NODMA /PAGE=24
/NOPARITY /NOPASTHRU /NOREADSYN
/SPEED=9600 /TAB /TTSYNC
/TYPE_AHEAD /WIDTH=80 /WRAP


1これがシステムにより設定される省略時の設定の属性であり,ユーザは使用できない修飾子です。

設定できるターミナル・タイプと属性の一覧は 図 DCLII-2 を参照してください。

/DIALUP

/NODIALUP (省略時の設定)

ターミナルを,電話回線使用ターミナルに指定します。

/DISCONNECT

/NODISCONNECT (省略時の設定)

回線が切断された場合に,このターミナルに接続されているプロセスを切断するかどうか指定します。 /DISCONNECT 修飾子は,/PERMANENT 修飾子が指定されている場合にだけ有効です。

/DISMISS

/NODISMISS (省略時の設定)

エラー状態で現在の入出力を終了させるかわりに,ターミナル・ドライバが,パリティ・エラーを生じるデータを無視するかどうか制御します。

/DMA

/NODMA

ダイレクト・メモリ・アクセス (DMA) 機能をサポートするコントローラで,このアクセス・モードを使用するかどうか制御します。

/ECHO (省略時の設定)

/NOECHO

ターミナルが受信した入力行を,エコー表示するかどうかを指定します。 /NOECHO 修飾子が設定されている場合には,ターミナルは,システムまたはユーザ・アプリケーション・プログラムが出力したデータのどちらか,またはその両方だけを表示します。

/EDIT_MODE

/NOEDIT_MODE

ターミナルが, ANSI 規格によって定義されている拡張編集機能を実行できるかどうかを指定します。

/EIGHT_BIT

/NOEIGHT_BIT

ターミナルが,7 ビットではなく, 8 ビットの ASCII プロトコルを使用するかどうかを指定します。ターミナル・フォールバック機能 (Terminal Fallback Facility [TFF]) を使用すれば,ターミナルに対して 8 ビット属性を設定できます。指定したターミナルがこの機能を使用中であれば, /EIGHT_BIT 修飾子は無視されます。ターミナル・フォールバックについての詳細は,『OpenVMS Terminal Fallback Utility Manual』 (ドキュメンテーション CD-ROM に用意されています) を参照してください。

/ESCAPE

/NOESCAPE (省略時の設定)

エスケープ・シーケンスを処理するかどうかを指定します。

/FALLBACK

/NOFALLBACK

8 ビットの DEC で定義している文字セット (DEC MCS) が,その 7 ビット表現でターミナル上に表示されるかどうかを制御します。省略時の設定は,ターミナルの /EIGHTBIT 修飾子の設定に依存します。 OpenVMS ターミナル・フォールバック機能 (Terminal Fallback Facility [TFF]) が利用されている場合,指定したターミナルに対して,省略時の設定の文字変換テーブルを使用します。ターミナル・フォールバックについての詳細は,『OpenVMS Terminal Fallback Utility Manual』 (ドキュメンテーション CD-ROM に用意されています) を参照してください。 TFF が利用可能でないシステムでは,/NOFALLBACK 修飾子は意味を持たず,エラー・メッセージも表示されません。

/FORM

/NOFORM

ターミナル・ドライバが,改ページ(フォーム・フィード)文字を, 1つまたは複数の改行(ライン・フィード)に変換するか,または変換せずに,単にフォーム・フィードを文字として出力するかを指定します。

/FRAME=n

入力または出力される各文字に対して,ターミナル・ドライバが適用するデータのビット数を指定します。省略時の値は,ターミナルの /PARITY と/EIGHT_BIT の設定によって異なります。指定できる値は,5 から 8 までの範囲です。

/FULLDUP (省略時の設定)

/NOFULLDUP

ターミナルの操作モードが,全二重モードであるか,半二重モードであるかを指定します。 /FULLDUP 修飾子は,/NOHALFDUP 修飾子と同じです。

/HALFDUP

/NOHALFDUP (省略時の設定)

ターミナルの操作モードが,全二重モードであるか,半二重モードであるかを指定します。 /HALFDUP 修飾子は,/NOFULLDUP 修飾子と同じです。

/HANGUP

/NOHANGUP (省略時の設定)

/HANGUP 修飾子を指定するためには,システム生成時に指定したパラメータに応じて,LOG_IO(論理入出力)特権,または PHY_IO(物理入出力)特権が必要です。


前へ 次へ 目次 索引